/* Dedicated quote layout: keep the reading width of editorial pages unchanged. */
.quote-page { --text-2:#bac0c8; }
.quote-page .qf input::placeholder,.quote-page .qf textarea::placeholder { color:#98a2b0; opacity:1; }
.quote-page .qf .cf__go { color:#10182e; font-weight:700; }
.quote-page .prose { max-width:none; }
.quote-page .hero { padding-bottom:16px; }
.quote-page .hero h1 { max-width:24ch; font-size:clamp(30px,3.6vw,48px); line-height:1.2; word-break:keep-all; overflow-wrap:anywhere; }
.quote-page .quote-lead { max-width:720px; margin:0 0 32px; font-size:18px; line-height:1.7; color:var(--text-2); }
.quote-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; align-items:start; }
.quote-page .qf { max-width:none; margin:0; padding:28px; background:var(--surface); border:1px solid var(--line-hover); border-radius:20px; }
.quote-page .qf__sec + .qf__sec { margin-top:32px; padding-top:28px; }
.quote-page .qf__sec-h { margin:0 0 24px; gap:12px; align-items:center; }
.quote-page .qf__sec-h b { display:flex; align-items:center; gap:12px; font-size:21px; line-height:1.4; }
.quote-page .qf .qf__required { display:inline-block; margin-inline-start:6px; font-size:12px; font-weight:500; color:var(--text-2); vertical-align:middle; }
.quote-page .qf__sec-h .qf__number { display:inline-grid; place-items:center; width:32px; height:32px; flex-shrink:0; border-radius:50%; background:var(--accent-tint); color:var(--accent); font:600 13px/1 var(--mono); letter-spacing:0; }
.quote-page .qf .field > label:not(.qf__chip),.quote-page .qf legend { font-size:16px; font-weight:600; margin-bottom:10px; }
.quote-page .qf input:not([type=checkbox]),.quote-page .qf select,.quote-page .qf textarea { border-color:var(--line-hover); border-radius:10px; font-size:16px; }
.quote-page .qf textarea { min-height:112px; }
.quote-page .qf .field__why { font-size:14px; color:var(--text-2); line-height:1.6; margin:10px 0 0; padding:0; border:0; }
.quote-page .qf__chips { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:8px; }
.quote-page .qf .qf__chip { display:flex; align-items:center; gap:9px; margin:0; padding:11px 12px; min-height:46px; font-size:15px; line-height:1.4; border-radius:9px; color:var(--text); overflow-wrap:anywhere; }
.quote-page .qf__chip input,.quote-page .cf__agree { width:18px; height:18px; accent-color:var(--accent); }
.quote-page .qf__row { gap:20px; margin-bottom:20px; }
.quote-page .qf__row .field + .field { margin-top:0; }
.qf__optional { margin-top:28px; border:1px solid var(--line-hover); border-radius:12px; }
.qf__optional summary { cursor:pointer; padding:18px; min-height:60px; color:var(--text); }
.qf__optional summary b { font-size:16px; }
.qf__optional summary > span { font-size:13px; color:var(--text-2); margin-left:10px; }
.qf__optional summary small { display:block; margin:7px 0 0 19px; font-size:14px; color:var(--text-2); }
.qf__optional summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:12px; }
.qf__optional-body { padding:8px 18px 22px; }
.quote-page .qf .cf__consent { font-size:14px; line-height:1.7; gap:12px; color:var(--text-2); }
.quote-page .qf__go-row { display:grid; gap:14px; }
.quote-page .qf .cf__go { width:100%; min-height:54px; font-size:17px; }
.quote-page .qf__promise { font-size:14px; line-height:1.6; color:var(--text-2); }
.quote-page .cf__status { font-size:16px; padding:16px; border-radius:10px; border:1px solid currentColor; }
.quote-page .cf__status:empty { display:none; }
.quote-page .qf [aria-invalid=true] { border-color:var(--danger,#ef9999); }
.quote-page .qf .qf__error { color:var(--danger,#ef9999); font-size:14px; margin:8px 0 0; }
.quote-page .quote-aside { border-left:3px solid var(--accent); padding:4px 0 4px 24px; }
.quote-page .quote-aside__label { color:var(--accent); font-size:14px; margin:0; }
.quote-page .quote-aside h2 { font-size:24px; line-height:1.5; margin:12px 0 22px; }
.quote-page .quote-aside p,.quote-page .quote-aside li { font-size:16px; line-height:1.75; }
.quote-page .quote-aside ol { gap:16px; padding-left:22px; margin:0 0 24px; }
.quote-aside a { display:inline-block; margin-top:16px; padding:8px 0; }
.quote-guide { display:grid; gap:28px; margin-top:64px; padding-top:32px; border-top:1px solid var(--line-hover); }
.quote-guide article { min-width:0; }
.quote-page .quote-guide h2 { margin-top:0; scroll-margin-top:100px; }
.quote-page .quote-guide p,.quote-page .quote-guide li { font-size:16px; line-height:1.85; }
@media(min-width:900px) { .quote-layout { grid-template-columns:minmax(0,720px) minmax(260px,1fr); gap:48px; } .quote-aside { position:sticky; top:112px; } .quote-guide { grid-template-columns:1fr 1fr; gap:36px 60px; } }

@media(max-width:559px) { .quote-page .qf { padding:22px 16px; border-radius:14px; } .quote-page .quote-lead { font-size:16px; } .quote-page .qf__sec-h b { font-size:19px; } .quote-page .qf__sec-h { align-items:flex-start; } .quote-guide { margin-top:36px; } }

/* Keep the inquiry form unobscured; header navigation remains available. */
.quote-page ~ .tabbar,.quote-page ~ .tabbar-spacer { display:none; }
.quote-page .qf :is(input,select,textarea,button) { scroll-margin-block:110px 24px; }
