@font-face{font-family:Satoshi;src:url('/includes/fonts/Satoshi-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Satoshi;src:url('/includes/fonts/Satoshi-Bold.woff') format('woff');font-weight:700;font-display:swap}
:root{--ink:#272b36;--muted:#626771;--accent:#3159a0;--wash:#fbfaf7;--line:#e0e2e6}
html{min-height:100%;background:#fff}
body{min-height:100vh;background:#fff;font-family:Satoshi,'Trebuchet MS',sans-serif;color:#111;display:flex;flex-direction:column}
h1{font-family:Satoshi,'Trebuchet MS',sans-serif;font-weight:700}
.safari-logo{display:block;width:190px;max-width:45vw;height:auto}
.brandbar{padding-top:28px;padding-bottom:28px}
.visit-info{border:0;background:#f4f0e7;border-radius:24px;padding:24px 28px}
.panel{box-shadow:0 8px 36px #272b3608}
.calendar-days button{background:#eaf0fa;color:#3159a0}
.calendar-days button[aria-pressed=true]{background:#3159a0;color:white}
.safari-utility{background:#f4f0e7;border-top:2px solid #3159a0;font-size:12px}
.safari-utility>div{max-width:1240px;margin:auto;padding:8px 32px;display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;align-items:center}
.safari-utility a{color:#3159a0}
.safari-header{max-width:1240px;width:100%;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.safari-header nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-weight:700;font-size:14px}
.safari-header nav a{text-decoration:none;color:#111}
a.safari-button,.safari-header nav a.safari-button{display:inline-block;background:#3159a0;color:#fff;border-radius:40px;padding:9px 25px;text-decoration:none;font-weight:700;white-space:nowrap;text-align:center}
main{width:100%;max-width:1200px;padding:25px 32px 64px;flex:1}
.intro{grid-template-columns:1.25fr 1fr;padding:32px 0 40px;align-items:center}
h1{color:#111;font-size:clamp(2rem,3.7vw,3.1rem);line-height:1.15}
h1:after{content:'';display:block;width:160px;height:6px;background:#e87b94;border-radius:60% 20% 55% 30%;margin-top:16px;transform:rotate(-1deg)}
.lead{margin-top:20px}.panel{border-radius:24px;padding:32px;box-shadow:0 10px 35px #182f5010}
button[type=submit],#print-confirmation{border-radius:40px;padding:13px 28px;font-family:inherit}
.safari-footer{padding:0;margin:0;text-align:left;color:#111;font-size:14px;background:#fbfaf7;border-top:1px solid #e5e2da}
.safari-footer-main{max-width:1240px;margin:auto;padding:44px 32px;display:grid;grid-template-columns:1fr 1.2fr auto;gap:40px;align-items:center}
.safari-footer address{font-style:normal;max-width:300px}
.safari-footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.safari-footer a{color:inherit}.safari-footer a.safari-button{color:white}
.safari-footer-main nav a{text-decoration:none;font-weight:700}
.safari-footer-art,.safari-footer-art img{display:block;width:100%;height:auto}
.safari-footer-legal{background:#3159a0;color:white;padding:30px max(32px,calc((100vw - 1176px)/2));font-size:12px}
.safari-footer-legal nav{display:flex;gap:20px;flex-wrap:wrap}
a:focus-visible{outline:3px solid #d49929;outline-offset:5px}
@media(max-width:900px){.safari-header{align-items:flex-start;flex-direction:column;gap:22px}.safari-header nav{gap:16px}.safari-footer-main{grid-template-columns:1fr 1fr}.safari-footer-main>.safari-button{justify-self:start}}
@media(max-width:760px){.intro{grid-template-columns:1fr;gap:24px}.safari-utility>div{justify-content:flex-start;padding:10px 20px;gap:10px 16px}.safari-utility strong{width:100%}.safari-header{padding:20px}.safari-header nav{font-size:13px}main{padding:8px 20px 40px}.visit-info{padding:22px}.panel{padding:24px}.safari-footer-main{padding:30px 20px;grid-template-columns:1fr;gap:26px}.safari-footer-legal{padding:26px 20px}}
@media print{.safari-header nav,.safari-utility,.safari-footer{display:none}body{display:block}main{padding:0}.panel{box-shadow:none}}
