/* A estrutura parte da menor tela e amplia as colunas quando há espaço. */
@layer mobile-first {
 html{font-size:16px;scroll-padding-top:24px}
 body{font-size:16px;line-height:1.6}
 .container{width:91%;max-width:1260px}
 main>.container{padding-top:28px}
 .header-inner{min-height:76px;justify-content:space-between;flex-wrap:wrap;gap:15px}
 .header-inner .main-nav{display:none;order:3;width:100%;margin:0;padding:0 0 15px;flex-direction:column;align-items:stretch;gap:0}
 .header-inner .main-nav.open{display:flex}
 .main-nav a{min-height:44px;padding:10px 0;font-size:15px}
 .main-nav a.active:after{bottom:4px;right:auto;width:35px}
 .menu-toggle{display:grid;place-items:center;min-width:44px;min-height:44px;background:#fff;border:1px solid var(--line);border-radius:4px}
 .header-search{display:none}
 .header-search input{font-size:14px;min-width:0;padding-left:12px;padding-right:42px}
 .feature-grid,.content-sidebar,.tools-grid,.calculator-layout,.document-layout,.document-with-toc,.profile-intro,.profile-tables,.sample-result,.compare-selectors,.preference-grid,.values-grid,.four-grid,.three-grid,.articles-grid,.franchise-grid{grid-template-columns:minmax(0,1fr)}
 .feature-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .feature-side .story+.story{border:0;padding:0}
 .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .budget-pills{grid-template-columns:repeat(2,minmax(0,1fr))}
 .articles-grid .photo{aspect-ratio:2.15}
 .articles-grid h3{font-size:25px}
 .sidebar{border:0;padding:0}
 .home-content .sidebar{display:block}
 .home-content .ad-rectangle{height:250px}
 .reading-layout{display:flex;flex-direction:column}
 .article-head{order:0}.article-toc{order:1;position:static;margin:0 0 22px}.article-body{order:2}
 .article-sidebar{display:none}
 .document-side{position:static}
 .profile-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .comparison-values{grid-template-columns:repeat(2,minmax(0,1fr))}
 .profile-points{grid-template-columns:1fr}
 .franchise-card .description{min-height:0}
 .franchise-card .card-name{display:flex}
 .franchise-card h3{font-size:25px}
 .franchise-card .monogram{margin:0}
 .ad{color:#627080}.ad:before{color:#5b6b7c}
 .meta,.source-note{color:#5e6d7c}
 .source-note{font-size:12px}
 input,select,textarea{font-size:16px}
 button,.button,.button-outline,.pill,.filter-tabs button,.pagination button{min-height:44px}
 .card-actions .button{min-height:44px;padding:10px 15px}
 .check-label{min-height:44px;padding:8px 0;font-size:13px}
 .header-search button{min-width:38px;min-height:36px}
 .footer-nav a{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
 .site-footer p{font-size:12px;line-height:1.65}
 .site-footer .brand small{font-size:8px}
 .text-link{min-height:36px}
 .results-tabs button{min-width:52px}
 .pagination button{min-width:44px}
 .preference .switch-label{min-height:44px}
 .cookie-actions{grid-column:1/-1;max-width:none}
 .result-breakdown li{grid-template-columns:12px minmax(0,1fr) auto auto}
 .result-total{font-size:clamp(30px,11vw,62px);overflow-wrap:break-word}
 .cost-input-row>*{min-width:0}
 .data-table{font-size:14px}
 .table-scroll:focus-visible{outline:3px solid var(--green);outline-offset:4px}
 .document-body a,.article-body a{overflow-wrap:break-word}
 @media(min-width:480px){
  .articles-grid,.franchise-grid,.four-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .values-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .articles-grid h3{font-size:23px}
  .profile-points{grid-template-columns:repeat(3,minmax(0,1fr))}
 }
 @media(min-width:768px){
  .container{width:89%}
  .feature-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
  .feature-side{display:flex;gap:18px}
  .feature-side .story+.story{border-top:1px solid var(--line);padding-top:16px}
  .content-sidebar{grid-template-columns:minmax(0,2.15fr) minmax(230px,1fr)}
  .sidebar{border-left:1px solid var(--line);padding-left:19px}
  .tools-grid,.topic-grid,.three-grid,.compare-selectors{grid-template-columns:repeat(3,minmax(0,1fr))}
  .budget-pills,.comparison-values,.profile-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
  .calculator-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
  .document-layout{grid-template-columns:minmax(0,2.2fr) minmax(220px,1fr)}
  .document-with-toc{grid-template-columns:190px minmax(0,1fr)}
  .document-side{position:sticky;top:25px}
  .profile-intro{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
  .sample-result{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
  .profile-tables{grid-template-columns:1fr}
  .reading-layout{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px}
  .article-toc{position:sticky;top:25px;margin-top:190px}
  .articles-grid .photo{aspect-ratio:2.45}
  .preference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .franchise-card .description{min-height:60px}
  .franchise-card h3{font-size:23px}
 }
 @media(min-width:1024px){
  .container{width:87%}
  .header-inner{flex-wrap:nowrap;gap:25px;min-height:79px}
  .header-inner .main-nav{display:flex;order:0;width:auto;margin-left:auto;padding:0;align-items:center;flex-direction:row;gap:20px}
  .main-nav a{padding:0;font-size:13px}
  .main-nav a.active:after{bottom:14px;right:0;width:auto}
  .menu-toggle{display:none}
  .reading-layout{grid-template-columns:135px minmax(0,1fr) 205px}
  .article-sidebar{display:block}
  .profile-tables{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
  .four-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 }
 @media(min-width:1280px){
  .header-search{display:flex;width:235px}
  .header-inner .main-nav{gap:24px}
  .reading-layout{grid-template-columns:150px minmax(0,1fr) 245px;gap:25px}
  .preference-grid{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
  .cookie-actions{grid-column:auto;max-width:180px}
 }
 @media(min-width:1600px){.container{max-width:1340px}}
 @media(forced-colors:active){
  .ad,.tool-card,.franchise-card,.notice,.pale-panel,.progress{border:1px solid CanvasText}
  .pill.active,.filter-tabs button.active,.main-nav a.active{outline:2px solid Highlight}
  .progress-track span{background:Highlight}
 }
 @media print{.menu-toggle{display:none}.container{width:100%;max-width:none}.reading-layout,.content-sidebar,.document-with-toc{display:block}.article-toc,.article-sidebar{display:none}.calculator-layout{grid-template-columns:1fr}}
}

/* O card inteiro é um link, com foco de teclado visível. */
a.hub-tool{color:inherit;text-decoration:none;cursor:pointer}
a.hub-tool:hover{background:#f4faf7;border-color:#00734e}
a.hub-tool:focus-visible{outline:3px solid #00734e;outline-offset:4px}
.story,.franchise-card,.featured-guide{position:relative}
.story>a::after,.franchise-card h3 a::after,.featured-guide h2::after{content:"";position:absolute;inset:0;z-index:1}
.franchise-card .check-label,.franchise-card .card-actions{position:relative;z-index:2}
.profile-intro figure{margin:0;min-width:0}
.profile-intro figcaption{margin-top:8px}
/* Compartilhamento no canto superior direito, acessível em todas as larguras. */
.header-inner{position:relative}
.site-share{position:relative;flex:0 0 44px;order:2;z-index:30;margin-left:0}
.site-share>summary{display:grid;place-items:center;width:44px;height:44px;list-style:none;cursor:pointer;border:0;border-radius:0;background:transparent;color:var(--navy,#10253f)}
.site-share>summary::-webkit-details-marker{display:none}
.site-share>summary:hover,.site-share[open]>summary{background:transparent;color:#00734e}
.site-share>summary:focus-visible{outline:3px solid #00734e;outline-offset:3px}
.share-panel{position:absolute;right:0;top:54px;width:min(340px,calc(100vw - 30px));padding:18px;border:1px solid #cddbd4;background:#fff;box-shadow:0 10px 32px #10253f26;border-radius:6px;color:#10253f;text-align:left}
.share-heading{font-family:Georgia,serif;font-size:21px;font-weight:bold;margin:0 0 12px}
.share-cover{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover}
.share-address{font-size:12px;overflow-wrap:break-word;margin:12px 0}
.share-panel button,.share-panel>a{display:block;text-align:center;width:100%;min-height:44px;padding:10px 12px;margin:8px 0;border:1px solid #bfd8cb;border-radius:4px;background:#edf7f1;color:#006543;text-decoration:none;font-size:14px;cursor:pointer}
.share-panel button[hidden]{display:none}
.share-panel button:disabled{opacity:.6;cursor:wait}
.share-status{font-size:13px;margin:10px 0 0;overflow-wrap:break-word}
.header-inner .menu-toggle{margin-left:auto;order:1}
.segment-count{display:block;font-size:14px;color:#006543;margin:7px 0}
.segment-franchises{margin:12px 0 45px}
.segment-franchises>h2{font-size:28px;margin-bottom:22px}
.segment-franchise-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid #cddbd4;border-radius:5px;text-decoration:none;color:inherit;background:white}
.segment-franchise-card:hover{border-color:#00734e;background:#f8fcfa}
.segment-franchise-card:focus-visible{outline:3px solid #00734e;outline-offset:4px}
.segment-franchise-card .image{width:100%;height:auto;aspect-ratio:1.9;object-fit:cover}
.segment-franchise-card h3{font-size:26px;margin:0}
.segment-franchise-card .price{margin-top:auto}
.segment-franchise-card p{font-size:15px}
.segment-franchise-card .text-link{align-self:flex-start}
@media(min-width:1024px){.site-share{order:0}.header-inner{gap:16px}.header-inner .main-nav{gap:17px}}
@media(min-width:1280px){.header-search{width:225px;flex:0 0 225px}.header-inner .main-nav{gap:18px}.header-inner{gap:18px}}
@media print{.site-share{display:none!important}}
.compare-segment{max-width:400px;margin:24px 0 0}.compare-picker{position:relative;min-width:0}.compare-search-row{display:flex;gap:6px}.compare-search-row input{min-width:0;width:100%;font-size:16px}.compare-remove{border:1px solid #cddbd4;background:white;color:#006543;border-radius:4px;min-width:44px;min-height:44px;font-size:24px;cursor:pointer}.compare-options{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #8cbaa5;box-shadow:0 8px 20px #10253f20;z-index:15;max-height:330px;overflow:auto}.compare-options[hidden]{display:none}.compare-options button{display:block;text-align:left;padding:12px;width:100%;min-height:54px;border:0;border-bottom:1px solid #e1ebe6;background:#fff;color:#10253f;cursor:pointer}.compare-options button:hover,.compare-options button:focus-visible{background:#eaf6ef;outline:2px solid #00734e;outline-offset:-2px}.compare-options small{display:block;color:#536b7d}.compare-picker-status{display:block;min-height:24px;font-size:12px;color:#536b7d;margin-top:5px}
@media(max-width:479px){.header-inner{gap:10px}.header-inner>.brand{font-size:27px;max-width:calc(100% - 108px)}.header-inner>.brand small{font-size:6px;letter-spacing:.8px}}

/* Mobile menu overlays the content: opening it must not move the reading position. */
@media(max-width:1023px){
 .header-inner .main-nav{position:absolute;top:100%;left:0;right:0;width:100%;z-index:40;max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid var(--line);border-radius:0 0 6px 6px;box-shadow:0 12px 24px #10253f20;padding:10px 18px;align-self:auto}
}

.site-share{margin:0;border:0;padding:0}.site-share>summary{padding:0;gap:0}.site-share>summary:after,.site-share[open]>summary:after{content:none}


@media(max-width:600px){#catalog-filters .filter-row{grid-template-columns:minmax(0,1fr)}#catalog-filters .filter-row small{justify-self:start}#catalog-filters select{width:100%;font-size:14px}.results-heading #franchise-sort{width:100%;min-height:44px;font-size:14px}}

/* Leitura no celular: prioridade sobre as antigas reduções tipográficas.
   Refluir e aumentar altura; nunca cortar texto para acomodar uma fonte maior. */
@media(max-width:1023px){
 html{font-size:100%}
 main h1{font-size:clamp(2.125rem,8vw,2.75rem)}
 main h2{font-size:1.75rem;line-height:1.2}
 main h3,main .story h3,.segment-franchise-card h3{font-size:1.5rem;line-height:1.25}
 body{font-size:1.0625rem;line-height:1.65}
 label,
 small,
 .sr-status,
 .main-nav a,
 .header-search input,
 .eyebrow,
 .trust-line,
 .category,
 .meta,
 .strip-heading small,
 .pill,
 .button-outline,
 .text-link,
 .articles-grid .story p,
 .start-list li a,
 .tools-band .subtitle,
 .tool-card p,
 .transparency strong,
 .transparency p,
 .footer-nav a,
 .site-footer p,
 .breadcrumb,
 .button,
 .button-quiet,
 .filter-tabs button,
 .featured-guide p,
 .learning-path strong,
 .learning-path p,
 .pagination button,
 .pagination span,
 .filter-row small,
 .results-heading select,
 .franchise-card .description,
 .card-actions .button,
 .check-label,
 .source-note,
 .compare-tray span,
 .topic-card p,
 .comparison-values p,
 .four-grid p,
 .badge,
 .notice,
 .data-table,
 .article-toc ol,
 .article-sources ul,
 .profile-summary>div,
 .profile-summary strong,
 .profile-points p,
 .cost-form>p,
 .result-breakdown li,
 .result-breakdown strong,
 .accordion-group>p,
 details>p,
 .details-content,
 .comparison-notes ul,
 .progress-header,
 .checklist-group summary p,
 .checklist-item,
 .results-tabs button,
 .result-item p,
 .search-chips a,
 .institution-nav a,
 .values-grid p,
 .document-side a,
 .preference strong,
 .preference p,
 .switch-label,
 .cookie-actions p,
 .steps p,
 .toast,
 .tool-card h3,
 .feature-side .meta,
 .section-title .text-link,
 .hub-tool p,
 .profile-points h3,
 .cost-input-row label,
 .form-actions .button,
 .form-actions .button-outline,
 .compare-table,
 .result-item .meta,
 .compare-tray .button,
 .catalog-range,
 .catalog-pagination a,
 .catalog-pagination [aria-current],
 .share-address,
 .share-panel button,
 .share-panel>a,
 .share-status,
 .segment-count,
 .segment-franchise-card p,
 .compare-picker-status,
 #catalog-filters select,
 .results-heading #franchise-sort{font-size:1rem;line-height:1.5}
 .meta,.source-note,.catalog-range,.share-status,.compare-picker-status{color:#4d5f70}
 .category,.eyebrow{font-size:1rem;line-height:1.45;letter-spacing:.02em}
 .guide-label,.guide-action{font-size:1rem;line-height:1.5}
 .guide-label{padding:5px 10px}.guide-action{min-height:44px;display:flex;align-items:center}
 .meta{gap:7px;min-height:24px}.meta .icon{width:18px;height:18px}
 .section-title,.strip-heading{flex-wrap:wrap;align-items:flex-start;gap:12px}
 .section-title>h2{flex:1 1 16rem;min-width:0}.section-title>.text-link{flex:0 1 auto}
 .section-title .text-link,.text-link{font-size:1rem;min-height:44px;white-space:normal;max-width:100%;gap:8px}
 .budget-pills{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
 .budget-pills .pill{font-size:1rem;line-height:1.45;min-height:3.5rem;height:100%;padding:12px 9px;white-space:normal;text-align:center;display:flex;align-items:center;justify-content:center;overflow-wrap:normal}
 .strip-heading small{display:block;max-width:100%;font-size:1rem;line-height:1.5}
 .budget-strip{padding:20px 16px}.strip-heading{margin-bottom:18px}
 main :is(p,li,small,figcaption,h2,h3),.share-address,.share-status{overflow-wrap:break-word}
 :is(.story,.franchise-card,.segment-franchise-card,.tool-card,.preference,.result-item,.profile-summary)>*{min-width:0}
 :is(.button,.button-outline,.button-quiet,.pill,button,.check-label,.switch-label){min-height:44px;white-space:normal;line-height:1.5}
 .card-actions,.form-actions,.checklist-actions{flex-wrap:wrap;gap:12px}.card-actions .button{flex:1 1 auto;font-size:1rem}
 input:not([type=checkbox]):not([type=radio]),select,textarea,#catalog-filters select,.results-heading #franchise-sort{font-size:1rem;min-height:48px;max-width:100%}
 .results-heading #franchise-sort{width:100%;max-width:none;padding:12px 36px 12px 14px}
 .results-heading{display:block}.results-heading select{margin-top:14px}
 .filter-row>*,.cost-input-row>*,.field{min-width:0}
 .breadcrumb{flex-wrap:wrap;line-height:1.5;gap:8px}.breadcrumb a{min-height:44px;display:inline-flex;align-items:center}.breadcrumb>span{max-width:100%}
 .filter-tabs,.results-tabs{flex-wrap:wrap;overflow:visible;gap:8px}.filter-tabs button,.results-tabs button{padding:10px 12px;font-size:1rem}
 .compare-options button,.compare-options small{font-size:1rem;line-height:1.5}.compare-options button{min-height:56px}
 .data-table,.compare-table{font-size:1rem;line-height:1.5}.data-table td,.data-table th,.compare-table td,.compare-table th{white-space:normal;overflow-wrap:break-word;height:auto}
 .table-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain}
 .article-toc ol{columns:1;font-size:1rem;line-height:1.6}.article-toc li{margin-bottom:9px}
 .profile-points h3,.tool-card h3{font-size:1.25rem;line-height:1.3}.profile-summary strong{font-size:1.125rem;line-height:1.5}
 .result-breakdown li{grid-template-columns:12px minmax(0,1fr) auto;gap:4px 10px}.result-breakdown li>.dot{grid-column:1;grid-row:1}.result-breakdown li>span:not(.dot){grid-column:2/-1}.result-breakdown li>strong{grid-column:2;text-align:left}.result-breakdown li>small{grid-column:3}
 .footer-nav{flex-wrap:wrap;gap:8px 18px}.footer-nav a{font-size:1rem;min-height:44px;white-space:normal}.site-footer p{font-size:1rem;line-height:1.6}
 .site-footer .brand small,.header-inner>.brand small{font-size:9px;letter-spacing:.5px}
 .share-panel{max-height:calc(100dvh - 110px);overflow:auto}.share-panel button{font-size:1rem;min-height:48px}.share-address,.share-status{font-size:1rem;line-height:1.5}
 .compare-tray{flex-wrap:wrap}.compare-tray span,.compare-tray .button{font-size:1rem}
 .toast{font-size:1rem;line-height:1.5;max-width:calc(100vw - 24px);overflow-wrap:break-word}
}
@media(max-width:600px){
 .profile-summary,.profile-points,.comparison-values,.values-grid{grid-template-columns:minmax(0,1fr)}
 #catalog-filters .filter-row{grid-template-columns:minmax(0,1fr)}
 .institution-nav{flex-wrap:wrap;overflow:visible}.institution-nav a{white-space:normal;font-size:1rem;min-height:44px}
 .document-side a{font-size:1rem;line-height:1.5;min-height:44px}.document-side{position:static}
}
@media(max-width:359px){.feature-side{grid-template-columns:minmax(0,1fr)}.feature-side h3{font-size:1.5rem}}

@media(max-width:479px){.feature-side{grid-template-columns:minmax(0,1fr)}}

/* Refluxo quando o visitante aumenta a fonte: usar a largura disponível. */
@media(max-width:1023px){
 body{overflow-wrap:break-word}
 main h1{overflow-wrap:break-word;hyphens:auto;hyphenate-limit-chars:8 3 3;text-wrap:balance;min-width:0;max-width:100%}
 .budget-pills{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}
 .budget-pills .pill{overflow-wrap:break-word}
 .topic-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
 .related-guides .story{display:flex;flex-direction:column;gap:12px}
 .related-guides .story>a,.related-guides .meta{width:auto;max-width:100%;min-width:0}
 .profile-title-row{flex-wrap:wrap;gap:12px}.profile-title-row>*{min-width:0;max-width:100%}.profile-title-row h1{flex:1 1 12rem}
 .progress-header{flex-wrap:wrap;gap:10px;align-items:flex-start}.progress-header>*{min-width:0;max-width:100%}
 .checklist-item{grid-template-columns:20px minmax(0,1fr)}.checklist-item>span{min-width:0;max-width:100%}
 main :is(button,.button,.button-outline,.button-quiet){max-width:100%;min-width:0}
 .compare-remove{min-width:44px;flex:0 0 44px}
 .price strong{font-size:1.375rem}.result-total{font-size:clamp(2rem,11vw,3.875rem)}
}

/* Base mobile first: nomes de campos ocupam uma linha de conteúdo inteira.
   Não resolver falta de largura partindo palavras em colunas estreitas. */
.fact-list{margin:0;font-size:1rem;line-height:1.6;min-width:0}
.fact-list>div{display:block;margin:0 0 14px;border:1px solid #cbdad1;border-radius:6px;min-width:0}
.fact-list dt{display:block;background:#edf6ef;padding:12px 16px;border-bottom:1px solid #cbdad1;border-radius:5px 5px 0 0;font-size:1rem;font-weight:700;color:#10253f;line-height:1.5}
.fact-list dd{display:block;margin:0;padding:14px 16px;font-size:1rem;line-height:1.65;color:#263d50}
.fact-list dt,.fact-list dd{width:100%;max-width:100%;min-width:0;height:auto;white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:manual}
.investment-breakdown dd{font-size:1.125rem}.fact-list .total dd{font-weight:700;background:#edf6ef}
.profile-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));align-items:start;gap:28px;margin:28px 0}
.profile-tables>.profile-block{margin:0;min-width:0}.profile-tables h2{overflow-wrap:break-word;word-break:normal;hyphens:manual}
.compare-mobile-results{display:block;min-width:0}.compare-desktop-results{display:none}
.comparison-mobile-group{margin:28px 0}.comparison-mobile-group>h2{margin:0 0 16px}
.comparison-criterion{border:1px solid #cbdad1;border-radius:6px;margin:0 0 20px;min-width:0}
.comparison-criterion>h3{font:700 1.125rem/1.5 var(--sans);letter-spacing:0;color:#10253f;background:#edf6ef;padding:12px 16px;border-bottom:1px solid #cbdad1;border-radius:5px 5px 0 0}
.compare-fact-list{margin:0;font-size:1rem;line-height:1.6}.compare-fact-list>div{padding:6px 16px 16px;border-bottom:1px solid #dce4e8;min-width:0}.compare-fact-list>div:last-child{border-bottom:0}
.compare-fact-list dt{font-weight:700}.compare-fact-list dt a{display:flex;align-items:center;min-height:44px;color:#006543;line-height:1.5}.compare-fact-list dt a:hover{text-decoration:underline}
.compare-fact-list dd{margin:0;font-size:1rem;line-height:1.65;color:#263d50}.compare-fact-list dd.missing{padding:10px;background:#fff0cc}
.comparison-criterion h3,.compare-fact-list dt,.compare-fact-list dd{white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:manual}
.compare-table th,.compare-table td{overflow-wrap:normal;word-break:normal;white-space:normal}
@media(min-width:1024px){.compare-mobile-results{display:none}.compare-desktop-results{display:block}}
@media(max-width:1023px){
 .feature-grid,.feature-side,.articles-grid,.franchise-grid,.four-grid,.three-grid,.tools-grid,.compare-selectors,.comparison-values,.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
 .feature-grid,.content-sidebar,.profile-intro{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
 .calculator-layout,.sample-result{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr))}
 .profile-summary,.profile-points{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
 .document-layout,.document-with-toc{grid-template-columns:minmax(0,1fr)}
 .document-side{position:static}.reading-layout{display:flex;flex-direction:column}.article-toc{position:static;margin:0 0 24px;max-width:100%}
 .institution-nav{flex-wrap:wrap;overflow:visible}.institution-nav a{white-space:normal}
 .pill,.text-link,.meta,.category,.eyebrow,label,button,.button,.button-outline,.guide-label{word-break:normal;overflow-wrap:normal;hyphens:manual}
 .fact-list dt,.fact-list dd,.compare-fact-list dt,.compare-fact-list dd{font-size:1rem;line-height:1.6}
 .investment-breakdown dd{font-size:1.125rem}
 .result-item{grid-template-columns:minmax(0,1fr)}.result-item>a:first-child{max-width:100%}.result-item img{width:100%;max-height:190px;object-fit:cover;aspect-ratio:16/9}
 .preference-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
}

@media(max-width:1023px){
 .hub-tool,.tool-card{display:block}.hub-tool>.icon,.tool-card>.icon{margin-bottom:14px}
 .transparency{flex-wrap:wrap;align-items:flex-start}.transparency>div{flex:1 1 16rem;min-width:0}.transparency>.text-link{flex:1 1 100%}
 .search-large{flex-direction:column;align-items:stretch;gap:12px}.search-large .button{width:100%}
 .cost-input-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:8px}
 .result-breakdown li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}
 .result-breakdown li>.dot{flex:0 0 12px;align-self:center}.result-breakdown li>span:not(.dot){flex:1 1 calc(100% - 22px);min-width:0}
 .result-breakdown li>strong{margin-left:22px;flex:0 1 auto;max-width:calc(100% - 22px);word-break:normal;overflow-wrap:normal}
 .result-breakdown li>small{margin-left:auto;flex:0 1 auto;max-width:100%;word-break:normal;overflow-wrap:normal}
}

/* A barra de comparação ocupa a largura disponível, sem coluna flutuante estreita. */
.compare-tray{left:12px;right:12px;bottom:12px;transform:none;width:auto;max-width:640px;margin:0 auto;box-sizing:border-box;align-items:center;gap:10px 14px}
@media(max-width:1023px){
 .compare-tray{display:flex;flex-wrap:wrap;padding:12px;gap:8px 12px}
 .compare-tray>[data-tray-text]{flex:1 1 100%;font-size:1rem;line-height:1.5}
 .compare-tray>[data-tray-link]{flex:1 1 auto;justify-content:center}.compare-tray>[data-clear-comparison]{flex:0 1 auto;min-height:44px;padding:8px 12px}
 body.has-comparison-tray{padding-bottom:calc(var(--compare-tray-height,120px) + 24px)}
}

/* O tamanho de texto escolhido pelo leitor também participa do refluxo. */
@media(max-width:1023px){
 .franchise-card .card-name{display:block}.card-name>div{min-width:0;max-width:100%}.card-name .monogram{margin-bottom:10px}
 .section-title{display:block}.section-title>h2{width:100%;max-width:100%;margin-bottom:10px}.section-title>.text-link{display:block;min-width:0;max-width:100%;hyphens:manual}.section-title>.text-link .icon{display:inline-block;vertical-align:middle;margin-left:6px}
 .hub-tools{grid-template-columns:minmax(0,1fr)}.hub-tool{min-width:0;max-width:100%}.hub-tool-bottom>*{max-width:100%;min-width:0}.hub-tool-bottom .text-link{display:block;hyphens:manual}
 .result-breakdown li>small{width:auto;flex:0 0 auto}
 .checklist-group summary{padding:18px 16px}.checklist-group summary>div{min-width:0;max-width:100%;flex:1}.checklist-group summary h2{hyphens:manual;max-width:100%;overflow-wrap:break-word}.checklist-item{display:grid;padding:16px;grid-template-columns:20px minmax(0,1fr);gap:10px}.checklist-item>span{overflow-wrap:break-word;hyphens:manual}
 .document-side a{display:block;margin-right:0;hyphens:manual;overflow-wrap:break-word}
}
@media(max-width:22rem){.checklist-item{grid-template-columns:minmax(0,1fr)}.checklist-item>input{margin-bottom:4px}}

/* Temas navegáveis também funcionam sem JavaScript e preservam área de toque. */
.filter-tabs .guide-filter{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #bed7c9;border-radius:4px;line-height:1.5;color:#006543;background:#fff}
.filter-tabs .guide-filter.active{background:#006543;color:#fff;border-color:#006543}
.filter-tabs .guide-filter:hover{border-color:#006543;text-decoration:underline}
@media(max-width:1023px){.filter-tabs .guide-filter{font-size:1rem;min-width:0;max-width:100%;white-space:normal;overflow-wrap:normal;padding:10px 12px}}
@media(max-width:1023px){main button,main .button,main .button-outline,main .button-quiet,.field small{font-size:1rem;line-height:1.5}}

/* Busca acessível no cabeçalho: lupa compacta e campo em segunda linha.
   Sem JavaScript, o formulário continua visível e envia a pesquisa normalmente. */
.header-search-toggle{display:none;background:transparent;border:0;padding:0;color:var(--ink);min-width:44px;min-height:44px;cursor:pointer}
.header-search-toggle .icon{width:23px;height:23px}
.header-search-toggle:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:1279px){
 .header-inner{flex-wrap:wrap}
 .header-inner>.header-search-toggle{order:1}
 .header-inner>.site-share{order:2}
 .header-inner>.header-search{display:flex;order:3;flex:1 0 100%;width:100%;margin:0 0 12px;min-width:0;position:relative}
 .header-inner.search-ready>.header-search-toggle{display:grid;place-items:center}
 .header-inner.search-ready>.header-search{display:none}
 .header-inner.search-ready.search-open>.header-search{display:flex}
 .header-search input{width:100%;min-width:0;font-size:1rem;line-height:1.5;min-height:48px;padding:10px 50px 10px 12px}
 .header-search button{display:grid;place-items:center;top:0;right:0;bottom:0;width:44px;min-width:44px;min-height:44px;padding:0}
}
@media(max-width:1023px){
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,44px);gap:12px 8px;padding-block:12px}
 .header-inner>.brand{grid-column:1;grid-row:1;min-width:0;max-width:100%}
 .header-inner>.menu-toggle{grid-column:2;grid-row:1;margin:0}
 .header-inner>.header-search-toggle{grid-column:3;grid-row:1}
 .header-inner>.site-share{grid-column:4;grid-row:1}
 .header-inner>.header-search{grid-column:1/-1;grid-row:2;margin:0}
 .header-inner .main-nav{max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px)}
}
@media(max-width:399px){.header-inner>.brand{font-size:24px}.header-inner>.brand small{letter-spacing:0;white-space:normal;line-height:1.15}}
@media(max-width:359px){.header-inner>.brand{font-size:20px}}
.guide-image-card .guide-card-image{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:4px;margin:0 0 1rem}
.guide-card-photo-link{display:block;border-radius:4px}
.editorial-related.guide-image-card{padding:clamp(12px,3vw,20px)}
.editorial-related.guide-image-card .guide-card-image{margin-top:.875rem}
.related-guides .three-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));align-items:stretch}
.related-guides .story.guide-image-card{display:flex;flex-direction:column;gap:0;min-width:0;height:auto;padding:clamp(12px,3vw,20px)}
.related-guides .story.guide-image-card>a{display:block;flex:1;height:auto;min-width:0}
.related-guides .guide-image-card .meta{margin-top:1rem;align-self:flex-start;font-size:1rem}

/* Natural title flow, including enlarged Portuguese text. */
.editorial-comparison-head h1{text-wrap:balance;overflow-wrap:normal;hyphenate-limit-chars:8 3 3}
.four-grid>.guide-image-card .guide-card-image{aspect-ratio:1.8}

/* The course catalog adds one navigation item; preserve comfortable controls. */
.header-inner .main-nav a,.header-search input{font-size:1rem}
@media(min-width:1200px) and (max-width:1439px){.header-inner{column-gap:14px}.header-inner .main-nav{gap:14px}.header-search{width:220px;margin-left:0}}
@media(min-width:1024px) and (max-width:1199px){
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,44px);gap:12px 8px;padding-block:12px}
 .header-inner>.brand{grid-column:1;grid-row:1;min-width:0}
 .header-inner>.menu-toggle{display:grid;grid-column:2;grid-row:1;margin:0}
 .header-inner>.header-search-toggle{grid-column:3;grid-row:1}
 .header-inner>.site-share{grid-column:4;grid-row:1}
 .header-inner>.header-search{grid-column:1/-1;grid-row:2;margin:0}
 .header-inner .main-nav{display:none;grid-column:1/-1;grid-row:3;width:100%;margin:0;padding:0 0 15px;flex-direction:column;align-items:stretch;gap:0}
 .header-inner .main-nav.open{display:flex}
 .header-inner .main-nav a{min-height:44px;font-size:1rem;padding:10px 0}
 .header-inner .main-nav a.active:after{bottom:4px;right:auto;width:35px}
}
@media(min-width:1024px) and (max-width:1535px){
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px) 44px;gap:8px 16px;padding-block:12px}
 .header-inner>.brand{grid-column:1;grid-row:1;min-width:0}
 .header-inner>.menu-toggle,.header-inner.search-ready>.header-search-toggle{display:none}
 .header-inner>.site-share{grid-column:3;grid-row:1}
 .header-inner>.header-search,.header-inner.search-ready>.header-search{display:flex;grid-column:2;grid-row:1;width:100%;margin:0;min-width:0}
 .header-inner .main-nav,.header-inner .main-nav.open{display:flex;grid-column:1/-1;grid-row:2;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;width:100%;margin:0;padding:0}
 .header-inner .main-nav a{min-height:44px;height:auto;padding:10px 0}
}

/* Full search prompt and a reserved 44px search target. */
.header-search input{font-size:1rem;line-height:1.5;min-height:48px;padding:10px 48px 10px 12px;width:100%;min-width:0}
.header-search button{display:grid;place-items:center;top:0;right:0;bottom:0;width:44px;min-width:44px;min-height:44px;padding:0}
@media(min-width:1280px){.header-inner>.header-search{width:280px;min-width:280px;flex:0 0 280px;margin-left:0}}
@media(min-width:1024px) and (max-width:1535px){.header-inner{grid-template-columns:minmax(0,1fr) 280px 44px}.header-inner>.header-search{width:100%;min-width:0}}

/* Keep the keyboard skip link outside the viewport at any text size. */
.skip-link{top:0;transform:translateY(-120%)}
.skip-link:focus{top:12px;transform:none}

/* Move related reading below the article when enlarged text needs its width. */
@media(min-width:1024px){
 .reading-layout{container-type:inline-size;container-name:article-reading-space}
 @container article-reading-space (width < 56rem){
  .article-head,.article-body,.article-sidebar{grid-column:2/-1}
  .article-sidebar{grid-row:auto}
 }
}

/* Guide thumbnails in listing grids follow the established photo proportions. */
.articles-grid .story.guide-image-card .guide-card-image{aspect-ratio:2.15}
@media(min-width:768px){.articles-grid .story.guide-image-card .guide-card-image{aspect-ratio:2.45}}

/* New editorial text: unordered index and headings honor the reader's text size. */
.article-toc ul{font-size:1rem;line-height:1.6;padding-inline-start:1.25rem}
.article-toc h2{font-size:1.0625rem;line-height:1.4}
.article-body h2{font-size:1.875rem;line-height:1.3;hyphens:auto;word-break:normal;overflow-wrap:normal}
@media(max-width:767px){.article-body h2{font-size:1.8125rem}}
@media(min-width:1024px){
 @container article-reading-space (width < 56rem){
  .article-toc{grid-column:1/-1;grid-row:auto;position:static;margin:0}
  .reading-layout>.article-head,.reading-layout>.article-body,.reading-layout>.article-sidebar,.reading-layout>.article-cover,.reading-layout>.mm-audio,.reading-layout>.mm-video-block,.reading-layout>.mm-map-block{grid-column:1/-1}
 }
}

/* New brand headings retain whole words at 320px and enlarged text, without reducing type. */
@media(max-width:767px){.profile-intro-wide-heading .profile-title-row h1{hyphens:manual;overflow-wrap:normal;width:100%;min-width:min-content;position:relative;left:50%;transform:translateX(-50%)}}

/* Reflow the compact header when the user enlarges text; controls keep their touch area. */
@media(max-width:1023px){
 .header-inner{display:flex;flex-wrap:wrap}
 .header-inner>.brand{flex:1 1 0;min-width:6.5em;max-width:100%}
 .header-inner>.menu-toggle,.header-inner>.header-search-toggle,.header-inner>.site-share{flex:0 0 44px;margin:0}
 .header-inner>.header-search{flex:1 0 100%;order:2}
 .profile-title-row{flex-wrap:wrap;gap:12px}
 .profile-title-row h1{flex:1 1 8em;min-width:0;max-width:100%}
 .profile-intro{grid-template-columns:repeat(auto-fit,minmax(min(100%,19em),1fr))}
 .brand em{display:inline-block}
 .site-footer .brand{max-width:100%;white-space:normal}
}

/* Give the new guide recommendation room for whole words at enlarged text size. */
@media(max-width:767px){.related-guides-reading-room .story.guide-image-card{padding-inline:8px}}
