/* v110 privacy policy. Scoped to the policy pages; shared site styles are unchanged. */
.km-privacy{
  --pp-ink:#182d44;--pp-copy:#344c63;--pp-muted:#4a627a;--pp-blue:#285384;
  width:calc(100% - 48px);max-width:1180px;margin:40px auto 36px;
  display:grid;grid-template-columns:252px minmax(0,1fr);gap:24px;align-items:start;
  color:var(--pp-copy);font:inherit;
}
.km-privacy *, .km-privacy *::before, .km-privacy *::after{box-sizing:border-box}
.km-privacy .km-privacy-toc{
  position:sticky;top:100px;min-width:0;padding:22px 18px;
  border:1px solid #dbe4ee;border-radius:22px;
  background:linear-gradient(145deg,#f7fafd,#fff);box-shadow:0 10px 28px #18293c0b;
  max-height:calc(100vh - 122px);overflow:auto;
}
.km-privacy .km-privacy-toc h2{
  margin:0 0 12px;color:var(--pp-ink);font-size:18px;font-weight:800;line-height:1.3;
}
.km-privacy .km-privacy-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.km-privacy .km-privacy-toc li{margin:0;padding:0}
.km-privacy .km-privacy-toc a{
  display:block;padding:8px 10px;border-radius:10px;color:var(--pp-blue)!important;
  font-size:13px;line-height:1.5;font-weight:650;text-decoration:none;
}
.km-privacy .km-privacy-toc a:hover{background:#eaf1f9}
.km-privacy .km-privacy-body{display:grid;gap:20px;min-width:0}
.km-privacy .km-privacy-section{
  position:relative;margin:0;padding:30px 32px;min-width:0;
  border:1px solid #dbe4ed;border-radius:24px;
  background:linear-gradient(145deg,#f9fbfd,#fff);box-shadow:0 12px 32px #18293c0c;
  scroll-margin-top:100px;
}
.km-privacy .km-privacy-section::before{
  content:"";position:absolute;left:0;top:25px;bottom:25px;width:3px;
  border-radius:3px;background:linear-gradient(#315f9d,#2f7f88);
}
.km-privacy .km-privacy-section h2{
  color:var(--pp-ink)!important;font-size:clamp(23px,2.1vw,29px)!important;
  font-weight:800;letter-spacing:-.025em;line-height:1.22!important;
  margin:0 0 18px!important;text-wrap:balance;overflow-wrap:break-word;
}
.km-privacy .km-privacy-section p{
  margin:0 0 16px;color:var(--pp-copy)!important;font-size:16px;
  line-height:1.75;max-width:100%;overflow-wrap:anywhere;
}
.km-privacy .km-privacy-section > p:last-child{margin-bottom:0}
.km-privacy .km-privacy-section strong{color:var(--pp-ink)!important;font-weight:750}
.km-privacy .km-privacy-section a,
.km-privacy .km-privacy-settings{
  color:var(--pp-blue)!important;text-decoration:underline;text-underline-offset:3px;
  overflow-wrap:anywhere;
}
.km-privacy .km-privacy-settings{
  display:inline;vertical-align:baseline;appearance:none;margin:0;padding:0;border:0;
  border-radius:0;background:none;font:inherit;font-weight:750;cursor:pointer;box-shadow:none;
}
.km-privacy a:focus-visible,.km-privacy button:focus-visible{
  outline:3px solid #315f9d;outline-offset:4px;
}
.km-privacy .km-privacy-section code{font:inherit;color:var(--pp-copy)}
.km-privacy .km-privacy-table-wrap{max-width:100%;margin:22px 0;border:1px solid #d8e3ee;border-radius:16px;overflow:hidden;background:#fff}
.km-privacy .km-privacy-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:0;font-size:15px;line-height:1.65}
.km-privacy .km-privacy-table th,.km-privacy .km-privacy-table td{
  padding:16px 18px;text-align:left;vertical-align:top;overflow-wrap:anywhere;
  border:0;border-bottom:1px solid #e1e8f0;color:var(--pp-copy)!important;
}
.km-privacy .km-privacy-table thead th{background:#edf3f9;font-weight:800;color:var(--pp-ink)!important}
.km-privacy .km-privacy-table thead th:first-child{width:36%}
.km-privacy .km-privacy-table tbody th{font-weight:700;color:var(--pp-ink)!important}
.km-privacy .km-privacy-table tr:nth-child(even){background:#f8fafc}
.km-privacy .km-privacy-table tr:last-child>*{border-bottom:0}
@media(max-width:1000px){
  .km-privacy{grid-template-columns:1fr;width:calc(100% - 36px);gap:20px;margin-top:28px}
  .km-privacy .km-privacy-toc{position:static;max-height:none;padding:22px}
  .km-privacy .km-privacy-toc ol{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
}
@media(max-width:600px){
  .km-privacy{width:calc(100% - 28px);gap:16px;margin:22px auto 28px}
  .km-privacy .km-privacy-toc{padding:20px 16px;border-radius:20px}
  .km-privacy .km-privacy-toc ol{grid-template-columns:1fr;gap:2px}
  .km-privacy .km-privacy-toc a{font-size:14px;padding:9px 8px}
  .km-privacy .km-privacy-body{gap:16px}
  .km-privacy .km-privacy-section{padding:23px 20px;border-radius:20px}
  .km-privacy .km-privacy-section h2{font-size:23px!important;line-height:1.25!important;margin-bottom:16px!important}
  .km-privacy .km-privacy-section p{font-size:16px;line-height:1.7}
  .km-privacy .km-privacy-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .km-privacy .km-privacy-table,.km-privacy .km-privacy-table tbody{display:block;width:100%}
  .km-privacy .km-privacy-table tr{display:block;border-bottom:1px solid #dce5ee}
  .km-privacy .km-privacy-table tr:last-child{border-bottom:0}
  .km-privacy .km-privacy-table th,.km-privacy .km-privacy-table td{display:block;width:100%;border:0;padding:0}
  .km-privacy .km-privacy-table tbody th{padding:16px 16px 6px;color:var(--pp-ink)!important}
  .km-privacy .km-privacy-table tbody td{padding:0 16px 18px;font-size:15px}
}
@media print{
  .km-privacy{display:block;width:100%;max-width:none;margin:0}
  .km-privacy .km-privacy-toc{display:none}
  .km-privacy .km-privacy-section{box-shadow:none;border:0;border-radius:0;padding:18px 0;margin:0;background:#fff}
  .km-privacy .km-privacy-section::before{display:none}
  .km-privacy .km-privacy-section h2{break-after:avoid}
  .km-privacy .km-privacy-table tr{break-inside:avoid}
}

/* Homepage recommendations use the shared section and card language. */
body main .advice-related[data-rotating-advice]{width:100%;max-width:1180px;margin:0 auto;box-sizing:border-box;padding:100px 0;}
body main .advice-related[data-rotating-advice] .advice-related-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;}
body main .advice-related[data-rotating-advice] .advice-related-head h2{font-family:inherit;font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.03em;color:var(--text,#183650);margin:0;}
body main .advice-related[data-rotating-advice] .advice-related-head>a{color:#284d73;font-size:14px;font-weight:600;padding:11px 16px;border:1px solid var(--line,#dce4ed);border-radius:12px;background:#fff;text-decoration:none;}
body main .advice-related[data-rotating-advice] .advice-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
body main .advice-related[data-rotating-advice] .advice-related-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--line,#dce4ed);border-radius:18px;background:var(--card,#fff);box-shadow:none;overflow:hidden;transform:none;text-decoration:none;transition:box-shadow .2s,border-color .2s;}
body main .advice-related[data-rotating-advice] .advice-related-card>img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;display:block;}
body main .advice-related[data-rotating-advice] .advice-related-card>div{padding:24px;flex:1;display:flex;align-items:center;justify-content:space-between;gap:16px;}
body main .advice-related[data-rotating-advice] .advice-related-card h3{font-family:inherit;font-size:21px;line-height:1.25;letter-spacing:-.015em;color:var(--text,#183650);margin:0;font-weight:600;}
body main .advice-related[data-rotating-advice] .advice-related-card:hover{transform:none;border-color:#b7c9db;box-shadow:inset 0 0 24px #4779aa0d;}
body main .advice-related[data-rotating-advice] a:focus-visible{outline:2px solid #284d73;outline-offset:4px;}
@media(max-width:1200px){body main .advice-related[data-rotating-advice]{padding:70px 24px;}}
@media(max-width:800px){body main .advice-related[data-rotating-advice]{padding-top:54px!important;padding-bottom:54px!important;}body main .advice-related[data-rotating-advice] .advice-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}}
@media(max-width:600px){body main .advice-related[data-rotating-advice]{padding:42px 12px!important;}body main .advice-related[data-rotating-advice] .advice-related-head{align-items:flex-start;flex-direction:column;gap:14px;}body main .advice-related[data-rotating-advice] .advice-related-grid{grid-template-columns:1fr;}body main .advice-related[data-rotating-advice] .advice-related-card>div{padding:22px;}body main .advice-related[data-rotating-advice] .advice-related-card>img{aspect-ratio:16/9;}}
@media(prefers-reduced-motion:reduce){body main .advice-related[data-rotating-advice] .advice-related-card{transition:none;}}

/* Shared page rhythm, scoped to top-level blocks rather than nested cards. */
body.km-spacing main{--km-section-space:40px;--km-block-gap:24px;--km-page-gutter:24px;}
body.km-spacing main > :is(section,aside,nav){box-sizing:border-box;min-width:0;}
body.km-spacing main > :is(section,aside,nav) + :is(section,aside,nav):not(.hero){margin-top:var(--km-block-gap)!important;}
body.km-spacing main > .section{padding-top:var(--km-section-space)!important;padding-bottom:var(--km-section-space)!important;}
body.km-spacing main > .advice-related[data-rotating-advice]{padding-top:var(--km-section-space)!important;padding-bottom:var(--km-section-space)!important;}
body.km-spacing main > .contact-section{padding-top:var(--km-section-space)!important;padding-bottom:var(--km-section-space)!important;}
body.km-spacing main > .v108-price-section{margin-bottom:0!important;}
body.km-spacing main > .section > :is(h2,.section-head):last-child{margin-bottom:0;}
body.km-spacing main > .section > .eyebrow{margin-bottom:12px;}
body.km-spacing main > .section > .eyebrow + h2{margin-top:0!important;}
body.km-spacing main > .section > h2 + :is(.faq-list,.article-grid,.service-grid){margin-top:24px;}
body.km-spacing main > .advice-related .advice-related-head{margin-bottom:24px!important;}
@media(max-width:1230px){
 body.km-spacing main > :is(.section,.advice-related){max-width:100%;padding-left:var(--km-page-gutter)!important;padding-right:var(--km-page-gutter)!important;}
 body.km-spacing main > .v108-price-section{width:calc(100% - 2 * var(--km-page-gutter));margin-left:auto!important;margin-right:auto!important;}
}
@media(max-width:800px){body.km-spacing main{--km-section-space:32px;--km-block-gap:20px;--km-page-gutter:20px;}}
@media(max-width:600px){
 body.km-spacing main{--km-section-space:24px;--km-block-gap:16px;--km-page-gutter:12px;}
 body.km-spacing main > .section > h2 + :is(.faq-list,.article-grid,.service-grid){margin-top:20px;}
 body.km-spacing main > .advice-related .advice-related-head{margin-bottom:20px!important;}
}

/* Breadcrumbs and hero form one continuous top area. */
body.km-spacing main > .breadcrumbs{margin-bottom:0!important;}
body.km-spacing main > .breadcrumbs + .hero{margin-top:0!important;}

/* Advice typography matches the customer trust section. */
body main .advice-related[data-rotating-advice] .advice-heading-copy{min-width:0;}
body main .advice-related[data-rotating-advice] .advice-heading-copy .eyebrow{display:inline-flex;align-items:center;min-height:28px;box-sizing:border-box;padding:6px 11px;border:1px solid rgba(49,95,157,.12);border-radius:999px;background:var(--km-primary-soft,#edf3f9);color:#284f82!important;font-family:inherit!important;font-size:12px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.035em;box-shadow:inset 0 1px 0 rgba(255,255,255,.65);margin:0;}
body main .advice-related[data-rotating-advice] .advice-heading-copy h2{font-family:inherit!important;font-size:clamp(32px,3.7vw,48px)!important;font-weight:800!important;line-height:1.12!important;letter-spacing:-.04em!important;color:#172e46!important;margin:20px 0 18px!important;text-wrap:balance;max-width:660px;}
body main .advice-related[data-rotating-advice] .advice-related-head{align-items:center;}
@media(max-width:600px){body main .advice-related[data-rotating-advice] .advice-heading-copy h2{font-size:32px!important;}body main .advice-related[data-rotating-advice] .advice-related-head{align-items:flex-start;}}
