:root {
  color-scheme: light;
  --ink: var(--h2-ink);
  --muted: #525764;
  --line: var(--h2-silver);
  --pearl: var(--h2-mist);
  --surface: #fff;
  --sans: var(--h2-body);
  font: 400 100%/1.5 var(--sans);
  color: var(--ink);
  background: var(--pearl);
  -webkit-text-size-adjust: 100%;
}
* { box-sizing: border-box; }
body { margin: 0; }
button, input, select { font: inherit; }
button, summary { cursor: pointer; }
a { color: inherit; text-underline-offset: .2em; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--h2-blue); outline-offset: 3px; }
.service-header { border-bottom: 1px solid var(--line); background: var(--surface); }
.header-inner, .service-main {
  width: min(100%, 1232px);
  margin-inline: auto;
  padding-inline: max(clamp(18px, 5vw, 60px), env(safe-area-inset-left)) max(clamp(18px, 5vw, 60px), env(safe-area-inset-right));
}
.header-inner { min-height: calc(64px + env(safe-area-inset-top)); padding-top: env(safe-area-inset-top); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand, .back-link { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.brand { gap: 9px; min-width: 0; font-size: 18px; font-weight: 760; line-height: 1.1; letter-spacing: -.055em; overflow-wrap: anywhere; }
.brand img { width: 28px; height: 28px; flex: none; }
.back-link { flex: none; gap: 6px; font-size: 13px; font-weight: 600; }
.back-link svg { width: 14px; height: 14px; }
.back-link:hover { text-decoration: underline; }
.service-main { padding-block: clamp(32px, 5vw, 66px) max(56px, env(safe-area-inset-bottom)); }
.kicker { font-size: .7rem; font-weight: 750; letter-spacing: .12em; line-height: 1.5; color: var(--h2-blue); margin: 0 0 8px; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 12px; font-size: clamp(2.5rem, 5vw, 4.6rem); font-weight: 640; line-height: 1.06; letter-spacing: -.065em; }
h1[lang=en], h2[lang=en] { color:var(--h2-blue); font-family:var(--h2-display); font-weight:900; font-style:normal; letter-spacing:-.045em; text-transform:uppercase; }
h2 { margin-bottom: 10px; font-size: 1.5rem; line-height: 1.2; letter-spacing: -.045em; }
p { line-height: 1.65; word-break: keep-all; overflow-wrap: anywhere; }
.note { color: var(--muted); font-size: .925rem; }
.primary, .secondary {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 9px 18px; border: 1px solid transparent; border-radius: 999px;
  font-weight: 650; font-size: .9rem; line-height: 1.4; text-decoration: none;
}
.primary { background: var(--h2-blue); color: #fff; }
.secondary { background: var(--surface); border-color:var(--line); color: var(--ink); }
.primary:hover:enabled, a.primary:hover { background: var(--h2-blue-strong); }
.secondary:hover:enabled, a.secondary:hover { background: var(--pearl); }
button:disabled, input:disabled { opacity: .56; cursor: default; }
input, select { min-height: 46px; border: 1px solid #b8b8c1; border-radius: 12px; padding: 10px 12px; background: white; color: var(--ink); }
summary { min-height: 44px; padding-block: 10px; font-size: .87rem; font-weight: 650; }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 22px; }
@media (max-width: 600px) {
  .header-inner { min-height: calc(58px + env(safe-area-inset-top)); }
  .brand { font-size: 17px; }
}
