/* Visual property care vocabulary, extending OBEKTRA's existing palette. */
.care-icon { display: block; width: 1.6rem; height: 1.6rem; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.care-icon-tile { display: inline-flex; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; flex-shrink: 0; margin-bottom: 1.2rem; border-radius: .85rem; background: var(--soft-blue); color: var(--blue-dark); }
.care-icon-tile .care-icon { width: 1.8rem; height: 1.8rem; }
.hero-care-duo { display: grid; grid-template-columns: 1.08fr .92fr; gap: .8rem; align-items: center; }
.home-page .hero-points li { display: flex; align-items: center; gap: .45rem; }
.home-page .hero-points .care-icon { width: 1.1rem; height: 1.1rem; color: var(--purple); }
.hero-care-duo figure { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: .6rem; aspect-ratio: .68; background: var(--soft-blue); }
.hero-care-duo .hero-care-property { margin-bottom: 2.5rem; border-top-left-radius: 3.5rem; }
.hero-care-duo .hero-care-cleaning { margin-top: 3rem; border-bottom-right-radius: 3.5rem; }
.hero-care-duo img { width: 100%; height: 100%; object-fit: cover; }
.hero-care-duo .hero-care-property img { object-position: 52% center; }
.hero-care-duo .hero-care-cleaning img { object-position: 50% center; }
.hero-care-duo figcaption { position: absolute; inset: auto .65rem .65rem; display: flex; align-items: center; gap: .6rem; min-height: 3.5rem; padding: .7rem; color: #fff; background: #172f46ed; border-radius: .4rem; font-size: .875rem; font-weight: 700; line-height: 1.4; }
.hero-care-duo figcaption .care-icon { width: 1.4rem; height: 1.4rem; }
.care-direction-grid { gap: 1.5rem; }
.direction-card.care-direction-card { padding: 0; overflow: hidden; border-radius: .85rem; }
.care-direction-photo { position: relative; height: 12.5rem; background: var(--ice); }
.care-direction-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 52%; }
.care-photo-icon { position: absolute; bottom: -1.4rem; left: 1.75rem; display: grid; place-items: center; width: 3.6rem; height: 3.6rem; color: #fff; background: var(--blue); border: 4px solid #fff; border-radius: 1rem; }
.direction-property .care-photo-icon { background: var(--purple); }
.care-photo-icon .care-icon { width: 1.8rem; height: 1.8rem; }
.care-direction-body { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 2.35rem 1.75rem 1.75rem; }
.care-direction-body > p { color: var(--muted); margin: .9rem 0 0; font-size: .9375rem; line-height: 1.7; }
.care-mini-features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2rem 1rem; padding: 1.4rem 0; margin: 1.3rem 0 1.5rem; border-block: 1px solid var(--line); list-style: none; }
.care-mini-features li { display: flex; min-width: 0; align-items: center; gap: .65rem; color: var(--ink); font-size: .875rem; line-height: 1.5; }
.care-mini-features .care-icon { width: 1.5rem; height: 1.5rem; color: var(--blue); }
.direction-property .care-mini-features .care-icon { color: var(--purple); }
.care-direction-body > .button { align-self: stretch; margin-top: auto; text-align: center; padding-inline: .7rem; }
.platform-band { padding-block: 1.25rem; background: #f7f9fc; border-block: 1px solid var(--line); }
.platform-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.platform-heading > p { margin: 0; color: var(--muted); font-size: .8125rem; font-weight: 700; letter-spacing: .025em; }
.platform-pause { min-height: 2.75rem; padding: .4rem .7rem; color: var(--blue-dark); background: #fff; border: 1px solid var(--line); border-radius: .4rem; font-size: .8125rem; white-space: normal; }
.platform-pause[hidden] { display: none; }
.platform-window { overflow: hidden; margin-block: .65rem .4rem; }
.platform-track { display: flex; width: max-content; }
.platform-group { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-around; gap: 3rem; min-width: 1224px; padding: 1rem 2rem; }
.platform-repeat { display: contents; }
.platform-brand { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; flex: 0 0 auto; color: var(--ink); font-family: "SpaceClean Sans", "Segoe UI", sans-serif; font-size: 1.8rem; font-weight: 700; line-height: 1.4; letter-spacing: -.055em; }
.platform-brand img { width: 2.15rem; height: 2.15rem; }
.platform-airbnb { color: #cf424a; }
.platform-booking { color: #003b95; }
.platform-note { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.6; }
.platform-band.is-ready .platform-track { animation: platform-drift 35s linear infinite; }
.platform-band.is-paused .platform-track, .platform-band.is-auto-paused .platform-track { animation-play-state: paused; }
@keyframes platform-drift { to { transform: translateX(-50%); } }
.care-everyday { padding-block: 4.5rem 5rem; }
.care-section-heading { max-width: 48rem; margin-bottom: 2rem; }
.care-section-heading h2 { font-size: clamp(1.9rem,3vw,2.65rem); }
.care-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.care-detail-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 1.75rem; background: var(--lavender); border: 1px solid #e9e3f0; border-radius: .85rem; }
.care-detail-card:nth-child(2) { background: var(--ice); border-color: #dfeaf2; }
.care-detail-card:nth-child(3) { background: #f7f9fa; border-color: #e5eaed; }
.care-detail-card .care-icon-tile { background: #fff; color: var(--purple); }
.care-detail-card:nth-child(2) .care-icon-tile { color: var(--blue); }
.care-detail-card h3 { font-size: 1.25rem; font-weight: 700; margin: 0; }
.care-detail-card > p { margin: .8rem 0 1.1rem; color: var(--muted); font-size: .9375rem; line-height: 1.65; }
.care-detail-card .text-link { display: inline; margin-top: auto; font-size: .875rem; }
.care-detail-card .text-link span { display: inline-block; margin-left: .3rem; }
.standards .care-standard-icon { padding-top: 0; }
.care-standard-icon .care-icon { width: 1.65rem; height: 1.65rem; }
.care-property-intro { padding-block: 2rem 3.75rem; }
.care-hero-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); gap: 3rem; align-items: center; }
.care-hero-grid h1 { max-width: 16ch; font-size: clamp(2.1rem,3.45vw,3.3rem); }
.care-hero-grid .service-detail-lead { font-size: 1rem; line-height: 1.7; margin-block: 1.3rem 1.6rem; }
.care-hero-image { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: 3rem .6rem .6rem .6rem; aspect-ratio: 1.15; background: #dfeaf2; }
.care-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.care-hero-image figcaption { position: absolute; inset: auto 1rem 1rem; display: flex; align-items: center; gap: .75rem; color: var(--ink); background: #fffffff5; padding: .9rem 1rem; border-radius: .5rem; font-size: .875rem; line-height: 1.5; }
.care-hero-image figcaption .care-icon { color: var(--purple); }
.care-property-content > .service-detail-section > p, .care-story-content > .service-detail-section > p { max-width: 56rem; }
.property-scope-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.property-scope-card { background: #fafcfe; border-color: #e1e8ee; border-radius: .75rem; padding: 1.5rem; }
.property-scope-card:nth-child(3n+2) { background: #faf8fd; }
.property-scope-card:nth-child(3n+2) .care-icon-tile { background: #eee8f6; color: var(--purple); }
.property-scope-card .care-icon-tile { margin-bottom: 1rem; }
.property-management-page .property-scope-card h3 { font-size: 1rem; line-height: 1.4; }
.property-management-page .property-scope-card p { font-size: .875rem; line-height: 1.65; }
.care-property-features { padding-block: 3.5rem 0; }
.care-feature-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 3rem; align-items: center; margin-block: 2.5rem 4rem; }
.care-feature-copy { min-width: 0; }
.care-feature-copy h3 { margin: 0; font-weight: 400; font-size: clamp(1.75rem,2.5vw,2.35rem); line-height: 1.25; letter-spacing: -.025em; }
.care-feature-copy > p:not(.section-kicker) { color: var(--muted); margin: 1.25rem 0; }
.care-feature-reverse > :first-child { order: 2; }
.care-feature-image { margin: 0; overflow: hidden; border-radius: .7rem 2.5rem .7rem .7rem; aspect-ratio: 1.3; background: var(--ice); }
.care-feature-image img { height: 100%; width: 100%; object-fit: cover; }
.care-pricing-visual { padding: 2.25rem; background: linear-gradient(135deg,#edf5fb,#f2edf8); border: 1px solid #dde6ef; border-radius: 2.5rem .75rem .75rem .75rem; }
.care-pricing-visual > .care-icon-tile { background: var(--blue); color: #fff; }
.care-visual-label { margin: 0 0 1.5rem; font-size: 1.35rem; font-weight: 700; }
.care-factor-cloud { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
.care-factor-cloud > span { display: flex; flex-direction: column; gap: .7rem; align-items: flex-start; padding: 1rem; color: var(--ink); background: #ffffffdc; border: 1px solid #e4e8ed; border-radius: .65rem; font-size: .875rem; line-height: 1.5; }
.care-factor-cloud .care-icon { color: var(--purple); }
.care-visual-foot { margin: 1.3rem 0 0; color: var(--muted); font-size: .8125rem; }
.care-story-content { padding-block: 1.25rem 4.5rem; }
.care-info-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; margin-top: 2rem; }
.care-info-card { min-width: 0; padding: 1.75rem; border: 1px solid var(--line); border-radius: .75rem; background: #fbfcfe; }
.care-info-card:nth-child(even) .care-icon-tile { background: #eee8f6; color: var(--purple); }
.care-story-page .care-info-card h3 { margin: 0 0 .75rem; font-size: 1.2rem; }
.care-info-card p { margin: 0; font-size: .9375rem; line-height: 1.7; }
.care-info-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.care-split-section { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 4rem; align-items: start; padding-block: 3.5rem; }
.care-split-section h2 { font-size: clamp(1.75rem,3vw,2.4rem); }
.care-split-section p:not(.section-kicker) { color: var(--muted); }
.care-split-section .property-steps { margin: 0; }
.care-note-panel { display: flex; gap: 1.3rem; align-items: flex-start; padding: 1.75rem 2rem; background: var(--ice); border: 1px solid #dce8f1; border-radius: .75rem; margin-block: 1.5rem; }
.care-note-panel > .care-icon { color: var(--blue); margin-top: .1rem; width: 2rem; height: 2rem; }
.care-note-panel h2 { font-size: 1.25rem; margin: 0 0 .6rem; font-weight: 700; }
.care-note-panel p { margin: 0; color: var(--muted); font-size: .9375rem; }
.care-consultation { text-align: center; padding: 3rem 2rem; }
.care-consultation h2 { max-width: 40rem; margin-inline: auto; }
.care-consultation > p { max-width: 42rem; margin-inline: auto; }
.care-consultation .button { margin-top: .75rem; }
.care-guest-cleaning { margin-block: 3.5rem; }
.care-section-lead { max-width: 47rem; }
/* Text is always visible; these entrances only enhance supported motion. */
@keyframes care-arrive { from { opacity: .65; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.care-entered { animation: care-arrive .45s ease-out both; }
@media (min-width:1001px) {
  .property-scope-card:last-child { grid-column: 1/-1; display: grid; grid-template-columns: 3.25rem minmax(0,1fr); column-gap: 1.2rem; }
  .property-scope-card:last-child > .care-icon-tile { grid-row: 1/3; margin: 0; }
  .property-scope-card:last-child > h3, .property-scope-card:last-child > p { grid-column: 2; }
}
@media (max-width:1000px) {
  .hero-care-duo figcaption { flex-direction: column; align-items: flex-start; gap: .4rem; }
  .care-detail-card { padding: 1.35rem; }
  .care-detail-card h3 { font-size: 1.125rem; }
  .care-hero-grid { gap: 2rem; }
  .property-scope-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .care-feature-row { gap: 2rem; }
  .care-pricing-visual { padding: 1.5rem; }
  .care-split-section { gap: 2.5rem; }
}
@media (max-width:840px) {
  .care-detail-grid { grid-template-columns: 1fr; gap: 1rem; }
  .care-detail-card { display: grid; grid-template-columns: 3.25rem minmax(0,1fr); column-gap: 1.2rem; padding: 1.5rem; }
  .care-detail-card .care-icon-tile { grid-column: 1; grid-row: 1/4; margin: 0; }
  .care-detail-card h3, .care-detail-card > p, .care-detail-card > .text-link { grid-column: 2; }
  .care-detail-card h3 { font-size: 1.2rem; }
  .care-detail-card > p { margin-block: .5rem .65rem; }
  .care-hero-grid { grid-template-columns: 1fr; }
  .care-hero-grid h1 { max-width: 21ch; }
  .care-hero-image { aspect-ratio: 1.8; }
  .care-feature-row, .care-split-section { grid-template-columns: 1fr; gap: 1.75rem; }
  .care-feature-reverse > :first-child { order: 0; }
  .care-feature-image { aspect-ratio: 1.7; }
  .care-pricing-visual { max-width: 100%; }
  .care-info-three { grid-template-columns: 1fr; }
  .care-info-three .care-info-card { display: grid; grid-template-columns: 3.25rem minmax(0,1fr); column-gap: 1.2rem; }
  .care-info-three .care-icon-tile { grid-row: 1/3; margin: 0; }
  .care-info-three h3, .care-info-three p { grid-column: 2; }
}
@media (max-width:767px) {
  .platform-group { min-width: 790px; gap: 2.25rem; padding-inline: 1.25rem; }
  .platform-brand { font-size: 1.5rem; gap: .5rem; }
  .platform-brand img { width: 1.85rem; height: 1.85rem; }
  .platform-heading { gap: .75rem; align-items: flex-start; }
  .platform-heading > p { max-width: 15rem; }
  .platform-pause { max-width: 8rem; font-size: .75rem; }
}
@media (max-width:650px) {
  .hero-care-duo { gap: .6rem; }
  .hero-care-duo figure { aspect-ratio: .85; }
  .hero-care-duo .hero-care-property { margin-bottom: 1.5rem; border-top-left-radius: 2.5rem; }
  .hero-care-duo .hero-care-cleaning { margin-top: 1.5rem; border-bottom-right-radius: 2.5rem; }
  .hero-care-duo figcaption { flex-direction: row; align-items: center; min-height: 3rem; gap: .4rem; inset: auto .4rem .4rem; padding: .55rem; font-size: .7rem; }
  .hero-care-duo figcaption .care-icon { width: 1.1rem; height: 1.1rem; }
  .care-direction-photo { height: 10.5rem; }
  .care-photo-icon { left: 1.25rem; }
  .care-direction-body { padding: 2.25rem 1.25rem 1.25rem; }
  .care-mini-features { gap: 1rem .75rem; padding-block: 1.2rem; margin-block: 1.15rem 1.3rem; }
  .care-mini-features li { align-items: flex-start; font-size: .8125rem; gap: .5rem; }
  .care-mini-features .care-icon { width: 1.3rem; height: 1.3rem; }
  .care-everyday { padding-block: 3rem 3.5rem; }
  .care-detail-card { padding: 1.25rem; column-gap: .9rem; }
  .care-detail-card h3 { font-size: 1.1rem; }
  .care-detail-card > p { font-size: .875rem; }
  .care-property-intro { padding-block: 1.5rem 2.5rem; }
  .care-hero-grid h1 { font-size: clamp(2rem,7.5vw,2.7rem); }
  .care-hero-grid h1 br { display: none; }
  .care-hero-image { aspect-ratio: 1.35; border-top-left-radius: 2.5rem; }
  .care-hero-image figcaption { inset: auto .65rem .65rem; padding: .75rem; font-size: .8125rem; }
  .care-hero-grid .button { width: 100%; text-align: center; }
  .property-scope-grid { grid-template-columns: 1fr; }
  .property-scope-card { display: grid; grid-template-columns: 2.75rem minmax(0,1fr); column-gap: 1rem; padding: 1.25rem; }
  .property-scope-card > .care-icon-tile { width: 2.75rem; height: 2.75rem; margin: 0; grid-row: 1/3; }
  .property-scope-card .care-icon { width: 1.5rem; height: 1.5rem; }
  .property-scope-card > h3, .property-scope-card > p { grid-column: 2; }
  .property-management-page .property-scope-card h3 { font-size: 1rem; margin-bottom: .5rem; }
  .care-property-features { padding-top: 2.5rem; }
  .care-feature-row { margin-block: 1.75rem 3rem; }
  .care-feature-copy > p:not(.section-kicker) { font-size: .9375rem; }
  .care-pricing-visual { padding: 1.5rem; }
  .care-factor-cloud > span { padding: .8rem; font-size: .8125rem; }
  .care-visual-label { font-size: 1.2rem; }
  .care-story-content { padding-bottom: 3rem; }
  .care-info-grid { grid-template-columns: 1fr; gap: 1rem; }
  .care-info-card { padding: 1.4rem; }
  .care-story-page .care-info-card h3 { font-size: 1.125rem; }
  .care-info-card p { font-size: .9375rem; }
  .care-info-three .care-info-card { padding: 1.25rem; gap: .9rem; }
  .care-split-section { padding-block: 2.5rem; gap: 1.25rem; }
  .care-note-panel { padding: 1.25rem; gap: .9rem; }
  .care-note-panel > .care-icon { width: 1.5rem; height: 1.5rem; }
  .care-note-panel h2 { font-size: 1.125rem; }
  .care-note-panel p { font-size: .875rem; }
  .care-consultation { padding: 2rem 1.25rem; }
  .care-consultation .button { width: 100%; max-width: 100%; text-align: center; padding-inline: .7rem; }
}
@media (prefers-reduced-motion:reduce) {
  .platform-band .platform-track { animation: none !important; transform: none !important; width: 100%; }
  .platform-group { min-width: 0; width: 100%; flex-wrap: wrap; justify-content: center; gap: 1.5rem 2.5rem; padding-inline: 0; }
  .platform-group[aria-hidden="true"], .platform-repeat { display: none; }
  .platform-pause { display: none; }
  .care-entered { animation: none; }
}
