/* Component styles consume the shared Allstar Dental tokens. */
:root{font-family:var(--asd-font-family);color:var(--asd-color-text);background:var(--asd-color-canvas);font-size:16px;line-height:var(--asd-font-line-height-body)}
*{box-sizing:border-box}body{margin:0;border-top:4px solid var(--asd-color-accent)}
header,main,footer{max-width:var(--asd-layout-content);margin:auto;padding:var(--asd-space-6)}
header{display:flex;justify-content:space-between;align-items:center;border-bottom:var(--asd-border-width) solid var(--asd-color-border);gap:var(--asd-space-6);background:var(--asd-color-surface)}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--asd-space-2);text-decoration:none;flex-shrink:0}
.brand img{width:var(--asd-layout-logo-width);height:auto;display:block;aspect-ratio:2976/866;object-fit:contain}
.brand span{font-size:var(--asd-font-size-xs);font-weight:var(--asd-font-weight-bold);letter-spacing:.18em;color:var(--asd-color-text-muted)}
nav{display:flex;gap:var(--asd-space-5);font-size:var(--asd-font-size-base);flex-wrap:wrap}nav a{white-space:nowrap}a{color:var(--asd-color-link);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}
main{min-height:65vh;padding-top:var(--asd-space-8);padding-bottom:var(--asd-space-8)}
h1,h2{color:var(--asd-color-heading);font-weight:var(--asd-font-weight-regular);line-height:var(--asd-font-line-height-heading)}
h1{font-size:var(--asd-font-size-h1);letter-spacing:-.025em;margin:var(--asd-space-3) 0 var(--asd-space-5)}h2{font-size:var(--asd-font-size-h2)}
.lead{max-width:42rem;font-size:var(--asd-font-size-lead);color:var(--asd-color-text-muted)}
.eyebrow{font-size:var(--asd-font-size-xs);letter-spacing:.16em;font-weight:var(--asd-font-weight-bold);color:var(--asd-color-link)}
.button,button{display:inline-flex;justify-content:center;align-items:center;min-height:var(--asd-layout-control-min-height);background:var(--asd-color-primary);color:var(--asd-color-on-primary);padding:var(--asd-space-3) var(--asd-space-5);border:var(--asd-border-width) solid var(--asd-color-primary);border-radius:var(--asd-radius-control);text-decoration:none;font:inherit;font-weight:var(--asd-font-weight-bold);cursor:pointer;transition:background-color var(--asd-motion-duration)}
.button:hover,button:hover{background:var(--asd-color-primary-hover);border-color:var(--asd-color-primary-hover)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:var(--asd-focus-width) solid var(--asd-color-focus);outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.6}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--asd-space-5);margin-top:var(--asd-space-8)}
.card{padding:var(--asd-space-6);background:var(--asd-color-surface);border:var(--asd-border-width) solid var(--asd-color-border);border-radius:var(--asd-radius-card);margin-bottom:var(--asd-space-5)}
.narrow{max-width:var(--asd-layout-form);margin:auto}.narrow h1{font-size:2.375rem}
.tag{font-size:var(--asd-font-size-xs);font-weight:var(--asd-font-weight-bold);letter-spacing:.06em;padding:var(--asd-space-1) var(--asd-space-2);background:var(--asd-color-notice-bg);color:var(--asd-color-heading);border-radius:var(--asd-radius-badge)}
.muted{color:var(--asd-color-text-muted)}
label{display:block;margin:var(--asd-space-5) 0;font-weight:var(--asd-font-weight-bold)}
input{display:block;width:100%;min-height:var(--asd-layout-control-min-height);padding:var(--asd-space-3);font:inherit;font-weight:var(--asd-font-weight-regular);color:var(--asd-color-text);background:var(--asd-color-surface);border:var(--asd-border-width) solid var(--asd-color-input-border);border-radius:var(--asd-radius-control);margin-top:var(--asd-space-2)}
.notice{background:var(--asd-color-notice-bg);color:var(--asd-color-heading);border-left:4px solid var(--asd-brand-teal);padding:var(--asd-space-4);margin-bottom:var(--asd-space-5)}
.secondary{background:var(--asd-color-surface);color:var(--asd-color-primary)}.secondary:hover{background:var(--asd-color-notice-bg)}
dl{display:grid;grid-template-columns:12.5rem 1fr;gap:var(--asd-space-3)}dt{color:var(--asd-color-text-muted)}dd{margin:0;overflow-wrap:anywhere}
footer{font-size:var(--asd-font-size-sm);color:var(--asd-color-text-muted);border-top:var(--asd-border-width) solid var(--asd-color-border)}
.legal{max-width:var(--asd-layout-reading)}.legal h1{font-size:2.75rem}.legal h2{margin-top:var(--asd-space-6)}
.skip-link{position:absolute;left:var(--asd-space-4);top:-10rem;background:var(--asd-color-surface);padding:var(--asd-space-3);z-index:10}.skip-link:focus{top:var(--asd-space-4)}
@media(max-width:650px){header{align-items:flex-start;flex-direction:column}.brand img{width:var(--asd-layout-logo-mobile-width)}.grid{grid-template-columns:1fr}header,main,footer{padding-left:var(--asd-space-5);padding-right:var(--asd-space-5)}nav{gap:var(--asd-space-4)}dl{grid-template-columns:1fr;gap:var(--asd-space-1)}dd{margin-bottom:var(--asd-space-3)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
