/* Clearer reading frames; the approved wordmark and commercial copy stay intact. */
:root { --reading-rule:#d7d9d4; --reading-calm:#f3f1ea; }
main :is(.service-overview,.about-content,.privacy-note) > p { max-width:76ch; }
main :is(.card-subtitle,.card-scope,.card-features,.offer-description,.offer-details > p,.offer-columns p,.offer-columns ul,.knowledge-answer p) { max-width:76ch; }
main :is(.package-card,.specialist-card,.service-link,.offer-details,.knowledge-card,.brief-form) { border-color:var(--reading-rule); box-shadow:none; }
main :is(.package-card,.specialist-card,.service-link,.offer-details,.knowledge-card) { background-color:#fffdf9d9; }
main :is(.card-body,.specialist-card,.offer-details) { padding:clamp(23px,2.5vw,32px); }
main :is(.package-card h3,.specialist-card h3,.offering-title,.knowledge-card h2,.knowledge-card h3) { line-height:1.55; }
main :is(.card-subtitle,.card-scope,.offer-description,.summary-scope,.knowledge-card-copy > p) { line-height:1.95; }
main :is(.card-features li,.offer-columns li,.preparation-preview li,.source-full) { line-height:1.95; }
main .card-subtitle { margin-top:16px; margin-bottom:19px; }
main .card-scope { margin-top:17px; }
main .card-features { margin-block:17px 23px; }
main .card-price { margin-block:18px 20px; }
main :is(.card-buttons,.card-metrics) { gap:12px 18px; }
main .card-brief { border-top-color:var(--reading-rule); background:transparent; }
main .offer-facts { border-block-color:var(--reading-rule); background:transparent; gap:24px 32px; margin-block:27px 31px; padding-block:23px; }
main .offer-facts dt { margin-bottom:7px; font-size:15px; line-height:1.9; }
main .offer-facts dd { font-size:20px; line-height:1.85; }
main .offer-columns { gap:29px 39px; }
main .offer-columns > section { border:0; background:transparent; box-shadow:none; padding:0; }
main .offer-columns h4 { margin-bottom:12px; font-size:18px; line-height:1.8; }
main .offer-columns :is(p,li) { font-size:17px; }
main .offer-details .utility-actions { border-top-color:var(--reading-rule); margin-top:29px; padding-top:24px; gap:15px 21px; }
main :is(.brief-aside,.selected-summary,.send-note,.knowledge-takeaway,.confidence-next) { border:0; box-shadow:none; background:var(--reading-calm); }
main .brief-aside { padding:26px 24px; }
main .brief-form { background:#fffdfa; padding:clamp(23px,3vw,39px); }
main .selected-summary { padding:22px 24px; border-left:3px solid #bbc9cf; }
main .summary-row { gap:19px; margin-top:14px; line-height:1.95; }
main .summary-scope { border:0; margin-top:15px; padding-top:0; }
main .needs-box { border-top-color:var(--reading-rule); margin-top:27px; padding-top:22px; }
main .send-note { margin-top:25px; padding:21px 23px; }
main .form-actions { border-top-color:var(--reading-rule); padding-top:24px; gap:16px; }
main .saved-packages-controls { border:0; border-block:1px solid var(--reading-rule); border-radius:0; background:transparent; box-shadow:none; padding:25px 0; }
main .saved-packages-controls .form-intro { margin-block:12px 18px; }
main .saved-packages-controls .needs-box { border:0; margin-top:17px; padding-top:0; padding-left:21px; }
main .saved-packages-controls li + li { margin-top:14px; }
main .knowledge-question { background:transparent; border-color:var(--reading-rule); }
main .knowledge-question[open] summary { background:#e9ece94d; }
main .knowledge-answer { line-height:1.95; }
main .knowledge-takeaway { padding:27px 30px; border-left:3px solid #bbc9cf; }
main .knowledge-article-detail,main .knowledge-article-opening { box-shadow:0 8px 23px #4b534409; }
main .knowledge-card-copy { padding:25px; }
main .knowledge-card-copy > p:not(.knowledge-reading-time) { margin-top:16px; margin-bottom:24px; }
main :is(.confidence-benefit,.confidence-intro) { box-shadow:none; border-color:var(--reading-rule); }
main .confidence-benefit { background:#fffdf9bf; }
main .confidence-benefit .benefit-index { border:0; background:transparent; padding-inline:0; min-width:0; }
main .confidence-next { padding:27px 29px; }
.comparison-scroll { border:0; border-block:1px solid var(--reading-rule); border-radius:0; }
.comparison-table :is(th,td) { border-right:0; border-bottom-color:var(--reading-rule); padding:17px 18px; font-size:16px; line-height:1.95; }
.comparison-table th:first-child { font-size:15px; line-height:1.95; background:#eeeee6; color:#455c69; }
.comparison-table thead th { background:#e5e9e5; line-height:1.85; }
.comparison-table thead th:first-child { background:#dfe5df; }
dialog :is(.detail-section,.detail-columns > div) { border:0; background:transparent; box-shadow:none; }
dialog .detail-metrics { border-block-color:var(--reading-rule); gap:25px; padding-block:24px; }
dialog .detail-section { margin-top:27px; }
dialog .detail-section :is(p,li) { max-width:75ch; line-height:1.95; }
dialog .detail-section h3 { margin-bottom:12px; line-height:1.8; }
html:is([lang="th"],[lang="my"]) main :is(.card-subtitle,.card-scope,.card-features li,.offer-description,.offer-columns p,.offer-columns li,.knowledge-answer p,.knowledge-prose-section p,.knowledge-prose-section li,.summary-row,.check-row,.send-note) { line-height:2.05; }
html[lang="my"] main :is(.package-card h3,.specialist-card h3,.offering-title,.knowledge-question summary,.offer-columns h4) { line-height:1.95; letter-spacing:0; }
main h1[tabindex="-1"]:focus-visible { outline:2px solid #718da1; outline-offset:7px; }

/* Equal gutters keep reading frames centered. The transparent floating arrow
   is deliberately light, with a full touch target and visible keyboard focus. */
.reading-back-top { display:none; }
@media(max-width:1100px), (max-width:1366px) and (pointer:coarse) {
 :root { --reading-gutter:clamp(16px,4vw,44px); }
 main .shell { width:min(1280px,calc(100% - 2 * var(--reading-gutter))); margin-inline:auto; }
 .reading-back-top { position:fixed; z-index:22; top:50%; right:env(safe-area-inset-right,0px); transform:translateY(-50%); display:grid; place-items:center; width:48px; height:48px; min-width:48px; min-height:48px; padding:0; border:0; border-radius:50%; color:#24415b; background:transparent; box-shadow:none; opacity:.60; font-family:Arial,sans-serif; font-size:30px; font-weight:400; line-height:1; cursor:pointer; touch-action:manipulation; transition:opacity .16s; }
 .reading-back-top > span { display:block; transform:translateY(-1px); }
 .reading-back-top:is(:hover,:focus-visible,:active) { opacity:1; color:#294a69; background:transparent; }
 .reading-back-top:focus-visible { outline:3px solid #6d8aa1; outline-offset:3px; }
 .reading-back-top[hidden],body:has(dialog[open]) .reading-back-top { display:none!important; }
 main .service-story { gap:30px; }
 main .offer-columns { column-gap:29px; }
 main :is(.hero-board,.service-hero-visual,.story-visual) { max-width:100%; }
}
@media(max-width:900px) {
 main .offer-columns { grid-template-columns:1fr; gap:27px; }
 main .confidence-layout { grid-template-columns:1fr; }
 main .confidence-intro { padding:29px; }
 main .confidence-next { flex-direction:column; align-items:flex-start; }
 main .section-heading { gap:24px; }
}
@media(max-width:760px) {
 main :is(.package-grid,.specialist-grid,.service-directory,.knowledge-blog-grid,.knowledge-preview-grid,.knowledge-related-grid) { grid-template-columns:1fr; }
 main .section-heading { grid-template-columns:1fr; }
 main .section-heading > p { max-width:76ch; }
 main .process-grid { grid-template-columns:1fr; gap:29px; }
 main .confidence-benefits { grid-template-columns:1fr; }
 main .field-grid { grid-template-columns:1fr; gap:0; }
}
@media(max-width:650px) {
 :root { --reading-gutter:16px; }
 main .section { padding-block:48px; }
 main :is(.card-body,.specialist-card,.offer-details,.brief-form,.knowledge-card-copy) { padding:23px 19px; }
 main :is(.package-card h3,.specialist-card h3,.offering-title,.knowledge-card h2,.knowledge-card h3) { font-size:26px; line-height:1.65; letter-spacing:0; }
 main :is(.hero h1,.page-title) { font-size:clamp(31px,7.8vw,40px); line-height:1.55; letter-spacing:0; }
 main :is(.card-subtitle,.card-scope,.offer-description,.offer-columns p,.offer-columns li,.knowledge-answer p) { font-size:17px; }
 main .card-price b { font-size:32px; }
 main .offer-facts { grid-template-columns:1fr; gap:19px; margin-block:25px; padding-block:21px; }
 main .offer-facts > div { display:block; }
 main .offer-facts dt { font-size:15px; margin-bottom:5px; }
 main .offer-facts dd { font-size:19px; }
 main .offer-columns h4 { font-size:18px; line-height:1.9; }
 main .offer-details .utility-actions { gap:14px; padding-top:22px; }
 main .offer-details .utility-actions .button { width:100%; justify-content:space-between; }
 main .brief-aside { padding:23px 19px; }
 main .selected-summary { padding:20px 17px; }
 main .summary-row { display:grid; grid-template-columns:1fr; gap:5px; margin-top:17px; font-size:16px; }
 main .summary-row > :is(span,strong) { max-width:none; text-align:left; }
 main .send-note { padding:20px 17px; font-size:16px; }
 main .form-actions { align-items:stretch; }
 main .form-actions .button { min-width:0; padding-inline:14px; }
 main .knowledge-question summary { grid-template-columns:minmax(0,1fr) 19px; gap:12px; padding:18px 9px; font-size:17px; line-height:1.95; }
 main .knowledge-question-number { display:none; }
 main .knowledge-answer { padding:1px 10px 24px; font-size:17px; }
 main .knowledge-takeaway { padding:23px 19px; }
 main .knowledge-article-detail { margin-inline:0; }
 main .confidence-intro,main .confidence-benefit { padding:25px 20px; }
 main .confidence-next { padding:23px 20px; }
 .comparison-table :is(th,td) { padding:14px 15px; font-size:16px; }
 .comparison-table th:first-child { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { .reading-back-top { transition:none; } }
html[data-motion="off"] .reading-back-top { transition:none; }
@media print { .reading-back-top { display:none!important; }main .shell { width:100%; margin-inline:0; } }

/* Article discovery is a flat, readable service index rather than nested panels. */
.knowledge-blog-topics { display:flex; flex-wrap:wrap; gap:10px 19px; margin-top:29px; margin-bottom:43px; }
.knowledge-blog-topics a { color:#3e5f82; text-underline-offset:5px; line-height:1.9; }
.knowledge-blog-groups { display:grid; gap:54px; padding-bottom:65px; }
.knowledge-blog-group { scroll-margin-top:110px; }
.knowledge-blog-group > h2 { font-size:clamp(23px,2.5vw,30px); line-height:1.7; margin:0 0 23px; }
.knowledge-blog-group .knowledge-blog-grid { width:100%; padding:0; margin:0; }
.knowledge-byline { color:#52636d; font-size:15px; line-height:1.9; margin:20px 0; }
.knowledge-byline a { color:#3e5f82; text-underline-offset:4px; }
.knowledge-byline time { white-space:normal; }
.knowledge-sources,.knowledge-article-faq { border-top:1px solid var(--reading-rule); padding-top:26px; margin-top:34px; }
.knowledge-sources h2,.knowledge-article-faq h2 { font-size:23px; line-height:1.7; }
.knowledge-sources ul,.knowledge-article-faq ul { padding-inline-start:22px; margin-top:14px; }
.knowledge-sources li,.knowledge-article-faq li { line-height:1.95; margin-block:10px; }
.knowledge-sources a,.knowledge-article-faq a { color:#3e5f82; text-underline-offset:4px; overflow-wrap:anywhere; }
@media(max-width:760px) { .knowledge-blog-group .knowledge-blog-grid { grid-template-columns:1fr; } }
@media(max-width:650px) {
 main :is(h1,h2,h3,h4,p,li,dd,a,button) { overflow-wrap:anywhere; }
 main .button { max-width:100%; min-width:0; white-space:normal; }
 main :is(.utility-actions,.card-buttons,.form-actions) { min-width:0; }
}
