/* Shared visual rhythm, readable articles and keyboard/mobile controls. */
body{font-size:16px;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
.container{padding-inline:clamp(18px,4vw,40px)}
.site-logo{letter-spacing:-.045em}
.hero h1{font-size:clamp(2rem,4.6vw,3.65rem);line-height:1.13;letter-spacing:-.045em;max-width:19ch;text-wrap:balance}
.hero-content>p{max-width:58ch;font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.75}
.hero-inner{gap:clamp(28px,5vw,72px)}
.home-section-heading h2{letter-spacing:-.03em;text-wrap:balance}
.home-tool-card{padding:clamp(22px,3vw,32px);border-radius:18px;border:1px solid rgba(246,211,107,.16);transition:transform .18s ease,border-color .18s ease,background-color .18s ease}
.home-tool-card p{line-height:1.7}
.home-tool-card:hover{border-color:rgba(246,211,107,.6);transform:translateY(-3px)}
.home-tool-card strong{margin-top:20px}
.single-content{font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.85;overflow-wrap:anywhere}
.single-content p{margin-bottom:1.25em}
.single-content h2,.single-content h3{line-height:1.3;letter-spacing:-.025em;margin-top:1.8em}
.single-content a{text-decoration:underline;text-underline-offset:3px}
.footer-widget a{display:inline-block;padding-block:5px}
.footer-widget button{color:var(--text-muted);border:0;background:none;padding:8px 0;text-align:left;cursor:pointer;text-decoration:underline}
.cookie-settings-row{padding-block:12px}.cookie-settings-row button{font:inherit;background:none;border:0;color:var(--text-muted);padding:8px 0;cursor:pointer;text-decoration:underline}
.btn{text-transform:none;letter-spacing:0;min-height:48px}
.tools-dropdown__panel{overscroll-behavior:contain}
.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);z-index:100001;background:#f6d36b;color:#111;padding:12px 18px;border-radius:8px}
.skip-link:focus{transform:none;color:#111}
#main-content{scroll-margin-top:24px}
#sab-cookie-banner{max-height:75dvh;overflow-y:auto;background:var(--bg-card)}
.sab-cookie-btn{min-height:44px;font:inherit;font-weight:700}
@media(max-width:600px){.hero{padding-block:36px}.hero h1{max-width:none}.home-tool-card{padding:22px}.single-content{line-height:1.8}.site-header{padding-block:16px}}
@media(prefers-reduced-motion:reduce){.home-tool-card,.btn,a{transition:none}.home-tool-card:hover{transform:none}}
