/* Shared defaults. Page compositions own their typography and dimensions. */
:root{--paper:#f1f2f4;--ink:#2c373e;--green:#59b039;--blue:#55bad8;--muted:#606b70}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.3 Inter,Arial,sans-serif}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}
h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{font:inherit}em{font-style:italic}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #2c373e;outline-offset:4px}
.skip{position:fixed;top:-100px;left:0;background:white;padding:15px;z-index:500}.skip:focus{top:0}
[hidden]{display:none!important}
#contact-dialog{width:min(600px,calc(100% - 32px));padding:50px;border:0;border-radius:10px;background:#f1f2f4;color:#2c373e}
#contact-dialog::backdrop{background:#2c373e99}.dialog-open{overflow:hidden}
#contact-dialog h2{font:600 38px/1.1 Inter,Arial,sans-serif;letter-spacing:-1px;margin-bottom:24px}
#contact-dialog p{font-size:16px;line-height:1.5;margin:20px 0}
#contact-dialog .eyebrow{display:block;margin-bottom:20px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
#contact-dialog .dialog-close{position:absolute;top:10px;right:16px;border:0;background:none;font:300 34px/1 Arial;color:#2c373e}
.contact-option{display:block;border-top:1px solid #ccd2d4;padding:18px 0}.contact-option span{display:block;font-size:13px;color:#606b70;margin-bottom:8px}.contact-option strong{font-size:20px;font-weight:500}
.muted{color:#606b70}
@media(max-width:640px){#contact-dialog{padding:36px 25px}#contact-dialog h2{font-size:30px}.contact-option strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
#callback-form{display:grid;gap:16px;margin-bottom:28px}#callback-form>p{margin:0}#callback-form label{display:grid;gap:7px;font-size:14px}#callback-form input:not([type=checkbox]),#callback-form textarea{box-sizing:border-box;min-width:0;width:100%;padding:12px;border:1px solid #bfc8cc;border-radius:5px;background:white;color:#2c373e;font:16px/1.4 Inter,Arial,sans-serif}#callback-form textarea{resize:vertical}#callback-form .callback-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5}#callback-form .callback-consent input{margin-top:3px;flex-shrink:0}.callback-consent a{text-decoration:underline}.callback-submit{padding:15px;border:0;border-radius:5px;background:#59b039;color:white;font:500 15px/1.3 Inter,Arial,sans-serif;cursor:pointer}.callback-submit:disabled{opacity:.65;cursor:default}#callback-form .callback-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#callback-form #callback-status{font-size:14px}#contact-dialog{max-height:calc(100dvh - 32px);overflow:auto}
#callback-form select{width:100%;min-width:0;padding:12px;border:1px solid #bfc8cc;border-radius:5px;background:white;color:#2c373e;font:16px/1.4 Inter,Arial,sans-serif}

#callback-form .callback-notice{padding:12px 14px;border-left:3px solid #cf9c35;border-radius:4px;background:#fff5dc;color:#6b4d18;font-size:14px;line-height:1.5}
