/* Search and spacing adjustments requested during local review. */
.compare-controls{display:grid;grid-template-columns:minmax(0,1fr) 420px;align-items:end;gap:24px 32px}
.compare-tabs{flex:1 1 auto}
.compare-search{display:block;width:100%;max-width:none;min-width:0;margin:0}
.compare-search-label{display:block;font-size:11px;color:#5d7168}
.compare-search-field{position:relative;display:block;margin-top:8px}
.compare-search .compare-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:19px;height:19px;color:#52766c;pointer-events:none}
.compare-search input{display:block;width:100%;min-height:50px;margin:0;padding:12px 38px 12px 46px;border:1px solid #bacfc0;background:#fff;font-size:14px;line-height:1.6}
.compare-search-field:focus-within .compare-search-icon{color:#276b65}
.article-sidebar .sidebar-box{border-top-color:#276b65}
.checklist label{padding-inline:16px}
@media(max-width:1000px){.compare-controls{grid-template-columns:minmax(0,1fr);gap:22px}.compare-search{width:100%;max-width:none}.compare-search input{font-size:16px}}
@media(max-width:580px){.checklist label{padding-inline:14px}}

/* Policy contents: clear section numbers and generous tap targets. */
.policy-document .toc{background:#fff;border:1px solid #d4e0d9;border-top:3px solid #276b65;padding:28px 30px 18px;margin:34px 0 46px}
.policy-document .toc>strong{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;color:#163541;letter-spacing:.06em}
.policy-document .toc>strong:before{content:"";width:17px;height:14px;background:repeating-linear-gradient(to bottom,#276b65 0 2px,transparent 2px 6px);flex:none}
.policy-document .toc ol{list-style:none;counter-reset:policy-section;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding:0;margin:18px 0 0}
.policy-document .toc li{counter-increment:policy-section;margin:0;border-bottom:1px solid #e3ebe6;font-size:12px;line-height:1.7}
.policy-document .toc a{display:grid;grid-template-columns:29px minmax(0,1fr) 12px;align-items:center;gap:10px;min-height:52px;padding:9px 0;color:#405b55;text-decoration:none}
.policy-document .toc a:before{content:counter(policy-section,decimal-leading-zero);display:grid;place-items:center;width:27px;height:27px;background:#eef4f0;color:#276b65;font-size:10px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.policy-document .toc a:after{content:"↓";font-size:13px;color:#7b9487}
.policy-document .toc a:hover{color:#163541;background:#f5f8f5}
.policy-document .toc a:focus-visible{outline:2px solid #276b65;outline-offset:3px}
@media(max-width:580px){.policy-document .toc{padding:22px 20px 13px;margin:28px 0 34px}.policy-document .toc ol{grid-template-columns:1fr;gap:0}.policy-document .toc a{min-height:48px;gap:10px}}

/* Three-column reading cards and clearer price typography. */
.article-cards,.home-articles .article-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.article-card h3,.home-articles .article-card h3{font-size:20px;line-height:1.65}
.article-card-body,.home-articles .article-card-body{padding:22px 22px 20px}
.home-comparison-table .home-fee{display:inline-flex;align-items:baseline;gap:2px;white-space:nowrap}
.home-comparison-table .home-fee-number{font-size:28px;font-weight:500;line-height:1.3;font-variant-numeric:tabular-nums}
.home-comparison-table .home-fee-unit{font-size:13px;line-height:1.4}
@media(min-width:801px){.office-compare th:nth-child(3){width:19%}.office-compare th:nth-child(4){width:14%}.office-compare td:nth-child(3){text-wrap:pretty}}
@media(max-width:1000px){.article-cards,.home-articles .article-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media(max-width:580px){.article-cards,.home-articles .article-cards{grid-template-columns:minmax(0,1fr);gap:24px}.article-card h3,.home-articles .article-card h3{font-size:21px;line-height:1.7}.home-comparison-table .home-fee-number{font-size:26px}.home-comparison-table .home-fee-unit{font-size:12px}}

.compare-order-controls{display:grid;grid-template-columns:minmax(230px,280px) minmax(180px,230px) 1fr;gap:18px 24px;align-items:end;margin-top:24px}
.compare-order-controls label{display:block;font-size:11px;color:#5d7168}
.compare-order-controls select{display:block;width:100%;min-height:46px;border:1px solid #bacfc0;background:#fff;color:#163541;padding:10px 30px 10px 12px;font:inherit;font-size:13px;margin-top:7px;border-radius:0}
.compare-order-controls p{font-size:10px;line-height:1.9;color:#667d70;margin:0 0 3px}
.table-sort-button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;line-height:1.8}
.table-sort-button span{font-size:13px;color:#276b65}
.table-sort-button:disabled{cursor:not-allowed;color:#63776b}
.table-sort-button:disabled span{color:#9caea2}
@media(max-width:800px){.compare-order-controls{grid-template-columns:1fr 1fr;gap:16px}.compare-order-controls p{grid-column:1/-1}.compare-order-controls select{font-size:16px}}
@media(max-width:580px){.compare-order-controls{grid-template-columns:1fr;gap:14px}}

/* An unchecked item still hints at its action; checked state remains explicit. */
.checklist input::before{content:'✓';color:#c7d7ce;font-size:15px;line-height:1}
.checklist input:checked::before{color:#fff}

/* Estimate consultation questions and calculation example. */
.estimate-faq{display:grid;gap:14px;margin:28px 0 56px}
.estimate-faq details{border:1px solid var(--line,#d6e0da);background:#fff}
.estimate-faq summary{display:flex;align-items:center;gap:16px;padding:22px 24px;cursor:pointer;list-style:none;font-weight:600;line-height:1.8;color:#163541}
.estimate-faq summary::-webkit-details-marker{display:none}
.estimate-faq summary:focus-visible{outline:2px solid #276b65;outline-offset:3px}
.estimate-faq .faq-mark{display:grid;place-items:center;flex:0 0 30px;height:30px;background:#edf4ef;color:#276b65;font:600 19px Georgia,serif}
.estimate-faq .faq-toggle{flex:0 0 14px;height:14px;margin-left:auto;position:relative;color:#276b65}
.estimate-faq .faq-toggle::before,.estimate-faq .faq-toggle::after{content:'';position:absolute;left:0;top:6px;width:14px;height:1px;background:currentColor}
.estimate-faq .faq-toggle::after{transform:rotate(90deg);transition:transform .2s}
.estimate-faq details[open] .faq-toggle::after{transform:rotate(0)}
.estimate-faq details[open] summary{background:#f5f8f5;border-bottom:1px solid #d6e0da}
.estimate-faq .faq-answer{margin:0 24px 0 70px;padding:20px 0 24px;border-top:0}
.estimate-faq .faq-answer-label{font-size:11px;font-weight:600;letter-spacing:.12em;color:#276b65}
.estimate-faq .faq-answer p{margin:10px 0 0;font-size:14px;line-height:2;color:#53666a}
.calculation-label{display:flex;align-items:center;gap:10px}
.calculation-label::before{content:'';flex:0 0 23px;width:23px;height:26px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cg fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='1.5' width='18' height='25' rx='2'/%3E%3Cpath d='M7 6h10v5H7zM7 16h2m6 0h2M7 21h2m6 0h2'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:600px){.estimate-faq summary{padding:18px 16px;gap:12px;font-size:14px}.estimate-faq .faq-answer{margin:0 16px 0 58px;padding:16px 0 20px}}
@media print{.estimate-faq .faq-answer{display:block}.estimate-faq details::details-content{content-visibility:visible;display:block}}
