:root{
      --bg:#f7f6f2;
      --paper:#fff;
      --ink:#1c1c1c;
      --muted:#77736b;
      --line:#ded9cf;
      --dark:#161616;
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      background:var(--bg);
      color:var(--ink);
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
    }
    a{color:inherit;text-decoration:none}
    .site-header{
      height:86px;
      position:sticky;
      top:0;
      z-index:20;
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:0 48px;
      background:rgba(247,246,242,.9);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(0,0,0,.06);
    }
    .brand{display:flex;align-items:center;gap:16px}
    .brand-text{font-size:16px;letter-spacing:.34em;text-transform:uppercase;white-space:nowrap}
    .nav{display:flex;gap:24px;font-size:15px}
    .nav a{padding:8px 0;position:relative}
    .nav a::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:1px;background:#111;transition:.24s}
    .nav a:hover::after{width:100%}
    .hero{
      padding:84px 48px 56px;
      max-width:1520px;
      margin:0 auto;
      display:grid;
      grid-template-columns:1fr .75fr;
      gap:56px;
      align-items:end;
    }
    .eyebrow{
      text-transform:uppercase;
      letter-spacing:.26em;
      color:var(--muted);
      font-size:13px;
      font-weight:700;
      margin-bottom:18px;
    }
    h1{
      margin:0;
      font-size:clamp(48px,7vw,96px);
      line-height:.95;
      letter-spacing:.02em;
    }
    .hero p{
      margin:24px 0 0;
      color:#4b4944;
      font-size:18px;
      line-height:1.75;
      max-width:720px;
    }
    .tabs{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .tab{
      border:1px solid var(--line);
      border-radius:999px;
      padding:11px 18px;
      background:#fff;
      cursor:pointer;
      transition:.25s;
    }
    .tab:hover,.tab.active{background:#111;color:#fff;border-color:#111}
    .masonry-wrap{
      padding:20px 48px 90px;
      max-width:1520px;
      margin:0 auto;
    }
    .masonry{
      /* v151: use stable grid order for Load More.
         CSS columns re-balance after new cards are added, which makes old pins jump. */
      columns:unset;
      column-gap:0;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:22px;
      align-items:start;
      /* v152: keep already rendered cards stable when new batches are appended. */
      overflow-anchor:none;
    }
    @media (max-width:1180px){.masonry{grid-template-columns:repeat(3,minmax(0,1fr));}}
    @media (max-width:760px){.masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}}
    @media (max-width:520px){.masonry{grid-template-columns:1fr;}}
    .pin{
      break-inside:avoid;
      margin:0;
      background:#fff;
      border:1px solid var(--line);
      overflow:hidden;
      cursor:pointer;
      transition:.25s ease;
    }
    .pin:hover{
      transform:translateY(-5px);
      box-shadow:0 18px 42px rgba(0,0,0,.11);
    }
    .pin-img{
      height:var(--h);
      background:var(--c);
      position:relative;
      overflow:hidden;
    }
    .pin-img::before{
      content:"";
      position:absolute;
      inset:18px;
      border:1px solid rgba(0,0,0,.16);
      background:
        linear-gradient(90deg, rgba(0,0,0,.045) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.045) 1px, transparent 1px);
      background-size:14px 14px;
    }
    .pin-img::after{
      content:"";
      position:absolute;
      width:58%;
      height:34%;
      left:22%;
      top:30%;
      border:2px solid rgba(0,0,0,.22);
      transform:rotate(-18deg) skewX(20deg);
      background:rgba(255,255,255,.22);
    }
    .pin-body{padding:15px 16px 18px}
    .pin-body h3{margin:0 0 8px;font-size:18px;line-height:1.3}
    .pin-body p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
    .modal{
      position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:80;
      opacity:0;pointer-events:none;transition:.25s;display:grid;place-items:center;padding:24px;
    }
    .modal.open{opacity:1;pointer-events:auto}
    .modal-card{
      width:min(1040px,96vw);
      max-height:90vh;
      overflow:auto;
      background:#fff;
      display:grid;
      grid-template-columns:1.1fr .9fr;
      border-radius:28px;
    }
    .modal-img{min-height:560px;background:#e6e3dc;position:relative}
    .modal-img::before{
      content:"";position:absolute;inset:34px;border:1px solid rgba(0,0,0,.16);
      background:
        linear-gradient(90deg, rgba(0,0,0,.05) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.05) 1px, transparent 1px);
      background-size:18px 18px;
    }
    .modal-copy{padding:42px}
    .modal-copy h2{font-size:42px;line-height:1.08;margin:10px 0 18px}
    .modal-copy p{line-height:1.8;color:#4d4943}
    .close{float:right;border:1px solid var(--line);background:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer}
    .footer{padding:50px 48px;border-top:1px solid rgba(0,0,0,.08);color:var(--muted)}
    @media(max-width:900px){
      .site-header{padding:18px 20px;height:auto}
      .nav{display:none}
      .hero{grid-template-columns:1fr;padding:58px 22px 36px}
      .tabs{justify-content:flex-start}
      .masonry-wrap{padding:10px 22px 70px}
      .modal-card{grid-template-columns:1fr}
      .modal-img{min-height:360px}
      .modal-img img{min-height:360px}
    }

  
    /* Unified BaoLong Lab header */
    .site-header{
      height:104px;
      position:sticky;
      top:0;
      z-index:100;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      padding:0 48px;
      background:rgba(247,246,242,.94);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(0,0,0,.06);
    }
    .brand{
      display:flex;
      align-items:center;
      gap:18px;
      min-width:330px;
      color:inherit;
      text-decoration:none;
    }
    .brand-logo-img{
      width:108px !important;
      height:108px !important;
      max-width:108px !important;
      max-height:108px !important;
      object-fit:contain;
      flex:0 0 auto;
      display:block;
      background:transparent !important;
      border-radius:0 !important;
    }
    .brand-text{
      font-size:16px;
      letter-spacing:.34em;
      text-transform:uppercase;
      white-space:nowrap;
    }
    .nav{
      display:flex;
      align-items:center;
      gap:24px;
      font-size:15px;
      color:#2a2927;
      flex:1;
      justify-content:center;
    }
    .nav a{
      position:relative;
      padding:8px 0;
      white-space:nowrap;
      color:inherit;
      text-decoration:none;
    }
    .nav a::after{
      content:"";
      position:absolute;
      left:0;
      bottom:2px;
      width:0;
      height:1px;
      background:#111;
      transition:.24s ease;
    }
    .nav a:hover::after{width:100%}
    .nav-dropdown{position:relative;display:flex;align-items:center;}
    .dropdown-content{
      display:none;
      position:absolute;
      top:34px;
      left:50%;
      transform:translateX(-50%);
      min-width:210px;
      background:#fff;
      border:1px solid #ded9cf;
      border-radius:18px;
      padding:10px;
      box-shadow:0 18px 45px rgba(0,0,0,.10);
      z-index:200;
    }
    .nav-dropdown:hover .dropdown-content{display:block;}
    .dropdown-content a{
      display:block;
      padding:10px 12px;
      border-radius:12px;
      font-size:14px;
      color:#2a2927;
    }
    .dropdown-content a::after{display:none}
    .dropdown-content a:hover{background:#f7f6f2;}
    .header-actions{
      display:flex;
      align-items:center;
      gap:14px;
      min-width:260px;
      justify-content:flex-end;
    }
    .pill-btn{
      border:1px solid #ded9cf;
      border-radius:999px;
      padding:10px 18px;
      background:rgba(255,255,255,.6);
      cursor:pointer;
      transition:.25s ease;
      color:#1c1c1c;
    }
    .pill-btn:hover{
      background:#111;
      color:#fff;
      border-color:#111;
      transform:translateY(-1px);
    }
    @media (max-width:1200px){
      .site-header{padding:0 28px}
      .brand{min-width:auto}
      .brand-logo-img{width:55px !important;height:55px !important;max-width:55px !important;max-height:55px !important;}
      .nav{gap:16px;font-size:14px}
      .header-actions{min-width:auto}
    }
    @media (max-width:900px){
      .site-header{height:auto;align-items:flex-start;padding:18px 20px;flex-wrap:wrap;}
      .brand-logo-img{width:44px !important;height:44px !important;max-width:44px !important;max-height:44px !important;}
      .nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;gap:18px;padding-top:8px;}
      .header-actions{display:none}
      .dropdown-content{left:0;transform:none;}
    }


    /* Inspiration Board refinement: source-link cards, no download behavior */
    .hero .eyebrow{color:#8a8378;}
    .tabs .tab{font-size:14px;}
    .pin{
      border-radius:24px;
      background:rgba(255,255,255,.82);
      box-shadow:0 10px 30px rgba(35,32,28,.04);
      cursor:default;
    }
    .pin:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(35,32,28,.10)}
    .pin-img{border-bottom:1px solid rgba(222,217,207,.75)}
    /* v96 thumbnail cover / modal contain */
    .pin-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;position:relative;z-index:2}
    .pin-img.has-image::before,.pin-img.has-image::after{display:none}
    .pin-body{padding:18px 18px 20px}
    .pin-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
    .pin-tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid #ded9cf;border-radius:999px;padding:5px 8px;color:#6f685f;background:#faf9f6}
    .pin-body h3{font-size:19px;margin-bottom:9px;letter-spacing:.01em}
    .pin-desc{color:#5c5750;font-size:13px;line-height:1.7;margin-bottom:14px !important}
    .source-block{display:flex;flex-direction:column;gap:5px;border-top:1px solid rgba(222,217,207,.78);padding-top:13px;margin-top:14px;color:#837b70;font-size:12px;line-height:1.55}
    .source-link{color:#4f4940;text-decoration:underline;text-underline-offset:3px;word-break:break-word}
    .source-link:hover{color:#111}
    .multi-badge{position:absolute;right:12px;bottom:12px;z-index:3;border-radius:999px;background:rgba(17,17,17,.72);color:#fff;font-size:11px;letter-spacing:.04em;padding:6px 9px;backdrop-filter:blur(8px)}

    .desktop-multi-label{display:inline}
    .mobile-multi-label{display:none}
    .pin-mobile-image-nav{display:none}
    @media(max-width:900px){
      .pin-img.has-image.is-carousel{touch-action:pan-y}
      .desktop-multi-label{display:none}
      .mobile-multi-label{display:inline}
      .pin-mobile-image-nav{
        appearance:none;
        -webkit-appearance:none;
        border:1px solid rgba(255,255,255,.78);
        background:rgba(255,255,255,.84);
        color:#111;
        position:absolute;
        top:50%;
        z-index:5;
        width:36px;
        height:36px;
        border-radius:999px;
        display:flex;
        align-items:center;
        justify-content:center;
        font:inherit;
        font-size:24px;
        line-height:1;
        box-shadow:0 10px 24px rgba(0,0,0,.13);
        backdrop-filter:blur(12px);
        cursor:pointer;
        transform:translateY(-50%);
        transition:transform .18s ease,background .18s ease,border-color .18s ease;
        -webkit-tap-highlight-color:transparent;
        touch-action:manipulation;
      }
      .pin-mobile-image-nav.prev{left:12px}
      .pin-mobile-image-nav.next{right:12px}
      .pin-mobile-image-nav:hover{background:#fff;border-color:#fff}
      .pin-mobile-image-nav:active{transform:translateY(-50%) scale(.96)}
      .pin-mobile-image-nav:focus-visible{outline:2px solid #111;outline-offset:2px}
    }
    .modal-img.has-image::before{display:none}
    .modal-img img{width:100%;height:100%;min-height:560px;object-fit:contain;object-position:center;display:block;background:#f7f6f2}
    .modal-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.65);background:rgba(17,17,17,.48);color:#fff;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
    .modal-nav:hover{background:rgba(17,17,17,.72)}
    .modal-nav.prev{left:14px}
    .modal-nav.next{right:14px}
    .modal-counter{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:4;border-radius:999px;background:rgba(17,17,17,.58);color:#fff;font-size:12px;padding:6px 10px;backdrop-filter:blur(8px)}
    .modal-source-note{white-space:pre-line;color:#6f685f;line-height:1.75}
    .board-note{margin:28px 0 0;padding:18px 20px;border:1px solid #ded9cf;border-radius:20px;background:rgba(255,255,255,.62);color:#77736b;font-size:13px;line-height:1.75}
    .modal-card{border-radius:28px;overflow:hidden}
    .modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
    .modal-source-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:11px 16px;background:#111;color:#fff;font-size:14px;text-decoration:none}
    .modal-source-btn.disabled{background:#f1eee8;color:#9a9287;pointer-events:none}
    .modal-copy small{display:block;color:#8a8378;line-height:1.7;margin-top:18px}


/* v109 Inspiration Prompt UI: local visual-parameter mapping, API hook reserved */
.pin-prompt-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:2px 0 13px;
  border:1px solid rgba(35,32,28,.12);
  border-radius:999px;
  padding:8px 12px;
  background:#111;
  color:#fff;
  font-size:12px;
  line-height:1;
  letter-spacing:.02em;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.pin-prompt-btn:hover{
  transform:translateY(-1px);
  background:#2b2925;
  box-shadow:0 10px 22px rgba(17,17,17,.12);
}
.modal-copy{
  overflow-y:auto;
}
.prompt-generate-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(17,17,17,.1);
  border-radius:999px;
  padding:11px 16px;
  background:#f4efe6;
  color:#1f1c18;
  font-size:14px;
  cursor:pointer;
}
.prompt-generate-btn:hover{background:#ebe2d4}
.prompt-extract-panel{
  display:none;
  margin-top:18px;
  padding:18px;
  border:1px solid rgba(222,217,207,.9);
  border-radius:22px;
  background:#fbfaf6;
}
.prompt-extract-panel.open{display:block}
.prompt-extract-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.prompt-extract-head strong{
  display:block;
  font-size:15px;
  color:#26221d;
  margin-bottom:5px;
}
.prompt-extract-head span{
  display:block;
  color:#817970;
  font-size:12px;
  line-height:1.55;
}
.prompt-param-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:14px 0;
}
.prompt-param{
  border:1px solid rgba(222,217,207,.75);
  border-radius:16px;
  padding:10px 12px;
  background:#fff;
}
.prompt-param b{
  display:block;
  color:#8a8176;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.prompt-param span{
  display:block;
  color:#3c3832;
  font-size:12px;
  line-height:1.55;
}
.prompt-preview-box{
  margin-top:12px;
  border-radius:16px;
  background:#1f1d1a;
  color:#f8f4ec;
  padding:13px 14px;
  font-size:12px;
  line-height:1.7;
  word-break:break-word;
}
.prompt-apply-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.prompt-apply-btn,
.prompt-copy-btn{
  border:0;
  border-radius:999px;
  padding:10px 14px;
  font-size:13px;
  cursor:pointer;
}
.prompt-apply-btn{background:#111;color:#fff}
.prompt-copy-btn{background:#eee7da;color:#312c25}
.prompt-note{
  margin-top:11px;
  color:#8a8378;
  font-size:11px;
  line-height:1.6;
}
@media (max-width:720px){
  .prompt-param-grid{grid-template-columns:1fr}
  .pin-prompt-btn{width:100%;margin-top:0}
}


/* v159 Inspiration desktop masonry restore: keep the v158 spacing polish,
   but remove same-row equal-height stretching so the board feels like a natural waterfall again. */
.masonry{
  gap:24px 22px;
  grid-auto-rows:8px;
  align-items:start;
}
.pin{
  height:auto;
  display:block;
  grid-row-end:span var(--masonry-span, 42);
}
.pin-body{
  display:block;
  padding:16px 18px 18px;
}
.pin-tags{margin-bottom:10px}
.pin-prompt-btn{margin:0 0 12px;}
.pin-desc{margin-bottom:12px !important;}
.source-block{
  margin-top:14px;
  padding-top:11px;
  gap:4px;
  font-size:11.5px;
  line-height:1.5;
}
@media (max-width:900px){
  .masonry{grid-auto-rows:auto !important;}
  .pin{grid-row-end:auto !important;height:auto;}
}
@media (max-width:720px){
  .pin-prompt-btn{width:100%;margin:0 0 12px;}
  .source-block{margin-top:14px;}
}

  

    /* Mobile refinement: keep desktop unchanged, improve small-screen readability */
    @media (max-width:900px){
      body{
        overflow-x:hidden;
      }

      .site-header{
        height:auto !important;
        min-height:70px;
        padding:14px 16px !important;
        gap:12px;
        align-items:flex-start;
        flex-wrap:wrap;
      }

      .brand{
        min-width:0 !important;
        gap:10px;
      }

      .brand-logo-img{
        width:38px;
        height:auto;
      }

      .brand-text{
        font-size:13px !important;
        letter-spacing:.22em !important;
        white-space:nowrap;
      }

      .nav{
        display:flex !important;
        width:100%;
        gap:18px;
        overflow-x:auto;
        overflow-y:visible;
        padding:4px 0 8px;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
      }

      .nav::-webkit-scrollbar{
        display:none;
      }

      .nav a{
        font-size:14px;
        white-space:nowrap;
      }

      .nav-dropdown{
        flex:0 0 auto;
      }

      .dropdown-content{
        top:34px;
        left:0;
      }

      .header-actions{
        display:none !important;
      }

      .hero{
        min-height:auto !important;
        padding:48px 18px;
      }

      .section{
        padding:54px 18px !important;
      }

      .section-title{
        font-size:clamp(34px,11vw,54px) !important;
        line-height:1.02;
      }

      .section-desc{
        font-size:15px;
        line-height:1.75;
      }

      .tabs{
        display:flex;
        gap:10px;
        overflow-x:auto;
        flex-wrap:nowrap !important;
        justify-content:flex-start !important;
        padding-bottom:6px;
        -webkit-overflow-scrolling:touch;
      }

      .tabs::-webkit-scrollbar{
        display:none;
      }

      .tab{
        flex:0 0 auto;
        white-space:nowrap;
      }

      .masonry{
        grid-template-columns:1fr !important;
      }

      .pin{
        border-radius:24px !important;
      }

      .footer{
        display:block !important;
        padding:36px 18px !important;
        font-size:13px;
        line-height:1.7;
      }
    }



    /* Mobile horizontal scroll fix: only nav can scroll sideways, page content stays vertical */
    @media (max-width:900px){
      html,
      body{
        width:100%;
        max-width:100%;
        overflow-x:hidden !important;
      }

      body > *{
        max-width:100vw;
      }

      .site-header{
        max-width:100vw;
        overflow-x:hidden !important;
      }

      .nav{
        display:flex !important;
        width:100%;
        max-width:100%;
        min-width:0;
        overflow-x:auto !important;
        overflow-y:visible !important;
        flex-wrap:nowrap !important;
        justify-content:flex-start !important;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
      }

      .nav::-webkit-scrollbar{
        display:none;
      }

      main,
      .hero,
      .section,
      .masonry-wrap,
      .tool-band,
      .footer{
        max-width:100vw !important;
        overflow-x:hidden !important;
      }

      .masonry{
        max-width:100% !important;
      }

      img,
      video,
      canvas,
      svg{
        max-width:100%;
      }
    }



    /* Mobile dropdown menu: desktop navigation remains unchanged */
    .mobile-menu-toggle,
    .mobile-menu-panel{
      display:none;
    }

    @media (max-width:900px){
      .site-header{
        position:sticky;
        top:0;
        display:flex;
        align-items:center !important;
        justify-content:space-between;
        flex-wrap:nowrap !important;
        overflow:visible !important;
      }

      .brand{
        flex:1 1 auto;
        min-width:0 !important;
      }

      .brand-text{
        max-width:calc(100vw - 120px);
        overflow:hidden;
        text-overflow:ellipsis;
      }

      .nav,
      .header-actions{
        display:none !important;
      }

      .mobile-menu-toggle{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        flex:0 0 auto;
        border:1px solid var(--line);
        border-radius:999px;
        background:rgba(255,255,255,.76);
        padding:9px 14px;
        font-size:13px;
        color:#1c1c1c;
        cursor:pointer;
        letter-spacing:.04em;
      }

      .mobile-menu-panel{
        display:none;
        position:absolute;
        top:calc(100% + 8px);
        right:14px;
        left:14px;
        z-index:80;
        max-height:72vh;
        overflow-y:auto;
        background:rgba(255,255,255,.96);
        border:1px solid var(--line);
        border-radius:22px;
        box-shadow:0 20px 48px rgba(0,0,0,.14);
        padding:12px;
        backdrop-filter:blur(18px);
      }

      .mobile-menu-panel.open{
        display:block;
      }

      .mobile-menu-panel a{
        display:block;
        padding:12px 14px;
        border-radius:14px;
        color:#1c1c1c;
        font-size:15px;
        line-height:1.25;
      }

      .mobile-menu-panel a:hover{
        background:#f3f0e8;
      }

      .mobile-menu-group{
        margin:10px 8px 4px;
        color:var(--muted);
        font-size:11px;
        line-height:1;
        letter-spacing:.18em;
        text-transform:uppercase;
        font-weight:700;
      }

      html,
      body{
        overflow-x:hidden !important;
      }
    }










/* v118 Desktop Inspiration Modal: keep card below fixed nav */
@media (min-width:901px){
  .modal{
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    padding:118px 32px 40px !important;
  }

  .modal-card{
    width:min(1180px, calc(100vw - 72px)) !important;
    height:min(680px, calc(100vh - 158px)) !important;
    max-height:calc(100vh - 158px) !important;
    margin:0 auto !important;
    overflow:hidden !important;
  }

  .modal-img{
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:#f4f1eb;
    padding:24px !important;
  }

  .modal-img.has-image img,
  .modal-img.has-image img.is-long-image,
  .modal-img.has-image img.is-small-image{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
    margin:auto !important;
  }

}


/* v119 Mobile Inspiration Modal: text-only info card for plan/render/section */
@media (max-width:900px){
  .modal{
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    padding:84px 12px 22px !important;
  }

  .modal-card{
    width:min(92vw, 560px) !important;
    max-width:560px !important;
    height:auto !important;
    max-height:calc(100vh - 108px) !important;
    min-height:0 !important;
    margin:0 auto !important;
    border-radius:24px !important;
    overflow:hidden !important;
    display:block !important;
  }

  .modal-img,
  .modal-img.has-image{
    display:none !important;
  }

  .modal-source-note,
  .source-block{
    font-size:14px !important;
    line-height:1.72 !important;
  }

  .modal-nav{
    display:none !important;
  }
}

@media (max-width:520px){
  .modal{
    padding:82px 10px 20px !important;
  }

  .modal-card{
    width:calc(100vw - 20px) !important;
    max-width:420px !important;
    max-height:calc(100vh - 102px) !important;
  }

  .modal-source-note,
  .source-block{
    font-size:13.5px !important;
  }
}


    /* Inspiration Board JSON loading / load more */
    .load-more-wrap{
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:10px;
      margin:34px auto 0;
      text-align:center;
      /* v153: do not let the Load More button become the browser scroll anchor. */
      overflow-anchor:none;
    }
    .load-more-btn{
      border:1px solid #111;
      border-radius:999px;
      background:#111;
      color:#fff;
      min-width:180px;
      min-height:48px;
      padding:12px 22px;
      cursor:pointer;
      transition:.25s ease;
      font-size:14px;
    }
    .load-more-btn:hover{
      transform:translateY(-2px);
      box-shadow:0 14px 34px rgba(0,0,0,.14);
    }
    .load-more-btn[hidden]{display:none;}
    .load-more-count{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.6;
    }
