:root{--ink:#222;--dark:#1c1c1c;--soft:#e9e7dd;--soft2:#f9f8f5;--line:#dedede;--green:#2e5b3a;--sale:#e32c2b;--hf:Jost,"Helvetica Neue",Arial,sans-serif;--bf:"Libre Franklin",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 15px/1.7 var(--bf);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--hf);font-weight:400;text-transform:uppercase;letter-spacing:.14em;line-height:1.25;margin:0 0 .6em;color:var(--ink)}
a{color:var(--ink)}img{max-width:100%}.w{max-width:1360px;margin:auto;padding:0 20px}.w-sm{max-width:900px}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.kick{font:400 13px var(--hf);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .7em}
.promo{background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 24px;text-align:center;font:400 13px var(--hf);letter-spacing:.16em;text-transform:uppercase;padding:10px 14px}.promo .btn{background:#fff;color:#1c1c1c;border-color:#fff;padding:9px 22px;font-size:12px}.promo .btn:hover{background:transparent;color:#fff}
header{background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(34,34,34,.15)}
.hd{display:flex;justify-content:flex-start;align-items:center;gap:clamp(28px,3.9vw,56px);padding-top:13px;padding-bottom:13px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}.brand img{height:56px;width:56px;border-radius:50%}
.brand b{display:block;font:500 21px var(--hf);letter-spacing:.2em;text-transform:uppercase;line-height:1.05}.brand small{display:block;font:400 10.5px var(--hf);letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
.mainnav{border:0}.nv{display:flex;justify-content:flex-start;flex-wrap:nowrap;gap:0 clamp(14px,1.8vw,26px);align-items:center}.nv>a:not(.btn),.ddt{display:block;white-space:nowrap;font:400 12.5px var(--hf);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:12px 0;border-bottom:2px solid transparent;cursor:pointer}.nv>a:not(.btn):hover,.nv>a.on,.dd:hover .ddt{border-bottom-color:var(--ink)}
.dd{position:relative}.ddm{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line);min-width:230px;z-index:60;padding:6px 0;box-shadow:0 12px 30px rgba(0,0,0,.1)}.dd:hover .ddm,.dd:focus-within .ddm{display:block}.ddm a{display:block;padding:11px 20px;font:400 12.5px var(--hf);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.ddm a:hover{background:var(--soft)}.navcta{display:none}
.hr{display:flex;align-items:center;justify-content:flex-end}
#mn,.burger{display:none}.burger{font-size:30px;cursor:pointer;line-height:1}
.btn,button{display:inline-block;background:var(--ink);color:#efefef;border:1px solid var(--ink);padding:15px 32px;border-radius:0;font:400 13px var(--hf);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:.25s}
.btn:hover,button:hover{background:transparent;color:var(--ink)}.btn.sm{padding:9px 20px;font-size:12px}
.btn.lt{background:#fff;border-color:#fff;color:var(--ink)}.btn.lt:hover{background:transparent;color:#fff}.btn.ol{background:transparent;border-color:#fff;color:#fff}.btn.ol:hover{background:#fff;color:var(--ink)}
td button,.tw button{padding:6px 14px;font-size:11px;background:var(--sale);border-color:var(--sale);color:#fff}td button:hover,.tw button:hover{background:#fff;color:var(--sale)}
.hero{min-height:clamp(440px,66vh,680px);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.38)),var(--img) center/cover}
.hc{padding:60px 24px;max-width:860px}.hero .kick{color:#fff;font-size:15px}
.hero h1{color:#fff;font-size:clamp(38px,6.4vw,78px);letter-spacing:.06em;margin:0 0 .3em;text-shadow:0 2px 20px rgba(0,0,0,.5)}.hero .sub{font-size:17px;max-width:620px;margin:0 auto 28px;text-shadow:0 2px 16px rgba(0,0,0,.6)}
.hb{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.banner{background:var(--soft);text-align:center;padding:56px 0 50px;border-bottom:1px solid var(--line)}.banner h1{font-size:clamp(26px,4vw,40px);margin:0}
main{padding-bottom:56px}.sx{padding:64px 0}.beige{background:var(--soft)}.tc{text-align:center}main.w{padding-top:10px}
.sh{text-align:center;max-width:760px;margin:0 auto 36px}.sh h2{font-size:clamp(22px,2.6vw,32px);margin:0}.sp{margin:14px 0 0}
h2.sec{font-size:clamp(20px,2.4vw,28px);text-align:center;margin:56px 0 22px}
.more{text-align:center;margin:30px 0 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px}
.card{background:#fff;border:1px solid var(--line);text-align:center}.card .ph{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.cb{padding:22px 18px}.card h3{font-size:14px;margin:0 0 6px}.muted{opacity:.7;font-size:13px}
.av{width:56px;height:56px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:500 22px var(--hf);margin:0 auto 12px}
.itiles{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.it{display:flex;align-items:flex-end;justify-content:center;aspect-ratio:3/4.5;background:center/cover;text-decoration:none;overflow:hidden}
.it:nth-child(2){background-position:55% center}
.pn{width:100%;padding:16px 12px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;background:rgba(30,70,42,.5);color:#fff;text-align:center;text-shadow:0 1px 8px rgba(0,0,0,.55);transition:.3s}.it:hover .pn{background:rgba(24,58,34,.78)}
.pn small{display:block;font:400 11px var(--hf);letter-spacing:.16em;text-transform:uppercase}.pn b{display:flex;align-items:center;justify-content:center;min-height:2.2em;font:500 clamp(18px,1.7vw,25px) var(--hf);letter-spacing:.1em;text-transform:uppercase;line-height:1.1;margin:.4em 0}.pn p{display:flex;align-items:center;justify-content:center;min-height:2.5em;margin:0;font:400 10.5px var(--hf);letter-spacing:.12em;text-transform:uppercase}
.pn em{display:inline-block;margin-top:8px;font:400 12px var(--hf);font-style:normal;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid #fff}
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}.sp-img{min-height:420px;background:center/cover}.sp-txt{background:#fff;padding:56px 50px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.sp-txt h2{font-size:clamp(22px,2.4vw,30px)}
.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font:400 15px var(--hf);letter-spacing:.1em;text-transform:uppercase;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:22px;transition:.2s}.faq details[open] summary:after{content:"\2212"}.fa{padding:0 0 22px}.fa p{margin:0}
.obj{background:var(--soft);padding:28px;margin-bottom:10px;text-align:center}.obj b{font:500 18px var(--hf);letter-spacing:.14em;text-transform:uppercase}.obj p{margin:8px 0 0;font-size:16px}
.ms{display:grid;gap:12px;margin-top:22px}.mi{display:flex;gap:16px;background:#fff;padding:20px 22px;border:1px solid var(--line)}
.num{flex:none;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;font:500 15px var(--hf);display:grid;place-items:center}.mb{flex:1;min-width:0}.mb h3{font-size:14px;margin-bottom:4px}.mb p{margin:4px 0}
.st{font:500 11px var(--hf);padding:3px 10px;vertical-align:middle;letter-spacing:.1em;text-transform:uppercase;background:#e5e5e5}.scompleted{background:var(--green);color:#fff}.sinprogress{background:#f1d36b}.splanned{background:var(--soft2);border:1px solid var(--line)}
.doc{display:inline-block;margin:8px 8px 0 0;padding:8px 14px;border:1px solid var(--ink);text-decoration:none;font:400 12px var(--hf);letter-spacing:.12em;text-transform:uppercase}.doc:hover{background:var(--ink);color:#fff}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:24px}.gal.sm{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:10px}
.gal figure{margin:0;position:relative;overflow:hidden}.gal img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;cursor:zoom-in;transition:.5s}.gal.sm img{aspect-ratio:4/3}.gal figure:hover img{transform:scale(1.05)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;color:#fff;font:400 11px var(--hf);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(transparent,rgba(0,0,0,.7));pointer-events:none}
#lb{display:none;position:fixed;inset:0;z-index:99;background:rgba(0,0,0,.94);align-items:center;justify-content:center;padding:20px;cursor:zoom-out}#lb img{max-width:100%;max-height:100%}
.form{max-width:560px;display:grid;gap:16px;background:#fff;padding:32px;border:1px solid var(--line)}label{display:grid;gap:6px;font:400 12px var(--hf);letter-spacing:.14em;text-transform:uppercase}
input,select,textarea{padding:13px 14px;border:1px solid #b9b9b9;border-radius:0;font:400 15px var(--bf);letter-spacing:0;text-transform:none;background:#fff}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--ink)}.hp{position:absolute;left:-9999px}
.ok{background:#e4efe6;padding:14px 18px;border-left:3px solid var(--green)}.bad{background:#fbe5e5;padding:14px 18px;border-left:3px solid var(--sale)}
.tw{overflow-x:auto;background:#fff;border:1px solid var(--line)}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--line);padding:10px 14px;text-align:left;font-size:14px}th{background:var(--soft2);font:500 12px var(--hf);letter-spacing:.12em;text-transform:uppercase}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:30px}.tile{background:#fff;padding:30px 20px;text-align:center;text-decoration:none;border:1px solid var(--line);display:block;transition:.25s}.tile:hover{border-color:var(--ink)}
.tile span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--soft);font-size:28px;margin:0 auto 12px}.tile b{display:block;font:500 14px var(--hf);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}.tile small{opacity:.75;display:block}
footer{background:var(--dark);color:#fff;font-size:14px}footer a{color:#ddd;text-decoration:none}footer a:hover{color:#fff;text-decoration:underline}footer .brand{color:#fff}footer .brand img{background:#fff}
.fcols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:36px;padding-top:56px;padding-bottom:36px}.fcols a,.fcols span{display:block;margin:9px 0}.fcols h4{font:400 13px var(--hf);letter-spacing:.16em;color:#fff;margin:0 0 14px}.fcols p{color:#bbb;margin-top:16px}
.copy{text-align:center;border-top:1px solid #3e3e3e;padding:20px;font:400 11.5px var(--hf);letter-spacing:.14em;text-transform:uppercase;color:#bbb}
.tw2{margin-top:18px;display:flex;align-items:center;font:400 12px var(--hf);letter-spacing:.3em;text-transform:uppercase;color:#ddd}.tw2 svg{margin-right:10px;color:#cfe8d5;flex:none}
.abt{max-width:900px;margin:34px auto 10px;text-align:center}.abt h2{font-size:clamp(22px,2.6vw,32px)}.abt p{font-size:16.5px;margin:0 0 16px}
.abox{max-width:900px;margin:36px auto 10px;text-align:center;border:1px solid var(--line);background:var(--soft2);padding:46px 50px}.abox h2{font-size:clamp(22px,2.6vw,32px)}.abox p{font-size:16.5px;margin:0 0 16px}.abox p:last-child{margin:0}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.mem{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);padding:18px}.mph{flex:none;width:112px;aspect-ratio:7/9;background:var(--soft2);border:1px solid var(--line);overflow:hidden}.mph img{width:100%;height:100%;object-fit:cover;display:block}.mi2{min-width:0;text-align:left}.mi2 h3{font-size:14px;margin:0 0 4px}.role{font:400 12px var(--hf);letter-spacing:.14em;text-transform:uppercase;color:#6b6b6b;margin:0 0 8px}.ed{font-size:13px;margin:3px 0}
.slot{border:1px solid var(--line);background:#fff;margin-bottom:10px}.slot summary{cursor:pointer;padding:14px 18px;font:400 14px var(--hf);letter-spacing:.1em;text-transform:uppercase}.slot .form{border:0;margin:0 auto}
@media(max-width:1100px){.mgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:999px){
.itiles{grid-template-columns:repeat(5,76%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.it{scroll-snap-align:start}.split{grid-template-columns:1fr}.sp-img{min-height:300px}.fcols{grid-template-columns:1fr 1fr}.sx{padding:48px 0}}
@media(max-width:600px){.brand b{font-size:17px}.brand img{height:46px;width:46px}.brand small{font-size:9px}.fcols{grid-template-columns:1fr}.sp-txt{padding:36px 24px}.promo{font-size:10.5px;letter-spacing:.08em;gap:8px 14px}.hero{min-height:420px}.mgrid{grid-template-columns:1fr;gap:14px}}
@media(max-width:1259px){.hd{display:grid;grid-template-columns:44px 1fr 44px;gap:8px}.burger{display:block}.brand{justify-self:center}.hr{display:none}.mainnav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line)}#mn:checked~header .mainnav{display:block}.nv{flex-direction:column;align-items:stretch;gap:0;padding:4px 22px 16px}.nv>a:not(.btn),.ddt{padding:14px 0;border-bottom:1px solid #eee}.dd .ddm{display:block;position:static;transform:none;border:0;box-shadow:none;padding:0 0 0 16px;min-width:0}.ddm a{padding:11px 0}.navcta{display:block;margin-top:14px;text-align:center}}
.hero.fit{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;min-height:400px;box-sizing:border-box;background:#1c1c1c}
.hero.fit::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.30));z-index:1}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;z-index:0}
.hero.fit .hc{position:relative;z-index:2}
.hero.fit h1,.hero.fit .kick,.hero.fit .sub{text-shadow:0 2px 14px rgba(0,0,0,.55)}
@media(max-width:600px){.hero.fit{aspect-ratio:auto;min-height:460px}.hero-img{object-position:68% center}}
.tiles{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.tile{color:var(--ink)}.tile span svg{display:block}.tile span img{display:block}
.tile.soon{opacity:.75;cursor:default}.tile.soon:hover{border-color:var(--line)}
.tile .mp{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font:400 11px var(--hf);font-style:normal;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--ink)}
.mapbox{margin-top:24px;border:1px solid var(--line);background:var(--soft2)}.mapbox iframe{display:block;width:100%;height:340px;border:0}
.ddt.on{border-bottom-color:var(--ink)}

.visit{max-width:980px;margin:56px auto 0}.vh{font-size:clamp(22px,2.6vw,30px);margin:0 0 26px}
.vcols{display:grid;grid-template-columns:1.2fr 1fr;gap:10px 48px;margin-bottom:30px}
.vl{margin:18px 0 6px;font:400 11px var(--hf);letter-spacing:.2em;text-transform:uppercase;color:#6b6b6b}.vcols>div>.vl:first-child{margin-top:0}
.vv{margin:0;font-size:17px;line-height:1.7}.vv a{text-decoration:none;border-bottom:1px solid var(--ink)}.vv a img{vertical-align:-3px;margin-right:8px}
.visit .mapbox{margin:0 auto}.visit .mapbox iframe{height:400px}
.mapbtn{display:inline-flex;align-items:center;gap:10px}.mapbtn img{display:block}
@media(max-width:700px){.vcols{grid-template-columns:1fr}.visit .mapbox iframe{height:320px}}

.acc summary{padding-right:44px}.acc .an{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font:500 13px var(--hf);margin-right:12px;vertical-align:middle;letter-spacing:0}.acc .ad{font:400 11px var(--hf);letter-spacing:.12em;opacity:.65;margin-left:8px;white-space:nowrap}.acc .st{margin-left:8px}.acc .fa{padding-top:4px}.acc .fa p{margin:0 0 10px}
.acc{margin-bottom:10px}

.fyc{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:26px 0 0}.fyc a{border:1px solid var(--ink);padding:8px 16px;text-decoration:none;font:400 12px var(--hf);letter-spacing:.12em;text-transform:uppercase}.fyc a:hover,.fyc a.on{background:var(--ink);color:#fff}
.visit{margin-bottom:72px}

/* v12: admin panel - tabs, duplicate warnings, manage tables */
.chk{display:flex;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font:400 14px var(--bf)}.chk input{width:18px;height:18px;padding:0;flex:none}.rep[hidden]{display:none}
.dupmsg:empty{display:none}.dupmsg{padding:10px 14px;font-size:14px;border-left:3px solid var(--sale);background:#fbe5e5}.dupmsg.warn{background:#fff4d6;border-color:#d9a400}.dupmsg a{font-weight:700}
.adm-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:28px 0 12px}.adm-h h2{margin:0}
.pill{display:inline-block;font:500 10px var(--hf);letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;margin-left:6px;vertical-align:middle;background:#e5e5e5}.pill.dup{background:var(--sale);color:#fff}
.acts{white-space:nowrap}.acts form{display:inline}.acts .btn.sm{padding:6px 14px;font-size:11px}
.tw td .muted{font-size:12px}.adm .ok,.adm .bad{margin:14px 0}.adm .bad ul{margin:6px 0 0 18px;padding:0}
.efiles{display:grid;gap:8px;border:1px dashed var(--line);padding:12px}.efiles a{word-break:break-all}

/* v13: videos in events / milestones */
.vid{margin:12px 0}.vid video{width:100%;max-width:100%;max-height:70vh;background:#000;display:block}.vid figcaption{font:400 12px var(--hf);letter-spacing:.1em;text-transform:uppercase;margin-top:6px;opacity:.75}

/* v14: videos and documents shown as same-size tiles as images */
.gal.sm .vt{cursor:pointer;background:#000;aspect-ratio:4/3}.gal.sm .vt video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;transition:.5s}.gal.sm .vt:hover video{transform:scale(1.05)}
.gal.sm .vt .pb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;display:grid;place-items:center;font-size:16px;padding-left:3px;pointer-events:none}
.gal.sm .dt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;aspect-ratio:4/3;padding:8px;border:1px solid var(--line);background:var(--soft2);text-decoration:none;text-align:center;overflow:hidden;transition:.25s}.gal.sm .dt:hover{background:var(--ink);color:#fff}
.dt .di{font-size:30px;line-height:1}.dt b{font:500 11px var(--hf);letter-spacing:.14em}.dt .dl{font:400 10px var(--hf);letter-spacing:.08em;text-transform:uppercase;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
#lb video{max-width:100%;max-height:100%;display:none;background:#000}
