:root{--mist:#eef1fc;--ink:#243052;--cobalt:#445cd6;--white:#fff;--steel:#cbd3e9;--orange:#dc6b35;--body:"Avenir Next","Segoe UI",sans-serif;--display:"Trebuchet MS",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--mist);color:var(--ink);font-family:var(--body);line-height:1.55}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.demo-notice{padding:10px 20px;background:var(--ink);color:var(--white);font-size:13px;text-align:center}.masthead,main,footer{width:min(1240px,calc(100% - 96px));margin-inline:auto}.masthead{display:flex;align-items:center;justify-content:space-between;padding:27px 0}.wordmark{font-family:var(--display);font-size:31px;font-weight:700;letter-spacing:-2px}.wordmark-dot{color:var(--orange)}.location{font-size:13px}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:58px;align-items:center;padding:20px 0 68px}.eyebrow{font-size:13px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 16px}h1{margin:0;font-family:var(--display);font-weight:700;line-height:1.02}.display-name{display:block;font-size:clamp(88px,9vw,132px);letter-spacing:-7px}.display-detail{display:block;font-size:clamp(27px,3vw,42px);letter-spacing:-1.4px;margin-top:12px}.intro{font-size:18px;max-width:380px;margin:28px 0}.actions{display:flex;flex-direction:column;gap:10px;max-width:360px}.button{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:15px 21px;border-radius:8px;font-size:15px;font-weight:600;transition:transform .16s ease}.button:hover{transform:translateY(-2px)}.call{background:var(--cobalt);color:var(--white)}.message{background:var(--white);border:1px solid var(--steel)}.phone{font:14px "Courier New",monospace;margin:16px 0 0}.key-panel{background:var(--cobalt);border-radius:180px 180px 16px 16px;position:relative;overflow:hidden;align-self:stretch;min-height:530px;display:flex;align-items:center;justify-content:center}.key-panel svg{width:100%;height:auto;display:block}.orbit{fill:none;stroke:var(--white);stroke-opacity:.2;stroke-width:1}.key-body{fill:var(--mist)}.key-shadow{fill:var(--ink);opacity:.42}.key-cutout{fill:var(--cobalt)}.key-line{fill:none;stroke:var(--steel);stroke-width:7;stroke-linecap:round}.panel-label{position:absolute;bottom:23px;left:0;right:0;text-align:center;color:var(--white);font:11px "Courier New",monospace;letter-spacing:.1em}.contact-note{border-top:1px solid var(--steel);display:grid;grid-template-columns:1fr 1fr;column-gap:58px;padding:42px 0}.contact-note h2{font-family:var(--display);font-size:31px;line-height:1.2;letter-spacing:-1px;margin:0}.contact-note p{margin:0;max-width:420px;font-size:16px}.contact-note a{grid-column:2;font-size:20px;font-weight:600;margin-top:20px;justify-self:start;border-bottom:1px solid var(--cobalt)}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--steel);padding:24px 0 30px;font-size:12px}
@media(max-width:850px){.masthead,main,footer{width:calc(100% - 48px)}.hero{gap:28px}.key-panel{min-height:480px}.display-name{font-size:90px}.display-detail{font-size:31px}.intro{font-size:16px}.contact-note{gap:28px}}
@media(max-width:600px){.demo-notice{font-size:11px;padding:9px 12px}.masthead,main,footer{width:calc(100% - 36px)}.masthead{padding:16px 0}.wordmark{font-size:25px}.location{font-size:12px}.hero{grid-template-columns:1fr;gap:34px;padding:21px 0 36px}.eyebrow{font-size:11px;margin-bottom:12px}.display-name{font-size:86px;letter-spacing:-5px}.display-detail{font-size:30px;letter-spacing:-1px;margin-top:7px}.intro{font-size:16px;margin:22px 0}.actions{max-width:none}.button{min-height:55px;padding:14px 17px;font-size:14px}.phone{margin-top:14px}.key-panel{min-height:0;aspect-ratio:1/1.05;border-radius:140px 140px 12px 12px}.key-panel svg{height:100%;width:100%}.panel-label{font-size:9px;bottom:19px}.contact-note{display:block;padding:28px 0}.contact-note h2{font-size:27px;margin-bottom:16px}.contact-note p{font-size:15px}.contact-note a{display:inline-block;font-size:19px;margin-top:19px}footer{display:block;font-size:11px;padding:20px 0}footer span{display:block;margin:4px 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
