
:root{
  --cream:#fff8ef; --cream2:#fff1e2; --paper:#fff; --ink:#392d29; --muted:#7b675d;
  --brand:#e9865f; --brand2:#c96b47; --sage:#7fa889; --line:#15b65c; --rose:#ffe5dd;
  --shadow:0 20px 60px rgba(78,52,38,.16); --soft:0 10px 30px rgba(78,52,38,.09);
  --radius:30px; --container:1180px;
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","Microsoft JhengHei",Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,var(--cream),#fff 42%,var(--cream));line-height:1.72;letter-spacing:.01em} a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button{font:inherit}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px clamp(18px,4vw,54px);background:rgba(255,248,239,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(112,76,58,.08)}
.brand{display:flex;align-items:center;gap:12px;min-width:245px}.brand-mark{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,#fff,#ffe1d2);display:grid;place-items:center;font-size:25px;box-shadow:var(--soft)}.brand strong{display:block;font-size:1.16rem;line-height:1.1}.brand small{display:block;color:var(--muted);font-size:.74rem;white-space:nowrap}.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.nav-link,.nav-cta{padding:10px 14px;border-radius:999px;font-weight:800;font-size:.94rem;color:var(--muted)}.nav-link:hover,.nav-link.is-active{background:#fff;color:var(--brand2);box-shadow:var(--soft)}.nav-cta{background:var(--line);color:#fff;box-shadow:0 14px 28px rgba(21,182,92,.23)}.nav-toggle{display:none;width:48px;height:48px;border:0;background:#fff;border-radius:18px;box-shadow:var(--soft);padding:12px}.nav-toggle span{display:block;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}
.hero{position:relative;overflow:hidden;padding:62px clamp(18px,4vw,54px) 46px}.hero-glow{position:absolute;inset:0;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.95),transparent 28%),radial-gradient(circle at 90% 10%,rgba(255,210,188,.72),transparent 22%);pointer-events:none}.hero-inner{position:relative;max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:.93fr 1.07fr;gap:48px;align-items:center}.hero-copy{position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid rgba(233,134,95,.2);color:var(--brand2);font-weight:900;font-size:.9rem}.eyebrow.light{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.22)}.hero h1,.page-hero h1{font-size:clamp(2.3rem,5.1vw,5rem);line-height:1.06;margin:18px 0;letter-spacing:-.055em}.hero p,.page-hero p{font-size:clamp(1rem,1.65vw,1.2rem);color:var(--muted);max-width:700px}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 21px;border-radius:999px;font-weight:950;box-shadow:var(--soft);transition:.18s ease}.btn:hover{transform:translateY(-2px)}.btn-line{background:var(--line);color:#fff}.btn-primary{background:var(--brand);color:#fff}.btn-light{background:#fff;color:var(--brand2);border:1px solid rgba(233,134,95,.18)}.btn-ghost{background:rgba(255,255,255,.65);color:var(--brand2);border:1px solid rgba(255,255,255,.6)}
.hero-collage{position:relative;min-height:590px}.hero-main-img{position:absolute;right:0;top:24px;width:82%;height:420px;object-fit:cover;border-radius:48px;box-shadow:var(--shadow)}.hero-small-img{position:absolute;width:40%;height:190px;object-fit:cover;border-radius:30px;box-shadow:var(--shadow);border:8px solid #fff}.hero-small-img.one{left:4px;bottom:34px}.hero-small-img.two{right:58px;bottom:0}.hero-badge{position:absolute;left:28px;top:44px;background:#fff;border-radius:26px;padding:17px 18px;box-shadow:var(--shadow);max-width:230px}.hero-badge b{display:block}.hero-badge span{display:block;color:var(--muted);font-size:.9rem;font-weight:750}.photo-ribbon{max-width:var(--container);margin:0 auto 26px;padding:0 clamp(18px,4vw,54px);display:grid;grid-template-columns:1.25fr .85fr .85fr .85fr;gap:14px}.photo-ribbon img{width:100%;height:145px;object-fit:cover;border-radius:24px;box-shadow:var(--soft)}
.trust-strip{max-width:var(--container);margin:0 auto;padding:16px clamp(18px,4vw,54px) 50px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.trust-card{background:#fff;border-radius:24px;padding:20px;box-shadow:var(--soft);border:1px solid rgba(107,75,62,.07)}.trust-card b{display:block;font-size:1.05rem}.trust-card span{color:var(--muted);font-size:.93rem}.section{padding:72px clamp(18px,4vw,54px)}.section.alt{background:linear-gradient(180deg,#fff,var(--cream2))}.container{max-width:var(--container);margin:0 auto}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:30px}.section-head h2,.content h2,.cta-photo h2{font-size:clamp(1.78rem,3.1vw,3.15rem);line-height:1.16;margin:10px 0;letter-spacing:-.04em}.section-head p,.content p,.case-card p,.article-card p,.feature-card p,.step-card p,.service-card p{color:var(--muted);margin:0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.visual-grid.three{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.visual-card,.case-card,.article-card,.service-card,.feature-card,.step-card,.faq-item,.kpi{background:#fff;border-radius:var(--radius);box-shadow:var(--soft);border:1px solid rgba(107,75,62,.07);overflow:hidden}.visual-card{position:relative;min-height:390px}.visual-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.visual-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(41,31,27,.78))}.visual-card div{position:absolute;left:22px;right:22px;bottom:22px;color:#fff;z-index:1}.visual-card span{font-weight:900;color:#ffe2d4}.visual-card h3{font-size:1.35rem;margin:4px 0}.visual-card p{color:rgba(255,255,255,.82)}
.case-card,.article-card{transition:.2s ease}.case-card:hover,.article-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card-media{aspect-ratio:16/10;overflow:hidden;background:var(--cream2)}.card-media img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.case-card:hover .card-media img,.article-card:hover .card-media img{transform:scale(1.04)}.card-body{padding:22px}.card-tag{display:inline-flex;background:var(--cream2);color:var(--brand2);padding:6px 11px;border-radius:999px;font-size:.82rem;font-weight:950;margin-bottom:10px}.card-body h3{font-size:1.24rem;line-height:1.35;margin:0 0 10px}.card-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;color:var(--muted);font-size:.88rem}.service-card{position:relative;padding:28px}.service-card.recommend{border:2px solid rgba(233,134,95,.48);transform:translateY(-8px)}.ribbon{position:absolute;right:16px;top:16px;background:var(--brand);color:#fff;border-radius:999px;padding:6px 11px;font-size:.82rem;font-weight:950}.price{font-size:2.35rem;line-height:1;margin:18px 0 8px;font-weight:950;color:var(--brand2);letter-spacing:-.04em}.price small{font-size:1rem;color:var(--muted);font-weight:750}.check-list,.soft-list,.legal-list{list-style:none;padding:0;margin:18px 0 22px}.check-list li,.soft-list li,.legal-list li{position:relative;padding-left:28px;margin:10px 0;color:var(--muted)}.check-list li:before,.soft-list li:before,.legal-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--sage);font-weight:950}.feature-card{padding:28px}.feature-icon{width:56px;height:56px;border-radius:20px;background:var(--rose);display:grid;place-items:center;font-size:28px;margin-bottom:14px}.feature-card h3,.step-card h3{font-size:1.22rem;margin:0 0 8px}
.page-hero{padding:62px clamp(18px,4vw,54px) 40px;background:linear-gradient(135deg,var(--cream),#fff 55%,#ffe8dd)}.page-hero-inner{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:1fr 330px;gap:34px;align-items:end}.mini-visual{width:100%;height:220px;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 30px}.filter-pill{padding:9px 14px;border-radius:999px;background:#fff;border:1px solid rgba(107,75,62,.09);color:var(--muted);font-weight:850}.filter-pill.active{background:var(--brand);color:#fff;border-color:transparent}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center}.warm-panel{background:#fff;border-radius:40px;padding:16px;box-shadow:var(--shadow);border:1px solid rgba(107,75,62,.07)}.warm-panel img{border-radius:30px;width:100%;height:390px;object-fit:cover}.story-photo-stack{position:relative;min-height:480px}.story-photo-stack img{position:absolute;width:72%;height:330px;object-fit:cover;border-radius:38px;box-shadow:var(--shadow);border:10px solid #fff}.story-photo-stack img:first-child{left:0;top:0}.story-photo-stack img:last-child{right:0;bottom:0}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step-card{padding:26px}.step-no{width:46px;height:46px;border-radius:17px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:950;margin-bottom:14px}.content{max-width:900px}.content.narrow{max-width:790px}.note{background:#fff;border-left:6px solid var(--brand);box-shadow:var(--soft);border-radius:22px;padding:24px;margin:24px 0}.form-like{display:grid;gap:12px;margin-top:18px}.form-like div{background:#fff;border-radius:18px;padding:15px 16px;border:1px solid rgba(107,75,62,.08);color:var(--muted)}.faq-list{display:grid;gap:14px}.faq-item{padding:0}.faq-q{width:100%;border:0;background:transparent;padding:22px;text-align:left;display:flex;justify-content:space-between;gap:18px;cursor:pointer;font-weight:950;font-size:1.08rem}.faq-a{display:none;color:var(--muted);padding:0 22px 22px}.faq-item.is-open .faq-a{display:block}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.kpi{padding:22px}.kpi b{display:block;font-size:1.85rem;color:var(--brand2);letter-spacing:-.04em}.kpi span{color:var(--muted);font-size:.92rem}.cta-photo-section{padding-top:40px}.cta-photo{min-height:420px;background-size:cover;background-position:center;border-radius:46px;box-shadow:var(--shadow);padding:54px;display:flex;align-items:center;color:#fff}.cta-photo p{color:rgba(255,255,255,.84);max-width:620px}.detail-hero{max-width:var(--container);margin:48px auto 0;padding:0 clamp(18px,4vw,54px);display:grid;grid-template-columns:1.02fr .98fr;gap:34px;align-items:center}.detail-hero img{width:100%;height:420px;object-fit:cover;border-radius:42px;box-shadow:var(--shadow)}.detail-hero h1{font-size:clamp(2.1rem,4vw,4rem);line-height:1.08;letter-spacing:-.05em;margin:16px 0}.detail-hero p{color:var(--muted)}
.site-footer{background:#392d29;color:#fff;padding:58px clamp(18px,4vw,54px) 24px}.footer-grid{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:1.5fr .8fr .95fr 1fr;gap:28px}.footer-brand{display:flex;align-items:center;gap:10px;font-size:1.2rem}.site-footer p{color:rgba(255,255,255,.72);margin:10px 0}.footer-note{font-size:.88rem}.site-footer h3{font-size:1rem;margin:0 0 12px}.site-footer a{display:block;color:rgba(255,255,255,.76);margin:7px 0}.footer-button{display:inline-block!important;background:var(--brand);color:#fff!important;padding:11px 15px;border-radius:999px;margin-top:10px!important;font-weight:950}.footer-bottom{max-width:var(--container);margin:32px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.56);font-size:.86rem}.mobile-line{display:none}
@media (max-width:1050px){.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:78px;left:18px;right:18px;background:#fff;border-radius:28px;box-shadow:var(--shadow);padding:18px}.site-header.nav-open .site-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.nav-link,.nav-cta{text-align:center}.hero-inner,.split,.page-hero-inner,.detail-hero{grid-template-columns:1fr}.hero-collage{min-height:520px;max-width:760px;margin:0 auto;width:100%}.trust-strip{grid-template-columns:repeat(2,1fr)}.grid-3,.listing-grid,.visual-grid.three{grid-template-columns:repeat(2,1fr)}.step-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.mini-visual{height:260px}.photo-ribbon{grid-template-columns:repeat(2,1fr)}.photo-ribbon img{height:180px}}
@media (max-width:720px){body{padding-bottom:74px}.brand{min-width:0}.brand small{display:none}.brand-mark{width:44px;height:44px}.hero{padding:40px 18px 30px}.hero h1,.page-hero h1{font-size:2.36rem}.hero p,.page-hero p{font-size:1rem}.cta-row .btn{width:100%}.hero-collage{min-height:auto;display:grid;gap:12px}.hero-main-img,.hero-small-img{position:static;width:100%;height:auto;aspect-ratio:16/10;border:0;border-radius:28px}.hero-small-img.two{display:none}.hero-badge{position:static;max-width:none}.photo-ribbon{padding:0 18px;grid-template-columns:1fr 1fr;gap:10px}.photo-ribbon img{height:110px;border-radius:18px}.trust-strip,.grid-3,.grid-2,.listing-grid,.visual-grid.three,.step-grid,.kpi-grid,.footer-grid{grid-template-columns:1fr}.section{padding:50px 18px}.section-head{display:block}.page-hero{padding:44px 18px 30px}.mini-visual{display:none}.service-card.recommend{transform:none}.visual-card{min-height:340px}.story-photo-stack{min-height:auto;display:grid;gap:12px}.story-photo-stack img{position:static;width:100%;height:auto;aspect-ratio:16/10;border:0;border-radius:28px}.warm-panel{padding:12px;border-radius:28px}.warm-panel img{height:auto;aspect-ratio:16/10;border-radius:20px}.cta-photo{min-height:420px;border-radius:30px;padding:28px}.detail-hero{margin-top:28px;padding:0 18px}.detail-hero img{height:auto;aspect-ratio:16/10;border-radius:28px}.site-header.nav-open .site-nav{grid-template-columns:1fr}.mobile-line{position:fixed;left:16px;right:16px;bottom:14px;z-index:60;display:flex;align-items:center;justify-content:center;height:52px;border-radius:999px;background:var(--line);color:#fff;font-weight:950;box-shadow:0 12px 26px rgba(21,182,92,.28)}.site-footer{padding-bottom:92px}.card-body{padding:19px}.price{font-size:2rem}}
@media (min-width:721px) and (max-width:1050px){.hero h1{font-size:3.75rem}.page-hero h1{font-size:3.2rem}.section{padding-left:34px;padding-right:34px}.hero-main-img{height:390px}.hero-small-img{height:175px}}


/* v3 expanded healing case pages */
.expanded-grid .case-card{min-height:100%;}
.expanded-card .card-body p{min-height:4.8em;}
.case-pagination{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:34px 0 0;}
.case-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:94px;padding:12px 18px;border-radius:999px;background:#fff;border:1px solid rgba(107,75,62,.1);font-weight:950;color:var(--brand2);box-shadow:var(--soft);}
.case-pagination a.is-current{background:var(--brand);color:#fff;border-color:transparent;}
.case-detail-hero{align-items:center;}
.case-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;}
.case-summary-grid div{background:#fff;border:1px solid rgba(107,75,62,.08);box-shadow:var(--soft);border-radius:20px;padding:16px;}
.case-summary-grid b{display:block;color:var(--brand2);font-size:.9rem;margin-bottom:4px;}
.case-summary-grid span{display:block;color:var(--muted);font-weight:750;font-size:.92rem;line-height:1.55;}
.case-reading-section{padding-top:48px;}
.case-article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start;}
.case-article{background:#fff;border:1px solid rgba(107,75,62,.07);box-shadow:var(--soft);border-radius:34px;padding:clamp(24px,4vw,46px);}
.case-article h2{font-size:clamp(1.35rem,2.1vw,2.05rem);line-height:1.25;margin:32px 0 12px;letter-spacing:-.03em;}
.case-article p{font-size:1.05rem;color:#59483f;margin:0 0 18px;line-height:1.95;text-align:justify;}
.case-quote{font-size:clamp(1.2rem,2.4vw,1.8rem);line-height:1.55;font-weight:950;color:var(--brand2);background:linear-gradient(135deg,#fff8ef,#fff1e2);border-radius:26px;padding:24px;margin-bottom:26px;}
.case-side{position:sticky;top:110px;background:#fff;border:1px solid rgba(107,75,62,.07);box-shadow:var(--soft);border-radius:30px;padding:18px;}
.case-side img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;margin-bottom:18px;}
.case-side h3{font-size:1.15rem;margin:8px 0;color:var(--ink);}
.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
@media (max-width:1050px){.case-article-wrap{grid-template-columns:1fr}.case-side{position:static}.case-summary-grid{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:720px){.case-summary-grid{grid-template-columns:1fr}.case-article{padding:22px;border-radius:28px}.case-article p{text-align:left;font-size:1rem;line-height:1.85}.case-quote{padding:20px;border-radius:22px}.case-pagination a{width:100%;}.detail-actions .btn{width:100%;}}

.filter-pill.is-active{background:var(--brand);color:#fff;border-color:transparent;box-shadow:var(--shadow-soft)}
.pagination{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:34px}
.page-pill{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:999px;background:#fff;border:1px solid rgba(107,75,62,.09);color:var(--muted);font-weight:900;box-shadow:var(--shadow-soft)}
.page-pill.is-active{background:var(--brand);color:#fff;border-color:transparent}
.brand-text{display:flex;flex-direction:column}
.case-reading-section{padding-top:56px}


.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.category-card{display:block;background:#fff;border:1px solid rgba(107,75,62,.08);border-radius:30px;overflow:hidden;box-shadow:var(--soft);transition:.2s ease;}
.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.category-card.is-current{outline:2px solid rgba(233,134,95,.38);}
.category-card img{width:100%;height:210px;object-fit:cover;}
.category-card-body{padding:22px;}
.category-card-body h3{font-size:1.26rem;margin:8px 0 10px;}
.category-card-body p{color:var(--muted);margin:0 0 14px;}
.category-card-body b{color:var(--brand2);font-size:.96rem;}
.category-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--cream2);color:var(--brand2);font-size:.82rem;font-weight:950;}
.case-belong{margin:0 0 10px;color:var(--muted);font-size:.95rem;}
@media (max-width:1050px){.category-grid{grid-template-columns:1fr;}}


/* v8 category guide icon layout */
.category-card{min-height:260px;background:linear-gradient(180deg,#fff,#fff9f4);}
.category-icon{height:136px;display:flex;align-items:center;justify-content:center;font-size:4.2rem;background:linear-gradient(135deg,#fff1e7,#f8fbef);border-bottom:1px solid rgba(107,75,62,.07);}
.category-icon.cat{background:linear-gradient(135deg,#fff1e7,#fff9f2)}
.category-icon.dog{background:linear-gradient(135deg,#fff5df,#f1fbef)}
.category-icon.home{background:linear-gradient(135deg,#fff0ed,#eef8ff)}
.category-icon.paw{background:linear-gradient(135deg,#f7f0ff,#fff7e8)}
.category-icon.growth{background:linear-gradient(135deg,#edf8ef,#fff5df)}
.category-icon.rainbow{background:linear-gradient(135deg,#fff1f5,#eef8ff)}
.category-card-body h3{font-size:1.22rem;letter-spacing:-.02em;}
.category-card-body p{font-size:.95rem;line-height:1.65;}
@media (max-width:1050px){.category-icon{height:118px;font-size:3.6rem}.category-card{min-height:230px}}
@media (max-width:720px){.category-grid{gap:14px}.category-card{display:grid;grid-template-columns:82px 1fr;min-height:auto}.category-icon{height:auto;font-size:2.35rem;border-bottom:0;border-right:1px solid rgba(107,75,62,.07)}.category-card-body{padding:16px}.category-card-body p{font-size:.9rem}}

/* v9: compact app-like category buttons under case banners */
.case-app-section{padding:24px clamp(18px,4vw,54px) 6px;background:linear-gradient(180deg,#fffaf4,#fff)}
.case-app-nav{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:repeat(6,minmax(86px,1fr));gap:12px;align-items:stretch}
.case-app-btn{min-height:92px;border-radius:24px;background:#fff;box-shadow:0 12px 26px rgba(94,65,48,.08);border:1px solid rgba(232,135,95,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;transition:.18s ease;color:var(--ink);padding:10px 8px}
.case-app-btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(94,65,48,.12)}
.case-app-btn.is-current{border-color:rgba(232,135,95,.58);background:linear-gradient(180deg,#fff7f0,#fff);box-shadow:0 16px 38px rgba(232,135,95,.18)}
.case-app-btn .app-icon{font-size:28px;line-height:1;display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,#fff3e9,#f2fff4)}
.case-app-btn strong{font-size:.94rem;line-height:1.15;font-weight:950;letter-spacing:.01em}
.case-app-btn small{font-size:.72rem;color:var(--brand-dark);font-weight:900}
.page-hero h1{max-width:850px}.page-hero p{max-width:640px}
@media (max-width:1050px){.case-app-nav{grid-template-columns:repeat(6,minmax(76px,1fr));gap:9px}.case-app-btn{min-height:86px;border-radius:22px}.case-app-btn strong{font-size:.88rem}.case-app-btn .app-icon{font-size:25px;width:38px;height:38px}}
@media (max-width:720px){.case-app-section{padding:18px 18px 0}.case-app-nav{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px}.case-app-btn{min-width:86px;min-height:82px;border-radius:20px;scroll-snap-align:start;flex:0 0 auto}.case-app-btn .app-icon{font-size:23px;width:36px;height:36px}.case-app-btn strong{font-size:.82rem}.case-app-btn small{font-size:.68rem}.page-hero h1{font-size:2.1rem;line-height:1.15}.page-hero p{font-size:.98rem;line-height:1.8}}

.hero-art-title{
  font-family: "DFKai-SB", "BiauKai", "KaiTi", "STKaiti", "Noto Serif TC", serif;
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.06;
  color: #4b3732;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
}
.page-hero .hero-art-title{
  font-size: clamp(2.5rem, 5.8vw, 4.6rem);
}
@media (max-width: 720px){
  .page-hero .hero-art-title{font-size: clamp(2rem, 10vw, 3rem);}
}

.filters .filter-pill{ text-decoration:none; cursor:pointer; }
.page-hero .page-hero-inner > div{ display:flex; flex-direction:column; gap:16px; }
.page-hero .page-hero-inner > div > .hero-art-title:first-child,
.page-hero .page-hero-inner > div > h1:first-child{ margin-top:0; }
.hero-art-title{
  background: linear-gradient(180deg, #5d463f 0%, #40312d 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
}


/* v12 dreamy watercolor refinement */
.home-page{
  background:
    radial-gradient(circle at 8% 10%, rgba(255,236,226,.78), transparent 22%),
    radial-gradient(circle at 92% 12%, rgba(244,235,255,.55), transparent 24%),
    radial-gradient(circle at 50% 88%, rgba(236,247,240,.7), transparent 20%),
    linear-gradient(180deg,#fff8f3 0%, #fffdfb 34%, #fff7f0 100%);
}
.home-page .hero.hero-photo{padding-top:76px;padding-bottom:56px;}
.home-page .hero-glow{
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.98), transparent 26%),
    radial-gradient(circle at 100% 12%, rgba(255,218,205,.66), transparent 21%),
    radial-gradient(circle at 70% 82%, rgba(238,245,255,.54), transparent 20%);
}
.home-page .hero-copy{
  background:rgba(255,255,255,.62);
  border:1px solid rgba(126,84,60,.08);
  border-radius:38px;
  padding:30px 28px;
  box-shadow:0 18px 50px rgba(90,61,46,.08);
  backdrop-filter: blur(10px);
}
.home-page .hero-copy .eyebrow,
.home-page .section-head .eyebrow,
.knowledge-page .section-head .eyebrow,
.knowledge-page .page-hero .eyebrow{
  background:linear-gradient(180deg,#fff,#fff4eb);
  box-shadow:0 12px 25px rgba(90,61,46,.06);
}
.home-page .hero h1{letter-spacing:-.06em;text-wrap:balance;}
.home-page .hero p{max-width:640px;}
.home-page .hero-main-img{border:12px solid rgba(255,255,255,.86);box-shadow:0 28px 72px rgba(77,52,41,.18);}
.home-page .hero-small-img{border:8px solid rgba(255,255,255,.95);box-shadow:0 20px 46px rgba(77,52,41,.15);}
.home-page .hero-badge{background:rgba(255,255,255,.88);border:1px solid rgba(126,84,60,.08);}
.home-page .photo-ribbon{margin-top:-6px;}
.home-page .photo-ribbon img{border:7px solid rgba(255,255,255,.92);box-shadow:0 16px 36px rgba(77,52,41,.1);}
.home-page .trust-card{background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,249,244,.98));border-color:rgba(126,84,60,.06);}
.home-page .visual-card,
.home-page .case-card,
.home-page .article-card,
.home-page .service-card,
.knowledge-page .article-card{
  background:linear-gradient(180deg,#ffffff 0%, #fffaf6 100%);
  border-color:rgba(126,84,60,.06);
  box-shadow:0 16px 42px rgba(90,61,46,.08);
}
.home-page .card-media,
.knowledge-page .card-media{background:linear-gradient(135deg,#fff3eb,#fdfaf6);}
.home-page .card-media img,
.knowledge-page .card-media img,
.home-page .visual-card img,
.knowledge-page .mini-visual{filter:saturate(.95) brightness(1.02);}
.home-page .section-head h2,
.knowledge-page .page-hero h1,
.knowledge-page .section-head h2{text-wrap:balance;}
.home-page .section-head p,
.knowledge-page .page-hero p,
.knowledge-page .section-head p{max-width:700px;}
.home-page .cta-photo{background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 58px rgba(60,46,42,.17);}
.knowledge-page .page-hero.photo-page{
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.96), transparent 24%),
    linear-gradient(135deg,#fff8f2 0%, #fffdfb 56%, #fdf0e7 100%);
}
.knowledge-page .mini-visual{border:10px solid rgba(255,255,255,.84);}
.knowledge-page .filters .filter-pill{background:linear-gradient(180deg,#fff,#fff6ef);}
.knowledge-page .filters .filter-pill.active{background:linear-gradient(180deg,var(--brand),#e07b54);}
@media (max-width:1050px){.home-page .hero-copy{padding:24px 22px;border-radius:30px}}
@media (max-width:720px){.home-page .hero.hero-photo{padding-top:50px;padding-bottom:32px}.home-page .hero-copy{padding:22px 18px;border-radius:28px}.home-page .photo-ribbon{margin-top:0}}


/* v21 homepage hero refinement */
.home-page .hero.hero-photo{padding-top:54px;padding-bottom:52px;}
.home-page .hero-glow{background:radial-gradient(circle at 14% 18%, rgba(255,255,255,.95), transparent 28%), radial-gradient(circle at 82% 14%, rgba(255,220,205,.62), transparent 22%), linear-gradient(135deg,#fbf5f0 0%,#f8f2ee 42%,#f5efee 100%);}
.home-page .hero-inner{grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center;}
.home-page .hero-copy{background:rgba(255,255,255,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:34px 34px 30px;border-radius:34px;box-shadow:0 20px 52px rgba(96,70,58,.09);border:1px solid rgba(255,255,255,.72);}
.home-page .hero h1{font-size:clamp(2.65rem,4.75vw,4.4rem);line-height:1.05;letter-spacing:-.06em;margin:18px 0 16px;max-width:9.2ch;}
.home-page .hero p{font-size:clamp(1rem,1.55vw,1.15rem);line-height:1.9;color:#7b675e;max-width:38rem;}
.home-page .cta-row{margin-top:24px;gap:14px;}
.home-page .hero-collage{min-height:560px;}
.home-page .hero-main-img{right:6px;top:14px;width:78%;height:392px;border-radius:42px;}
.home-page .hero-small-img.one{left:0;bottom:34px;width:37%;height:154px;border-radius:28px;}
.home-page .hero-small-img.two{right:42px;bottom:-4px;width:34%;height:166px;border-radius:28px;}
.home-page .hero-badge{left:4px;top:46px;max-width:235px;padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.88);}
.home-page .hero-badge b{font-size:1.08rem;color:var(--brand2);margin-bottom:6px;}
.home-page .hero-badge span{line-height:1.65;color:#7b675e;}
@media (min-width:721px) and (max-width:1050px){
  .home-page .hero-copy{padding:28px 28px 24px;}
  .home-page .hero h1{max-width:none;font-size:3.4rem;}
  .home-page .hero-collage{min-height:500px;}
  .home-page .hero-main-img{height:360px;width:80%;}
}
@media (max-width:720px){
  .home-page .hero.hero-photo{padding-top:30px;padding-bottom:28px;}
  .home-page .hero-copy{padding:24px 20px 22px;border-radius:26px;}
  .home-page .hero h1{font-size:2.18rem;max-width:none;line-height:1.12;}
  .home-page .hero p{line-height:1.8;}
  .home-page .hero-collage{margin-top:8px;}
  .home-page .hero-main-img,.home-page .hero-small-img{border:0 !important;}
  .home-page .hero-badge{border-radius:22px;padding:14px 16px;}
}


/* v22 hero redesign based on circular layout */
.home-page .hero-circle-showcase{padding:54px clamp(18px,4vw,54px) 56px;}
.home-page .hero-circle-showcase .hero-glow{background:radial-gradient(circle at 20% 8%, rgba(255,255,255,.96), transparent 26%), radial-gradient(circle at 88% 12%, rgba(255,223,210,.58), transparent 20%), linear-gradient(135deg,#faf6f2 0%,#f7f2ef 48%,#f4efee 100%);}
.home-page .hero-panel{position:relative;max-width:var(--container);margin:0 auto;padding:36px 34px 42px;background:rgba(255,255,255,.62);border:1px solid rgba(143,114,98,.12);border-radius:42px;box-shadow:0 26px 68px rgba(96,70,58,.08);overflow:hidden;}
.home-page .hero-center-copy{text-align:center;max-width:760px;margin:0 auto 24px;}
.home-page .hero-center-copy .eyebrow{justify-content:center;background:rgba(255,255,255,.88);}
.home-page .hero-circle-showcase h1{font-size:clamp(2.7rem,5.2vw,4.7rem);line-height:1.04;letter-spacing:-.065em;margin:16px 0 12px;}
.home-page .hero-center-copy p{margin:0 auto;max-width:680px;font-size:clamp(1rem,1.45vw,1.12rem);line-height:1.9;color:#7b675e;}
.home-page .hero-center-actions{justify-content:center;margin-top:22px;}
.home-page .hero-circles{position:relative;display:grid;grid-template-columns:1.12fr 1fr .88fr;align-items:end;gap:28px;max-width:1120px;margin:18px auto 0;padding-top:24px;}
.home-page .hero-link-line{position:absolute;left:8%;right:8%;top:34%;height:1px;background:linear-gradient(90deg,rgba(143,114,98,0), rgba(143,114,98,.35) 18%, rgba(143,114,98,.35) 82%, rgba(143,114,98,0));z-index:0;}
.home-page .circle-visual{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;}
.home-page .circle-frame{position:relative;border-radius:50%;overflow:hidden;border:10px solid rgba(255,255,255,.96);box-shadow:0 22px 48px rgba(84,61,51,.12);background:#fff;flex:0 0 auto;}
.home-page .circle-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.home-page .circle-visual.large .circle-frame{width:330px;height:330px;}
.home-page .circle-visual.medium .circle-frame{width:300px;height:300px;}
.home-page .circle-visual.small .circle-frame{width:272px;height:272px;}
.home-page .circle-copy{text-align:center;max-width:320px;padding:0 6px;}
.home-page .circle-copy h3{margin:0 0 8px;font-size:1.45rem;letter-spacing:-.03em;}
.home-page .circle-copy p{margin:0;color:#7b675e;line-height:1.75;font-size:.98rem;}
.home-page .circle-visual.left{margin-right:-6px;}
.home-page .circle-visual.center{transform:translateY(12px);}
.home-page .circle-visual.right{margin-left:-6px;}
@media (min-width:721px) and (max-width:1050px){
  .home-page .hero-panel{padding:32px 24px 38px;}
  .home-page .hero-circles{grid-template-columns:repeat(3,1fr);gap:18px;}
  .home-page .circle-visual.large .circle-frame,.home-page .circle-visual.medium .circle-frame,.home-page .circle-visual.small .circle-frame{width:240px;height:240px;}
  .home-page .circle-copy h3{font-size:1.24rem;}
  .home-page .circle-copy p{font-size:.92rem;}
  .home-page .circle-visual.center{transform:translateY(0);}
}
@media (max-width:720px){
  .home-page .hero-circle-showcase{padding:30px 18px 32px;}
  .home-page .hero-panel{padding:24px 16px 28px;border-radius:28px;}
  .home-page .hero-circle-showcase h1{font-size:2.34rem;line-height:1.1;}
  .home-page .hero-center-copy p{line-height:1.8;}
  .home-page .hero-center-actions .btn{width:100%;}
  .home-page .hero-circles{grid-template-columns:1fr;gap:26px;padding-top:10px;}
  .home-page .hero-link-line{display:none;}
  .home-page .circle-visual.large .circle-frame,.home-page .circle-visual.medium .circle-frame,.home-page .circle-visual.small .circle-frame{width:min(78vw,292px);height:min(78vw,292px);}
  .home-page .circle-visual.left,.home-page .circle-visual.right{margin:0;}
  .home-page .circle-visual.center{transform:none;}
  .home-page .circle-copy h3{font-size:1.32rem;}
}


/* v23 homepage hero mockup refinement */
.home-page .hero-circle-mockup{padding:54px 28px 60px;}
.home-page .hero-circle-mockup .hero-glow{background:radial-gradient(circle at 22% 0%, rgba(255,255,255,.92), transparent 24%), radial-gradient(circle at 82% 12%, rgba(255,227,218,.56), transparent 18%), linear-gradient(135deg,#f8f4f1 0%,#f6f1ef 55%,#f4efee 100%);}
.home-page .hero-panel-mockup{max-width:1240px;margin:0 auto;padding:36px 44px 42px;border-radius:36px;background:rgba(255,255,255,.58);border:1px solid rgba(143,114,98,.1);box-shadow:0 24px 72px rgba(96,70,58,.08);}
.home-page .hero-center-copy-mockup{text-align:center;max-width:760px;margin:0 auto 10px;}
.home-page .hero-center-copy-mockup .eyebrow{justify-content:center;background:rgba(255,255,255,.84);}
.home-page .hero-center-copy-mockup h1{font-size:clamp(3rem,6vw,4.8rem);line-height:1.02;letter-spacing:-.07em;margin:16px 0 8px;}
.home-page .hero-center-copy-mockup .hero-subline{font-size:clamp(1.02rem,1.6vw,1.16rem);line-height:1.9;color:#7b675e;max-width:700px;margin:0 auto;}
.home-page .hero-circle-stage{position:relative;display:grid;grid-template-columns:1.12fr 1fr .86fr;align-items:end;gap:24px;max-width:1180px;margin:18px auto 0;padding:8px 0 0;}
.home-page .hero-stage-line{position:absolute;left:10%;right:10%;top:42%;height:2px;background:linear-gradient(90deg,rgba(153,126,111,.0), rgba(153,126,111,.35) 20%, rgba(153,126,111,.35) 80%, rgba(153,126,111,.0));z-index:0;}
.home-page .circle-item{position:relative;z-index:1;display:flex;justify-content:center;}
.home-page .circle-image{position:relative;overflow:hidden;border-radius:50%;border:10px solid rgba(255,255,255,.96);background:#fff;box-shadow:0 22px 56px rgba(88,63,54,.14);}
.home-page .circle-image img{width:100%;height:100%;object-fit:cover;display:block;}
.home-page .circle-large{width:420px;height:420px;}
.home-page .circle-medium{width:390px;height:390px;}
.home-page .circle-small{width:330px;height:330px;}
.home-page .circle-left{justify-content:flex-start;}
.home-page .circle-center{transform:translateY(-6px);}
.home-page .circle-right{justify-content:flex-end;}
.home-page .circle-caption{position:absolute;left:26px;right:26px;bottom:26px;padding:16px 18px;border-radius:22px;background:rgba(255,255,255,.84);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:0 10px 24px rgba(80,61,54,.08);}
.home-page .circle-caption h3{margin:0 0 6px;font-size:1.45rem;letter-spacing:-.03em;color:var(--brand2);}
.home-page .circle-caption p{margin:0;font-size:0.95rem;line-height:1.7;color:#77645a;}
.home-page .hero-center-actions-mockup{justify-content:center;gap:14px;margin-top:30px;}
@media (min-width:721px) and (max-width:1100px){
  .home-page .hero-panel-mockup{padding:32px 24px 36px;}
  .home-page .hero-circle-stage{grid-template-columns:repeat(3,1fr);gap:18px;}
  .home-page .circle-large,.home-page .circle-medium,.home-page .circle-small{width:250px;height:250px;}
  .home-page .circle-caption{left:14px;right:14px;bottom:14px;padding:12px 14px;border-radius:18px;}
  .home-page .circle-caption h3{font-size:1.15rem;}
  .home-page .circle-caption p{font-size:.83rem;line-height:1.5;}
  .home-page .circle-left,.home-page .circle-right{justify-content:center;}
  .home-page .circle-center{transform:none;}
  .home-page .hero-center-actions-mockup{flex-wrap:wrap;}
}
@media (max-width:720px){
  .home-page .hero-circle-mockup{padding:28px 16px 32px;}
  .home-page .hero-panel-mockup{padding:22px 14px 28px;border-radius:28px;}
  .home-page .hero-center-copy-mockup h1{font-size:2.4rem;line-height:1.08;}
  .home-page .hero-center-copy-mockup .hero-subline{font-size:1rem;line-height:1.82;}
  .home-page .hero-circle-stage{grid-template-columns:1fr;gap:24px;margin-top:18px;}
  .home-page .hero-stage-line{display:none;}
  .home-page .circle-large,.home-page .circle-medium,.home-page .circle-small{width:min(82vw,320px);height:min(82vw,320px);}
  .home-page .circle-left,.home-page .circle-right{justify-content:center;}
  .home-page .circle-center{transform:none;}
  .home-page .circle-caption{left:14px;right:14px;bottom:14px;padding:13px 14px;border-radius:18px;}
  .home-page .circle-caption h3{font-size:1.2rem;}
  .home-page .circle-caption p{font-size:.88rem;line-height:1.55;}
  .home-page .hero-center-actions-mockup .btn{width:100%;}
}


/* v24 homepage refinement */
body.home-page{background:linear-gradient(180deg,#fff9f5 0%,#fcf3ed 28%,#f9f0ea 60%,#fff8f4 100%);}
.home-page main{background:transparent;}
.home-page .site-header,.home-page .site-footer{background:transparent;}
.home-page .hero-circle-mockup{padding:58px 28px 66px;}
.home-page .hero-circle-mockup .hero-glow{background:radial-gradient(circle at 18% 5%, rgba(255,255,255,.98), transparent 23%), radial-gradient(circle at 85% 10%, rgba(255,214,201,.62), transparent 18%), linear-gradient(135deg,#fff8f3 0%,#fdf3ee 46%,#fbefe9 100%);}
.home-page .hero-panel-mockup{max-width:1240px;margin:0 auto;padding:54px 52px 44px;border-radius:40px;background:rgba(255,251,248,.78);border:1px solid rgba(176,141,125,.12);box-shadow:0 26px 72px rgba(98,71,61,.09);}
.home-page .hero-center-copy-mockup{max-width:760px;margin:0 auto 4px;text-align:center;}
.home-page .hero-center-copy-mockup h1{font-size:clamp(3rem,5.8vw,4.85rem);line-height:1.06;letter-spacing:-.075em;margin:0 0 14px;color:#3e2f2b;}
.home-page .hero-center-copy-mockup .hero-subline{max-width:760px;margin:0 auto;font-size:clamp(1rem,1.45vw,1.12rem);line-height:1.95;color:#7b675e;}
.home-page .hero-circle-stage{position:relative;display:grid;grid-template-columns:1.12fr 1fr .86fr;align-items:end;gap:24px;max-width:1180px;margin:30px auto 0;padding-top:8px;}
.home-page .hero-stage-line{position:absolute;left:9%;right:9%;top:39%;height:2px;background:linear-gradient(90deg,rgba(167,136,121,0), rgba(167,136,121,.36) 20%, rgba(167,136,121,.36) 80%, rgba(167,136,121,0));z-index:0;}
.home-page .circle-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;}
.home-page .circle-left{justify-content:flex-start;}
.home-page .circle-center{transform:translateY(4px);}
.home-page .circle-right{justify-content:flex-end;}
.home-page .circle-image{position:relative;overflow:hidden;border-radius:50%;border:11px solid rgba(255,255,255,.96);background:#fff;box-shadow:0 24px 58px rgba(96,70,58,.14);}
.home-page .circle-image img{width:100%;height:100%;object-fit:cover;display:block;}
.home-page .circle-large{width:420px;height:420px;}
.home-page .circle-medium{width:388px;height:388px;}
.home-page .circle-small{width:330px;height:330px;}
.home-page .circle-meta{margin-top:18px;max-width:330px;text-align:center;padding:0 6px;}
.home-page .circle-meta h3{margin:0 0 8px;font-size:1.46rem;letter-spacing:-.03em;color:var(--brand2);}
.home-page .circle-meta p{margin:0;color:#7a665d;font-size:.98rem;line-height:1.72;}
.home-page .hero-center-actions-mockup{justify-content:center;gap:14px;margin-top:34px;}
.home-page .hero-center-actions-mockup .btn{box-shadow:0 12px 24px rgba(96,70,58,.08);}
@media (min-width:721px) and (max-width:1100px){
  body.home-page{background:linear-gradient(180deg,#fff9f5 0%,#fcf1ea 100%);}
  .home-page .hero-panel-mockup{padding:42px 24px 38px;}
  .home-page .hero-center-copy-mockup h1{font-size:3.45rem;}
  .home-page .hero-circle-stage{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px;}
  .home-page .circle-large,.home-page .circle-medium,.home-page .circle-small{width:250px;height:250px;}
  .home-page .circle-meta{max-width:250px;margin-top:14px;}
  .home-page .circle-meta h3{font-size:1.14rem;}
  .home-page .circle-meta p{font-size:.83rem;line-height:1.55;}
  .home-page .circle-center{transform:none;}
  .home-page .hero-center-actions-mockup{flex-wrap:wrap;}
}
@media (max-width:720px){
  body.home-page{background:linear-gradient(180deg,#fffaf6 0%,#fdf1ea 100%);}
  .home-page .hero-circle-mockup{padding:28px 16px 34px;}
  .home-page .hero-panel-mockup{padding:28px 14px 28px;border-radius:28px;}
  .home-page .hero-center-copy-mockup h1{font-size:2.36rem;line-height:1.14;}
  .home-page .hero-center-copy-mockup .hero-subline{font-size:1rem;line-height:1.84;}
  .home-page .hero-circle-stage{grid-template-columns:1fr;gap:24px;margin-top:24px;}
  .home-page .hero-stage-line{display:none;}
  .home-page .circle-large,.home-page .circle-medium,.home-page .circle-small{width:min(82vw,320px);height:min(82vw,320px);}
  .home-page .circle-center{transform:none;}
  .home-page .circle-meta{max-width:min(88vw,320px);margin-top:14px;}
  .home-page .circle-meta h3{font-size:1.22rem;}
  .home-page .circle-meta p{font-size:.9rem;line-height:1.58;}
  .home-page .hero-center-actions-mockup .btn{width:100%;}
}


/* v25 homepage aesthetic cleanup */
body.home-page{background:linear-gradient(180deg,#fffaf7 0%,#fdf3ee 28%,#f8ebe4 72%,#fff7f2 100%);}
.home-page .hero-circle-mockup{padding:62px 30px 72px;}
.home-page .hero-circle-mockup .hero-glow{background:radial-gradient(circle at 18% 2%, rgba(255,255,255,.98), transparent 22%), radial-gradient(circle at 84% 8%, rgba(255,227,214,.62), transparent 18%), radial-gradient(circle at 50% 70%, rgba(255,244,237,.92), transparent 36%), linear-gradient(135deg,#fff8f4 0%,#fcf1eb 50%,#f9eee8 100%);}
.home-page .hero-panel-mockup{max-width:1260px;padding:58px 56px 48px;border-radius:42px;background:rgba(255,251,248,.82);border:1px solid rgba(184,149,131,.10);box-shadow:0 28px 78px rgba(97,70,60,.08);}
.home-page .hero-center-copy-mockup{max-width:960px;margin:0 auto 6px;text-align:center;}
.home-page .hero-center-copy-mockup h1{font-family:Baskerville, "Palatino Linotype", "Book Antiqua", Georgia, serif;font-weight:500;font-size:clamp(2.75rem,5.1vw,4.5rem);line-height:1.08;letter-spacing:-.04em;color:#3e2f2b;margin:0 0 14px;white-space:nowrap;text-wrap:nowrap;}
.home-page .hero-center-copy-mockup .hero-subline{max-width:620px;margin:0 auto;font-size:clamp(1rem,1.35vw,1.08rem);line-height:1.9;color:#88736a;}
.home-page .hero-circle-stage{grid-template-columns:1.16fr 1fr .84fr;gap:22px;max-width:1160px;margin:38px auto 0;align-items:end;}
.home-page .hero-stage-line{display:none !important;}
.home-page .circle-item{align-items:center;}
.home-page .circle-left{justify-content:flex-start;}
.home-page .circle-center{transform:translateY(10px);}
.home-page .circle-right{justify-content:flex-end;transform:translateY(-6px);}
.home-page .circle-image{border:12px solid rgba(255,255,255,.97);box-shadow:0 22px 54px rgba(96,70,58,.12);}
.home-page .circle-large{width:420px;height:420px;}
.home-page .circle-medium{width:370px;height:370px;}
.home-page .circle-small{width:312px;height:312px;}
.home-page .circle-meta{display:none !important;}
.home-page .hero-center-actions-mockup{justify-content:center;gap:14px;margin-top:42px;}
.home-page .hero-center-actions-mockup .btn{min-width:196px;border-radius:999px;box-shadow:0 12px 24px rgba(96,70,58,.08);}
@media (min-width:721px) and (max-width:1100px){
  .home-page .hero-panel-mockup{padding:42px 24px 40px;}
  .home-page .hero-center-copy-mockup h1{font-size:3.1rem;white-space:normal;text-wrap:balance;}
  .home-page .hero-subline{max-width:580px;}
  .home-page .hero-circle-stage{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;}
  .home-page .circle-large,.home-page .circle-medium,.home-page .circle-small{width:235px;height:235px;}
  .home-page .circle-center,.home-page .circle-right{transform:none;}
  .home-page .hero-center-actions-mockup{flex-wrap:wrap;margin-top:34px;}
}
@media (max-width:720px){
  body.home-page{background:linear-gradient(180deg,#fffaf7 0%,#fcefe8 100%);}
  .home-page .hero-circle-mockup{padding:28px 16px 36px;}
  .home-page .hero-panel-mockup{padding:28px 14px 30px;border-radius:28px;}
  .home-page .hero-center-copy-mockup h1{font-size:2.08rem;white-space:normal;text-wrap:balance;line-height:1.16;}
  .home-page .hero-center-copy-mockup .hero-subline{font-size:1rem;line-height:1.82;max-width:320px;}
  .home-page .hero-circle-stage{grid-template-columns:1fr;gap:22px;margin-top:26px;}
  .home-page .circle-large,.home-page .circle-medium,.home-page .circle-small{width:min(78vw,300px);height:min(78vw,300px);}
  .home-page .circle-center,.home-page .circle-right{transform:none;}
  .home-page .hero-center-actions-mockup{margin-top:30px;}
  .home-page .hero-center-actions-mockup .btn{width:100%;min-width:0;}
}


/* v26 remove white frame behind homepage hero */
.home-page .hero-panel-mockup{background:transparent !important;border:none !important;box-shadow:none !important;border-radius:0 !important;}
@media (min-width:721px){
  .home-page .hero-circle-mockup{padding-top:48px;padding-bottom:58px;}
  .home-page .hero-panel-mockup{padding-top:18px !important;padding-bottom:20px !important;}
}
@media (max-width:720px){
  .home-page .hero-panel-mockup{padding-top:10px !important;padding-left:8px !important;padding-right:8px !important;padding-bottom:18px !important;}
}


/* v27 title style and layered background */
body.home-page{background:
  radial-gradient(circle at 12% 14%, rgba(255,255,255,.92) 0, rgba(255,255,255,.92) 8%, rgba(255,255,255,0) 28%),
  radial-gradient(circle at 88% 10%, rgba(255,224,214,.72) 0, rgba(255,224,214,.72) 10%, rgba(255,224,214,0) 34%),
  radial-gradient(circle at 22% 78%, rgba(255,238,228,.75) 0, rgba(255,238,228,.75) 12%, rgba(255,238,228,0) 35%),
  linear-gradient(180deg,#fffaf7 0%,#fdf2ec 32%,#f8ece5 68%,#fff8f3 100%) !important;
}
.home-page .hero-circle-mockup{position:relative;overflow:hidden;padding-top:56px;padding-bottom:74px;}
.home-page .hero-circle-mockup::before{content:"";position:absolute;left:-90px;top:180px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle, rgba(255,238,230,.55) 0%, rgba(255,238,230,0) 70%);filter:blur(6px);pointer-events:none;}
.home-page .hero-circle-mockup::after{content:"";position:absolute;right:-110px;top:110px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle, rgba(255,228,218,.58) 0%, rgba(255,228,218,0) 72%);filter:blur(8px);pointer-events:none;}
.home-page .hero-circle-mockup .hero-glow{background:
  radial-gradient(circle at 18% 4%, rgba(255,255,255,.98), transparent 22%),
  radial-gradient(circle at 84% 8%, rgba(255,219,207,.54), transparent 18%),
  radial-gradient(circle at 50% 72%, rgba(255,245,239,.95), transparent 36%),
  linear-gradient(135deg,#fff9f5 0%,#fcf0ea 54%,#f9ede7 100%);}
.home-page .hero-panel-mockup{position:relative;z-index:1;}
.home-page .hero-center-copy-mockup{margin-bottom:10px;}
.home-page .hero-center-copy-mockup h1{display:inline-block;padding:.08em .18em .12em;font-family:"Trebuchet MS","Arial Rounded MT Bold","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;font-weight:900;font-size:clamp(2.7rem,5.2vw,4.55rem) !important;line-height:1.08;letter-spacing:.01em;color:#4a3732;background:linear-gradient(135deg,#ffbfd7 0%,#ffd7ea 18%,#fff0f7 28%,#d7f3cf 57%,#b7ecff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:
  -3px -3px 0 rgba(255,250,252,.98),
   3px -3px 0 rgba(255,250,252,.98),
  -3px  3px 0 rgba(255,250,252,.98),
   3px  3px 0 rgba(255,250,252,.98),
   0   5px 18px rgba(122,89,79,.18),
   0   0   1px rgba(110,79,70,.38);white-space:nowrap;text-wrap:nowrap;position:relative;}
.home-page .hero-center-copy-mockup h1::after{content:"";position:absolute;left:5%;right:5%;bottom:.08em;height:.26em;border-radius:999px;background:linear-gradient(90deg, rgba(255,204,222,.22), rgba(213,241,255,.22));z-index:-1;filter:blur(8px);}
.home-page .hero-center-copy-mockup .hero-subline{max-width:680px;color:#8b756c;font-size:clamp(1rem,1.35vw,1.1rem);line-height:1.92;margin-top:6px;}
.home-page .hero-circle-stage{margin-top:42px;gap:26px;}
.home-page .circle-image{background:#fff;border-color:rgba(255,255,255,.98);box-shadow:0 26px 64px rgba(95,70,60,.12),0 4px 10px rgba(255,255,255,.45) inset;}
.home-page .circle-large{width:426px;height:426px;}
.home-page .circle-medium{width:374px;height:374px;}
.home-page .circle-small{width:318px;height:318px;}
.home-page .hero-center-actions-mockup{margin-top:46px;}
.home-page .hero-center-actions-mockup .btn{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
@media (min-width:721px) and (max-width:1100px){
  .home-page .hero-circle-mockup{padding-top:48px;padding-bottom:58px;}
  .home-page .hero-center-copy-mockup h1{font-size:3.35rem !important;white-space:normal;text-wrap:balance;line-height:1.14;}
  .home-page .hero-circle-stage{gap:18px;margin-top:34px;}
  .home-page .circle-large,.home-page .circle-medium,.home-page .circle-small{width:238px;height:238px;}
}
@media (max-width:720px){
  body.home-page{background:
    radial-gradient(circle at 18% 8%, rgba(255,255,255,.92) 0, rgba(255,255,255,0) 30%),
    radial-gradient(circle at 86% 10%, rgba(255,228,218,.58) 0, rgba(255,228,218,0) 28%),
    linear-gradient(180deg,#fffaf7 0%,#fcefe8 100%) !important;}
  .home-page .hero-circle-mockup{padding-top:24px;padding-bottom:36px;}
  .home-page .hero-circle-mockup::before,.home-page .hero-circle-mockup::after{display:none;}
  .home-page .hero-center-copy-mockup h1{font-size:2.1rem !important;white-space:normal;text-wrap:balance;line-height:1.16;padding:.06em .06em .12em;}
  .home-page .hero-center-copy-mockup .hero-subline{max-width:320px;font-size:.98rem;line-height:1.8;}
  .home-page .hero-circle-stage{margin-top:26px;gap:22px;}
  .home-page .circle-large,.home-page .circle-medium,.home-page .circle-small{width:min(78vw,300px);height:min(78vw,300px);}
  .home-page .hero-center-actions-mockup{margin-top:32px;}
}


/* v28 replace homepage title text with sticker title image */
.home-page .hero-title-image-wrap{display:flex;justify-content:center;align-items:center;margin:0 auto 14px;max-width:980px;}
.home-page .hero-title-image{display:block;width:min(100%,860px);height:auto;filter:drop-shadow(0 10px 22px rgba(116,84,74,.10));}
.home-page .hero-center-copy-mockup h1{display:none !important;}
.home-page .hero-center-copy-mockup{max-width:1100px;}
@media (min-width:721px) and (max-width:1100px){
  .home-page .hero-title-image{width:min(100%,700px);}
}
@media (max-width:720px){
  .home-page .hero-title-image-wrap{margin-bottom:10px;}
  .home-page .hero-title-image{width:min(100%,92vw);}
}


/* v29 enlarge title image and blend background */
.home-page .hero-title-image-wrap{margin-bottom:8px;max-width:1160px;}
.home-page .hero-title-image{width:min(100%,1032px) !important;height:auto;background:transparent !important;filter:drop-shadow(0 8px 18px rgba(116,84,74,.08));}
.home-page .hero-center-copy-mockup .hero-subline{margin-top:2px;}
@media (min-width:721px) and (max-width:1100px){
  .home-page .hero-title-image{width:min(100%,840px) !important;}
}
@media (max-width:720px){
  .home-page .hero-title-image{width:min(100%,96vw) !important;}
}


/* v30 soften top boundary line on homepage */
.home-page .site-header{background:transparent !important;border-bottom:none !important;box-shadow:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}
.home-page .hero-circle-mockup{margin-top:-14px;padding-top:14px !important;}
.home-page .hero-circle-mockup .hero-glow{background:
  linear-gradient(180deg, rgba(255,249,245,0) 0%, rgba(255,249,245,.78) 12%, rgba(255,245,239,.96) 28%),
  radial-gradient(circle at 18% 4%, rgba(255,255,255,.92), transparent 22%),
  radial-gradient(circle at 84% 8%, rgba(255,219,207,.40), transparent 18%),
  radial-gradient(circle at 50% 72%, rgba(255,245,239,.92), transparent 36%),
  linear-gradient(135deg,#fff9f5 0%,#fcf0ea 54%,#f9ede7 100%) !important;}
@media (max-width:720px){
  .home-page .hero-circle-mockup{margin-top:-10px;padding-top:10px !important;}
}


/* v31 unify homepage background and remove visible boundary bands */
body.home-page{
  background-color:#f8efe9 !important;
  background-image:linear-gradient(90deg,#f6ece4 0%, #fbf4ef 50%, #f7ebe4 100%) !important;
}
.home-page .site-header,
.home-page main,
.home-page .hero-circle-mockup{
  background:transparent !important;
}
.home-page .site-header{
  border-bottom:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.home-page .hero-circle-mockup{
  margin-top:0 !important;
  padding-top:18px !important;
}
.home-page .hero-circle-mockup .hero-glow{
  background:
    radial-gradient(circle at 18% 8%, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 24%),
    radial-gradient(circle at 84% 12%, rgba(255,225,214,.28) 0%, rgba(255,225,214,0) 18%) !important;
}
.home-page .hero-panel-mockup{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
@media (max-width:720px){
  body.home-page{background-image:linear-gradient(180deg,#f7ede6 0%, #fbf4ef 100%) !important;}
  .home-page .hero-circle-mockup{padding-top:14px !important;}
}


/* v32 darken footer text for readability */
.site-footer{background:#f5ebe4 !important;color:#4b3933 !important;}
.footer-brand, .footer-brand strong, .site-footer h3{color:#3f2f2a !important;}
.site-footer p{color:#6a5750 !important;}
.site-footer a{color:#5d4a44 !important;}
.site-footer a:hover{color:#d97e52 !important;}
.footer-note{color:#7a6760 !important;}
.footer-bottom{color:#8b776f !important;border-top:1px solid rgba(101,74,64,.12) !important;}
.site-footer .footer-button{background:#e4895f !important;color:#fff !important;box-shadow:0 10px 22px rgba(217,126,82,.22);}
.site-footer .footer-button:hover{background:#d97e52 !important;}


/* v33 make homepage circle outer rings transparent */
.home-page .circle-image{
  border:10px solid transparent !important;
  background:transparent !important;
  box-shadow:0 18px 42px rgba(88,63,54,.10) !important;
}


/* v34 homepage situation cards refresh */
.home-page .visual-grid.three .visual-card div{bottom:26px;left:24px;right:24px;}
.home-page .visual-grid.three .visual-card h3{font-size:1.7rem;line-height:1.3;margin:0;color:#fff;text-shadow:0 3px 10px rgba(0,0,0,.25);font-weight:950;letter-spacing:.01em;}
.home-page .visual-grid.three .visual-card p,
.home-page .visual-grid.three .visual-card span{display:none !important;}
@media (max-width: 767px){
  .home-page .visual-grid.three .visual-card{min-height:320px;}
  .home-page .visual-grid.three .visual-card h3{font-size:1.36rem;}
}


/* v36 adjust CTA photo background upward so faces are not covered */
.home-page .cta-photo{background-position:center 20% !important;}
@media (max-width:767px){
  .home-page .cta-photo{background-position:center 16% !important;}
}


/* v37 記憶深刻案例清空版 */
.empty-case-note{background:#fff;border:1px solid rgba(107,75,62,.08);box-shadow:var(--soft);border-radius:28px;padding:26px 28px;margin:0 0 28px}
.empty-case-note h1,.empty-case-note h2{margin:0 0 10px;color:var(--ink)}
.empty-case-note p{margin:0;color:var(--muted)}
.placeholder-card .card-media img{filter:saturate(.92)}
.placeholder-card .card-tag{background:rgba(233,143,90,.14);color:var(--brand)}
.placeholder-card .card-meta span{font-weight:700;color:#9b7a69}
.case-app-nav{grid-template-columns:repeat(5,1fr)}
@media (max-width:1080px){.case-app-nav{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.case-app-nav{grid-template-columns:repeat(2,1fr)} .empty-case-note{padding:20px}}


/* v39 knowledge category icons */
.app-icon-image{padding:0;overflow:hidden;background:linear-gradient(135deg,#fff7f0,#fffefb);}
.app-icon-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;}
.knowledge-app-nav .case-app-btn{padding:12px 8px 10px;}
.knowledge-app-nav .case-app-btn strong{font-size:.9rem;}
.knowledge-app-nav .case-app-btn small{margin-top:2px;}

/* v40 simpler cute knowledge icons */
.app-icon-simple{font-size:24px;background:linear-gradient(135deg,#fff7ef,#fffdf9);border:1px solid rgba(231,170,131,.22);box-shadow:0 6px 14px rgba(227,174,137,.10);}
.knowledge-app-nav .case-app-btn .app-icon-simple{margin-bottom:2px;}
@media (max-width:720px){.app-icon-simple{font-size:22px;}}


/* v41 cases first page update */
.case-detail-hero .eyebrow{display:inline-flex;margin-bottom:12px;}
.case-detail-content{font-size:1.06rem;line-height:2.05;color:#5f4b44;}
.case-detail-content p{margin:0 0 1.05em;}
.case-detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;padding-top:18px;border-top:1px solid rgba(107,75,62,.10);}
.case-card a{display:block;color:inherit;text-decoration:none;height:100%;}
.case-card h3{line-height:1.34;}
.case-card .card-media img{object-position:center center;}
@media (max-width:720px){.case-detail-content{font-size:1rem;line-height:1.9}.case-detail-actions .btn{width:100%;}}


/* v42 process page icon refresh */
.process-page .page-hero{background:linear-gradient(135deg,#fff8f3 0%,#fff 50%,#ffe9de 100%);}
.process-page .mini-visual{box-shadow:0 18px 40px rgba(108,75,62,.14);}
.process-flow-section{padding-top:56px;}
.process-flow-head{margin-bottom:26px;}
.process-flow-head h2{max-width:700px;}
.process-step-grid{gap:24px;}
.process-step-card{padding:28px 26px 24px;border-radius:28px;background:linear-gradient(180deg,#fff 0%,#fffaf6 100%);box-shadow:0 14px 32px rgba(111,83,70,.08);border:1px solid rgba(122,91,80,.08);min-height:250px;transition:transform .2s ease, box-shadow .2s ease;}
.process-step-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(111,83,70,.12);}
.process-step-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;}
.process-step-card .step-no{width:46px;height:46px;border-radius:16px;background:linear-gradient(180deg,#ef9467 0%,#e68658 100%);box-shadow:0 8px 18px rgba(230,134,88,.26);margin-bottom:0;flex:0 0 auto;}
.process-icon-shell{width:82px;height:82px;border-radius:24px;background:linear-gradient(180deg,#fff7f2 0%,#fff 100%);border:1px solid rgba(122,91,80,.08);box-shadow:0 10px 24px rgba(111,83,70,.08), inset 0 1px 0 rgba(255,255,255,.86);display:grid;place-items:center;flex:0 0 auto;}
.process-icon-shell img{width:58px;height:58px;display:block;}
.process-step-card h3{font-size:1.3rem;margin:0 0 10px;color:var(--brand2);}
.process-step-card p{font-size:1rem;line-height:1.8;}
@media (max-width:1050px){
  .process-step-card{min-height:230px;}
}
@media (max-width:720px){
  .process-flow-section{padding-top:40px;}
  .process-flow-head{margin-bottom:20px;}
  .process-step-card{padding:24px 22px;min-height:auto;border-radius:24px;}
  .process-step-top{margin-bottom:14px;}
  .process-icon-shell{width:72px;height:72px;border-radius:22px;}
  .process-icon-shell img{width:50px;height:50px;}
  .process-step-card h3{font-size:1.18rem;}
}


/* v43 記憶深刻案例背景與分類列修正 */
body.case-page{
  background:#fff8f3 !important;
  background-image:linear-gradient(180deg,#fff8f3 0%,#fff8f3 100%) !important;
}
.case-page main,
.case-page .page-hero,
.case-page .case-app-section,
.case-page .section{
  background:transparent !important;
}
.case-page .page-hero{
  padding-bottom:34px;
}
.case-page .case-app-section{
  padding-top:22px;
  padding-bottom:28px;
  border:0 !important;
}
.case-page .section{
  padding-top:42px;
}
.case-page .case-app-nav-six{
  grid-template-columns:repeat(6,minmax(96px,1fr)) !important;
  gap:14px;
}
.case-page .case-app-btn{
  min-height:92px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.case-page .case-app-btn.is-current{
  background:linear-gradient(180deg,#fff7f0,#fffdf9);
}
.case-page .empty-case-note{
  display:none !important;
}
.case-page .case-detail-content{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(107,75,62,.06);
  border-radius:34px;
  box-shadow:0 16px 42px rgba(78,52,38,.07);
  padding:clamp(24px,4vw,42px);
}
.case-page .case-detail-content .case-detail-actions{
  margin-bottom:0;
}
.case-page .listing-grid{
  margin-top:4px;
}
@media (max-width:1080px){
  .case-page .case-app-nav-six{grid-template-columns:repeat(3,1fr) !important;}
}
@media (max-width:767px){
  .case-page .case-app-nav-six{display:flex !important;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px;}
  .case-page .case-app-btn{min-width:92px;flex:0 0 auto;}
  .case-page .section{padding-top:32px;}
  .case-page .case-detail-content{border-radius:26px;padding:22px;}
}


/* v44 case detail image top: original 16:9, no cropping */
body.case-page{
  background:#fff8f3 !important;
  background-image:linear-gradient(180deg,#fff8f3 0%,#fff8f3 100%) !important;
}
.case-page main,
.case-page .case-detail-top,
.case-page .section{
  background:transparent !important;
}
.case-detail-top{
  padding:clamp(28px,4vw,54px) clamp(18px,4vw,54px) 12px;
}
.case-detail-shell{
  max-width:1080px;
  margin:0 auto;
}
.case-detail-cover{
  margin:0;
  border-radius:36px;
  overflow:hidden;
  background:#fffaf6;
  border:1px solid rgba(107,75,62,.08);
  box-shadow:0 20px 54px rgba(78,52,38,.10);
}
.case-detail-cover img{
  display:block;
  width:100%;
  height:auto !important;
  aspect-ratio:16/9;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fffaf6;
}
.case-detail-intro-card{
  margin:-28px auto 0;
  width:min(92%,900px);
  position:relative;
  z-index:1;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(107,75,62,.08);
  border-radius:32px;
  box-shadow:0 18px 42px rgba(78,52,38,.09);
  padding:clamp(24px,4vw,42px);
  text-align:left;
}
.case-detail-intro-card h1{
  font-size:clamp(2rem,4vw,3.7rem);
  line-height:1.12;
  letter-spacing:-.05em;
  margin:12px 0 12px;
  color:var(--ink);
}
.case-detail-intro-card p{
  color:var(--muted);
  font-size:1.06rem;
  line-height:1.85;
  margin:0;
}
.case-detail-intro-card .cta-row{
  margin-top:22px;
}
.case-page .case-detail-content{
  margin-top:20px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(107,75,62,.06);
  border-radius:34px;
  box-shadow:0 16px 42px rgba(78,52,38,.07);
  padding:clamp(24px,4vw,42px);
}
.case-page .card-media{
  aspect-ratio:16/9;
}
.case-page .card-media img{
  object-fit:contain !important;
  object-position:center center !important;
  background:#fffaf6;
}
@media (min-width:721px) and (max-width:1080px){
  .case-detail-top{padding-top:42px;}
  .case-detail-intro-card{width:94%;margin-top:-22px;}
}
@media (max-width:720px){
  .case-detail-top{
    padding:24px 16px 8px;
  }
  .case-detail-cover{
    border-radius:24px;
  }
  .case-detail-intro-card{
    width:100%;
    margin-top:14px;
    border-radius:24px;
    padding:22px 20px;
  }
  .case-detail-intro-card h1{
    font-size:2.08rem;
    line-height:1.18;
  }
  .case-detail-intro-card p{
    font-size:1rem;
    line-height:1.75;
  }
  .case-detail-intro-card .cta-row .btn{
    width:100%;
  }
  .case-page .case-detail-content{
    margin-top:10px;
    border-radius:24px;
    padding:22px 20px;
  }
}


/* v45 case detail button wording + responsive button spacing */
.case-detail-intro-card .cta-row{align-items:center;}
.case-detail-intro-card .btn{white-space:nowrap;}
@media (max-width:720px){
  .case-detail-intro-card .cta-row{display:grid;grid-template-columns:1fr;gap:12px;}
  .case-detail-intro-card .btn{width:100%;justify-content:center;text-align:center;}
}

/* v46 cases page 2 update and overview pagination */
.overview-pagination{justify-content:center;margin-top:34px;}
.overview-pagination a{min-width:52px;}
.case-page .case-detail-intro-card .cta-row .btn{white-space:nowrap;}
@media (max-width:720px){
  .overview-pagination{margin-top:26px;}
  .case-page .case-detail-intro-card .cta-row{display:grid;grid-template-columns:1fr;gap:10px;}
}

/* v48 knowledge pages: remove intro box spacing */
.knowledge-page .knowledge-listing-section{padding-top:46px;}
.knowledge-page .case-app-section + .knowledge-listing-section .listing-grid{margin-top:0;}
@media (max-width:720px){
  .knowledge-page .knowledge-listing-section{padding-top:34px;}
}


/* v49 cases overview hero image replacement: keep full 16:9 artwork visible */
.case-page .overview-hero-img{
  object-fit:contain !important;
  object-position:center center !important;
  background:linear-gradient(135deg,#fff7ef,#fffdf8);
}
@media (max-width:1050px){
  .case-page .overview-hero-img{height:auto !important;aspect-ratio:16/9;}
}

/* v50 cases overview hero image: use full-bleed artwork without white bars */
.case-page .overview-hero-img{
  object-fit:cover !important;
  object-position:center center !important;
  background:transparent !important;
  display:block;
}


/* v52 knowledge page refinement: title-only cards and clean article reading */
.knowledge-page .knowledge-title-grid .card-body{
  padding:20px 20px 22px;
  min-height:92px;
  display:flex;
  align-items:center;
}
.knowledge-page .knowledge-title-grid .card-body h3{
  margin:0;
  font-size:1.16rem;
  line-height:1.45;
  letter-spacing:-.02em;
}
.knowledge-page .knowledge-title-grid .card-body p,
.knowledge-page .knowledge-title-grid .card-body .card-tag,
.knowledge-page .knowledge-title-grid .card-body .card-meta{
  display:none !important;
}
.knowledge-page .knowledge-title-grid .card-media img{
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center center;
}
.knowledge-page .knowledge-article-top{
  padding:48px clamp(18px,4vw,54px) 0;
}
.knowledge-page .knowledge-article-top .container{
  max-width:1080px;
}
.knowledge-page .knowledge-article-cover{
  margin:0;
  border-radius:34px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
  border:1px solid rgba(107,75,62,.08);
}
.knowledge-page .knowledge-article-cover img{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:contain;
  object-position:center center;
  display:block;
}
.knowledge-page .knowledge-article-heading{
  margin:28px auto 0;
  max-width:900px;
}
.knowledge-page .knowledge-article-heading h1{
  margin:16px 0 12px;
  font-size:clamp(2rem,4.3vw,4rem);
  line-height:1.08;
  letter-spacing:-.055em;
  color:var(--ink);
}
.knowledge-page .knowledge-article-heading p{
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.9;
}
.knowledge-page .knowledge-article-body-section{
  padding-top:36px;
}
.knowledge-page .knowledge-article-body{
  background:transparent;
  color:var(--ink);
}
.knowledge-page .knowledge-article-body h2{
  margin:34px 0 12px;
  font-size:1.55rem;
  line-height:1.35;
  color:var(--brand2);
  letter-spacing:-.025em;
}
.knowledge-page .knowledge-article-body h2:first-child{
  margin-top:0;
}
.knowledge-page .knowledge-article-body p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:1.06rem;
  line-height:2.05;
}
.knowledge-page .knowledge-article-body .btn{
  margin-top:22px;
}
@media (max-width:1050px){
  .knowledge-page .knowledge-article-top{
    padding-top:38px;
  }
  .knowledge-page .knowledge-article-cover{
    border-radius:28px;
  }
}
@media (max-width:720px){
  .knowledge-page .knowledge-title-grid .card-body{
    min-height:auto;
    padding:18px;
  }
  .knowledge-page .knowledge-title-grid .card-body h3{
    font-size:1.06rem;
  }
  .knowledge-page .knowledge-article-top{
    padding:28px 18px 0;
  }
  .knowledge-page .knowledge-article-cover{
    border-radius:24px;
  }
  .knowledge-page .knowledge-article-heading{
    margin-top:22px;
  }
  .knowledge-page .knowledge-article-heading h1{
    font-size:2.15rem;
  }
  .knowledge-page .knowledge-article-heading p,
  .knowledge-page .knowledge-article-body p{
    font-size:1rem;
    line-height:1.9;
  }
  .knowledge-page .knowledge-article-body h2{
    font-size:1.32rem;
    margin-top:28px;
  }
}


/* v58 global wording/nav/disclaimer refinement */
@media (min-width:1051px){
  .site-nav{gap:14px;}
  .nav-link,.nav-cta{padding-left:16px;padding-right:16px;}
}
.case-fiction-disclaimer{
  margin:34px 0 8px;
  padding:20px 22px;
  border-left:4px solid #c64b43;
  border-radius:20px;
  background:rgba(198,75,67,.055);
  color:#b1322d;
  font-size:.8rem;
  line-height:1.78;
}
.case-fiction-disclaimer p{
  margin:0 0 .85em;
  color:#b1322d;
}
.case-fiction-disclaimer p:last-child{margin-bottom:0;}
.case-listing-warning{
  margin:0 0 28px;
}
@media (max-width:720px){
  .case-fiction-disclaimer{
    padding:16px 17px;
    border-radius:18px;
    font-size:.76rem;
    line-height:1.72;
  }
  .case-listing-warning{
    margin-bottom:22px;
  }
}


/* v59 story overview wording refinement */
.story-hero-note{
  max-width:760px;
  color:#b1322d !important;
  font-size:.98rem !important;
  line-height:1.9 !important;
  letter-spacing:.02em;
}
@media (max-width:720px){
  .story-hero-note{
    font-size:.92rem !important;
    line-height:1.82 !important;
  }
}

/* v64 pet knowledge wording + responsive polish */
.site-nav .nav-link[href="knowledge.html"]{white-space:nowrap;}
@media (min-width:1051px){
  .site-header{gap:12px;}
  .brand{min-width:220px;}
  .site-nav{gap:6px;flex-wrap:nowrap;align-items:center;}
  .nav-link,.nav-cta{padding:9px 10px;font-size:.88rem;line-height:1.2;white-space:nowrap;}
  .nav-link[href="knowledge.html"]{font-size:.86rem;padding-left:11px;padding-right:11px;}
}
@media (min-width:1051px) and (max-width:1320px){
  .site-header{padding-left:24px;padding-right:24px;}
  .brand{min-width:142px;}
  .brand small{display:none;}
  .brand-mark{width:44px;height:44px;border-radius:16px;font-size:23px;}
  .brand strong{font-size:1.08rem;}
  .site-nav{gap:5px;}
  .nav-link,.nav-cta{padding:8px 9px;font-size:.84rem;}
  .nav-link[href="knowledge.html"]{font-size:.82rem;padding-left:9px;padding-right:9px;}
}
@media (max-width:1050px){
  .site-header.nav-open .site-nav{grid-template-columns:repeat(2,minmax(0,1fr));}
  .site-header.nav-open .site-nav .nav-link,
  .site-header.nav-open .site-nav .nav-cta{
    display:flex;align-items:center;justify-content:center;min-height:48px;padding:11px 12px;
    white-space:normal;line-height:1.35;text-align:center;
  }
}
@media (max-width:720px){
  .site-header.nav-open .site-nav{grid-template-columns:1fr;}
  .site-header.nav-open .site-nav .nav-link,
  .site-header.nav-open .site-nav .nav-cta{min-height:46px;padding:11px 14px;}
  .footer-grid h3 + a{line-height:1.6;}
}


/* v65 knowledge page 2 dog behavior polish */
.knowledge-page .knowledge-article-card a{height:100%;display:block;text-decoration:none;color:inherit;}
.knowledge-page .knowledge-article-card .card-media{position:relative;overflow:hidden;}
.knowledge-page .knowledge-article-card .card-media::after{content:"養護知識";position:absolute;left:14px;bottom:14px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 10px 24px rgba(91,61,46,.12);font-size:.84rem;font-weight:700;color:var(--brand2);letter-spacing:.04em;}
.knowledge-page .knowledge-article-card:hover img{transform:scale(1.025);}
.knowledge-page .knowledge-note{margin:30px 0 2px !important;padding:18px 20px;border-radius:22px;background:linear-gradient(180deg,#fff8f1,#fffdf9);border:1px solid rgba(126,84,60,.10);box-shadow:0 14px 34px rgba(90,61,46,.06);color:#7b675e !important;}
@media (max-width:1050px){
  .knowledge-page .knowledge-article-card .card-media::after{font-size:.8rem;left:12px;bottom:12px;}
}
@media (max-width:720px){
  .knowledge-page .knowledge-article-card .card-media::after{padding:6px 10px;font-size:.78rem;}
  .knowledge-page .knowledge-note{padding:16px 17px;border-radius:18px;}
}


/* v66 senior dog category fix */
.knowledge-page-note {
  margin: -6px 0 22px;
  color: #8a6f5e;
  font-size: 0.98rem;
  line-height: 1.8;
  text-align: center;
}
.knowledge-card-category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0 0 10px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(202, 151, 105, .14);
  color: #8b5e3c;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.knowledge-card-category.senior-category,
.senior-highlight-card .knowledge-card-category {
  background: rgba(119, 155, 117, .16);
  color: #4f7651;
}
.knowledge-article-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.knowledge-article-actions .senior-link {
  border-color: rgba(119, 155, 117, .28);
}
@media (max-width: 720px) {
  .knowledge-page-note {
    text-align: left;
    font-size: .94rem;
    margin: 0 0 18px;
  }
  .knowledge-card-category {
    font-size: .78rem;
    padding: 4px 10px;
  }
  .knowledge-article-actions {
    display: grid;
    gap: 10px;
  }
  .knowledge-article-actions .btn {
    width: 100%;
    text-align: center;
  }
}


/* v69 knowledge listing remove subcategory badges from cards */
.knowledge-page .knowledge-article-card .card-media::after{content:none !important;display:none !important;}
.knowledge-page .knowledge-article-card .knowledge-card-category{display:none !important;}


/* v70 knowledge warm story article polish */
.knowledge-page .knowledge-source-note{margin-top:22px;padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,#fffaf5,#fff4ec);border:1px solid rgba(126,84,60,.12);color:#7a6256;font-size:.94rem;line-height:1.75;}
.knowledge-page .knowledge-title-grid .article-card .card-body{min-height:92px;display:flex;align-items:flex-start;}
.knowledge-page .knowledge-title-grid .article-card .card-body h3{margin:0;}
@media (max-width:720px){.knowledge-page .knowledge-title-grid .article-card .card-body{min-height:auto;padding:18px 18px 20px;}.knowledge-page .knowledge-source-note{font-size:.9rem;padding:14px 15px;}}


/* v71 senior care page polish */
.knowledge-page .knowledge-article-card .card-body h3{margin-top:0;}
.knowledge-page .knowledge-article-card .card-media::after{content:none !important;display:none !important;}
.knowledge-page .knowledge-article-card .knowledge-card-category{display:none !important;}
.knowledge-article-body .knowledge-note{border-left:4px solid rgba(119,155,117,.38);}


/* v72 knowledge page 5 adoption info polish */
.knowledge-page .knowledge-article-actions .btn{white-space:normal;}
.knowledge-page .knowledge-title-grid .article-card .card-body{min-height:92px;display:flex;align-items:flex-start;}
.knowledge-page .knowledge-title-grid .article-card .card-body h3{line-height:1.42;}
.knowledge-page .knowledge-article-card .card-media::after{content:none !important;display:none !important;}
.knowledge-page .knowledge-article-card .knowledge-card-category{display:none !important;}
@media (max-width:720px){.knowledge-page .knowledge-title-grid .article-card .card-body{min-height:auto;padding:18px 18px 20px;}.knowledge-page .knowledge-article-heading h1{font-size:clamp(1.72rem,8vw,2.45rem);}}


/* v73 knowledge article search and card entry buttons */
.knowledge-page .knowledge-search-section{padding:0 clamp(18px,4vw,54px) 34px;background:linear-gradient(180deg,var(--cream2),#fffaf6 56%,transparent);}
.knowledge-page .knowledge-search-panel{max-width:var(--container);margin:0 auto;background:rgba(255,255,255,.92);border:1px solid rgba(126,84,60,.11);box-shadow:0 18px 46px rgba(91,61,46,.08);border-radius:30px;padding:24px;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(320px,1fr);gap:22px;align-items:center;}
.knowledge-page .knowledge-search-copy h2{font-size:clamp(1.35rem,2.4vw,2.05rem);line-height:1.2;margin:7px 0 8px;letter-spacing:-.03em;color:var(--ink);}
.knowledge-page .knowledge-search-copy p{margin:0;color:var(--muted);line-height:1.75;}
.knowledge-page .knowledge-search-box{display:grid;gap:10px;}
.knowledge-page .knowledge-search-input-wrap{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid rgba(126,84,60,.15);border-radius:999px;padding:8px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75);}
.knowledge-page .knowledge-search-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:var(--cream2);color:var(--brand2);font-weight:900;}
.knowledge-page .knowledge-search-input-wrap input{width:100%;border:0;outline:0;background:transparent;padding:12px 2px;font:inherit;color:var(--ink);}
.knowledge-page .knowledge-search-input-wrap input::placeholder{color:#a88f83;}
.knowledge-page .knowledge-search-meta{font-size:.92rem;color:#8a6f5e;padding-left:8px;}
.knowledge-page .knowledge-search-results{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:6px;}
.knowledge-page .knowledge-search-result{display:grid;gap:6px;text-decoration:none;color:inherit;background:#fff;border:1px solid rgba(126,84,60,.10);border-radius:20px;padding:16px 18px;transition:.2s ease;}
.knowledge-page .knowledge-search-result:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(91,61,46,.10);}
.knowledge-page .knowledge-search-result-category{font-size:.78rem;font-weight:900;letter-spacing:.08em;color:var(--brand2);}
.knowledge-page .knowledge-search-result strong{font-size:1.02rem;line-height:1.4;color:var(--ink);}
.knowledge-page .knowledge-search-result small{color:var(--muted);font-size:.9rem;line-height:1.55;}
.knowledge-page .knowledge-search-result em{justify-self:end;font-style:normal;font-weight:900;color:var(--brand2);font-size:.88rem;}
.knowledge-page .knowledge-search-empty{grid-column:1/-1;text-align:center;background:#fff;border:1px dashed rgba(126,84,60,.22);border-radius:20px;padding:20px;color:var(--muted);}
.knowledge-page .knowledge-title-grid article.article-card a{height:100%;display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.knowledge-page .knowledge-title-grid article.article-card .card-body{flex:1;display:flex;flex-direction:column;}
.knowledge-page .knowledge-title-grid article.article-card .card-body h3{margin-bottom:14px;}
.knowledge-page .knowledge-enter-article{align-self:flex-end;margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;border-radius:999px;background:linear-gradient(135deg,#fff6ef,#f7e5d7);border:1px solid rgba(126,84,60,.12);color:var(--brand2);font-weight:900;font-size:.9rem;padding:8px 13px;box-shadow:0 9px 20px rgba(91,61,46,.08);transition:.2s ease;}
.knowledge-page .article-card:hover .knowledge-enter-article{transform:translateX(2px);background:#fff1e6;}
.knowledge-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media (max-width:900px){
  .knowledge-page .knowledge-search-panel{grid-template-columns:1fr;border-radius:26px;padding:22px;}
  .knowledge-page .knowledge-search-results{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .knowledge-page .knowledge-search-section{padding:0 18px 28px;}
  .knowledge-page .knowledge-search-panel{padding:18px;border-radius:22px;gap:16px;}
  .knowledge-page .knowledge-search-input-wrap{border-radius:22px;align-items:flex-start;}
  .knowledge-page .knowledge-search-icon{margin-top:8px;}
  .knowledge-page .knowledge-search-result{padding:15px;border-radius:18px;}
  .knowledge-page .knowledge-enter-article{width:100%;font-size:.88rem;padding:9px 12px;}
}

/* v74 knowledge search: simple hero placement */
.knowledge-page .page-hero .page-hero-inner{
  grid-template-columns:minmax(260px,.95fr) minmax(280px,.72fr) 330px;
  align-items:center;
}
.knowledge-page .hero-knowledge-search{
  width:100%;
  max-width:420px;
  justify-self:center;
  display:grid;
  gap:12px;
  padding:18px 20px;
  border-radius:28px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(126,84,60,.09);
  box-shadow:0 18px 42px rgba(91,61,46,.07);
  backdrop-filter:blur(8px);
}
.knowledge-page .hero-search-title{
  font-weight:950;
  font-size:clamp(1.05rem,1.6vw,1.28rem);
  letter-spacing:.04em;
  color:var(--ink);
}
.knowledge-page .hero-knowledge-search .knowledge-search-input-wrap{
  display:flex;
  align-items:center;
  background:#fff;
  border:1px solid rgba(126,84,60,.14);
  border-radius:999px;
  padding:7px 15px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
.knowledge-page .hero-knowledge-search .knowledge-search-input-wrap input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  padding:11px 2px;
  font:inherit;
  color:var(--ink);
}
.knowledge-page .hero-knowledge-search .knowledge-search-input-wrap input::placeholder{color:#a88f83;}
.knowledge-page .hero-knowledge-search .knowledge-search-results{
  position:absolute;
  left:50%;
  top:calc(100% + 10px);
  transform:translateX(-50%);
  z-index:20;
  width:min(720px, calc(100vw - 36px));
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:14px;
  border-radius:24px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(126,84,60,.10);
  box-shadow:0 22px 54px rgba(91,61,46,.13);
}
.knowledge-page .hero-knowledge-search{position:relative;}
.knowledge-page .knowledge-search-result{display:grid;gap:6px;text-decoration:none;color:inherit;background:#fff;border:1px solid rgba(126,84,60,.10);border-radius:18px;padding:14px 16px;transition:.2s ease;}
.knowledge-page .knowledge-search-result:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(91,61,46,.10);}
.knowledge-page .knowledge-search-result-category{font-size:.76rem;font-weight:900;letter-spacing:.08em;color:var(--brand2);}
.knowledge-page .knowledge-search-result strong{font-size:1rem;line-height:1.4;color:var(--ink);}
.knowledge-page .knowledge-search-result small{color:var(--muted);font-size:.88rem;line-height:1.55;}
.knowledge-page .knowledge-search-result em{justify-self:end;font-style:normal;font-weight:900;color:var(--brand2);font-size:.86rem;}
.knowledge-page .knowledge-search-empty{grid-column:1/-1;text-align:center;background:#fff;border:1px dashed rgba(126,84,60,.22);border-radius:18px;padding:18px;color:var(--muted);}
@media (max-width:1050px){
  .knowledge-page .page-hero .page-hero-inner{grid-template-columns:1fr;gap:22px;align-items:start;}
  .knowledge-page .hero-knowledge-search{justify-self:stretch;max-width:none;}
  .knowledge-page .mini-visual{max-width:520px;justify-self:center;}
}
@media (max-width:720px){
  .knowledge-page .hero-knowledge-search{padding:15px 16px;border-radius:22px;}
  .knowledge-page .hero-knowledge-search .knowledge-search-input-wrap{border-radius:22px;}
  .knowledge-page .hero-knowledge-search .knowledge-search-results{grid-template-columns:1fr;top:calc(100% + 8px);padding:12px;border-radius:20px;}
}


/* v75 knowledge search repair: centered, no floating white results block */
.knowledge-page .page-hero .page-hero-inner{
  grid-template-columns:minmax(280px,1fr) minmax(320px,380px) minmax(280px,1fr);
  align-items:center;
  gap:34px;
}
.knowledge-page .page-hero .page-hero-inner > div:first-child{
  justify-self:end;
  width:min(100%,330px);
  max-width:330px;
  align-items:flex-start;
}
.knowledge-page .page-hero .page-hero-inner > div:first-child .hero-art-title,
.knowledge-page .page-hero .page-hero-inner > div:first-child p{
  width:100%;
  text-align:left;
}
.knowledge-page .hero-knowledge-search{
  justify-self:center;
  align-self:center;
  max-width:380px;
  width:100%;
  padding:20px 22px;
  border-radius:30px;
  background:rgba(255,255,255,.88);
  box-shadow:0 16px 38px rgba(91,61,46,.08);
  z-index:2;
}
.knowledge-page .hero-knowledge-search .knowledge-search-results,
.knowledge-page [data-knowledge-search-results]{
  display:none !important;
}
.knowledge-page .mini-visual{
  justify-self:start;
  max-width:330px;
}
.knowledge-page .knowledge-search-card .card-body,
.knowledge-page .knowledge-entry-ready .card-body{
  position:relative;
  min-height:116px;
  padding-bottom:54px;
}
.knowledge-page .knowledge-search-empty-card{
  grid-column:1/-1;
  text-align:center;
}
.knowledge-page .knowledge-search-empty-card .card-body{
  padding:30px 24px;
  min-height:auto;
}
.knowledge-page .knowledge-search-empty-card p{
  margin-top:10px;
  color:var(--muted);
}
@media (max-width:1050px){
  .knowledge-page .page-hero .page-hero-inner{
    grid-template-columns:1fr;
    gap:22px;
  }
  .knowledge-page .page-hero .page-hero-inner > div:first-child{
    justify-self:center;
    width:min(100%,680px);
    max-width:680px;
    text-align:center;
    align-items:center;
  }
  .knowledge-page .page-hero .page-hero-inner > div:first-child .hero-art-title,
  .knowledge-page .page-hero .page-hero-inner > div:first-child p{
    text-align:center;
  }
  .knowledge-page .hero-knowledge-search{
    max-width:520px;
    margin:0 auto;
  }
  .knowledge-page .mini-visual{
    justify-self:center;
    max-width:520px;
  }
}
@media (max-width:720px){
  .knowledge-page .page-hero .page-hero-inner > div:first-child{
    text-align:left;
    justify-self:start;
    align-items:flex-start;
  }
  .knowledge-page .page-hero .page-hero-inner > div:first-child .hero-art-title,
  .knowledge-page .page-hero .page-hero-inner > div:first-child p{
    text-align:left;
  }
  .knowledge-page .hero-knowledge-search{
    max-width:none;
    padding:16px;
    border-radius:24px;
  }
}


/* v79 knowledge local pagination and back-to-top button */
#knowledge-top{scroll-margin-top:96px;}
.knowledge-local-pagination{justify-content:center;gap:12px;}
.knowledge-local-pagination a{min-width:72px;}
.knowledge-local-pagination a.knowledge-back-top{min-width:118px;background:#fff7ef;border-color:rgba(237,126,84,.28);color:var(--brand2);box-shadow:0 14px 28px rgba(120,76,50,.08);}
.knowledge-local-pagination a.knowledge-back-top:hover{transform:translateY(-1px);border-color:rgba(237,126,84,.45);}
@media (max-width:720px){.knowledge-local-pagination a{width:auto;min-width:88px;}.knowledge-local-pagination a.knowledge-back-top{min-width:128px;}}


/* v80 story category local pagination and back-to-top button */
.case-local-pagination{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin:36px auto 0;
}
.case-local-pagination .case-page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.case-local-pagination .case-back-top{
  min-width:116px;
  background:linear-gradient(135deg,#fff7f1,#ffffff);
  color:var(--brand2);
  border-color:rgba(238,132,92,.28);
}
.case-local-pagination .case-back-top:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(107,75,62,.13);
}
@media (max-width:720px){
  .case-local-pagination,
  .case-local-pagination .case-page-numbers{width:100%;}
  .case-local-pagination .case-page-numbers a,
  .case-local-pagination .case-back-top{width:100%;}
}


/* v81 story pages: category-only local pagination, aligned with knowledge pages */
.case-page .case-app-nav:not(.case-app-nav-six){
  grid-template-columns:repeat(5,minmax(110px,1fr));
}
@media (max-width:1080px){
  .case-page .case-app-nav:not(.case-app-nav-six){grid-template-columns:repeat(3,1fr);}
}
@media (max-width:767px){
  .case-page .case-app-nav:not(.case-app-nav-six){display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px;}
}

/* v86 knowledge category total count: compact note under hero search */
.knowledge-page .knowledge-article-total-count{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  width:auto;
  max-width:100%;
  padding:7px 13px;
  border-radius:999px;
  background:rgba(255,247,239,.78);
  border:1px solid rgba(237,126,84,.18);
  color:#8a6f5e;
  font-size:.9rem;
  font-weight:800;
  line-height:1.45;
  letter-spacing:.02em;
}
@media (max-width:720px){
  .knowledge-page .knowledge-article-total-count{
    padding:7px 11px;
    border-radius:18px;
    font-size:.86rem;
  }
}


/* v98 story article readability refinement */
.case-story-readable {
  font-size: clamp(16px, 1.08vw, 18px);
  line-height: 2.02;
  letter-spacing: 0.025em;
  word-break: break-word;
}
.case-story-readable > p {
  margin: 0 0 1.35rem;
  padding: 0;
}
.case-story-readable > p + p {
  margin-top: 0.95rem;
}
.case-story-readable .case-fiction-disclaimer {
  margin-top: 2.35rem;
  margin-bottom: 1.8rem;
  line-height: 1.85;
}
.case-story-readable .case-fiction-disclaimer p {
  margin-bottom: 0.85rem;
}
.case-story-readable .case-detail-actions {
  margin-top: 2.1rem;
}
@media (max-width: 900px) {
  .case-story-readable {
    font-size: 16.5px;
    line-height: 1.95;
  }
  .case-story-readable > p {
    margin-bottom: 1.22rem;
  }
}
@media (max-width: 560px) {
  .case-story-readable {
    font-size: 16px;
    line-height: 1.88;
    letter-spacing: 0.018em;
  }
  .case-story-readable > p {
    margin-bottom: 1.08rem;
  }
  .case-story-readable .case-fiction-disclaimer {
    margin-top: 1.8rem;
  }
}


/* v102 story grid card text area unified height */
.case-page .listing-grid .case-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
.case-page .listing-grid .case-card > a{
  display:flex;
  flex-direction:column;
  height:100%;
}
.case-page .listing-grid .case-card .card-media{
  flex:0 0 auto;
  aspect-ratio:16/10;
}
.case-page .listing-grid .case-card .card-body{
  flex:1 0 auto;
  height:260px;
  min-height:260px;
  max-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  overflow:hidden;
}
.case-page .listing-grid .case-card .card-tag{
  flex:0 0 auto;
}
.case-page .listing-grid .case-card .card-body h3{
  min-height:3.35em;
  max-height:3.35em;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
}
.case-page .listing-grid .case-card .card-body p{
  min-height:5.25em;
  max-height:5.25em;
  line-height:1.75;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:3;
  line-clamp:3;
  -webkit-box-orient:vertical;
}
.case-page .listing-grid .case-card .card-meta{
  margin-top:auto;
  flex:0 0 auto;
}
@media (max-width:1050px){
  .case-page .listing-grid .case-card .card-body{
    height:248px;
    min-height:248px;
    max-height:248px;
  }
}
@media (max-width:720px){
  .case-page .listing-grid .case-card .card-body{
    height:232px;
    min-height:232px;
    max-height:232px;
    padding:19px;
  }
  .case-page .listing-grid .case-card .card-body h3{
    min-height:3.1em;
    max-height:3.1em;
  }
  .case-page .listing-grid .case-card .card-body p{
    min-height:4.95em;
    max-height:4.95em;
  }
}

/* v106 shared layout for pricing, process, and FAQ pages */
body.service-pricing-page,
body.process-page,
body.faq-page{
  min-height:100vh;
  background-color:#f7f5ff !important;
  background-image:linear-gradient(rgba(255,255,255,.30),rgba(255,255,255,.30)),url("../img/dream-pets-bg-v106.png") !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}
body.service-pricing-page .site-header,
body.process-page .site-header,
body.faq-page .site-header{
  background:rgba(255,255,255,.76);
  border-bottom:1px solid rgba(118,99,150,.12);
  box-shadow:0 10px 30px rgba(88,79,125,.08);
}
.process-page .pricing-section,
.faq-page .pricing-section{
  padding-top:72px;
  padding-bottom:28px;
}
.process-page .pricing-intro,
.faq-page .pricing-intro{
  text-align:center;
  max-width:820px;
  margin:0 auto 34px;
  padding:20px 22px;
  border-radius:30px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(118,99,150,.12);
  box-shadow:0 18px 48px rgba(88,79,125,.10);
  backdrop-filter:blur(4px);
}
.process-page .pricing-intro{
  padding:0 20px;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.faq-page .pricing-intro{
  padding:0 20px;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.process-page .pricing-intro .eyebrow{
  display:none;
}
.faq-page .pricing-intro .eyebrow{
  display:none;
}
.process-page .pricing-intro h1,
.faq-page .pricing-intro h1{
  margin:0 0 12px;
  font-size:clamp(1.95rem,3vw,3rem);
  line-height:1.2;
  letter-spacing:-.04em;
}
.process-page .pricing-intro p,
.faq-page .pricing-intro p{
  margin:0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.95;
}
.process-page .process-step-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.process-page .process-step-card{
  position:relative;
  min-height:292px;
  padding:30px 26px 26px;
  border-radius:32px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(118,99,150,.12);
  box-shadow:0 18px 48px rgba(88,79,125,.10);
  backdrop-filter:blur(3px);
  overflow:hidden;
}
.process-page .process-step-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:7px;
  background:linear-gradient(90deg,#a99bdf,#f1bfd2,#f6d8b8);
}
.process-page .process-step-top{
  align-items:flex-start;
  margin-bottom:18px;
}
.process-page .process-step-card .step-no{
  background:linear-gradient(180deg,#a99bdf,#8d80c8);
  box-shadow:0 10px 22px rgba(141,128,200,.24);
}
.process-page .process-icon-shell{
  background:linear-gradient(180deg,#fbf8ff,#fff);
  border-color:rgba(118,99,150,.10);
}
.process-page .process-step-card h3{
  font-size:1.32rem;
  margin-bottom:10px;
}
.process-page .process-step-card p{
  color:var(--muted);
  line-height:1.9;
}
.process-page .prep-section,
.faq-page .prep-section{
  padding-top:30px;
  background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(247,244,255,.58));
  backdrop-filter:blur(2px);
}
.process-page .prep-layout,
.faq-page .prep-layout{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);
  gap:30px;
  align-items:start;
}
.process-page .prep-panel,
.faq-page .prep-panel{
  padding:34px 32px;
  border-radius:34px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(118,99,150,.12);
  box-shadow:0 18px 48px rgba(88,79,125,.10);
  backdrop-filter:blur(3px);
}
.process-page .prep-panel h2,
.faq-page .prep-panel h2{
  margin:8px 0 16px;
  font-size:clamp(1.78rem,2.8vw,2.75rem);
  line-height:1.2;
  letter-spacing:-.04em;
}
.process-page .prep-panel p,
.faq-page .prep-panel p{
  margin:0 0 16px;
  color:var(--muted);
  line-height:2;
  font-size:1.01rem;
}
.process-page .prep-panel .btn,
.faq-page .prep-panel .btn{
  margin-top:8px;
}
.process-page .prep-list,
.faq-page .prep-list{
  display:grid;
  gap:15px;
}
.process-page .prep-item,
.faq-page .prep-item{
  position:relative;
  padding:20px 20px 20px 56px;
  border-radius:24px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(118,99,150,.12);
  box-shadow:0 12px 30px rgba(88,79,125,.08);
}
.process-page .prep-item:before,
.faq-page .prep-item:before{
  content:"";
  position:absolute;
  left:18px;
  top:20px;
  width:26px;
  height:26px;
  border-radius:999px;
  background:linear-gradient(180deg,#efe9ff,#fff);
  border:1px solid rgba(141,128,200,.20);
}
.process-page .prep-item:after,
.faq-page .prep-item:after{
  content:"✓";
  position:absolute;
  left:18px;
  top:19px;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  color:#7f72bf;
  font-weight:950;
}
.process-page .prep-item strong,
.faq-page .prep-item strong{
  display:block;
  margin-bottom:6px;
  color:#3b2d29;
  font-size:1.03rem;
  line-height:1.4;
}
.process-page .prep-item span,
.faq-page .prep-item span{
  display:block;
  color:var(--muted);
  line-height:1.82;
  font-size:.98rem;
}
.process-page .closing-copy,
.faq-page .closing-copy{
  max-width:720px;
  margin:34px auto 0;
  color:#62577b;
  font-weight:850;
  line-height:1.95;
  text-align:center;
}
.faq-page .faq-shell{
  max-width:980px;
  margin:0 auto;
}
.faq-page .faq-list{
  display:grid;
  gap:16px;
}
.faq-page .faq-item{
  border-radius:28px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(118,99,150,.12);
  box-shadow:0 16px 42px rgba(88,79,125,.10);
  backdrop-filter:blur(3px);
}
.faq-page .faq-q{
  align-items:center;
  padding:23px 24px;
  color:#342b31;
  font-size:1.08rem;
  line-height:1.55;
}
.faq-page .faq-q span{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#f2edff;
  color:#7f72bf;
  transition:transform .18s ease;
}
.faq-page .faq-item.is-open .faq-q span{
  transform:rotate(45deg);
}
.faq-page .faq-a{
  padding:0 24px 24px;
  color:var(--muted);
  line-height:1.95;
  font-size:1rem;
}
.faq-page .faq-support-section{
  padding-bottom:74px;
}
@media (max-width:1050px){
  body.service-pricing-page,
  body.process-page,
  body.faq-page{
    background-attachment:scroll !important;
  }
  .process-page .process-step-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .process-page .prep-layout,
  .faq-page .prep-layout{
    grid-template-columns:1fr;
  }
  .process-page .process-step-card{
    min-height:260px;
  }
}
@media (max-width:720px){
  .process-page .pricing-section,
  .faq-page .pricing-section{
    padding-top:48px;
    padding-bottom:20px;
  }
  .process-page .pricing-intro,
  .faq-page .pricing-intro{
    margin-bottom:24px;
    padding:16px 14px;
    border-radius:24px;
  }
  .process-page .process-step-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .process-page .process-step-card{
    min-height:auto;
    padding:24px 20px;
    border-radius:28px;
  }
  .process-page .process-step-top{
    margin-bottom:14px;
  }
  .process-page .prep-panel,
  .faq-page .prep-panel{
    padding:24px 20px;
    border-radius:28px;
  }
  .process-page .prep-item,
  .faq-page .prep-item{
    padding:17px 16px 17px 48px;
    border-radius:22px;
  }
  .process-page .prep-item:before,
  .faq-page .prep-item:before,
  .process-page .prep-item:after,
  .faq-page .prep-item:after{
    left:14px;
    top:18px;
  }
  .faq-page .faq-q{
    padding:19px 18px;
    font-size:1rem;
  }
  .faq-page .faq-a{
    padding:0 18px 20px;
    font-size:.97rem;
    line-height:1.88;
  }
}

/* v106 communicator profile page */
body.about-page{
  min-height:100vh;
  background-color:#fff7ee !important;
  background-image:linear-gradient(rgba(255,255,255,.30),rgba(255,255,255,.30)),url("../img/about-chibi-pets-bg-v106.png") !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}
body.about-page .site-header{
  background:rgba(255,255,255,.78);
  border-bottom:1px solid rgba(136,104,78,.12);
  box-shadow:0 10px 30px rgba(105,82,68,.08);
}
.about-profile-section{
  padding:72px clamp(18px,4vw,54px) 86px;
}
.about-profile-wrap{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(280px,390px) minmax(0,1fr);
  gap:34px;
  align-items:start;
}
.about-photo-card{
  position:sticky;
  top:104px;
  border-radius:34px;
  overflow:hidden;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(136,104,78,.12);
  box-shadow:0 22px 58px rgba(105,82,68,.14);
  backdrop-filter:blur(4px);
}
.about-photo-card img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:center;
}
.about-photo-card div{
  padding:24px 24px 26px;
}
.about-photo-card p{
  margin:14px 0 0;
  color:#6f5d51;
  line-height:1.9;
  font-weight:760;
}
.about-story-card{
  border-radius:34px;
  padding:42px clamp(24px,4vw,54px);
  background:rgba(255,255,255,.92);
  border:1px solid rgba(136,104,78,.12);
  box-shadow:0 22px 58px rgba(105,82,68,.12);
  backdrop-filter:blur(5px);
}
.about-story-card h1{
  max-width:860px;
  margin:18px 0 28px;
  color:#332b27;
  font-size:clamp(2rem,3.6vw,3.55rem);
  line-height:1.18;
  letter-spacing:-.04em;
}
.about-story-card p{
  margin:0 0 1.35rem;
  color:#594b43;
  font-size:1.06rem;
  line-height:2.05;
  letter-spacing:.02em;
}
.about-story-card .about-lead{
  color:#7a5543;
  font-size:1.18rem;
  font-weight:900;
}
.about-story-card .about-final{
  margin-top:2.1rem;
  margin-bottom:0;
  padding:22px 24px;
  border-radius:26px;
  background:linear-gradient(135deg,rgba(255,245,235,.92),rgba(245,239,255,.86));
  border:1px solid rgba(136,104,78,.10);
  color:#6b4b3e;
  font-weight:900;
  text-align:center;
}
@media (max-width:1050px){
  body.about-page{
    background-attachment:scroll !important;
  }
  .about-profile-section{
    padding-top:56px;
  }
  .about-profile-wrap{
    grid-template-columns:1fr;
    max-width:820px;
  }
  .about-photo-card{
    position:relative;
    top:auto;
    display:grid;
    grid-template-columns:minmax(240px,.85fr) 1fr;
    align-items:center;
  }
  .about-photo-card img{
    height:100%;
    min-height:360px;
  }
}
@media (max-width:720px){
  .about-profile-section{
    padding:46px 18px 64px;
  }
  .about-photo-card{
    display:block;
    border-radius:28px;
  }
  .about-photo-card img{
    min-height:0;
    aspect-ratio:4/5;
  }
  .about-photo-card div{
    padding:20px;
  }
  .about-story-card{
    padding:28px 20px;
    border-radius:28px;
  }
  .about-story-card h1{
    margin-bottom:22px;
    font-size:clamp(1.86rem,8vw,2.55rem);
    line-height:1.22;
  }
  .about-story-card p{
    font-size:1rem;
    line-height:1.94;
    margin-bottom:1.12rem;
  }
  .about-story-card .about-lead{
    font-size:1.08rem;
  }
  .about-story-card .about-final{
    padding:18px 16px;
    border-radius:22px;
    text-align:left;
  }
}

/* v107 listing page background only */
body.listing-pets-bg-page{
  background-color:#fff8ed !important;
  background-image:linear-gradient(rgba(255,255,255,.30),rgba(255,255,255,.30)),url("../img/listing-pets-bg-v106.png") !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}
body.listing-pets-bg-page main,
body.listing-pets-bg-page .page-hero,
body.listing-pets-bg-page .case-app-section,
body.listing-pets-bg-page .section,
body.listing-pets-bg-page .knowledge-listing-section{
  background:transparent !important;
}
@media (max-width:1050px){
  body.listing-pets-bg-page{
    background-attachment:scroll !important;
  }
}

/* v108 homepage LINE CTA comment adjustments */
.home-page .home-line-cta{
  background-position:center 56% !important;
}
.home-page .home-line-cta > div{
  max-width:none;
}
.home-page .home-line-cta p{
  max-width:none;
  white-space:nowrap;
  font-size:1.02rem;
  line-height:1.9;
}
@media (max-width:720px){
  .home-page .home-line-cta{
    background-position:center bottom !important;
  }
  .home-page .home-line-cta p{
    white-space:normal;
    max-width:100%;
    font-size:1rem;
    line-height:1.82;
  }
}

/* v108 LINE 預約頁重新設計 */
body.booking-page{
  background-color:#fff8ed;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.36),rgba(255,248,240,.72)),
    url("../img/listing-pets-bg-v106.png");
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  background-attachment:fixed;
}
body.booking-page main{
  background:transparent;
}
.booking-hero{
  padding:72px clamp(24px,4vw,56px) 42px;
}
.booking-hero-shell{
  max-width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,420px);
  gap:34px;
  align-items:center;
}
.booking-copy{
  padding:44px;
  border-radius:38px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(126,84,60,.09);
  box-shadow:0 24px 54px rgba(95,68,54,.12);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.booking-copy h1{
  margin:18px 0 16px;
  max-width:780px;
  color:#3f2f2a;
  font-size:4rem;
  line-height:1.14;
  letter-spacing:0;
}
.booking-copy p{
  max-width:760px;
  margin:0;
  color:#6f5b52;
  font-size:1.08rem;
  line-height:1.95;
}
.booking-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.booking-main-btn{
  min-width:210px;
  box-shadow:0 18px 34px rgba(21,182,92,.25);
}
.booking-url-card{
  display:grid;
  gap:8px;
  margin-top:24px;
  padding:18px 20px;
  border-radius:24px;
  background:linear-gradient(135deg,#fff7ef,#fffdf9);
  border:1px solid rgba(233,134,95,.18);
}
.booking-url-card span{
  color:#846b5f;
  font-size:.94rem;
  font-weight:900;
}
.booking-url-card a{
  color:#159b54;
  font-size:1.16rem;
  font-weight:950;
  overflow-wrap:anywhere;
}
.booking-qr-panel{
  position:relative;
  padding:30px;
  border-radius:38px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,249,244,.94));
  border:1px solid rgba(126,84,60,.1);
  box-shadow:0 24px 54px rgba(95,68,54,.14);
}
.booking-qr-label{
  position:absolute;
  top:18px;
  right:18px;
  z-index:1;
  padding:8px 13px;
  border-radius:999px;
  background:#15b65c;
  color:#fff;
  font-size:.9rem;
  font-weight:950;
  box-shadow:0 10px 20px rgba(21,182,92,.22);
}
.booking-qr-frame{
  padding:18px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(126,84,60,.1);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.booking-qr-frame img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  border-radius:18px;
}
.booking-qr-panel p{
  margin:18px 4px 0;
  color:#6f5b52;
  font-size:1rem;
  line-height:1.82;
  text-align:center;
}
.booking-prepare-section,
.booking-note-section{
  padding:46px clamp(24px,4vw,56px);
}
.booking-section-head{
  align-items:start;
}
.booking-section-head p{
  max-width:480px;
  color:#735f56;
  line-height:1.86;
}
.booking-step-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.booking-step-card{
  min-height:230px;
  padding:24px 22px;
  border-radius:28px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(126,84,60,.09);
  box-shadow:0 16px 36px rgba(95,68,54,.08);
}
.booking-step-card span{
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  margin-bottom:16px;
  border-radius:16px;
  background:linear-gradient(180deg,#f39a6f,#e58457);
  color:#fff;
  font-weight:950;
}
.booking-step-card h3{
  margin:0 0 9px;
  color:#43322d;
  font-size:1.16rem;
  line-height:1.35;
}
.booking-step-card p{
  margin:0;
  color:#705d54;
  line-height:1.86;
}
.booking-note{
  display:grid;
  grid-template-columns:1fr auto;
  gap:26px;
  align-items:center;
  padding:34px;
  border-radius:34px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,247,240,.9));
  border:1px solid rgba(126,84,60,.1);
  box-shadow:0 20px 46px rgba(95,68,54,.1);
}
.booking-note h2{
  margin:12px 0 10px;
  color:#3f2f2a;
  font-size:2rem;
  line-height:1.28;
  letter-spacing:0;
}
.booking-note p{
  max-width:850px;
  margin:0;
  color:#705d54;
  line-height:1.9;
}
body.booking-page .mobile-line{
  background:#15b65c;
}
@media (max-width:1050px){
  body.booking-page{
    background-attachment:scroll;
  }
  .booking-hero{
    padding:50px 28px 34px;
  }
  .booking-hero-shell{
    grid-template-columns:1fr;
    max-width:820px;
  }
  .booking-copy h1{
    font-size:3.08rem;
  }
  .booking-qr-panel{
    max-width:520px;
    width:100%;
    margin:0 auto;
  }
  .booking-step-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .booking-note{
    grid-template-columns:1fr;
  }
  .booking-note .btn{
    justify-self:start;
  }
}
@media (max-width:720px){
  .booking-hero{
    padding:34px 18px 22px;
  }
  .booking-copy{
    padding:28px 20px;
    border-radius:30px;
  }
  .booking-copy h1{
    font-size:2.2rem;
    line-height:1.22;
  }
  .booking-copy p{
    font-size:1rem;
    line-height:1.86;
  }
  .booking-actions .btn{
    width:100%;
  }
  .booking-url-card{
    padding:16px;
  }
  .booking-url-card a{
    font-size:1rem;
  }
  .booking-qr-panel{
    padding:22px;
    border-radius:30px;
  }
  .booking-qr-label{
    top:14px;
    right:14px;
    font-size:.82rem;
  }
  .booking-qr-frame{
    padding:14px;
    border-radius:24px;
  }
  .booking-prepare-section,
  .booking-note-section{
    padding:36px 18px;
  }
  .booking-step-grid{
    grid-template-columns:1fr;
  }
  .booking-step-card{
    min-height:0;
  }
  .booking-note{
    padding:24px 20px;
    border-radius:28px;
  }
  .booking-note h2{
    font-size:1.55rem;
  }
  .booking-note .btn{
    width:100%;
  }
}

/* v109 knowledge category title height calibration */
.knowledge-page .page-hero .page-hero-inner > div:first-child{
  transform:translateY(4px);
}
.knowledge-page .page-hero .hero-art-title{
  font-size:clamp(2.26rem,5.25vw,4.16rem) !important;
  line-height:1.02;
  letter-spacing:.02em;
}
.knowledge-page .page-hero .page-hero-inner > div:first-child p{
  margin:0;
  font-size:clamp(.96rem,1.42vw,1.06rem);
  line-height:1.62;
}
@media (max-width:1050px){
  .knowledge-page .page-hero .page-hero-inner > div:first-child{
    transform:none;
  }
  .knowledge-page .page-hero .hero-art-title{
    font-size:clamp(2.2rem,7.6vw,3.2rem) !important;
  }
}
@media (max-width:720px){
  .knowledge-page .page-hero .hero-art-title{
    font-size:clamp(2rem,9.4vw,2.85rem) !important;
  }
  .knowledge-page .page-hero .page-hero-inner > div:first-child p{
    font-size:.98rem;
    line-height:1.72;
  }
}

/* v110 SEO internal links, breadcrumbs, and image performance */
.breadcrumb-nav{
  max-width:var(--container);
  margin:24px auto 0;
  padding:0 clamp(18px,4vw,54px);
  color:#7a6a60;
  font-size:.92rem;
  font-weight:760;
}
.breadcrumb-nav ol{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.breadcrumb-nav li{
  display:flex;
  align-items:center;
  min-width:0;
}
.breadcrumb-nav li:not(:last-child)::after{
  content:"›";
  margin-left:8px;
  color:#c28b70;
  font-weight:900;
}
.breadcrumb-nav a{
  color:#7f5d50;
  text-decoration:none;
}
.breadcrumb-nav a:hover{
  color:#ce6f4d;
}
.breadcrumb-nav [aria-current="page"]{
  color:#3d332f;
  overflow:hidden;
  text-overflow:ellipsis;
}
.article-seo-links{
  margin:34px 0 8px;
  padding:24px;
  border-radius:26px;
  border:1px solid rgba(210,133,91,.16);
  background:linear-gradient(135deg,rgba(255,250,246,.94),rgba(255,255,255,.84));
  box-shadow:0 14px 34px rgba(113,80,62,.08);
}
.article-seo-links h2{
  margin:0 0 18px;
  color:#3d332f;
  font-size:1.38rem;
  line-height:1.35;
  letter-spacing:0;
}
.article-seo-group + .article-seo-group{
  margin-top:22px;
}
.article-seo-group h3{
  margin:0 0 12px;
  color:#805f53;
  font-size:1rem;
  line-height:1.4;
  font-weight:900;
}
.article-seo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
}
.article-seo-card{
  display:flex;
  min-height:108px;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  padding:16px 17px;
  border-radius:20px;
  border:1px solid rgba(210,133,91,.16);
  background:rgba(255,255,255,.74);
  color:#3d332f;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(113,80,62,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.article-seo-card:hover{
  transform:translateY(-2px);
  border-color:rgba(210,111,77,.34);
  box-shadow:0 14px 24px rgba(113,80,62,.10);
}
.article-seo-card span{
  color:#be6b4f;
  font-size:.82rem;
  font-weight:900;
  line-height:1.35;
}
.article-seo-card strong{
  color:#3d332f;
  font-size:1rem;
  line-height:1.48;
  letter-spacing:0;
}
.article-seo-cta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid rgba(210,133,91,.14);
}
.article-seo-cta .btn{
  min-width:150px;
  justify-content:center;
}
@media (max-width:720px){
  .breadcrumb-nav{
    margin-top:18px;
    padding:0 18px;
    font-size:.86rem;
  }
  .breadcrumb-nav ol{
    gap:6px;
  }
  .breadcrumb-nav li:not(:last-child)::after{
    margin-left:6px;
  }
  .article-seo-links{
    margin-top:28px;
    padding:20px;
    border-radius:22px;
  }
  .article-seo-links h2{
    font-size:1.24rem;
  }
  .article-seo-grid{
    grid-template-columns:1fr;
  }
  .article-seo-card{
    min-height:0;
  }
  .article-seo-cta .btn{
    width:100%;
  }
}
@supports (background-image:image-set(url("../img/dream-pets-bg-v106.webp") type("image/webp"))){
  body.service-pricing-page,
  body.process-page,
  body.faq-page{
    background-image:linear-gradient(rgba(255,255,255,.30),rgba(255,255,255,.30)),image-set(url("../img/dream-pets-bg-v106.webp") type("image/webp")) !important;
  }
  body.about-page{
    background-image:linear-gradient(rgba(255,255,255,.30),rgba(255,255,255,.30)),image-set(url("../img/about-chibi-pets-bg-v106.webp") type("image/webp")) !important;
  }
  body.listing-pets-bg-page{
    background-image:linear-gradient(rgba(255,255,255,.30),rgba(255,255,255,.30)),image-set(url("../img/listing-pets-bg-v106.webp") type("image/webp")) !important;
  }
  body.booking-page{
    background-image:linear-gradient(180deg,rgba(255,255,255,.36),rgba(255,248,240,.72)),image-set(url("../img/listing-pets-bg-v106.webp") type("image/webp"));
  }
}
@media (max-width:720px){
  @supports (background-image:image-set(url("../img/dream-pets-bg-v106-mobile.webp") type("image/webp"))){
    body.service-pricing-page,
    body.process-page,
    body.faq-page{
      background-image:linear-gradient(rgba(255,255,255,.30),rgba(255,255,255,.30)),image-set(url("../img/dream-pets-bg-v106-mobile.webp") type("image/webp")) !important;
    }
    body.about-page{
      background-image:linear-gradient(rgba(255,255,255,.30),rgba(255,255,255,.30)),image-set(url("../img/about-chibi-pets-bg-v106-mobile.webp") type("image/webp")) !important;
    }
    body.listing-pets-bg-page{
      background-image:linear-gradient(rgba(255,255,255,.30),rgba(255,255,255,.30)),image-set(url("../img/listing-pets-bg-v106-mobile.webp") type("image/webp")) !important;
    }
    body.booking-page{
      background-image:linear-gradient(180deg,rgba(255,255,255,.36),rgba(255,248,240,.72)),image-set(url("../img/listing-pets-bg-v106-mobile.webp") type("image/webp"));
    }
  }
}
