@font-face{font-family:Outfit;src:url('./assets/outfit-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Outfit;src:url('./assets/outfit-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Work Sans;src:url('./assets/work-sans-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Work Sans;src:url('./assets/work-sans-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{color-scheme:dark;--bg:#171818;--surface:#202222;--surface-2:#292b2b;--text:#f4f5f4;--muted:#b9bdbb;--line:#414444;--accent:#326e9d;--accent-hover:#6a9bc3;--radius:4px;--motion:cubic-bezier(.16,1,.3,1);font-family:'Work Sans',sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100dvh;background:var(--bg)}button,input{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent-hover);outline-offset:4px}::selection{background:var(--accent);color:var(--text)}[hidden]{display:none!important}.ph{font-size:22px;line-height:1}
main{width:min(100%,760px);margin:0 auto;padding:32px 16px calc(32px + env(safe-area-inset-bottom))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 80px rgb(0 0 0 / .26)}
.masthead{height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 28px;background:#454747;border-bottom:1px solid #5e6060}.wordmark{font-family:Outfit,sans-serif;font-size:clamp(27px,6vw,45px);font-weight:600;line-height:.86;letter-spacing:-.055em;text-transform:uppercase;white-space:nowrap}.wordmark span{display:block;font-size:.31em;line-height:1;margin-top:9px;letter-spacing:.32em}.icon-button{width:48px;height:48px;display:grid;place-items:center;flex:none;border:1px solid rgb(255 255 255 / .42);border-radius:var(--radius);background:rgb(255 255 255 / .06);color:var(--text);transition:background .22s var(--motion),transform .12s ease}.icon-button:hover{background:rgb(255 255 255 / .14)}.icon-button:active{transform:scale(.97)}
.hero{position:relative;min-height:370px;background:var(--bg);overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center;filter:contrast(1.06)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgb(17 18 18 / .94) 0%,rgb(17 18 18 / .58) 48%,rgb(17 18 18 / .07) 100%),linear-gradient(0deg,rgb(17 18 18 / .88),transparent 54%)}.hero-copy{position:relative;z-index:1;min-height:370px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px 28px}.registration{width:max-content;display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:9px 11px;border-left:3px solid var(--accent);background:rgb(17 18 18 / .72);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.11em}.registration .ph{font-size:19px;color:var(--accent-hover)}.hero h1{font-family:Outfit,sans-serif;font-size:clamp(48px,10vw,72px);font-weight:700;line-height:.93;letter-spacing:-.055em;margin:0;max-width:9ch;text-wrap:balance}.hero-copy>p:last-child{margin:14px 0 0;font-family:Outfit,sans-serif;font-size:17px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.content{padding:30px 28px 28px}.intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:34px;align-items:end}.kicker{margin:0 0 10px;color:var(--accent-hover);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.11em}.intro h2,.services>h2,.contact-block>h2{font-family:Outfit,sans-serif;font-size:clamp(27px,5vw,38px);font-weight:600;line-height:1.02;letter-spacing:-.035em;margin:0}.intro>p{max-width:36ch;margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}.button{min-height:56px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--accent);border-radius:var(--radius);font-weight:600;white-space:nowrap;transition:background .22s var(--motion),color .22s var(--motion),transform .12s ease}.button:active,.utility-button:active{transform:translateY(1px)}.button-primary{background:var(--accent);color:var(--text)}.button-primary:hover{background:var(--accent-hover)}.button-secondary{background:transparent;color:var(--text)}.button-secondary:hover{background:rgb(77 133 180 / .14)}
.services{margin-top:42px}.services>h2,.contact-block>h2{font-size:25px;margin-bottom:17px}.service-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-groups details{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);overflow:hidden}.service-groups summary{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;list-style:none;font-family:Outfit,sans-serif;font-weight:600}.service-groups summary::-webkit-details-marker{display:none}.service-groups summary>span{display:flex;align-items:center;gap:10px}.service-groups summary .ph:first-child{color:var(--accent-hover)}.service-groups summary>.ph{font-size:18px;transition:transform .22s var(--motion)}.service-groups details[open] summary>.ph{transform:rotate(180deg)}.service-groups details>div{padding:0 16px 16px}.service-groups details p{margin:0;color:var(--muted);font-size:14px;line-height:1.58}.service-groups details[open]{background:var(--surface-2)}
.contact-block{margin-top:42px}.contact-list{border-top:1px solid var(--line)}.contact-list>a{min-height:76px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:13px;border-bottom:1px solid var(--line);transition:color .2s ease}.contact-list>a:hover{color:var(--accent-hover)}.contact-list>a>.ph{font-size:24px;color:var(--accent-hover)}.contact-list small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.contact-list strong{display:block;font-size:15px;font-weight:600;overflow-wrap:anywhere}.contact-list>a>span:last-child{font-size:12px;font-weight:600;color:var(--accent-hover)}
.utility-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.utility-button{min-height:52px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--text);font-size:13px;font-weight:600;transition:background .2s ease,border-color .2s ease,transform .12s ease}.utility-button:hover{background:var(--surface-2);border-color:var(--accent)}.utility-button .ph{font-size:20px}
.share-panel{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.share-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.share-panel h2{font-family:Outfit,sans-serif;font-size:18px;margin:0}.text-button{min-height:44px;border:0;background:transparent;color:var(--accent-hover);font-size:13px;font-weight:600}.share-panel label{display:block;margin:12px 0 7px;color:var(--muted);font-size:12px}.copy-row{display:flex;gap:8px}.copy-row input{min-width:0;flex:1;height:48px;border:1px solid var(--line);border-radius:var(--radius);padding:0 12px;background:var(--surface);color:var(--text);font-size:12px}.copy-row button{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--text)}
footer{display:flex;justify-content:space-between;gap:16px;margin-top:28px;padding-top:19px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.toast{position:fixed;z-index:10;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%,10px);width:max-content;max-width:calc(100vw - 32px);padding:13px 16px;border-radius:var(--radius);background:var(--text);color:var(--bg);font-size:13px;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s var(--motion)}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(prefers-color-scheme:light){:root{color-scheme:light;--bg:#e9eaea;--surface:#f5f6f5;--surface-2:#dedfdf;--text:#181a19;--muted:#5a5e5c;--line:#b9bdbc;--accent:#326e9d;--accent-hover:#24577f}.masthead{background:#d1d3d2;border-color:#b9bdbc}.icon-button{border-color:rgb(24 26 25 / .42);background:rgb(24 26 25 / .04)}.hero-shade{background:linear-gradient(90deg,rgb(17 18 18 / .94) 0%,rgb(17 18 18 / .58) 48%,rgb(17 18 18 / .07) 100%),linear-gradient(0deg,rgb(17 18 18 / .88),transparent 54%)}.hero-copy{color:#f4f5f4}.registration{background:rgb(17 18 18 / .72)}.button-primary,.copy-row button{color:#f4f5f4}}
@media(min-width:800px){.card{animation:arrive .5s var(--motion) both}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}
@media(max-width:767px){main{padding:0;width:100%}.card{min-height:100dvh;border:0;border-radius:0;box-shadow:none}.masthead{height:82px;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}.hero,.hero-copy{min-height:335px}.hero-copy{padding:26px max(20px,env(safe-area-inset-right)) 26px max(20px,env(safe-area-inset-left))}.hero img{object-position:62% center}.content{padding:26px max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.intro{grid-template-columns:1fr;gap:14px}.intro>p{max-width:50ch}.service-groups{grid-template-columns:1fr}.services,.contact-block{margin-top:34px}}
@media(max-width:359px){.wordmark{font-size:25px}.hero h1{font-size:43px}.primary-actions{grid-template-columns:1fr}.content{padding-inline:16px}.masthead{padding-inline:16px}.contact-list>a{grid-template-columns:34px minmax(0,1fr)}.contact-list>a>span:last-child{display:none}.utility-actions{gap:8px}.hero-copy{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
