@import url("site-tokens.css");
/* Shared product and contact page components. */
:root{--site-header-height:60px;--control-radius:8px;--muted:var(--ink-2);--line:var(--rule);--blue:var(--accent);--light:var(--ground)}
html{scroll-padding-top:calc(var(--site-header-height) + 24px)}
body{background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--w);padding-left:32px;padding-right:32px;margin-left:auto;margin-right:auto}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px)}
.site-header .site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;height:var(--site-header-height)}
.site-header .site-brand{display:flex;align-items:center;gap:9px;flex:none;color:var(--ink);font:700 17px/1.65 var(--sans);letter-spacing:-.045em;white-space:nowrap;text-decoration:none}
.site-brand svg{display:block;width:24px;height:17px;flex:none}
.site-brand small{font:400 12px/1.65 var(--sans);letter-spacing:0;color:var(--ink-3);margin-left:2px}
.site-header .site-nav{display:flex;align-items:center;gap:4px;margin:0;padding:0;font:400 14px/1.65 var(--sans);color:var(--ink-2)}
.site-nav a{display:block;padding:6px 10px;border-radius:6px;white-space:nowrap;text-decoration:none}
.site-nav a:hover{background:var(--ground);color:var(--ink)}
.site-nav a[aria-current="page"]:not(.site-nav-cta){color:var(--ink);font-weight:600}
.site-nav a.site-nav-cta{padding:7px 14px;margin-left:8px;background:#15171b;color:#fff;font-weight:600}
.site-nav a.site-nav-cta:hover{opacity:.88}
.site-header a:focus-visible,.site-footer a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.site-footer{background:var(--paper);border-top:1px solid var(--rule);padding:28px 0 44px;color:var(--ink-2);font-size:13px}
.site-footer>.wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px}
.site-footer-brand{font:700 18px/1.65 var(--sans);letter-spacing:-.045em;color:var(--ink)}
.site-footer-brand span{font-size:12px;font-weight:400;letter-spacing:0;color:var(--ink-2);margin-left:8px}
.site-footer .site-footer-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin:0;padding:0;font:400 13px/1.65 var(--sans);color:var(--ink-2)}
.site-footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer .site-business-info{flex-basis:100%;margin:0;font:400 12px/1.9 var(--sans);color:var(--ink-2)}
.btn,.button{min-height:46px;padding:12px 20px;border-radius:var(--control-radius);font:600 15px/1.3 var(--sans);gap:8px}
.button{border:1px solid var(--rule-2);background:var(--paper);color:var(--ink)}
.button.primary{border-color:var(--accent);background:var(--accent);color:#fff}
.button.primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}
.button.secondary:hover{background:var(--ground);border-color:var(--ink-3)}
.contact-page a:focus-visible,.contact-page button:focus-visible,.contact-page summary:focus-visible,.contact-page textarea:focus-visible,.contact-page .inquiry-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.contact-page .hero{padding-top:58px;padding-bottom:56px;gap:56px;grid-template-columns:minmax(0,1fr) 380px}
.contact-page .hero h1{font-size:clamp(34px,3.7vw,50px);font-weight:700;line-height:1.24;letter-spacing:-.045em}
.contact-page .hero h1>span{color:var(--ink)}
.contact-page .eyebrow{font:600 13px/1.65 var(--sans);letter-spacing:0;color:var(--accent-ink);margin-bottom:18px}
.contact-page .dot{display:none}
.contact-page .lede{font-size:18px;line-height:1.75;margin-top:23px}
.contact-page .section{padding-top:72px;padding-bottom:72px}
.contact-page h2{font-size:clamp(28px,3.4vw,38px);font-weight:700;line-height:1.25;letter-spacing:-.02em}
.contact-page .pass{border:1px solid var(--rule-2);border-radius:12px;background:var(--paper);box-shadow:none}
.contact-page .pass h2{font-size:22px;line-height:1.4}
.contact-page .pass h2 span{color:var(--ink-3)}
.contact-page .pass-top,.contact-page .pass-bottom{background:var(--ground);border-color:var(--rule)}
.contact-page .pass-top{color:var(--ink-2)}
.contact-page .pass-bottom{border-top-style:solid}
.contact-page .feature-list{border-top-width:1px}
.contact-page .number{color:var(--ink-3)}
.contact-page .mapping-note{background:var(--accent-soft);color:var(--ink-2);border-color:var(--accent)}
.contact-page .mapping-note strong{color:var(--accent-ink)}
.contact-page .backup{background:var(--paper);border-radius:8px}
.contact-page .steps li{border-color:var(--rule-2)}
.contact-page .apply-section{background:var(--ground);color:var(--ink);padding:72px 0;border-block:1px solid var(--rule)}
.contact-page .apply-section .eyebrow{color:var(--accent-ink)}
.contact-page .apply-copy>p:not(.eyebrow){color:var(--ink-2)}
.contact-page .email-box{border-color:var(--rule-2)}
.contact-page .email-box>span{color:var(--ink-3)}
.contact-page .text-button{color:var(--accent-ink)}
.contact-page .application{background:var(--paper);color:var(--ink);border:1px solid var(--rule-2);border-radius:12px}
.contact-page .application-head{background:var(--ground);color:var(--ink-2);border-bottom:1px solid var(--rule)}
.contact-page textarea{background:var(--ground);color:var(--ink-2);border-color:var(--rule-2);border-radius:8px}
.contact-page .status{color:var(--accent-ink)}
.contact-page .inquiry-options span{background:var(--paper);color:var(--ink-2);border-color:var(--rule-2);border-radius:6px}
.contact-page .inquiry-options input:checked+span{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}
.contact-page .policy-heading h2{font-size:23px}
.contact-page .privacy-section h2{font-size:18px}
.site-skip,.contact-page .skip{position:fixed;top:-80px;left:18px;z-index:100;background:var(--paper);color:var(--ink);padding:10px 16px;border-radius:6px}
.site-skip:focus,.contact-page .skip:focus{top:10px}
@media(max-width:1000px){.contact-page .hero{grid-template-columns:minmax(0,1fr) 345px;gap:35px}}
@media(max-width:760px){
  .contact-page .hero{grid-template-columns:1fr;gap:34px;padding-top:38px;padding-bottom:44px}
  .contact-page .hero h1{font-size:35px;line-height:1.3}
  .contact-page .section,.contact-page .apply-section{padding-top:48px;padding-bottom:48px}
  .contact-page .lede{font-size:16px}
  .contact-page .eyebrow{font-size:12px}
  .contact-page .apply-copy h2{font-size:28px}
  .btn,.button{font-size:14px;padding:12px 15px}
}
@media(max-width:640px){
  :root{--site-header-height:100px}
  .wrap{padding-left:18px;padding-right:18px}
  .site-header .site-header-inner{flex-direction:column;align-items:stretch;justify-content:center;gap:8px}
  .site-header .site-brand{font-size:17px}
  .site-brand small{display:inline}
  .site-header .site-nav{font-size:13px;gap:2px;justify-content:space-between}
  .site-nav a{padding:6px 8px}
  .site-nav a.site-nav-cta{margin-left:auto;padding:6px 12px}
  .site-footer>.wrap{align-items:flex-start;gap:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.site-skip{display:none}.contact-page .apply-section{background:white;color:black}}

/* All inquiry entry points share the same primary action color. */
.btn.contact-cta,.panel .pf #mlinsert{background:#15171b;border-color:#15171b;color:#fff}
.btn.contact-cta:hover,.panel .pf #mlinsert:hover,.site-nav a.site-nav-cta:hover{background:#30343b;border-color:#30343b;color:#fff;opacity:1}
