/* Foundation for template pages. Replaces styles.css and site-design.css on migrated routes.
   Load first, then design-tokens.css, ui-kit.css and templates.css. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--site-nav-height) + 24px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--site-color-paper);color:var(--site-color-ink);font:var(--site-body-size)/var(--site-body-leading) var(--site-font-body)}
a{color:inherit;text-underline-offset:4px}
button,input,select,textarea{font:inherit;color:inherit}
button,summary{cursor:pointer}
img,svg{max-width:100%}
img{height:auto}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--site-palette-blue);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

.wf-shell{width:calc(100% - 2 * var(--site-gutter));max-width:var(--site-inner-width);margin-inline:auto}
.wf-skip{position:fixed;left:16px;top:-100px;z-index:100;padding:10px 14px;border-radius:var(--site-radius-button);background:var(--site-color-paper);color:var(--site-color-ink)}
.wf-skip:focus{top:16px}

/* Review chrome stays available but recedes behind the page. */
.wf-review{border-bottom:1px solid var(--site-color-line);background:var(--site-color-band);font:11px/1.5 var(--site-font-mono);color:var(--site-color-muted);padding:8px 0}
.wf-review>.wf-shell{display:flex;align-items:center;justify-content:space-between;gap:18px}
.wf-review a{white-space:nowrap}
.wf-source-note{margin-block:40px;font-size:13px;color:var(--site-color-muted)}
.wf-source-note summary{font:11px/1.5 var(--site-font-mono);text-transform:uppercase;letter-spacing:.06em}
.wf-source-note code,.wf-source-note a{overflow-wrap:anywhere}

.wf-dialog{width:min(560px,calc(100% - 32px));padding:36px;border:1px solid var(--site-color-line);border-radius:var(--site-radius-card);background:var(--site-color-paper);color:var(--site-color-ink)}
.wf-dialog::backdrop{background:#0007}
.wf-dialog h2{margin:0 0 12px;font:600 var(--site-subheading-size)/1.3 var(--site-font-heading);letter-spacing:var(--site-heading-tracking)}
.wf-dialog p{color:var(--site-color-muted)}
.wf-dialog .wf-button{min-height:var(--site-control-height);padding:12px 24px;border:0;border-radius:var(--site-radius-button);background:var(--site-header-cta-gradient);box-shadow:var(--site-header-cta-shadow);color:#fff;font-weight:600}

/* Footer structure. Appearance comes from design-tokens.css. */
.wf-footer{width:100%}
.wf-footer a:hover{color:#fff}
.wf-footer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
.wf-footer-row p{margin:0}
.wf-legal,.wf-badges{display:flex;flex-wrap:wrap}
.wf-legal a,.wf-legal button{text-decoration:none;background:none;border:0;padding:0}
.wf-newsletter{display:flex}
