/* Feel Better Now — marketing site styles (shared by index.html and healings.html).
   Extracted from index.html on 2026-08-26 when the healings page was added. */
  :root{
    /* 2026-08-24: aligned with the app's sky-blue design (Tailwind + shadcn pilot) */
    --brand:#2c6aa3; --brand-d:#245a8c; --accent:#4b8fc8; --night:#2c5f97;
    --ink:#1e2430; --muted:#5c6675; --line:#e7eaef;
    --bg:#ffffff; --bg-soft:#f5f7fb; --brand-soft:#e5eff9;
    --radius:16px; --maxw:1080px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  /* Nunito, self-hosted (no Google Fonts request — same face as the app) */
  @font-face{font-family:'Nunito';font-style:normal;font-weight:200 1000;font-display:swap;src:url(fonts/nunito-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:'Nunito';font-style:normal;font-weight:200 1000;font-display:swap;src:url(fonts/nunito-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
  body{margin:0;font-family:'Nunito',-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
  h1,h2,h3{line-height:1.2;margin:0 0 .5em}
  h1{font-size:clamp(30px,5vw,48px);font-weight:800;letter-spacing:-.02em}
  h2{font-size:clamp(23px,3.4vw,32px);font-weight:800;letter-spacing:-.01em}
  h3{font-size:18px;font-weight:700}
  p{margin:0 0 1em}
  a{color:var(--brand);text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
  .muted{color:var(--muted)}

  /* header */
  header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;gap:18px;height:64px}
  .brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;color:var(--ink);white-space:nowrap}
  /* Gem Spark Mascot mark (2026-08-27, replaces the plain gradient circle —
     see the "Feel better Now" Claude project docs). Painted as a background
     SVG rather than an inline one so every page keeps the same plain
     `<span class="mark">` it already had. Two colour variants for contrast:
     this default is blue-on-white for the near-white header/print bg;
     `footer .brand .mark` and `.cat-modal-mark` below swap to white-on-blue
     for the solid --night footer (verified by rendering both in the real
     header/footer/hero and comparing contrast — the full ring+wordmark
     badge reads fine at hero size but not at nav/footer scale, hence the
     plain icon here and the full badge reserved for the hero only). */
  .brand .mark{width:30px;height:30px;flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Crect x='55' y='55' width='90' height='90' rx='22' transform='rotate(45 100 100)' fill='%232c6aa3'/%3E%3Cellipse cx='80' cy='78' rx='18' ry='12' fill='%23ffffff' opacity='0.18' transform='rotate(-30 80 78)'/%3E%3Ccircle cx='82' cy='94' r='7' fill='%231e2430'/%3E%3Ccircle cx='118' cy='94' r='7' fill='%231e2430'/%3E%3Cpath d='M78,120 Q100,138 122,120' fill='none' stroke='%231e2430' stroke-width='7' stroke-linecap='round'/%3E%3Cpath d='M148,54 l3,8 l8,3 l-8,3 l-3,8 l-3,-8 l-8,-3 l8,-3 Z' fill='%23f2d6c6'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;filter:drop-shadow(0 2px 6px rgba(44,95,151,.3))}
  .nav .links{display:flex;gap:22px;margin-left:auto}
  .nav .links a{color:var(--muted);font-size:14.5px;font-weight:500;white-space:nowrap}
  .nav .links a:hover{color:var(--ink)}
  .nav .right{display:flex;align-items:center;gap:12px;margin-left:18px;flex-shrink:0}
  .nav .right .btn{white-space:nowrap}
  .lang{display:flex;gap:2px;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:3px}
  .lang button{border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);padding:3px 9px;border-radius:999px;cursor:pointer}
  .lang button.on{background:#fff;color:var(--brand);box-shadow:0 1px 3px rgba(0,0,0,.08)}
  .btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 20px;font-weight:600;font-size:14.5px;cursor:pointer;border:1px solid transparent;transition:.15s}
  .btn.primary{background:var(--brand);color:#fff}
  .btn.primary:hover{background:var(--brand-d)}
  .btn.ghost{background:#fff;color:var(--brand);border-color:var(--brand-soft)}
  .btn.ghost:hover{border-color:var(--brand)}
  .btn.lg{padding:13px 26px;font-size:15.5px}
  :focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}
  .btn:focus-visible,.chip:focus-visible,.seg button:focus-visible,.lang button:focus-visible{outline-offset:2px;border-radius:999px}
  .nav .menu-btn{display:none}
  /* tablet / small laptop: keep the header on one line (2026-08-28) */
  @media(max-width:1080px){
    .nav{gap:12px}
    .nav .links{gap:14px}
    .nav .links a{font-size:13.5px}
    .nav .right{margin-left:10px;gap:8px}
    .nav .right .btn{padding:8px 14px;font-size:13.5px}
    .lang button{padding:3px 7px}
  }
  /* mobile menu (2026-08-28) */
  .menu-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px}
  .menu-btn span{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink);transition:.2s}
  .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{display:flex;flex-direction:column;padding:8px 22px 16px;border-top:1px solid var(--line);background:#fff}
  .mobile-menu a{padding:12px 4px;font-size:16px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
  .mobile-menu a:last-child{border-bottom:0;color:var(--brand)}
  .mobile-menu a.on{color:var(--brand)}

  /* hero */
  .hero{position:relative;overflow:hidden;background:linear-gradient(165deg,#eef4fb 0%,#dcebf7 55%,#f3f7fc 100%)}
  .hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;z-index:0}
  .hero::before{width:420px;height:420px;background:#b9d6ef;top:-120px;right:-80px}
  .hero::after{width:360px;height:360px;background:#f2d6c6;bottom:-140px;left:-100px}
  .hero .wrap{position:relative;z-index:1;padding:clamp(56px,9vw,104px) 22px;text-align:center;max-width:820px}
  .hero-halo{position:absolute;left:50%;top:clamp(56px,9vw,104px);width:200px;height:200px;margin-left:-100px;border-radius:50%;pointer-events:none;
    background:radial-gradient(circle,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 62%);
    box-shadow:0 0 0 46px rgba(255,255,255,.28),0 0 0 100px rgba(255,255,255,.16),0 0 0 165px rgba(255,255,255,.08)}
  .hero-more{display:inline-block;margin-top:18px;font-size:14.5px;font-weight:600;color:var(--brand);border-bottom:1px solid transparent}
  .hero-more:hover{border-bottom-color:var(--brand)}
  .hero .eyebrow{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);background:#fff;border:1px solid var(--brand-soft);padding:6px 14px;border-radius:999px;margin-bottom:22px}
  .hero p.lead{font-size:clamp(16px,2.2vw,19px);color:var(--muted);max-width:620px;margin:0 auto 28px}
  .hero .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

  /* sections */
  section.block{padding:clamp(56px,8vw,88px) 0}
  section.block.soft{background:var(--bg-soft)}
  .center{text-align:center;max-width:680px;margin:0 auto 44px}
  .grid{display:grid;gap:22px}
  .cols-3{grid-template-columns:repeat(3,1fr)}
  .cols-2{grid-template-columns:repeat(2,1fr)}
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
  .card .num{width:34px;height:34px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:14px}
  .card .ic{width:44px;height:44px;border-radius:12px;background:var(--brand-soft, #e3eef9);color:var(--brand);margin-bottom:14px;display:flex;align-items:center;justify-content:center}
  .card .ic svg{width:24px;height:24px}
  .card h3{margin-bottom:6px}
  .card p{margin:0;font-size:15.5px;color:var(--muted)}

  /* about */
  .about{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
  .about .portrait{aspect-ratio:1/1;border-radius:20px;background:linear-gradient(150deg,#e5eff9,#dcebf7);display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:13px;text-align:center;padding:20px;border:1px solid var(--line)}

  /* testimonials */
  .quote{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
  .quote p{font-size:15px;color:var(--ink);font-style:italic;margin-bottom:14px}
  .quote .who{font-size:13.5px;font-weight:600;color:var(--muted);font-style:normal}
  .stars{color:#e0a83c;letter-spacing:2px;margin-bottom:10px;font-size:14px}
  .soon{display:inline-block;font-size:12px;font-weight:600;color:var(--muted);background:var(--bg-soft);border:1px dashed var(--line);border-radius:999px;padding:4px 12px;margin-top:6px}

  /* contact */
  .contact-card{background:linear-gradient(150deg,var(--night),var(--accent));color:#fff;border-radius:20px;padding:clamp(32px,5vw,52px);text-align:center}
  .contact-card h2{color:#fff}
  .contact-card p{color:#eaf0f6;max-width:520px;margin:0 auto 22px}
  .contact-card .btn.primary{background:#fff;color:var(--brand)}
  .contact-card .btn.primary:hover{background:#eef2f7}
  .contact-card .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
  .contact-card a{color:#fff;font-weight:600}

  /* footer */
  footer{background:var(--night);color:#d6e4f2;padding:44px 0 32px;font-size:14px}
  footer .fgrid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start}
  footer .brand{color:#fff}
  footer .brand .mark{width:26px;height:26px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Crect x='55' y='55' width='90' height='90' rx='22' transform='rotate(45 100 100)' fill='%23ffffff'/%3E%3Cellipse cx='80' cy='78' rx='18' ry='12' fill='%23cfe6f8' opacity='0.6' transform='rotate(-30 80 78)'/%3E%3Ccircle cx='82' cy='94' r='7' fill='%232c5f97'/%3E%3Ccircle cx='118' cy='94' r='7' fill='%232c5f97'/%3E%3Cpath d='M78,120 Q100,138 122,120' fill='none' stroke='%232c5f97' stroke-width='7' stroke-linecap='round'/%3E%3Cpath d='M148,54 l3,8 l8,3 l-8,3 l-3,8 l-3,-8 l-8,-3 l8,-3 Z' fill='%23f2d6c6'/%3E%3C/svg%3E");filter:none}
  footer a{color:#d6e4f2}footer a:hover{color:#fff}
  .disclaimer{margin-top:26px;padding-top:20px;border-top:1px solid #333b49;font-size:12.5px;color:#8a94a3;max-width:760px}

  @media(max-width:820px){
    .nav .links{display:none}
    .nav .menu-btn{display:flex}
    /* the login button moves into the mobile menu (and the hero has one) —
       brand + language switch + button + menu did not fit in 390px */
    .nav .right .btn{display:none}
    .mobile-menu a.app-link{display:inline-flex;align-self:flex-start;margin-top:14px;padding:10px 20px;border-radius:999px;background:var(--brand);color:#fff;font-weight:600}
    /* phone header (2026-08-26): brand on one line, compact language switch and button */
    .brand{white-space:nowrap;font-size:15px;gap:8px}
    .nav{gap:8px;height:58px}
    .nav .right{gap:8px;margin-left:auto}
    /* five languages since 2026-09-06: tighter pills so the menu button stays on screen */
    .lang{padding:2px;gap:0}
    .lang button{padding:3px 5px;font-size:11px}
    .brand .mark{width:24px;height:24px}
    .nav .right{gap:6px}
    .nav .right .btn{padding:8px 12px;font-size:13px;white-space:nowrap}
    .cols-3{grid-template-columns:1fr}.cols-2{grid-template-columns:1fr}
    .about{grid-template-columns:1fr}
    .about .portrait{order:-1;max-width:320px;margin:0 auto}
  }
  .secure-note{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12.5px;color:var(--muted);background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 10px;max-width:100%}
  .secure-note svg{width:13px;height:13px;flex-shrink:0;color:var(--brand)}
  [hidden]{display:none!important}

/* ══════════ healings.html — the public catalog (2026-08-26) ══════════ */
.hero-sm .wrap{padding:clamp(40px,6vw,64px) 22px}
.nav .links a.on{color:var(--brand);font-weight:700}
.cat-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}
@media(min-width:821px){
  .cat-sticky{position:sticky;top:64px;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);margin:0 -22px;padding:12px 22px 0;border-bottom:1px solid var(--line)}
  .cat-sticky .cat-families{margin-bottom:12px}
}
.seg{display:inline-flex;gap:2px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px;box-shadow:0 1px 2px rgba(20,30,50,.04)}
.seg button{border:0;background:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--muted);padding:6px 14px;border-radius:999px;cursor:pointer;transition:.12s}
.seg button:hover{color:var(--ink)}
.seg button.on{background:var(--brand);color:#fff;box-shadow:0 1px 2px rgba(20,30,50,.12)}
.cat-search{flex:1;min-width:220px;max-width:420px}
.cat-search input{width:100%;font:inherit;font-size:14.5px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;outline:none;box-shadow:0 1px 2px rgba(20,30,50,.04)}
.cat-search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(44,106,163,.18)}
.cat-families{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.chip{border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;font-weight:600;color:var(--ink);padding:6px 14px;border-radius:999px;cursor:pointer;transition:.12s}
.chip:hover{border-color:var(--brand)}
.chip.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.cat-status{text-align:center;padding:24px 0}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.hcard{display:flex;flex-direction:column;gap:8px;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 1px 2px rgba(20,30,50,.04),0 10px 28px -18px rgba(28,35,64,.18);transition:box-shadow .15s}
.hcard:hover{box-shadow:0 12px 32px -16px rgba(28,35,64,.28)}
.hcard.sel{border-color:rgba(62,125,90,.6);background:linear-gradient(180deg,#f2f8f4,#fff 70%)}
.hcard h4{display:flex;align-items:center;gap:12px;margin:0;font-size:15px;font-weight:700;line-height:1.2}
.hcard .hname{flex:1}
.hicon{width:40px;height:40px;flex:none;border:0;padding:0;background:none;border-radius:50%;cursor:zoom-in;transition:transform .12s}
.hicon img{width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 2px 8px rgba(28,35,64,.18);display:block}
.hicon.open{transform:scale(1.05)}
.hicon.empty{background:linear-gradient(135deg,#cfe4f6,#e5eff9);display:inline-block}
.hicon-preview{position:fixed;z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:180px}
.hicon-preview img{width:180px;height:180px;border-radius:50%;object-fit:cover;box-shadow:0 18px 50px -12px rgba(28,35,64,.55);border:4px solid #fff;display:block}
.hicon-preview span{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgba(44,95,151,.88);color:#fff;font-size:12.5px;font-weight:600;padding:4px 12px;border-radius:999px;backdrop-filter:blur(4px)}
@media(min-width:900px){.hicon-preview{width:240px}.hicon-preview img{width:240px;height:240px}}
.pill{display:inline-block;border-radius:999px;padding:2px 10px;font-size:11.5px;font-weight:600;background:var(--brand-soft);color:var(--brand);align-self:flex-start}
.pill.soft{background:#f7ebe2;color:#a8663c}
.hcard .haim{margin:0;font-size:14px;line-height:1.45;color:var(--ink)}
.hcard .hscope{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}
.hcard .hscope.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hcard .hmore{align-self:flex-start;border:0;background:none;padding:0;font:inherit;font-size:12.5px;font-weight:700;color:var(--brand);cursor:pointer;margin-top:-4px}
.hcard .hlink{border:0;background:none;padding:6px 2px;font:inherit;font-size:13px;font-weight:600;color:var(--brand);cursor:pointer;margin-left:auto}
.hcard .hlink:hover{text-decoration:underline}
.hcard .hlink[disabled]{color:var(--muted);cursor:default;text-decoration:none}
.hcard .hzones{margin:0;font-size:12px;line-height:1.4;color:var(--brand)}
.hactions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:6px}
.btn.sm{padding:6px 14px;font-size:13px}
.btn.fbn{margin-left:auto;flex-direction:column;gap:0;line-height:1.2;padding-top:5px;padding-bottom:5px;text-align:center;white-space:normal}
.btn.fbn .fbn-sub{font-size:10.5px;font-weight:500;opacity:.85}
.btn:disabled{opacity:.5;cursor:default}
.cat-catalogs{margin-top:56px;padding-top:40px;border-top:1px solid var(--line);text-align:center}
.cat-catalogs h2{margin-bottom:8px}
.cat-catalogs .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}
/* the selection bar */
.cat-selbar{position:sticky;bottom:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -8px 30px -20px rgba(28,35,64,.35);padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px))}
.cat-selbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cat-sel-text{display:flex;gap:10px;align-items:baseline;font-size:14px}
.cat-sel-text span{color:var(--muted)}
.cat-sel-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:820px){
  /* compact bar on phones (2026-08-28): one row, "Vider" as a text link */
  .cat-selbar{padding-top:10px}
  .cat-selbar .wrap{gap:8px}
  .cat-sel-text{font-size:13px;gap:8px}
  .cat-sel-actions{margin-left:auto;align-items:center}
  #cat-sel-clear{border:0;background:none;padding:6px 8px;font-size:13px;color:var(--muted)}
  #cat-sel-cta{padding:9px 14px;font-size:13.5px}
}
/* the "account needed" message */
.cat-modal-back{position:fixed;inset:0;z-index:70;background:rgba(28,53,90,.5);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px}
.cat-modal{background:#fff;border-radius:20px;padding:28px 26px;max-width:440px;width:100%;text-align:center;box-shadow:0 24px 60px -20px rgba(10,18,30,.45)}
.cat-modal-mark{display:block;width:40px;height:40px;margin:0 auto 14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Crect x='55' y='55' width='90' height='90' rx='22' transform='rotate(45 100 100)' fill='%232c6aa3'/%3E%3Cellipse cx='80' cy='78' rx='18' ry='12' fill='%23ffffff' opacity='0.18' transform='rotate(-30 80 78)'/%3E%3Ccircle cx='82' cy='94' r='7' fill='%231e2430'/%3E%3Ccircle cx='118' cy='94' r='7' fill='%231e2430'/%3E%3Cpath d='M78,120 Q100,138 122,120' fill='none' stroke='%231e2430' stroke-width='7' stroke-linecap='round'/%3E%3Cpath d='M148,54 l3,8 l8,3 l-8,3 l-3,8 l-3,-8 l-8,-3 l8,-3 Z' fill='%23f2d6c6'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;filter:drop-shadow(0 2px 6px rgba(44,95,151,.3))}
.cat-modal h3{margin:0 0 8px;font-size:20px;font-weight:800;letter-spacing:-.01em}
.cat-modal p{color:var(--muted);font-size:14.5px;line-height:1.55;margin:0 0 20px}
.cat-modal-actions{display:flex;flex-direction:column;gap:8px}
.cat-modal-actions .btn{justify-content:center}
@media(max-width:820px){
  .cat-controls{gap:8px}
  .seg button{padding:6px 11px;font-size:13px}
}

/* ══════════ catalog-print.html ══════════ */
.print-bar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.print-bar .wrap{display:flex;align-items:center;gap:14px;height:60px}
.print-bar .lang{margin-left:auto}
.print-wrap{max-width:860px;margin:0 auto;padding:32px 22px 60px}
.print-cover{text-align:center;padding:24px 0 36px;border-bottom:1px solid var(--line);margin-bottom:28px}
.print-cover .brand{justify-content:center;margin-bottom:18px}
.print-cover h1{font-size:34px}
.print-family{margin:0 0 34px}
.print-family h2{font-size:22px;margin:0 0 4px;color:var(--brand)}
.print-family > .muted{margin:0 0 14px}
.print-item{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:start;padding:14px 0;border-top:1px solid var(--line);break-inside:avoid}
.print-item:first-of-type{border-top:0}
.print-pic{width:200px;height:125px;object-fit:cover;border-radius:12px;display:block}
.print-item h3{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:17px}
.print-logo{width:32px;height:32px;border-radius:50%;flex:none}
.print-aim{margin:0 0 4px;font-size:14px}
.print-scope{margin:0;font-size:13px;color:var(--muted);line-height:1.45}
@media(max-width:600px){.print-item{grid-template-columns:1fr}.print-pic{width:100%;height:auto}}
@media print{
  .print-bar{display:none}
  body{background:#fff}
  .print-wrap{max-width:none;padding:0}
  .print-family{break-before:auto}
  .print-item{page-break-inside:avoid}
  a{color:inherit;text-decoration:none}
}
