/* Escala fluida: 360–1240px, base 18–20px, razões 1.2–1.25.
   Referência: https://utopia.fyi/type/calculator/ */
:root{
 --font-heading:'Source Sans Pro',Arial,sans-serif;
 --font-subheading:'Carme',Arial,sans-serif;
 --font-reading:'Alegreya Sans',Arial,sans-serif;
 --step--2:clamp(.7813rem,.7736rem + .0341vw,.8rem);
 --step--1:clamp(.9375rem,.9119rem + .1136vw,1rem);
 --step-0:clamp(1.125rem,1.0739rem + .2273vw,1.25rem);
 --step-1:clamp(1.35rem,1.2631rem + .3864vw,1.5625rem);
 --step-2:clamp(1.62rem,1.4837rem + .6057vw,1.9531rem);
 --step-3:clamp(1.944rem,1.7405rem + .9044vw,2.4414rem);
 --step-4:clamp(2.3328rem,2.0387rem + 1.3072vw,3.0518rem);
 --step-5:clamp(2.7994rem,2.384rem + 1.8461vw,3.8147rem);
 --step-6:clamp(3.3592rem,2.6415rem + 3.1897vw,5rem);
}
body{font-family:var(--font-reading);font-size:var(--step-0);line-height:1.7}
h1,h2{font-family:var(--font-heading);font-weight:700;letter-spacing:-.035em;line-height:1.12;text-wrap:balance}
h1{font-size:var(--step-6)}h2{font-size:var(--step-5)}
h3{font-family:var(--font-subheading);font-weight:400;letter-spacing:-.01em;line-height:1.3;text-wrap:balance}
p{max-inline-size:70ch;line-height:1.7;text-wrap:pretty}
button,input,select,summary,nav,.eyebrow,.header-note,.ribbon,.date,.badge,.card-top,.results-line,.brand{font-family:var(--font-heading)}
header nav{font-size:var(--step--1)}.eyebrow{font-size:.75rem}.header-note{font-size:.7rem}.hero-copy>p{font-size:var(--step-0);max-inline-size:40ch}.hero-bottom{font-size:.75rem;line-height:1.5}.button{font-family:var(--font-heading);font-weight:600;font-size:1rem}.text-link{font-size:.9375rem}
.hero-art{min-height:650px}.art-card p{font-family:var(--font-subheading);font-size:var(--step-1);line-height:1.4;letter-spacing:-.01em}.art-card small{font-size:.875rem}.art-label,.art-card>span{font-family:var(--font-heading);font-size:.6875rem}
.section-heading>p{font-size:var(--step-0);max-width:38ch}.search input{font-size:var(--step-0)}.search-label{font-size:.75rem}.filters button{font-size:.9375rem}.results-line,.results-line select{font-size:.9375rem}
.card-top{font-size:.75rem}.card h3{font-size:var(--step-2);letter-spacing:-.01em;line-height:1.25}.card.item h3{font-size:var(--step-1);letter-spacing:-.01em;line-height:1.3}.card p{font-size:var(--step-0);line-height:1.65}.badge{font-size:.875rem;line-height:1.5}.card button,.load-more{font-size:1rem}.card{min-height:340px}
.guide-grid h3{font-family:var(--font-heading);font-weight:700;font-size:var(--step-3);line-height:1.15;letter-spacing:-.03em}.guide-grid article>span{font-size:.75rem}.guide-grid p{font-size:var(--step-0);line-height:1.7}.guide-grid a{font-size:1rem}
.method>div>p{font-size:var(--step-0);max-width:45ch}.method-steps h3{font-size:var(--step-1);line-height:1.3}.method-steps p{font-size:var(--step-0);line-height:1.7}.date{font-size:.75rem}
.source-list a{font-size:var(--step-0);line-height:1.5}.source-list a small{font-size:.875rem;line-height:1.6}summary{font-size:var(--step-0);line-height:1.5}details p{font-size:var(--step-0);line-height:1.7}
.about h2{font-size:var(--step-4);letter-spacing:-.03em;line-height:1.15}.about p{font-size:var(--step-0);max-width:65ch}.about>span{font-size:.75rem}footer p{font-size:var(--step--1);line-height:1.7}footer>a:last-child{font-size:1rem}
dialog h2{font-family:var(--font-heading);font-size:var(--step-3);font-weight:700;letter-spacing:-.03em;line-height:1.15;overflow-wrap:anywhere}dialog h3{font-size:var(--step-1);letter-spacing:-.01em;line-height:1.3}dialog p,dialog li{font-size:var(--step-0);line-height:1.7;max-width:70ch}dialog .fact,.warning{font-size:var(--step--1);line-height:1.65}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{padding:48px 6% 32px}.hero-copy>p{max-inline-size:65ch}.hero-art{margin:0 6% 28px;min-height:550px}.section-heading{align-items:start}.section-heading>p{max-width:34ch}.hero-bottom{margin-top:30px}}
@media(max-width:620px){header{height:auto;min-height:110px;padding:10px 5%;flex-wrap:wrap;justify-content:center;gap:6px 24px}header nav{font-size:.875rem;gap:16px;flex-wrap:wrap;justify-content:center}.hero-art{min-height:490px}.hero-logo{height:245px}.art-card p{font-size:var(--step-1)}.ribbon{font-size:.75rem;letter-spacing:.06em}.section-heading>p{max-width:65ch}.card{padding:24px;min-height:300px}.filters button{font-size:.875rem}.results-line{gap:16px;align-items:center}.results-line label{display:flex;align-items:center;gap:6px}.source-list a{overflow-wrap:anywhere}.about h2{font-size:var(--step-4)}}
