:root {
  color-scheme: light;
  --ink: #202631;
  --muted: #737d89;
  --line: #e7ece9;
  --soft: #f7f9f8;
  --green: #176b56;
  --green-dark: #125642;
  --green-soft: #eaf5f0;
  --white: #fff;
  --shadow: 0 20px 70px rgba(30, 47, 59, .08), 0 2px 8px rgba(30, 47, 59, .035);
}
* { box-sizing: border-box; }
html { min-width: 320px; background: var(--soft); scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  font-family: Inter, Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  background: radial-gradient(ellipse at 50% -15%, rgba(199, 239, 221, .38), transparent 48%), var(--soft);
}
a { color: inherit; }
button, input { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
.skip-link { position: absolute; z-index: 10; top: 8px; left: 8px; padding: 10px 14px; border-radius: 8px; color: white; background: var(--green-dark); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.site-header { height: 68px; border-bottom: 1px solid rgba(229, 235, 231, .8); background: rgba(255,255,255,.78); }
.header-inner { display: flex; width: min(100% - 40px, 1080px); height: 100%; margin: 0 auto; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; color: var(--ink); text-decoration: none; font-size: 17px; font-weight: 780; letter-spacing: -.05em; }
.brand-english { margin-left: 3px; color: #929ba5; font-size: .62em; font-weight: 650; letter-spacing: -.015em; }
.brand-mark { display: grid; width: 33px; height: 33px; place-items: center; border-radius: 11px; color: white; background: var(--green); box-shadow: 0 5px 12px rgba(23,107,86,.18); }
.brand-mark svg { width: 19px; height: 19px; }
.site-nav { display: flex; align-items: center; gap: 5px; }
.site-nav a { padding: 9px 12px; border-radius: 9px; color: #7e8791; text-decoration: none; font-size: 12px; font-weight: 650; transition: color .16s, background .16s; }
.site-nav a:hover, .site-nav a.active { color: var(--green); background: #eff6f2; }
.hero { width: min(100% - 40px, 800px); margin: 47px auto 25px; text-align: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 7px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.eyebrow svg { width: 14px; height: 14px; }
h1 { margin: 12px 0 9px; font-size: clamp(30px, 5vw, 43px); line-height: 1.2; letter-spacing: -.065em; font-weight: 770; }
.hero > p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; letter-spacing: -.025em; }
.calculator-card { overflow: hidden; width: min(100% - 40px, 860px); margin: 0 auto; border: 1px solid rgba(228,233,237,.9); border-radius: 23px; background: var(--white); box-shadow: var(--shadow); }
.card-bar { display: flex; min-height: 59px; padding: 0 23px; align-items: center; justify-content: space-between; border-bottom: 1px solid #edf0f2; }
.bar-title { display: inline-flex; align-items: center; gap: 9px; color: #4d5662; font-size: 13px; font-weight: 700; }
.bar-title svg { width: 16px; height: 16px; color: var(--green); }
.bar-badge { padding: 5px 9px; border: 1px solid #e9f0ec; border-radius: 99px; color: #7a897f; background: #fbfdfc; font-size: 10px; font-weight: 650; }
.conversation { padding: 27px clamp(18px, 5.5vw, 46px) 33px; }
.message { display: flex; align-items: flex-start; gap: 12px; }
.avatar { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 12px; color: white; background: linear-gradient(145deg, #31886f, #155b49); box-shadow: 0 4px 10px rgba(23,107,86,.18); }
.avatar svg { width: 19px; height: 19px; }
.message-content { min-width: 0; flex: 1; }
.message-meta { display: flex; align-items: baseline; gap: 8px; margin: 1px 0 9px; }
.sender { color: #46515c; font-size: 12px; font-weight: 750; }
.message-time { color: #a1a8b1; font-size: 10px; }
.bubble { width: fit-content; max-width: 100%; padding: 12px 15px; border: 1px solid #edf0f2; border-radius: 4px 16px 16px 16px; color: #5d6672; background: #f8faf9; font-size: 13px; line-height: 1.7; letter-spacing: -.02em; }
.bubble strong { color: #39444e; font-weight: 700; }
.entry-panel { margin: 19px 0 0 46px; padding: 22px; border: 1px solid #e9edf0; border-radius: 17px; background: #fff; box-shadow: 0 4px 14px rgba(29,46,57,.025); }
.entry-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 17px; }
.entry-heading h2 { margin: 0; font-size: 13px; letter-spacing: -.025em; font-weight: 750; }
.entry-hint { color: #9aa2ac; font-size: 10px; }
.fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field { min-width: 0; }
.field label { display: block; margin-bottom: 8px; color: #67717d; font-size: 11px; font-weight: 650; }
.control { position: relative; display: flex; height: 48px; padding: 0 12px; align-items: center; border: 1px solid #e5e9ed; border-radius: 11px; background: white; transition: border-color .18s, box-shadow .18s; }
.control:focus-within { border-color: #82bba6; box-shadow: 0 0 0 3px rgba(57,145,113,.1); }
.control input { width: 100%; min-width: 0; height: 100%; border: 0; outline: 0; color: #303945; background: transparent; font-size: 15px; font-weight: 670; letter-spacing: -.025em; }
.control input::-webkit-inner-spin-button, .control input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.control input[type=number] { appearance: textfield; }
.prefix, .suffix { flex: 0 0 auto; color: #929ba5; font-size: 12px; font-weight: 600; }
.prefix { margin-right: 7px; }
.suffix { margin-left: 6px; }
.schedule-summary { display: flex; align-items: center; gap: 8px; margin-top: 13px; color: #7d8792; font-size: 10px; letter-spacing: -.015em; }
.schedule-summary svg { width: 15px; height: 15px; color: #4b9c7e; }
.attendance { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 17px; padding: 13px 14px; border: 1px solid #edf0f2; border-radius: 11px; background: #fbfcfc; }
.attendance-copy { display: flex; flex-direction: column; gap: 4px; }
.attendance-copy strong { color: #58626d; font-size: 11px; font-weight: 680; }
.attendance-copy span { color: #99a1aa; font-size: 10px; line-height: 1.5; }
.toggle { position: relative; flex: 0 0 auto; width: 39px; height: 23px; }
.toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.toggle-track { position: absolute; inset: 0; border-radius: 20px; background: #dce1e5; cursor: pointer; transition: .2s; }
.toggle-track::after { position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: white; box-shadow: 0 1px 4px #0002; content: ""; transition: .2s; }
.toggle input:checked + .toggle-track { background: #4c9b7c; }
.toggle input:checked + .toggle-track::after { transform: translateX(16px); }
.toggle input:focus-visible + .toggle-track { outline: 3px solid rgba(57,145,113,.22); outline-offset: 2px; }
.form-bottom { display: flex; align-items: center; justify-content: flex-start; gap: 14px; margin-top: 17px; }
.privacy-note { display: inline-flex; align-items: center; gap: 6px; color: #a1a8b1; font-size: 10px; }
.privacy-note svg { width: 13px; height: 13px; }
.assistant-response { margin: 25px 0 0 46px; padding-top: 23px; border-top: 1px solid #eff1f3; }
.response-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.response-label { display: inline-flex; align-items: center; gap: 7px; color: #56616c; font-size: 12px; font-weight: 740; }
.response-label svg { width: 15px; height: 15px; color: #4f9b7d; }
.period-picker { display: inline-flex; padding: 3px; align-items: center; gap: 3px; border: 1px solid #e9edf0; border-radius: 10px; background: #f7f8f9; }
.period-button { min-width: 42px; height: 30px; padding: 0 10px; border: 0; border-radius: 7px; color: #8b949e; background: transparent; cursor: pointer; font-size: 11px; font-weight: 700; transition: .16s; }
.period-button[aria-pressed="true"] { color: #246e57; background: white; box-shadow: 0 1px 4px rgba(24,43,53,.1); }
.period-button:focus-visible, .copy-button:focus-visible, .button-link:focus-visible { outline: 3px solid rgba(57,145,113,.22); outline-offset: 2px; }
.result-bubble { padding: 21px 22px 18px; border: 1px solid #dceee5; border-radius: 4px 17px 17px 17px; background: linear-gradient(145deg, #f7fcf9, #f1f9f5); }
.result-period { margin-bottom: 7px; color: #668274; font-size: 11px; font-weight: 650; }
.amount-line { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.amount { color: #1c4739; font-size: clamp(31px, 6vw, 42px); line-height: 1.08; letter-spacing: -.07em; font-weight: 780; font-variant-numeric: tabular-nums; }
.amount-unit { color: #658274; font-size: 14px; font-weight: 650; }
.result-caption { margin-top: 8px; color: #7b9187; font-size: 11px; }
.breakdown { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 19px; padding-top: 15px; border-top: 1px solid #dcebe2; }
.breakdown-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #77857e; font-size: 11px; }
.breakdown-item strong { color: #3d574b; font-size: 12px; font-weight: 720; font-variant-numeric: tabular-nums; white-space: nowrap; }
.calc-explain { display: flex; margin-top: 13px; padding: 11px 12px; align-items: flex-start; gap: 8px; border: 1px solid #edf0f2; border-radius: 10px; color: #87909a; background: #fff; font-size: 10px; line-height: 1.6; }
.calc-explain svg { flex: 0 0 14px; width: 14px; height: 14px; margin-top: 1px; color: #74a88f; }
.warning { display: none; margin-top: 10px; padding: 10px 12px; border-radius: 9px; color: #986a39; background: #fff7eb; font-size: 10px; line-height: 1.6; }
.warning.visible { display: block; }
.response-actions { display: flex; margin-top: 12px; align-items: center; justify-content: space-between; gap: 10px; }
.legal-note { max-width: 520px; color: #a0a7af; font-size: 9px; line-height: 1.55; }
.copy-button { display: inline-flex; padding: 6px 8px; align-items: center; gap: 6px; border: 0; border-radius: 7px; color: #7d8982; background: transparent; cursor: pointer; font-size: 10px; font-weight: 650; white-space: nowrap; }
.copy-button:hover { color: var(--green); background: #f1f7f4; }
.copy-button svg { width: 13px; height: 13px; }

/* Content on the calculator home page */
.content-section { width: min(100% - 40px, 860px); margin: 66px auto 58px; }
.section-heading { margin-bottom: 22px; text-align: center; }
.section-heading h2 { margin: 9px 0 7px; font-size: clamp(22px, 3vw, 29px); line-height: 1.35; letter-spacing: -.05em; }
.section-heading p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.info-grid { display: grid; gap: 13px; }
.three-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.info-card { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.step-number { display: inline-grid; width: 27px; height: 27px; place-items: center; border-radius: 9px; color: var(--green); background: var(--green-soft); font-size: 10px; font-weight: 800; }
.info-card h3 { margin: 13px 0 7px; font-size: 14px; letter-spacing: -.03em; }
.info-card p { margin: 0; color: #77818b; font-size: 11px; line-height: 1.75; }
.formula { margin-top: 15px; padding: 9px 10px; border-radius: 8px; color: #39745e; background: #f1f8f4; font-size: 10px; font-weight: 700; }
.text-link { display: inline-block; margin-top: 15px; color: var(--green); text-decoration: none; font-size: 11px; font-weight: 700; }
.text-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.example-panel { display: flex; margin-top: 15px; padding: 22px 24px; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid #dceee5; border-radius: 15px; background: linear-gradient(110deg, #f1f9f5, #fbfdfc); }
.example-tag { color: #438568; font-size: 10px; font-weight: 780; }
.example-panel h3 { margin: 7px 0 5px; font-size: 15px; letter-spacing: -.035em; }
.example-panel p { max-width: 500px; margin: 0; color: #7a8780; font-size: 11px; line-height: 1.7; }
.example-total { display: flex; flex: 0 0 auto; flex-direction: column; gap: 5px; text-align: right; }
.example-total span { color: #799086; font-size: 10px; }
.example-total strong { color: #1c4739; font-size: 22px; letter-spacing: -.05em; }
.content-disclaimer { margin: 14px 0 0; color: #9aa2aa; font-size: 10px; line-height: 1.7; }

/* About, feature guide, and privacy pages */
.article-page { width: min(100% - 40px, 840px); margin: 26px auto 70px; }
.breadcrumbs { display: flex; align-items: center; gap: 9px; margin: 0 0 30px; color: #99a2aa; font-size: 11px; }
.breadcrumbs a { color: #74817a; text-decoration: none; }
.breadcrumbs a:hover { color: var(--green); }
.article-header { max-width: 700px; margin: 0 auto 32px; text-align: center; }
.article-header h1 { margin-top: 11px; font-size: clamp(31px, 5vw, 42px); }
.article-lead { max-width: 640px; margin: 0 auto; color: #707b85; font-size: 14px; line-height: 1.85; }
.policy-date { margin: 15px 0 0; color: #9aa2aa; font-size: 11px; }
.article-body { padding: 35px clamp(22px, 5.5vw, 56px); border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 10px 35px rgba(30,47,59,.035); }
.article-body section + section { margin-top: 34px; padding-top: 28px; border-top: 1px solid #eef1ef; }
.article-body h2 { margin: 0 0 13px; color: #29343c; font-size: 19px; letter-spacing: -.045em; line-height: 1.45; }
.article-body p { margin: 0 0 12px; color: #626d77; font-size: 13px; line-height: 1.9; word-break: keep-all; }
.article-body p:last-child { margin-bottom: 0; }
.article-body strong { color: #39464e; font-weight: 720; }
.article-body a { color: var(--green); text-underline-offset: 3px; }
.article-body a:hover { text-decoration-thickness: 2px; }
.step-list { display: grid; gap: 11px; padding: 0; margin: 0; counter-reset: steps; list-style: none; }
.step-list li { display: grid; grid-template-columns: 38px 1fr; gap: 0 11px; padding: 14px; border: 1px solid #edf1ee; border-radius: 11px; background: #fcfdfc; counter-increment: steps; }
.step-list li::before { display: grid; width: 28px; height: 28px; grid-row: span 2; place-items: center; border-radius: 9px; color: var(--green); background: var(--green-soft); content: counter(steps, decimal-leading-zero); font-size: 9px; font-weight: 800; }
.step-list li strong { align-self: end; font-size: 12px; }
.step-list li span { margin-top: 4px; color: #7c8790; font-size: 11px; line-height: 1.7; }
.formula-panel { display: grid; grid-template-columns: 1fr 1.3fr; gap: 10px 18px; margin: 18px 0; padding: 17px 19px; border: 1px solid #dceee5; border-radius: 12px; background: #f5fbf7; }
.formula-panel span { color: #74897e; font-size: 11px; }
.formula-panel strong { color: #28664f; font-size: 12px; }
.small-note { color: #85908a !important; font-size: 11px !important; }
.source-line { color: #8d9790 !important; font-size: 10px !important; }
.table-wrap { overflow-x: auto; margin: 15px 0; border: 1px solid #e9eeeb; border-radius: 10px; }
table { width: 100%; border-collapse: collapse; text-align: left; }
th, td { min-width: 130px; padding: 12px 14px; border-bottom: 1px solid #edf1ee; vertical-align: top; font-size: 11px; line-height: 1.65; }
th { color: #52635a; background: #f5f9f6; font-weight: 750; }
td { color: #707b84; }
tr:last-child td { border-bottom: 0; }
.faq-section details { border-bottom: 1px solid #edf1ee; }
.faq-section details:first-of-type { border-top: 1px solid #edf1ee; }
.faq-section summary { position: relative; padding: 15px 30px 15px 2px; color: #48545d; cursor: pointer; font-size: 12px; font-weight: 700; list-style: none; }
.faq-section summary::-webkit-details-marker { display: none; }
.faq-section summary::after { position: absolute; top: 13px; right: 4px; color: #5e9a7e; content: "+"; font-size: 17px; font-weight: 400; }
.faq-section details[open] summary::after { content: "−"; }
.faq-section details p { margin: 0; padding: 0 25px 15px 2px; color: #78838c; font-size: 11px; }
.article-cta { display: flex; margin-top: 18px; padding: 20px 23px; align-items: center; justify-content: space-between; gap: 15px; border: 1px solid #dceee5; border-radius: 14px; background: #f4faf6; }
.article-cta > div { display: flex; flex-direction: column; gap: 5px; }
.article-cta strong { color: #345d4b; font-size: 13px; }
.article-cta span { color: #829087; font-size: 10px; }
.button-link { display: inline-flex; flex: 0 0 auto; min-height: 40px; padding: 0 14px; align-items: center; justify-content: center; gap: 8px; border-radius: 9px; color: white; background: var(--green); text-decoration: none; font-size: 11px; font-weight: 700; }
.button-link:hover { background: var(--green-dark); }
.button-link span { color: inherit; font-size: 14px; }
.feature-icon { display: inline-grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; color: var(--green); background: var(--green-soft); font-size: 14px; font-weight: 800; }
.contact-card { padding: 18px; border: 1px solid #e7efea; border-radius: 12px; background: #fafcfb; }
.contact-card h2 { font-size: 16px; }
.launch-notice { display: flex; flex-direction: column; gap: 5px; margin: 0 0 15px; padding: 15px 18px; border: 1px solid #f1dfc1; border-radius: 12px; color: #85633c; background: #fff9ef; }
.launch-notice strong { font-size: 12px; }
.launch-notice span { font-size: 11px; line-height: 1.65; }
.policy-body { padding-top: 31px; }
.contact-details { display: grid; gap: 0; margin: 14px 0; padding: 5px 15px; border: 1px solid #e9eeeb; border-radius: 10px; background: #fcfdfc; }
.contact-details p { display: grid; grid-template-columns: 170px 1fr; gap: 10px; margin: 0; padding: 11px 0; border-bottom: 1px solid #edf1ee; font-size: 11px; }
.contact-details p:last-child { border-bottom: 0; }
.contact-details strong { color: #647169; }
.contact-details span { color: #78847d; }
.policy-bottom { margin-top: 16px; padding: 18px 20px; border: 1px solid #e7efea; border-radius: 12px; background: #f8fbf9; }
.policy-bottom strong { color: #416653; font-size: 12px; }
.policy-bottom p { margin: 6px 0 0; color: #7d8981; font-size: 11px; line-height: 1.7; }

.site-footer { border-top: 1px solid #e7ece9; background: rgba(255,255,255,.75); }
.footer-inner { display: grid; width: min(100% - 40px, 1080px); margin: 0 auto; padding: 25px 0 23px; grid-template-columns: 1fr auto; align-items: center; gap: 10px 24px; }
.footer-brand { font-size: 14px; }
.footer-brand .brand-mark { width: 28px; height: 28px; border-radius: 9px; }
.footer-brand .brand-mark svg { width: 16px; height: 16px; }
.footer-inner > div:first-child p { margin: 7px 0 0 37px; color: #929ba3; font-size: 10px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 18px; justify-content: flex-end; }
.footer-links a { color: #78847d; text-decoration: none; font-size: 10px; }
.footer-links a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.copyright { grid-column: 1 / -1; margin: 9px 0 0; padding-top: 13px; border-top: 1px solid #edf0ee; color: #a1a8ae; font-size: 9px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 700px) {
  .header-inner { width: calc(100% - 28px); gap: 12px; }
  .site-nav { gap: 1px; }
  .site-nav a { padding: 8px 8px; font-size: 10px; }
  .brand { gap: 7px; font-size: 15px; }
  .brand-mark { width: 30px; height: 30px; }
  .hero { margin-top: 38px; }
  .hero > p { max-width: 340px; margin: 0 auto; font-size: 13px; }
  .calculator-card { width: calc(100% - 24px); border-radius: 18px; }
  .card-bar { min-height: 53px; padding: 0 16px; }
  .conversation { padding: 22px 15px 25px; }
  .entry-panel, .assistant-response { margin-left: 0; }
  .entry-panel { margin-top: 16px; padding: 17px 14px; }
  .fields { gap: 10px; }
  .control { height: 46px; }
  .attendance { padding: 11px; }
  .privacy-note { font-size: 9px; }
  .assistant-response { margin-top: 22px; padding-top: 20px; }
  .response-top { align-items: flex-start; }
  .period-picker { margin-top: -4px; }
  .period-button { min-width: 36px; padding: 0 8px; }
  .result-bubble { padding: 18px 16px 15px; }
  .breakdown { gap: 10px; }
  .breakdown-item { align-items: flex-start; flex-direction: column; gap: 4px; }
  .response-actions { align-items: flex-start; }
  .legal-note { max-width: 72%; }
  .content-section { width: calc(100% - 28px); margin-top: 48px; }
  .three-columns { grid-template-columns: 1fr; }
  .info-card { padding: 17px; }
  .example-panel { align-items: flex-start; flex-direction: column; padding: 19px; }
  .example-total { text-align: left; }
  .article-page { width: calc(100% - 28px); margin-top: 21px; }
  .breadcrumbs { margin-bottom: 22px; }
  .article-header { margin-bottom: 24px; }
  .article-lead { font-size: 13px; }
  .article-body { padding: 27px 20px; }
  .article-body h2 { font-size: 17px; }
  .article-body p { font-size: 12px; }
  .two-columns { grid-template-columns: 1fr; }
  .formula-panel { grid-template-columns: 1fr; gap: 7px; }
  .formula-panel strong + span { margin-top: 7px; }
  .article-cta { align-items: flex-start; flex-direction: column; }
  .footer-inner { width: calc(100% - 28px); grid-template-columns: 1fr; }
  .footer-links { justify-content: flex-start; margin-top: 4px; }
  .copyright { grid-column: 1; }
}
@media (max-width: 420px) {
  .site-header { height: auto; min-height: 62px; }
  .header-inner { min-height: 62px; flex-wrap: wrap; padding: 10px 0; }
  .site-nav { width: 100%; justify-content: space-between; order: 2; }
  .site-nav a { padding: 7px 9px; }
  .hero { width: calc(100% - 26px); margin-top: 30px; }
  .calculator-card { width: calc(100% - 18px); }
  .conversation { padding-right: 11px; padding-left: 11px; }
  .entry-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .entry-hint { font-size: 9px; }
  .privacy-note { max-width: 145px; line-height: 1.45; }
  .response-label { font-size: 11px; }
  .period-button { min-width: 32px; padding: 0 6px; }
  .article-page { width: calc(100% - 20px); }
  .article-body { padding: 23px 16px; }
  .step-list li { grid-template-columns: 33px 1fr; padding: 12px 10px; }
  .contact-details p { grid-template-columns: 1fr; gap: 3px; }
  .legal-note { max-width: 68%; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
