.scarf-page { background: #fff; }
.scarf-page main { letter-spacing: 0; }
.scarf-section { max-width: 1240px; margin: auto; padding: 56px 28px; }
.scarf-section h2 { font-size: 30px; line-height: 1.5; letter-spacing: 0; }
.scarf-hero { position: relative; background: #edf3e8; max-width: 1240px; margin: auto; }
.scarf-hero::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,rgba(255,255,255,.7),rgba(255,255,255,.42) 32%,transparent 52%); }
.scarf-hero > img { aspect-ratio: 2 / 1; object-fit: contain; }
.scarf-hero > div { position: absolute; z-index: 1; left: 5%; top: 50%; transform: translateY(-50%); max-width: 45%; color: #10221b; text-shadow: 0 1px 5px #fff; }
.scarf-hero h1 { font-size: 42px; line-height: 1.4; letter-spacing: 0; }
.scarf-hero .eyebrow { letter-spacing: 0; }
.scarf-intro { display: flex; justify-content: space-between; align-items: center; gap: 28px; border-bottom: 1px solid var(--line); }
.scarf-price { font-size: 38px; font-weight: 700; margin: 12px 0; color: #24483a; }
.scarf-price span { font-size: 16px; margin-left: 8px; white-space: nowrap; }
.scarf-features { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; border-bottom: 1px solid var(--line); }
.scarf-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin: 28px 0; }
.scarf-card { min-width: 0; border: 1px solid #e5e9e6; border-radius: 4px; overflow: hidden; }
.scarf-card img { aspect-ratio: 1; object-fit: contain; }
.scarf-card a:hover img { filter: brightness(.98); }
.scarf-card div { padding: 14px 18px 18px; }
.scarf-card h3 { font-size: 19px; margin: 0; letter-spacing: 0; }
.scarf-card p { margin: 6px 0; font-weight: 700; }
.scarf-card span { color: #59655e; font-size: 13px; }
.scarf-construction { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.scarf-construction img { aspect-ratio: 1; object-fit: contain; }
.scarf-table-wrap { overflow-x: auto; }
.scarf-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.scarf-table th,.scarf-table td { border-bottom: 1px solid #dbe2dc; padding: 18px 16px; text-align: left; }
.scarf-table thead { background: #eff4f0; }
.scarf-table td:nth-child(2) { white-space: nowrap; }
.scarf-note { font-size: 13px; color: #59655e; }
.scarf-text-link { display: inline-block; text-decoration: underline; text-underline-offset: 4px; color: #24483a; }
.scarf-contact { border-top: 1px solid var(--line); }
.scarf-breadcrumb { max-width: 1240px; margin: auto; padding: 24px 28px 0; display: flex; gap: 8px; flex-wrap: wrap; font-size: 13px; }
.scarf-product { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 56px; align-items: start; }
.scarf-product figure { margin: 0; }
.scarf-product figure img { aspect-ratio: 1; object-fit: contain; }
.scarf-product h1 { font-size: 32px; line-height: 1.5; letter-spacing: 0; }
.scarf-product h1 span { font-size: 23px; }
.scarf-product dl { margin: 24px 0; }
.scarf-product dl > div { display: grid; grid-template-columns: 90px 1fr; border-bottom: 1px solid #e5e9e6; padding: 10px 0; }
.scarf-product dd { margin: 0; }
.scarf-size-label { display: block; margin-bottom: 8px; font-weight: 700; }
.scarf-product select { width: 100%; min-height: 48px; border: 1px solid #8c9c91; background: #fff; border-radius: 4px; padding: 8px 12px; color: #10221b; font: inherit; }
.scarf-inquiry { display: flex; margin-top: 22px; text-align: center; }
.scarf-page .button { letter-spacing: 0; }
.landing-services:has(.scarf-category-card) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.scarf-home-copy .pet-portrait-home-title { font-size: 46px; letter-spacing: 0; }
.scarf-origin { display: flex; align-items: center; gap: 18px; margin: 20px 0; color: #10221b; }
.scarf-japan-mark { position: relative; display: block; flex: 0 0 96px; width: 96px; height: 83px; overflow: clip; background: #fff; }
/* Display only the supplied Japan mark, preserving the scanned artwork. */
.scarf-japan-mark img { position: absolute; width: 606.36%; max-width: none; height: auto; left: -172.73%; top: -100%; aspect-ratio: auto; object-fit: initial; }
.scarf-origin .scarf-origin-label { font-size: 12px; font-weight: 700; margin: 0 0 6px; letter-spacing: 0; }
.scarf-origin .scarf-origin-copy { font-size: 15px; line-height: 1.8; margin: 0; }
.scarf-origin-copy strong { display: block; }
.landing-card .scarf-origin { gap: 12px; margin: 14px 0; padding: 0; }
.landing-card .scarf-japan-mark { flex-basis: 76px; width: 76px; height: 66px; }
.landing-card .scarf-origin > div { padding: 0; min-width: 0; }
.landing-card .scarf-origin-copy { font-size: 14px; }
@media(max-width:900px) {
  .scarf-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .scarf-product { gap: 28px; }
  .scarf-hero h1 { font-size: 32px; }
  .scarf-hero > div p:not(.eyebrow) { font-size: 14px; }
  .scarf-hero > div p:nth-of-type(3) { display: none; }
}
@media(max-width:720px) {
  .scarf-section { padding: 36px 20px; }
  .scarf-hero { display: flex; flex-direction: column; }
  .scarf-hero::after { display: none; }
  .scarf-hero > div { position: static; transform: none; max-width: none; padding: 28px 20px; text-shadow: none; }
  .scarf-hero > div p:nth-of-type(3) { display: block; }
  .scarf-intro,.scarf-features,.scarf-construction,.scarf-product { display: grid; grid-template-columns: 1fr; gap: 24px; }
  .scarf-section h2 { font-size: 26px; }
  .scarf-grid { gap: 12px; }
  .scarf-card div { padding: 12px; }
  .scarf-table { font-size: 13px; }
  .scarf-table th,.scarf-table td { padding: 12px 8px; }
  .scarf-breadcrumb { padding: 20px 20px 0; }
  .scarf-product h1 { font-size: 28px; }
  .landing-services:has(.scarf-category-card) { grid-template-columns: 1fr; }
  .scarf-home-copy .pet-portrait-home-title { font-size: 34px; }
}
