.service-page { background: #fff; }
.service-page .site-header { position: sticky; top: 0; }
.service-page .global-nav a[aria-current="page"] { color: var(--green-deep); border-color: var(--green); }
.service-page.pet-page .global-nav a[aria-current="page"] { color: var(--coral-deep); border-color: var(--coral); }

.breadcrumb { max-width: 1320px; margin: 0 auto; padding: 18px 5vw; display: flex; gap: 10px; color: #758078; font-size: 10px; }
.breadcrumb a { border-bottom: 1px solid var(--line); }

.service-page-hero { position: relative; max-width: 1320px; min-height: 610px; margin: 0 auto 80px; padding: 70px 5vw; display: grid; grid-template-columns: .84fr 1.16fr; align-items: center; gap: clamp(45px,7vw,100px); overflow: hidden; background: linear-gradient(180deg,var(--ivory) 0%,rgba(255,253,244,.48) 52%,#fff 100%); }
.service-page-hero:before { content:""; position:absolute; width:290px; height:290px; left:-90px; top:45px; border-radius:50%; background:var(--yellow); opacity:.16; }
.service-hero-copy { position: relative; z-index: 2; }
.service-kicker { margin: 0 0 18px; color: var(--green-deep); font: 700 10px Arial,sans-serif; letter-spacing: .2em; }
.pet-page .service-kicker { color: var(--coral-deep); }
.service-page-hero h1 { margin: 0 0 26px; font: 500 clamp(42px,4.6vw,70px)/1.35 var(--serif); letter-spacing: .07em; }
.service-page-hero h1 b { font-weight: inherit; white-space: nowrap; }
.care-page .service-page-hero h1 { font-size: clamp(42px,4.2vw,62px); letter-spacing: .05em; }
.pet-page .service-page-hero h1 { font-size: clamp(38px,3.8vw,56px); letter-spacing: .04em; }
.service-page-hero h1 span { display:block; margin-bottom:10px; color:var(--green-deep); font:700 12px/1.4 var(--sans); letter-spacing:.16em; }
.pet-page .service-page-hero h1 span { color:var(--coral-deep); }
.service-page-hero .lead { margin: 0 0 30px; color: var(--muted); font-size: 14px; line-height: 2.15; }
.hero-facts { margin:0; padding:0; display:flex; gap:8px; flex-wrap:wrap; list-style:none; }
.hero-facts li { padding:7px 10px; color:var(--green-deep); background:#dcf7e5; font-size:10px; font-weight:700; }
.pet-page .hero-facts li { color:var(--coral-deep); background:#ffe2d9; }
.service-hero-images { position:relative; min-height:470px; }
.service-hero-main { position:absolute; inset:0 8% 45px 0; margin:0; overflow:hidden; border-radius:100px 5px 5px 5px; }
.service-hero-main:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,253,244,.54) 0%,rgba(255,253,244,.14) 11%,rgba(255,253,244,0) 24%),linear-gradient(90deg,rgba(255,253,244,.82) 0%,rgba(255,253,244,.28) 13%,rgba(255,253,244,0) 29%); pointer-events:none; }
.service-hero-main img { width:100%; height:100%; object-fit:cover; filter:saturate(1.03) brightness(1.02); }
.pet-page .service-hero-main img { object-position:center 18%; }
.service-hero-sub { position:absolute; width:35%; right:0; bottom:0; margin:0; padding:7px; background:#fff; box-shadow:0 18px 40px rgba(38,74,48,.18); transform:rotate(2deg); }
.service-hero-sub img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.service-hero-badge { position:absolute; z-index:2; left:-28px; bottom:25px; width:112px; height:112px; display:grid; place-items:center; color:#173b25; background:var(--yellow); border-radius:50%; text-align:center; font:700 10px/1.55 Arial,sans-serif; letter-spacing:.12em; transform:rotate(-8deg); }
.pet-page .service-hero-badge { color:#4a241b; background:var(--coral); }

.page-section { max-width:1180px; margin:0 auto; padding:105px 5vw; }
.page-section.tint { max-width:none; padding-left:max(5vw,calc((100vw - 1180px)/2)); padding-right:max(5vw,calc((100vw - 1180px)/2)); background:linear-gradient(180deg,#fff9dc,var(--cream)); }
.pet-page .page-section.tint { background:linear-gradient(180deg,#fff8f4,#ffe8df); }
.page-heading { max-width:780px; margin-bottom:55px; }
.page-heading.center { margin-left:auto; margin-right:auto; text-align:center; }
.page-heading h2 { margin:0 0 20px; font:500 clamp(34px,4vw,54px)/1.5 var(--serif); letter-spacing:.07em; }
.page-heading > p:not(.eyebrow) { margin:0; color:var(--muted); font-size:14px; line-height:2.1; }

.belief { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:center; }
.belief-quote { margin:0; padding:48px 45px; position:relative; background:var(--yellow-soft); font:500 clamp(28px,3vw,43px)/1.75 var(--serif); letter-spacing:.07em; }
.pet-page .belief-quote { background:#ffe1d7; }
.belief-quote:before { content:"“"; position:absolute; left:18px; top:-25px; color:var(--yellow); font:90px/1 Georgia,serif; }
.pet-page .belief-quote:before { color:var(--coral); }
.belief-copy p { margin:0; color:var(--muted); font-size:14px; line-height:2.2; }

.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feature-card { min-height:235px; padding:32px 28px; background:#fff; border-top:5px solid var(--green); box-shadow:0 14px 35px rgba(40,82,53,.08); }
.pet-page .feature-card { border-color:var(--coral); }
.feature-card .number { margin:0 0 25px; color:var(--green); font:700 11px Arial,sans-serif; letter-spacing:.15em; }
.pet-page .feature-card .number { color:var(--coral-deep); }
.feature-card h3 { margin:0 0 14px; font:600 22px var(--serif); letter-spacing:.06em; }
.feature-card p { margin:0; color:var(--muted); font-size:12px; line-height:2; }

.service-detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.detail-card { overflow:hidden; background:#fff; border:1px solid var(--line); }
.detail-card figure { height:285px; margin:0; overflow:hidden; }
.detail-card figure img { width:100%; height:100%; object-fit:cover; }
.detail-card-copy { padding:32px; }
.detail-card-copy h3 { margin:0 0 15px; font:600 27px var(--serif); letter-spacing:.06em; }
.detail-card-copy p { margin:0 0 18px; color:var(--muted); font-size:13px; line-height:2; }
.detail-card-copy ul { margin:0; padding:0; display:flex; gap:7px; flex-wrap:wrap; list-style:none; }
.detail-card-copy li { padding:5px 9px; color:var(--green-deep); background:#dcf7e5; font-size:9px; font-weight:700; }
.pet-page .detail-card-copy li { color:var(--coral-deep); background:#ffe2d9; }

.flow-list { margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; list-style:none; counter-reset:flow; }
.flow-list.three { grid-template-columns:repeat(3,1fr); }
.flow-list li { position:relative; padding:28px 24px; background:#fff; border:1px solid var(--line); counter-increment:flow; }
.flow-list li:before { content:"0" counter(flow); display:block; margin-bottom:20px; color:var(--green); font:700 24px Arial,sans-serif; letter-spacing:.08em; }
.pet-page .flow-list li:before { color:var(--coral); }
.flow-list li:not(:last-child):after { content:"→"; position:absolute; right:-21px; top:50%; color:var(--green); font-weight:700; }
.flow-list h3 { margin:0 0 10px; font:600 18px var(--serif); }
.flow-list p { margin:0; color:var(--muted); font-size:11px; line-height:1.9; }

.info-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:7vw; align-items:start; }
.info-layout h2 { margin:0; font:500 clamp(34px,4vw,52px)/1.5 var(--serif); }
.info-table { margin:0; border-top:1px solid var(--line); }
.info-table div { padding:17px 0; display:grid; grid-template-columns:155px 1fr; gap:25px; border-bottom:1px solid var(--line); }
.info-table dt { color:var(--green-deep); font-size:11px; font-weight:700; }
.pet-page .info-table dt { color:var(--coral-deep); }
.info-table dd { margin:0; font-size:13px; line-height:1.8; }

.cafe-banner { display:grid; grid-template-columns:1fr 1fr; background:#fff; box-shadow:0 18px 45px rgba(76,91,56,.1); }
.cafe-banner figure { min-height:390px; margin:0; overflow:hidden; }
.cafe-banner figure img { width:100%; height:100%; object-fit:cover; }
.cafe-copy { padding:55px; display:flex; flex-direction:column; justify-content:center; }
.cafe-copy h2 { margin:0 0 20px; font:500 clamp(31px,3.5vw,46px)/1.55 var(--serif); }
.cafe-copy p { margin:0 0 25px; color:var(--muted); font-size:13px; line-height:2; }
.cafe-copy dl { margin:0; }
.cafe-copy dl div { padding:10px 0; display:grid; grid-template-columns:95px 1fr; border-top:1px solid var(--line); }
.cafe-copy dt { color:var(--green-deep); font-size:10px; font-weight:700; }
.cafe-copy dd { margin:0; font-size:11px; }

.service-cta { padding:90px max(5vw,calc((100vw - 1080px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; color:#173b25; background:var(--green); }
.pet-page .service-cta { color:#4a241b; background:var(--coral); }
.service-cta h2 { margin:0 0 15px; font:500 clamp(34px,4vw,52px)/1.5 var(--serif); }
.service-cta p { margin:0; font-size:13px; line-height:2; }
.service-cta-actions { display:grid; gap:10px; }
.service-cta-actions a { min-height:78px; padding:16px 22px; display:flex; align-items:center; justify-content:space-between; background:#fff; font-weight:700; }
.service-cta-actions strong { font:500 22px Arial,sans-serif; }
.service-cta-actions small { color:var(--muted); font-size:9px; }
.page-social { display:flex!important; justify-content:flex-start!important; gap:12px; }

@media (max-width: 900px) {
  .service-page-hero { grid-template-columns:1fr 1fr; gap:35px; }
  .service-page-hero h1 { font-size:44px; }
  .feature-grid { grid-template-columns:1fr; }
  .flow-list, .flow-list.three { grid-template-columns:1fr 1fr; }
  .flow-list li:nth-child(2):after { display:none; }
}

@media (max-width: 760px) {
  .service-page .site-header { position:relative; }
  .breadcrumb { padding:13px 18px; }
  .service-page-hero { min-height:0; margin-bottom:35px; padding:28px 18px 45px; display:flex; flex-direction:column; gap:38px; }
  .service-page-hero:before { width:180px; height:180px; left:-70px; top:20px; }
  .service-page-hero h1 { margin-bottom:20px; font-size:39px; }
  .care-page .service-page-hero h1, .pet-page .service-page-hero h1 { font-size:37px; }
  .service-page-hero h1 span { font-size:10px; }
  .service-page-hero .lead { font-size:12px; line-height:2; }
  .service-hero-images { width:100%; min-height:365px; }
  .service-hero-main { inset:0 6% 42px 0; border-radius:68px 4px 4px 4px; }
  .service-hero-sub { width:37%; }
  .service-hero-badge { left:-5px; bottom:18px; width:86px; height:86px; font-size:8px; }
  .page-section, .page-section.tint { padding:78px 18px; }
  .page-heading { margin-bottom:38px; }
  .page-heading h2 { font-size:31px; }
  .page-heading > p:not(.eyebrow) { font-size:12px; }
  .belief { display:block; }
  .belief-quote { margin-bottom:32px; padding:36px 25px; font-size:27px; }
  .belief-copy p { font-size:12px; }
  .feature-grid { gap:12px; }
  .feature-card { min-height:0; padding:27px 23px; }
  .service-detail-grid { grid-template-columns:1fr; gap:15px; }
  .detail-card figure { height:230px; }
  .detail-card-copy { padding:25px 22px; }
  .detail-card-copy h3 { font-size:23px; }
  .detail-card-copy p { font-size:11px; }
  .flow-list, .flow-list.three { grid-template-columns:1fr; gap:10px; }
  .flow-list li { padding:24px 22px; }
  .flow-list li:not(:last-child):after { content:"↓"; right:22px; top:auto; bottom:-20px; z-index:2; }
  .flow-list li:nth-child(2):after { display:block; }
  .info-layout { display:block; }
  .info-layout h2 { margin-bottom:35px; font-size:33px; }
  .info-table div { grid-template-columns:105px 1fr; gap:15px; }
  .info-table dt { font-size:9px; }
  .info-table dd { font-size:11px; }
  .cafe-banner { grid-template-columns:1fr; }
  .cafe-banner figure { min-height:260px; }
  .cafe-copy { padding:35px 24px; }
  .cafe-copy h2 { font-size:29px; }
  .service-cta { padding:72px 18px; display:block; }
  .service-cta-copy { margin-bottom:38px; }
  .service-cta h2 { font-size:34px; }
  .service-cta-actions a { min-height:72px; }
  .service-cta-actions strong { font-size:18px; }
}

/* 2026-08 brighter coral accents and stable Japanese heading wraps */
.service-page-hero:after { content:""; position:absolute; width:92px; height:92px; right:4%; top:38px; border-radius:50%; background:var(--coral); opacity:.68; }
.service-hero-copy,
.service-hero-images { position:relative; z-index:1; }
.service-page-hero h1,
.page-heading h2,
.belief-quote,
.info-layout h2,
.cafe-copy h2,
.service-cta h2 {
  text-wrap: balance;
  word-break: keep-all;
  overflow-wrap: normal;
}
.care-page .service-page-hero h1 { font-size:clamp(38px,3.7vw,54px); line-height:1.45; }
.pet-page .service-page-hero h1 { font-size:clamp(36px,3.45vw,50px); line-height:1.46; }
.page-heading h2 { font-size:clamp(31px,3.45vw,47px); }
.belief-quote { font-size:clamp(26px,2.65vw,37px); line-height:1.82; border-left:8px solid var(--coral); }
.info-layout h2,
.service-cta h2 { font-size:clamp(31px,3.45vw,46px); }
.cafe-copy h2 { font-size:clamp(29px,3.1vw,41px); }
.page-section.tint { background:linear-gradient(135deg,#fff9dc 0%,var(--cream) 62%,#fff0eb 100%); }
.pet-page .page-section.tint { background:linear-gradient(135deg,#fff8f4 0%,#ffe8df 62%,#fff4be 100%); }
.feature-card:nth-child(2) { border-color:var(--coral); }
.feature-card:nth-child(2) .number { color:var(--coral-deep); }
.feature-card:nth-child(3) { border-color:var(--yellow); }
.feature-card:nth-child(3) .number { color:#a67d00; }
.detail-card:nth-child(2) { border-top:5px solid var(--coral); }
.care-page .detail-card:nth-child(2) .detail-card-copy li { color:var(--coral-deep); background:#ffe2d9; }
.flow-list li:nth-child(even) { border-top:4px solid var(--coral); }
.flow-list li:nth-child(even):before { color:var(--coral); }
.cafe-banner { border-top:7px solid var(--coral); }
.care-page .service-cta-actions a:last-child { color:#4a241b; background:#ffae96; }

@supports (word-break: auto-phrase) {
  .page-heading h2,
  .info-layout h2,
  .cafe-copy h2 { word-break:auto-phrase; }
}

@media (max-width:760px) {
  .service-page-hero:after { width:58px; height:58px; right:-12px; top:28px; }
  .care-page .service-page-hero h1,
  .pet-page .service-page-hero h1 { font-size:33px; line-height:1.52; letter-spacing:.025em; }
  .page-heading h2 { font-size:29px; line-height:1.62; }
  .belief-quote { padding:34px 22px; font-size:24px; line-height:1.86; }
  .info-layout h2,
  .service-cta h2 { font-size:30px; line-height:1.62; }
  .cafe-copy h2 { font-size:27px; line-height:1.65; }
}
