/* Shared public layout polish. Keep product behavior and page content separate. */
:root{--page-width:1240px;--page-gutter:clamp(20px,4vw,48px);--page-title:clamp(2.125rem,4.2vw,3.5rem);--header-clearance:128px}
html{scroll-padding-top:var(--header-clearance)}
body{min-height:100vh}
body>main{min-height:45vh}
body>.site-header{gap:1rem;max-width:1380px}
.site-header .site-navigation{min-width:0}
.site-header .site-nav-link{white-space:normal;line-height:1.4}
.site-header .site-resource-panel{max-width:calc(100vw - 40px)}
.site-header .site-resource-panel>a{grid-template-columns:minmax(0,1fr) auto}
.site-header .site-resource-bottom{flex-wrap:wrap}
.site-header .site-header-actions{min-width:0;flex-wrap:wrap}
body>.site-header[data-header-tall]{position:relative;top:0}
main :is(h1,h2,h3,p,li,summary),.site-footer a{overflow-wrap:anywhere}
main :is(img,video){max-width:100%;height:auto}
main :is(input,select,textarea){max-width:100%;min-width:0}
main .button{max-width:100%;white-space:normal;justify-content:center;text-align:center;line-height:1.45}
main .text-link{display:inline-block;margin-left:0;text-underline-offset:5px}
main :is(.button,summary){min-height:44px}
main :is(h1,h2,h3){text-wrap:balance}
main :is(.breadcrumbs,.resource-breadcrumbs){line-height:1.6;gap:.5rem .65rem;margin:0 0 1.5rem;padding:0;min-width:0}
main :is(.breadcrumbs,.resource-breadcrumbs)>[aria-current]{overflow-wrap:anywhere}
main.pricing-page,main.service-page,main.blog-home,main.blog-article,main.guide-page{width:100%;max-width:calc(var(--page-width) + 2 * var(--page-gutter));margin-inline:auto;padding:2rem var(--page-gutter) 5rem}
main.knowledge-page{width:100%;max-width:calc(1320px + 2 * var(--page-gutter));padding:2rem var(--page-gutter) 5rem}
main.service-page.legal-copy{max-width:calc(800px + 2 * var(--page-gutter))}
main.service-page h1,.pricing-page .pricing-heading h1,.knowledge-page .resource-heading h1,.blog-home .blog-intro h1,.blog-article .blog-article-heading h1,.guide-page .guide-heading h1{font-size:var(--page-title);line-height:1.12;letter-spacing:-.045em}
main.service-page h1{margin:0 0 1.25rem}
main.service-page>.eyebrow{margin-top:0;margin-bottom:1rem}
.service-page .service-intro{max-width:72ch;line-height:1.7}
.service-page .service-grid{gap:1.5rem;align-items:stretch;margin-top:2rem}
.service-page .service-card{background:#fff;border-color:#d5ddd7;border-radius:14px;padding:clamp(1.25rem,2.5vw,2rem)}
.service-page .service-note{border-radius:0 10px 10px 0}
.service-page .service-card h2{line-height:1.25}
.service-page .service-card form{margin-bottom:1.5rem}
.pricing-page .plan-grid{align-items:stretch;gap:1.25rem}
.pricing-page .plan-card{display:flex;flex-direction:column;border-radius:14px}
.pricing-page .plan-description{min-height:3.2em}
.pricing-page .plan-allowance{min-height:3.2em}
.pricing-page .plan-card .plan-preview{line-height:1.5;min-height:44px;display:flex;justify-content:center;align-items:center}
.pricing-page .pricing-next{gap:1rem 1.5rem;align-items:center}
.pricing-page .pricing-free{border-radius:14px}
.knowledge-page .resource-layout{grid-template-columns:190px minmax(0,1fr);gap:2.5rem}
.knowledge-page .resource-reading{grid-template-columns:minmax(0,1fr) 160px;gap:2rem}
.knowledge-page .resource-heading{padding:2rem 0}
.knowledge-page .resource-copy{max-width:76ch;line-height:1.8}
.knowledge-page .resource-copy p{max-width:76ch}
.knowledge-page :is(.resource-sidebar,.resource-toc),.blog-article .blog-toc{top:var(--header-clearance);max-height:calc(100dvh - var(--header-clearance) - 24px)}
.knowledge-page .resource-card{min-width:0;border-radius:12px}
.knowledge-page .resource-card h3{line-height:1.3}
.knowledge-page .resource-copy .table-scroll{max-width:100%;overscroll-behavior-inline:contain}
.knowledge-page .resource-copy :is(th,td){vertical-align:top;line-height:1.6}
.site-footer{padding-inline:var(--page-gutter)}
.site-footer :is(.site-footer-main,.site-footer-bottom){max-width:var(--page-width)}
.site-footer .site-footer-main{gap:2.5rem;padding-block:3.5rem 2.5rem}
.site-footer .site-footer-group{min-width:0}
.site-footer .site-footer-group a{line-height:1.5}
.site-footer .site-footer-bottom{gap:.75rem 1.5rem}
.layout-error{max-width:820px;margin:0 auto;padding:clamp(3rem,8vw,7rem) var(--page-gutter)}
.layout-error h1{font-size:var(--page-title);line-height:1.12;letter-spacing:-.045em;margin:0 0 1.25rem}
.layout-error p:not(.eyebrow){max-width:60ch;color:var(--muted);line-height:1.7}
.layout-error-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
@media(min-width:1001px) and (max-width:1200px){.knowledge-page .resource-layout{grid-template-columns:170px minmax(0,1fr);gap:1.5rem}.knowledge-page .resource-reading{grid-template-columns:minmax(0,1fr) 140px;gap:1.25rem}}
@media(max-width:1060px){.site-header[data-menu-open]>.site-navigation{max-height:55dvh}.site-footer .site-footer-main{gap:2rem}}
@media(max-width:1000px){.knowledge-page .resource-layout,.knowledge-page .resource-reading{grid-template-columns:minmax(0,1fr);gap:1.5rem}.knowledge-page :is(.resource-sidebar,.resource-toc){position:static;max-height:none}.knowledge-page .resource-heading{padding:1.5rem 0}.knowledge-page .resource-copy{max-width:none}}
@media(max-width:760px){main.pricing-page,main.service-page,main.knowledge-page,main.blog-home,main.blog-article,main.guide-page{padding-top:1.5rem;padding-bottom:3.5rem}.pricing-page .plan-description,.pricing-page .plan-allowance{min-height:0}.pricing-page .plan-card{padding:1.5rem}.pricing-page .pricing-next{align-items:stretch}.pricing-page .pricing-next .button{width:100%}.service-page .service-grid{grid-template-columns:minmax(0,1fr)}.site-footer .site-footer-main{padding-block:2.5rem 2rem;gap:1.75rem}}
@media(max-width:600px){body>.site-header{gap:.5rem}.site-header .site-brand{min-width:0}.site-header .site-download{white-space:normal;line-height:1.35}.site-header .site-menu-toggle{flex-shrink:0}.site-footer .site-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer .site-footer-intro{grid-column:1/-1}.site-footer .site-footer-bottom{align-items:flex-start}.layout-error-actions{flex-direction:column}.knowledge-page .resource-heading{padding-top:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}main .button{transition:none;transform:none}}

@media(max-width:1060px){body>.site-header:not([data-nav-ready]){position:relative;top:0}}

/* All privacy choices remain readable at enlarged text on narrow screens. */
body>.privacy-panel .privacy-actions{min-width:0;max-width:100%}
body>.privacy-panel .privacy-actions button{white-space:normal;max-width:100%;min-height:44px;overflow-wrap:anywhere}
