


.care-page .brand-care { height: clamp(32px, 3.6vw, 52px); }
.care-page .brand-care .care-mark, .care-page .brand-care .care-word { fill-opacity: 1; }
.care-page .brand-care .care-trace { display: none; }

.care-stage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; min-height: 78svh; padding: clamp(120px, 30svh, 280px) var(--gutter-r) 6vh var(--gutter); }
.care-left { display: grid; gap: 18px; justify-items: start; padding-right: 24px; min-width: 0; }
.care-right { display: grid; padding-left: 24px; min-width: 0; }
.care-title { line-height: 0; }
.care-line { font-style: italic; font-size: clamp(1.0625rem, 1.5vw, 1.25rem); line-height: 1.45; color: var(--mid); max-width: 30ch; }


.care-screen { grid-area: 1 / 1; display: grid; gap: 14px; align-content: start; justify-items: start; width: 100%; max-width: 26rem; min-width: 0; }
.care-screen[hidden] { display: none; }


.care-screen[data-screen="password"] { grid-template-columns: minmax(0, 1fr) auto; column-gap: 22px; align-items: end; }
.care-label, .care-msg, .care-screen[data-screen="password"] noscript { grid-column: 1 / -1; }
.care-label { font-family: var(--display); font-size: 0.8125rem; letter-spacing: 0.03em; color: var(--mid); margin-bottom: -6px; }
.care-input { width: 100%; min-width: 0; font: inherit; font-family: var(--display); font-size: 1.0625rem; letter-spacing: 0.06em; color: var(--ink); background: transparent; border: 0; border-bottom: 0.5px solid var(--ink); border-radius: 0; padding: 4px 2px; line-height: 1.4; }
.care-input:focus { outline: none; }
.care-input:focus-visible { outline: 1px solid var(--blue); outline-offset: 4px; }
.care-go { font-family: var(--display); font-size: 0.9375rem; letter-spacing: 0.02em; color: var(--ink); padding: 0 0 2px; border-bottom: 0.5px solid var(--ink); }
.care-go:focus-visible { outline: 1px solid var(--blue); outline-offset: 4px; }
.care-go:disabled { color: var(--pencil); border-bottom-color: var(--rule); cursor: default; }
.care-msg { font-style: italic; font-size: 0.9375rem; color: var(--ink); min-height: 1.5em; }
.care-noscript { font-style: italic; font-size: 0.9375rem; color: var(--mid); }


.care-check { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: start; font-size: 1rem; line-height: 1.5; max-width: 36ch; cursor: pointer; }
.care-check input { width: 15px; height: 15px; margin: 0.42em 0 0; accent-color: var(--ink); cursor: pointer; }
.care-check input:focus-visible { outline: 1px solid var(--blue); outline-offset: 3px; }
.care-screen[data-screen="agree"] .care-go { margin-top: 6px; margin-left: 27px; }


.care-content { justify-items: stretch; gap: 0; max-width: 34rem; }
.care-heading { justify-self: start; font-size: clamp(1.75rem, 2.8vw, 2.375rem); line-height: 1.05; } 
.care-heading:focus { outline: none; }
.care-heading:focus-visible { outline: 1px solid var(--blue); outline-offset: 6px; }
.care-section { display: grid; gap: 14px; padding-top: 30px; }
.care-section h3 { font-family: var(--display); font-weight: 500; font-size: 1.0625rem; letter-spacing: 0.02em; padding-top: 12px; border-top: 0.5px solid var(--rule); }

@media (max-width: 899px) {
  .care-stage { grid-template-columns: minmax(0, 1fr); gap: 40px; min-height: 0; padding-top: 112px; }
  .care-left, .care-right { padding: 0; }
}
