/* Compact estimate and mobile reading layout. Pricing and service copy stay intact. */
body.sns-direct-comp .sns-comp-simulator {
  max-width:840px; margin-inline:auto; padding:20px 24px; border-radius:4px;
}
body.sns-direct-comp .sns-comp-simulator__head {
  max-width:none; display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 18px; margin-bottom:14px;
}
body.sns-direct-comp .sns-comp-simulator__head h4 { font-size:1.1rem; margin:0; }
body.sns-direct-comp .sns-comp-simulator__controls { gap:12px 16px; }
body.sns-direct-comp .sns-comp-simulator__field { min-width:0; gap:5px; }
body.sns-direct-comp .sns-comp-simulator__field select,
body.sns-direct-comp .sns-comp-simulator__field input {
  min-width:0; min-height:44px; padding:8px 10px; border-radius:3px; font-size:16px; font-weight:400;
}
body.sns-direct-comp .sns-comp-simulator__inputs { gap:10px 16px; }
body.sns-direct-comp .sns-comp-simulator__basis {
  grid-column:1 / -1; margin:0; font-size:.75rem; line-height:1.6; color:var(--comp-muted);
}
body.sns-direct-comp .sns-comp-simulator__result {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start;
  padding:12px 14px; gap:12px; border-radius:3px;
}
body.sns-direct-comp .sns-comp-simulator__result > div { min-width:0; }
body.sns-direct-comp .sns-comp-simulator__result > div + div {
  border-inline-start:1px solid var(--comp-line); padding-inline-start:12px;
}
body.sns-direct-comp .sns-comp-simulator__result strong { font-size:1.35rem; overflow-wrap:anywhere; }
body.sns-direct-comp .sns-comp-simulator__result > p { grid-column:1 / -1; margin-top:0; }
body.sns-direct-comp .sns-comp-simulator__result-label { font-size:.72rem; }
@media(min-width:721px) {
  body.sns-direct-comp #sns-comp-simulator-a { grid-column:auto; }
}
body.sns-direct-comp .sns-comp-simulator__note { margin-top:10px; }
body.sns-direct-comp .sns-comp-cooperation-item { min-width:0; border-top:1px solid #d5c2ad; padding:16px 0; }
body.sns-direct-comp .sns-comp-cooperation-item summary {
  display:flex; align-items:baseline; gap:12px; list-style:none; cursor:pointer;
}
body.sns-direct-comp .sns-comp-cooperation-item summary::-webkit-details-marker { display:none; }
body.sns-direct-comp .sns-comp-cooperation-item summary > span { color:#ba5c47; font:700 .75rem/1 'DM Sans',sans-serif; }
body.sns-direct-comp .sns-comp-cooperation-item summary::after { content:'＋'; margin-left:auto; flex-shrink:0; color:#ba5c47; }
body.sns-direct-comp .sns-comp-cooperation-item[open] summary::after { content:'−'; }
body.sns-direct-comp .sns-comp-cooperation-item h3 { margin:0; font-size:1rem; line-height:1.6; }
body.sns-direct-comp .sns-comp-cooperation-item p { margin:10px 0 0 29px; color:var(--comp-muted); font-size:.84rem; line-height:1.8; }
body.sns-direct-comp .sns-comp-cooperation-item summary:focus-visible { outline:2px solid #ba5c47; outline-offset:4px; }
@media(max-width:720px) {
  body.sns-direct-comp .sns-comp-shell { width:calc(100% - 32px); }
  body.sns-direct-comp .sns-comp-section { padding:30px 0; }
  body.sns-direct-comp .sns-comp-title { font-size:clamp(1.3rem,5.5vw,1.55rem); line-height:1.5; }
  body.sns-direct-comp .sns-comp-eyebrow { margin-bottom:7px; }
  body.sns-direct-comp .sns-comp-title + p { margin-top:9px; font-size:.875rem; line-height:1.75; }
  body.sns-direct-comp .sns-comp-hero { padding:24px 0; }
  body.sns-direct-comp .sns-comp-hero__grid { gap:12px; }
  body.sns-direct-comp .sns-comp-hero__badges { margin-bottom:12px; }
  body.sns-direct-comp .sns-comp-hero h1 { font-size:clamp(1.55rem,6.6vw,1.9rem); line-height:1.5; margin-bottom:12px; }
  body.sns-direct-comp .sns-comp-hero__lead { font-size:.875rem; line-height:1.8; margin-bottom:16px; }
  body.sns-direct-comp .sns-comp-hero__visual { flex-direction:row; gap:16px; padding:0; }
  body.sns-direct-comp .sns-comp-hero__visual img { width:96px; max-height:96px; }
  body.sns-direct-comp .sns-comp-hero__note { padding:0; text-align:left; }
  body.sns-direct-comp .sns-comp-hero__note b { display:block; margin:0 0 4px; }
  body.sns-direct-comp .sns-comp-hero__note small { display:block; }
  body.sns-direct-comp .sns-comp-fit__grid { gap:16px; }
  body.sns-direct-comp .sns-comp-fit__intro .sns-comp-title br { display:none; }
  body.sns-direct-comp .sns-comp-checks { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.sns-direct-comp .sns-comp-checks p { padding:12px 8px 12px 17px; font-size:.8rem; line-height:1.65; }
  body.sns-direct-comp .sns-comp-checks p::before { top:13px; left:0; }
  body.sns-direct-comp .sns-comp-model { padding:30px 0; }
  body.sns-direct-comp .sns-comp-model__head,
  body.sns-direct-comp .sns-comp-scope__head,
  body.sns-direct-comp .sns-comp-cooperation__head,
  body.sns-direct-comp .sns-comp-timeline__head,
  body.sns-direct-comp .sns-comp-terms__head { margin-bottom:16px; gap:9px; }
  body.sns-direct-comp .sns-comp-route { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.sns-direct-comp .sns-comp-route article,
  body.sns-direct-comp .sns-comp-route article:last-child { padding:13px 8px; }
  body.sns-direct-comp .sns-comp-route article + article { border-top:0; border-left:1px solid #dccbb9; }
  body.sns-direct-comp .sns-comp-route span { margin-bottom:7px; font-size:.7rem; }
  body.sns-direct-comp .sns-comp-route h3 { font-size:.86rem; margin:0 0 6px; }
  body.sns-direct-comp .sns-comp-route p { font-size:.77rem; line-height:1.6; }
  body.sns-direct-comp .sns-comp-fee-intro { margin-top:22px; padding-bottom:14px; }
  body.sns-direct-comp .sns-comp-fee-intro h3 { font-size:1.08rem; }
  body.sns-direct-comp .sns-comp-fee-models { gap:12px; }
  body.sns-direct-comp .sns-comp-fee-models article,
  body.sns-direct-comp .sns-comp-fee-models article.is-primary,
  body.sns-direct-comp .sns-comp-fee-models article + article { padding:15px; }
  body.sns-direct-comp .sns-comp-fee-models h3 { font-size:.9rem; line-height:1.65; }
  body.sns-direct-comp .sns-comp-fee-rates { margin:10px 0; }
  body.sns-direct-comp .sns-comp-fee-rates > div { padding:8px; gap:4px; }
  body.sns-direct-comp .sns-comp-fee-rates strong { font-size:1.3rem; }
  body.sns-direct-comp .sns-comp-period-explainer { margin:12px 0; line-height:1.75; }
  body.sns-direct-comp .sns-comp-fee-examples { margin:0; padding:4px 0 0; }
  body.sns-direct-comp .sns-comp-simulator { padding:16px 12px; }
  body.sns-direct-comp .sns-comp-simulator__head { display:block; margin-bottom:12px; }
  body.sns-direct-comp .sns-comp-simulator__head h4 { font-size:1.05rem; margin-bottom:3px; }
  body.sns-direct-comp .sns-comp-simulator__controls,
  body.sns-direct-comp .sns-comp-simulator__inputs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  body.sns-direct-comp .sns-comp-simulator__field { font-size:.75rem; }
  body.sns-direct-comp .sns-comp-simulator__field select { padding:8px 5px; letter-spacing:-.025em; }
  body.sns-direct-comp .sns-comp-simulator__result { padding:10px; gap:8px; }
  body.sns-direct-comp .sns-comp-simulator__result strong { font-size:1.25rem; }
  body.sns-direct-comp .sns-comp-simulator__result p { font-size:.72rem; line-height:1.55; }
  body.sns-direct-comp .sns-comp-simulator__controls > label,
  body.sns-direct-comp #sns-comp-simulator-a { grid-column:1 / -1; }
  body.sns-direct-comp .sns-comp-scope__grid { gap:20px; }
  body.sns-direct-comp .sns-comp-included,
  body.sns-direct-comp .sns-comp-option { padding-top:14px; }
  body.sns-direct-comp .sns-comp-scope h3 { margin-bottom:12px; }
  body.sns-direct-comp .sns-comp-included ul { columns:2; column-gap:18px; }
  body.sns-direct-comp .sns-comp-included li { break-inside:avoid; font-size:.82rem; line-height:1.7; margin-bottom:8px; }
  body.sns-direct-comp .sns-comp-option ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; }
  body.sns-direct-comp .sns-comp-option li { margin:0; font-size:.82rem; line-height:1.7; }
  body.sns-direct-comp .sns-comp-cooperation__grid { gap:0; }
  body.sns-direct-comp .sns-comp-cooperation-item { padding:0; }
  body.sns-direct-comp .sns-comp-cooperation-item summary { align-items:center; padding:13px 0; min-height:48px; gap:10px; }
  body.sns-direct-comp .sns-comp-cooperation-item h3 { font-size:.875rem; }
  body.sns-direct-comp .sns-comp-cooperation-item p { margin:0 0 16px 27px; }
  body.sns-direct-comp .sns-comp-timeline__track::before,
  body.sns-direct-comp .sns-comp-timeline article::before { display:none; }
  body.sns-direct-comp .sns-comp-timeline article { display:grid; grid-template-columns:84px minmax(0,1fr); gap:5px 12px; padding:14px 0; border-top:1px solid #dccbb9; }
  body.sns-direct-comp .sns-comp-timeline article > span { grid-row:1 / 3; padding-top:4px; font-size:.7rem; letter-spacing:0; }
  body.sns-direct-comp .sns-comp-timeline h3 { margin:0; font-size:.9rem; }
  body.sns-direct-comp .sns-comp-timeline article p { grid-column:2; font-size:.82rem; }
  body.sns-direct-comp .sns-comp-after-six { margin-top:12px; padding:12px 0; gap:8px; }
  body.sns-direct-comp .sns-comp-terms__grid { gap:0; }
  body.sns-direct-comp .sns-comp-terms__grid article { display:grid; grid-template-columns:24px 72px minmax(0,1fr); gap:8px; padding:13px 0; align-items:baseline; }
  body.sns-direct-comp .sns-comp-terms__grid span,
  body.sns-direct-comp .sns-comp-terms__grid h3,
  body.sns-direct-comp .sns-comp-terms__grid p { margin:0; }
  body.sns-direct-comp .sns-comp-terms__grid h3 { font-size:.84rem; }
  body.sns-direct-comp .sns-comp-terms__grid p { font-size:.82rem; line-height:1.75; }
  body.sns-direct-comp .sns-comp-terms__notes { margin-top:14px; padding:12px 0; }
  body.sns-direct-comp .sns-comp-bridge { padding:24px 0; }
  body.sns-direct-comp .sns-comp-bridge__box { gap:14px; }
  body.sns-direct-comp .sns-comp-bridge h2 { font-size:1.3rem; }
  body.sns-direct-comp .sns-comp-faq__grid { gap:14px; }
  body.sns-direct-comp .sns-comp-faq summary { padding:14px 30px 14px 0; }
  body.sns-direct-comp .sns-comp-faq summary::after { top:12px; }
  body.sns-direct-comp .sns-comp-cta { padding:30px 0; }
  body.sns-direct-comp .sns-comp-cta h2 { font-size:1.35rem; line-height:1.5; }
  body.sns-direct-comp .sns-comp-cta p { margin-bottom:16px; }
  body.sns-direct-comp .sns-comp-nextsteps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; margin-bottom:18px; }
  body.sns-direct-comp .sns-comp-nextsteps > i { display:none; }
  body.sns-direct-comp .sns-comp-nextsteps article { padding:12px 0; gap:5px; min-height:48px; }
  body.sns-direct-comp .sns-comp-nextsteps article span { flex:0 0 20px; }
}

