@font-face{font-family:"Source Sans 3";src:url(/fonts/source-sans-3-400-700.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{--ink:#262626;--muted:#555;--dark:#2b2b2b;--dark2:#383838;--grey:#f2f2f2;--line:#dedede;--white:#fff;--acc:#262626}
*{box-sizing:border-box;margin:0;padding:0}
html{font-family:"Source Sans 3",system-ui,sans-serif;scroll-padding-top:70px}
body{background:#fff;color:var(--ink);font-size:18px;line-height:1.6}
main{overflow-x:clip}
a{color:inherit}img{display:block;max-width:100%;height:auto}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
h1,h2,h3{line-height:1.15;font-weight:700}
.up{text-transform:uppercase;letter-spacing:.02em}
/* header */
.brand{background:#fff}
.brand .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:96px}
.logo img{height:46px;width:auto}
.callnav{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.callnav svg{width:22px;height:22px;flex:none}
.callnav span{display:flex;flex-direction:column;line-height:1.2}
.callnav small{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.callnav b{font-size:20px}
.burger{display:none;background:none;border:0;width:46px;height:46px;border-radius:10px;cursor:pointer;color:var(--ink)}
.burger svg{width:26px;height:26px}
.mainnav{position:sticky;top:0;z-index:40;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mainnav ul{list-style:none;display:flex;justify-content:center;align-items:center;height:52px}
.mainnav li+li::before{content:"";display:inline-block;width:1px;height:16px;background:#999;vertical-align:middle}
.mainnav a{display:inline-block;padding:6px 22px;text-decoration:none;font-size:16px;font-weight:600;color:#333}
.mainnav a:hover{color:#000;text-decoration:underline;text-underline-offset:6px}
.mainnav a[aria-current=page]{color:#8a8a8a}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--dark);color:#fff;text-decoration:none;font-weight:700;font-size:17px;letter-spacing:.04em;text-transform:uppercase;padding:14px 24px;border:2px solid var(--dark);border-radius:4px;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:#000;border-color:#000}
.btn svg{width:18px;height:18px}
.btn.line{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.line:hover{background:var(--ink);color:#fff}
.btn.white{background:#fff;color:var(--ink);border-color:#fff}.btn.white:hover{background:#e9e9e9}
.btn.wline{background:transparent;color:#fff;border-color:#fff}.btn.wline:hover{background:#fff;color:var(--ink)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
/* home hero */
.hero{position:relative;color:var(--ink)}
.hero>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.86) 38%,rgba(255,255,255,.15) 62%,rgba(255,255,255,0) 100%);z-index:1}
.hgrid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center;padding-top:40px;padding-bottom:40px}
.kicker{font-weight:700;font-size:18px;letter-spacing:.06em;text-transform:uppercase}
.bar{display:block;width:44px;height:4px;background:var(--ink);margin:14px 0}
.hero h1{font-size:clamp(40px,4.6vw,58px);line-height:1.02;text-transform:uppercase;letter-spacing:.01em}
.hero h1 .l{display:block;font-weight:400}
.hero h1 .s{display:block;font-size:16px;line-height:1.4;font-weight:700;letter-spacing:.05em;margin-top:14px;color:#333}
.pos{font-size:19px;max-width:560px;margin-top:14px}
.addr{font-size:16px;margin-top:14px;color:#333}
.fbox{background:rgba(43,43,43,.92);color:#fff;padding:28px 30px 26px}
.fbox h2{font-size:23px;line-height:1.25}
.fbox>p{color:#d6d6d6;font-size:16px;margin:10px 0 6px}
/* forms */
.form label{display:block;font-size:15px;font-weight:700;margin:12px 0 2px}
.form input:not([type=checkbox]),.form textarea{width:100%;font:inherit;font-size:17px;padding:7px 2px;border:0;border-bottom:1px solid #8d8d8d;background:transparent;color:inherit;border-radius:0}
.form input:focus,.form textarea:focus{outline:2px solid currentColor;outline-offset:2px}
.form textarea{resize:vertical;min-height:58px}
.form .check{display:flex;gap:10px;font-weight:400;font-size:14px;margin:16px 0 0;line-height:1.4}
.form .check input{width:18px;height:18px;flex:none;margin-top:2px}
.form .dnote{font-size:14px;margin:8px 0 12px;opacity:.85}
.form .btn{width:100%}
.dark .form .btn,.fbox .form .btn{background:#fff;color:var(--ink);border-color:#fff}
.dark .form .btn:hover,.fbox .form .btn:hover{background:#e6e6e6}
.done{display:none}.form.sent .fields{display:none}.form.sent .done{display:block}
.done .bt{font-weight:700;font-size:22px;margin:14px 0 8px;line-height:1.3}
.done a{font-weight:700}
.lightform{background:var(--grey);padding:32px}
.lightform input:not([type=checkbox]),.lightform textarea{border-bottom-color:#777}
/* strip */
.strip{background:var(--dark);color:#fff}
.strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:30px;padding-bottom:30px}
.strip a{display:flex;align-items:center;gap:16px;text-decoration:none}
.strip svg{width:30px;height:30px;flex:none;stroke:#bbb}
.strip small{display:block;color:#bdbdbd;font-size:15px}
.strip b{font-size:22px}
/* sections */
.sec{padding:80px 0}
.sec.grey{background:var(--grey)}
.sec h2{font-size:clamp(28px,3vw,38px);text-transform:uppercase;letter-spacing:.02em}
.sec .lead{font-size:19px;color:var(--muted);max-width:760px;margin-top:12px}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.three>div{padding:0 32px}.three>div+div{border-left:1px solid var(--line)}.three>div:first-child{padding-left:0}.three>div:last-child{padding-right:0}
.three h2{font-size:24px;text-transform:none;letter-spacing:0;margin-bottom:14px}
.three p{color:var(--muted);font-size:17px;margin-bottom:10px}
.three .btn{margin-top:10px}
.hours{list-style:none;font-size:16px}
.hours li{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}
.hours li span:last-child{text-align:right}
.person-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.person-hero img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 25%}
.person-hero h3{font-size:20px;font-weight:600;color:var(--muted);margin:6px 0 16px}
.person-hero p{color:#3d3d3d;margin-bottom:12px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}
.card{background:#fff;padding:30px;text-decoration:none;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:box-shadow .2s,transform .2s;border-top:4px solid var(--dark)}
.card:hover{box-shadow:0 12px 30px rgba(0,0,0,.12);transform:translateY(-2px)}
.card .ico{width:46px;height:46px;margin-bottom:16px}
.card h3{font-size:23px;margin-bottom:8px}
.card p{color:var(--muted);font-size:17px;flex:1}
.card .more{margin-top:16px;font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.quote{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);background:#fff}
.quote .qbox{background:var(--dark);color:#fff;padding:72px 64px;position:relative}
.quote .qbox::after{content:"";position:absolute;right:-40px;top:50%;margin-top:-40px;border:40px solid transparent;border-left-color:var(--dark);border-right:0;z-index:2}
.quote svg{width:46px;height:40px;fill:#bdbdbd;margin-bottom:18px}
.quote p.q{font-size:clamp(26px,2.6vw,34px);font-weight:700;line-height:1.2;margin-bottom:18px}
.quote p.t{color:#d4d4d4}
.quote .qimg{position:relative;min-height:360px}
.quote .qimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:center;align-items:end}
.badges .num{font-size:72px;font-weight:700;line-height:1}
.badges img{height:120px;width:auto;margin:0 auto}
.badges .lbl{display:block;margin-top:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:15px}
/* subpage head */
.phead{position:relative;color:#fff;text-align:center}
.phead>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phead::before{content:"";position:absolute;inset:0;background:rgba(20,20,20,.52);z-index:1}
.phead .wrap{position:relative;z-index:2;padding-top:84px;padding-bottom:84px}
.phead h1{font-size:clamp(34px,4.2vw,54px);text-transform:uppercase;letter-spacing:.03em}
.phead h1 .l{display:block;font-weight:400;font-size:.5em;letter-spacing:.08em;margin-top:10px}
.phead .bar{background:#fff;margin:22px auto 0}
.intro{font-size:19px;color:#3d3d3d;max-width:860px;margin:0 auto;text-align:center}
/* article layout */
.cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start;padding-top:64px;padding-bottom:80px}
.article>h2{font-size:28px;text-transform:uppercase;letter-spacing:.02em;margin:44px 0 18px}
.article>h2:first-child{margin-top:0}
.article>p{margin-bottom:14px;color:#333}
.article>p:first-child b{font-size:24px}
.article ul{margin:8px 0 14px 22px}.article li{margin-bottom:4px}
.article a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
details{background:var(--grey);margin-bottom:8px}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font-weight:700;font-size:18px;line-height:1.35}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;background:var(--dark);color:#fff;display:grid;place-items:center;font-size:22px;line-height:1;font-weight:400}
details[open] summary::after{content:"–"}
details>*:not(summary){margin-left:20px;margin-right:20px}
details>p{margin-bottom:12px;color:#333}
details>*:last-child{padding-bottom:18px}
details ul{margin:6px 20px 14px 42px}
a.pdf::before{content:"PDF";display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;background:var(--dark);color:#fff;padding:1px 6px;margin-right:8px;vertical-align:2px;text-decoration:none}
.side{position:sticky;top:76px;display:grid;gap:18px}
.scard{background:var(--grey);padding:26px}
.scard.dark{background:var(--dark);color:#fff}
.scard h2{font-size:20px;margin-bottom:10px}
.scard p{font-size:16px;margin-bottom:10px}
.scard .btn{width:100%;margin-top:6px;font-size:15px;padding:12px 16px}
.scard img{width:96px;height:96px;object-fit:cover;object-position:50% 20%;border-radius:50%;margin-bottom:14px}
.scard ul.al{list-style:none;font-size:16px}
.scard ul.al a{display:block;padding:7px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600}
.scard ul.al a[aria-current=page]{color:#8a8a8a}
.scard .hours{font-size:15px}.scard .hours li{grid-template-columns:90px 1fr;border-color:#555}
/* team */
.tlead{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);background:var(--dark);color:#fff;margin-top:48px}
.tlead img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;min-height:340px}
.tlead .tx{padding:44px}
.tlead h2{font-size:34px;text-transform:uppercase}
.tlead h3{font-weight:600;color:#cfcfcf;margin:4px 0 16px;font-size:20px}
.tlead p{color:#e2e2e2;margin-bottom:18px}
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}
.pcard{background:var(--grey);padding:30px;display:grid;grid-template-columns:84px 1fr;gap:4px 22px;align-content:start}
.pcard .av{width:84px;height:84px;border-radius:50%;background:var(--dark);color:#fff;display:grid;place-items:center;font-weight:700;font-size:26px;letter-spacing:.04em;grid-row:span 4}
.pcard img.av{object-fit:cover;background:none}
.pcard h2{font-size:22px;text-transform:uppercase;letter-spacing:.02em}
.pcard h3{font-size:17px;color:var(--muted);font-weight:600;margin-bottom:8px}
.pcard p{font-size:17px;color:#333}
.pcard .lk{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:16px;font-weight:600}
/* downloads */
.dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:28px 0 56px}
.dl a{display:flex;flex-direction:column;background:var(--grey);padding:28px;text-decoration:none!important;border-top:4px solid var(--dark)}
.dl h3{font-size:21px;margin-bottom:8px}
.dl p{font-size:16px;color:var(--muted);flex:1;font-weight:400}
.dl span{margin-top:16px;font-weight:700;font-size:15px;letter-spacing:.05em;text-transform:uppercase}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover}
.info2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:36px}
.info2>div{background:var(--grey);padding:30px}
.info2 h2{font-size:22px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.02em}
.kgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.clist{list-style:none;margin:20px 0}
.clist li{padding:8px 0;border-bottom:1px solid var(--line)}
.clist em{font-style:normal;display:inline-block;min-width:90px;color:var(--muted)}
.clist a{font-weight:700}
.legal{max-width:880px;padding-top:56px;padding-bottom:80px}
.legal h2{font-size:22px;margin:34px 0 8px}
.legal h3{font-size:19px;margin:24px 0 6px}
.legal p{margin-bottom:4px;color:#333}.legal p+h2{margin-top:34px}
.legal ul{margin:6px 0 10px 22px}
.legal a{font-weight:600;overflow-wrap:anywhere}
.note{background:var(--grey);border-left:4px solid var(--dark);padding:14px 18px;font-size:16px;margin-bottom:24px}
/* cta + footer */
.cta{background:var(--dark2);color:#fff}
.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;padding-top:48px;padding-bottom:48px;flex-wrap:wrap}
.cta h2{font-size:28px;line-height:1.25}
.cta p{color:#d0d0d0;margin-top:6px}
.cta .ctas{margin-top:0}
footer{background:#1f1f1f;color:#cfcfcf;font-size:16px}
.fgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:32px;padding-top:56px;padding-bottom:40px}
footer h2{color:#fff;font-size:18px;margin-bottom:12px}
footer a{text-decoration:none}footer a:hover{color:#fff;text-decoration:underline}
footer ul{list-style:none}footer li{margin-bottom:4px}
.fbot{border-top:1px solid #3a3a3a;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;padding-bottom:28px}
.fbot img{height:34px;width:auto}
.fbot .fl{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.dpill{border:1px solid #666;padding:2px 10px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.mcall{display:none}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
@media (max-width:1060px){.mainnav a{padding:6px 14px;font-size:15px}.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:960px){
 .hgrid{grid-template-columns:minmax(0,1fr)}
 .cols{grid-template-columns:minmax(0,1fr)}.side{position:static}
 .cards,.dl{grid-template-columns:repeat(2,minmax(0,1fr))}
 .three{grid-template-columns:minmax(0,1fr);gap:36px}.three>div{padding:0!important;border:0!important}
 .person-hero,.kgrid{grid-template-columns:minmax(0,1fr);gap:32px}.person-hero img{max-width:460px}
 .quote{grid-template-columns:minmax(0,1fr)}.quote .qbox::after{display:none}.quote .qimg{min-height:300px}
 .tlead{grid-template-columns:minmax(0,1fr)}.tlead img{max-height:420px}
}
@media (max-width:820px){
 .brand{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}
 .brand .wrap{height:66px}
 .logo img{height:28px}
 .callnav span{display:none}
 .callnav{width:46px;height:46px;justify-content:center;border-radius:10px;background:var(--grey)}
 .burger{display:grid;place-items:center}
 .mainnav{position:fixed;top:66px;left:0;right:0;display:none;border-top:0;box-shadow:0 18px 30px rgba(0,0,0,.15)}
 .mainnav.open{display:block}
 .mainnav ul{flex-direction:column;align-items:stretch;height:auto;padding:8px 0}
 .mainnav li+li::before{display:none}
 .mainnav li+li{border-top:1px solid var(--line)}
 .mainnav a{display:block;padding:14px 24px;font-size:18px}
 html{scroll-padding-top:80px}
}
@media (max-width:640px){
 body{font-size:17px;padding-bottom:78px}
 .wrap{padding:0 20px}
 .hero::before{display:none}
 .hero>picture img{position:static;height:230px}
 .hgrid{padding-top:26px;padding-bottom:0;gap:28px}
 .hero h1{font-size:clamp(34px,10.4vw,44px)}
 .hero h1 .s{font-size:16px;margin-top:12px}
 .pos{font-size:18px}
 .ctas .btn{flex:1 1 100%}
 .fbox{margin:0 -20px;padding:28px 20px}
 .strip .wrap{grid-template-columns:1fr;gap:18px}
 .strip b{font-size:20px}
 .sec{padding:56px 0}
 .cards,.dl,.people,.badges,.gal,.info2{grid-template-columns:minmax(0,1fr)}
 .badges{gap:40px}
 .quote .qbox{padding:48px 22px}
 .phead .wrap{padding-top:52px;padding-bottom:52px}
 .phead h1{font-size:clamp(28px,8.4vw,40px)}
 .cols{padding-top:40px;padding-bottom:56px;gap:36px}
 .article>h2{font-size:23px}
 summary{font-size:17px;padding:14px 16px}
 details>*:not(summary){margin-left:16px;margin-right:16px}
 details ul{margin-left:34px;margin-right:16px}
 .pcard{grid-template-columns:64px 1fr;padding:22px}.pcard .av{width:64px;height:64px;font-size:20px}
 .tlead .tx{padding:28px 22px}.tlead h2{font-size:28px}
 .lightform{padding:24px 20px;margin:0 -20px}
 .cta h2{font-size:24px}
 .fgrid{grid-template-columns:minmax(0,1fr);gap:26px}
 .mcall{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:45;box-shadow:0 10px 30px rgba(0,0,0,.35);transform:translateY(140%);transition:transform .25s}
 body.sc .mcall{transform:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
