:root{
  --chalk:#F3F4F1; --panel:#E5E7E3; --card:#FFFFFF; --ink:#1C1E20; --ink2:#3A3E42; --muted:#5C6166; --line:#D5D8D3;
  --accent:#C8102E; --accent-dark:#8E0B20; --tint:#FBE8EA;
  --chalk-t:rgba(243,244,241,.58); --panel-t:rgba(229,231,227,.64);
  --ghost-op:.55;
  --display:'Big Shoulders Display','Arial Narrow',sans-serif;
  --body:'Libre Franklin','Franklin Gothic Medium','Helvetica Neue',Arial,sans-serif;
  color-scheme: light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--chalk);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--accent);text-underline-offset:4px}
a:hover{color:var(--accent-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 16px;z-index:50}
.skip:focus{left:12px;top:12px}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,72px)}
.display{font-family:var(--display);font-weight:900;text-transform:uppercase;line-height:1;margin:0}
h2.display{font-size:clamp(40px,5.5vw,64px)}
h3.display{font-size:clamp(28px,3vw,34px)}
.sub{color:var(--muted);margin:10px 0 0}
.bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;display:flex;justify-content:flex-end;align-items:flex-end}
.bg img{max-width:none;width:auto;height:84vh;margin-right:4vw;filter:grayscale(1) contrast(1.2);opacity:var(--ghost-op)}
@media (max-width:900px){.bg{justify-content:center}.bg img{margin-right:0;height:78vh}}
.page{position:relative;z-index:1}
.credit{position:fixed;right:0;bottom:0;z-index:2;margin:0;padding:5px 12px calc(5px + env(safe-area-inset-bottom,0px));font-size:12px;color:var(--muted);background:var(--chalk-t);border-top-left-radius:6px}
.top{position:sticky;top:0;z-index:10;background:var(--chalk-t);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.top .wrap{height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:baseline;gap:10px;min-height:44px;text-decoration:none;color:var(--ink)}
.brand span{font-family:var(--display);font-weight:900;font-size:28px;line-height:44px}
.brand .num{color:var(--accent)}
.nav{display:flex;align-items:center;gap:2px}
.nav a{min-height:44px;padding:0 12px;display:inline-flex;align-items:center;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.nav a.cta{margin-left:6px;border:2px solid var(--ink);border-radius:2px}
.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;color:var(--ink);padding:0;align-items:center;justify-content:center;cursor:pointer}
@media (max-width:860px){
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--chalk);border-bottom:1px solid var(--line);padding:8px clamp(20px,5vw,72px) 16px}
  .nav.open{display:flex}
  .nav a{padding:0 4px;font-size:17px}
  .nav a.cta{margin:8px 0 0;justify-content:center}
}
section{background:var(--chalk-t)}
section.alt{background:var(--panel-t)}
.sec{padding:clamp(56px,8vw,96px) 0}
.hero{padding:clamp(28px,5vw,56px) 0 clamp(56px,8vw,88px)}
.num44{font-family:var(--display);font-weight:900;font-size:clamp(180px,30vw,420px);line-height:.78;color:var(--accent);letter-spacing:-.02em;margin-left:-.04em}
.hero h1{font-size:clamp(60px,9vw,112px);line-height:.9;margin-top:10px}
.hero p{max-width:580px;font-size:clamp(18px,2vw,22px);color:var(--ink2);margin:22px 0 0}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{min-height:52px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:2px;font-weight:700;text-decoration:none;font-size:17px;font-family:var(--body);cursor:pointer}
.btn.primary{background:var(--accent);color:#fff;border:0}
.btn.primary:hover{background:var(--accent-dark);color:#fff}
.btn.outline{border:2px solid var(--ink);color:var(--ink);background:transparent}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:28px}
.card{background:var(--card);padding:28px;display:flex;flex-direction:column;gap:8px}
.card .lbl{font-size:15px;font-weight:600;color:var(--muted);margin:0;font-family:var(--body)}
.card .big{font-family:var(--display);font-weight:900;text-transform:uppercase;line-height:.92;font-size:clamp(40px,4.5vw,60px);margin:0}
.card p{margin:0;color:var(--ink2)}
.card a{align-self:flex-start;min-height:44px;display:inline-flex;align-items:center;font-weight:600;margin-top:auto}
.card.next{outline:3px solid var(--accent);outline-offset:-3px}
.sched{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start;margin-top:28px}
@media (max-width:900px){.sched{grid-template-columns:1fr}}
.tbl-wrap{overflow-x:auto;background:var(--card)}
table{width:100%;border-collapse:collapse;font-size:16px}
th{text-align:left;font-size:14px;font-weight:600;color:var(--muted);padding:14px 12px 10px;border-bottom:2px solid var(--ink)}
td{padding:0 12px;height:60px;border-bottom:1px solid var(--line)}
td.r,th.r{text-align:right;white-space:nowrap}
tr.is-next td{background:var(--tint)}
.vs{color:var(--muted)} .opp{font-weight:700}
.tag{font-size:13px;font-weight:700;color:var(--accent);margin-left:8px;white-space:nowrap}
.note{font-size:13px;color:var(--muted);margin-left:8px}
.w{font-weight:700;color:var(--accent)} .l{font-weight:700}
td:first-child{white-space:nowrap}
@media (max-width:640px){.hide-sm{display:none} th,td{padding-left:8px;padding-right:8px} table{font-size:15px} .tag{display:block;margin-left:0} .note{display:block;margin-left:0}}
.visit{background:var(--card);padding:28px;display:flex;flex-direction:column;gap:14px}
.visit p{margin:0;color:var(--ink2)}
.visit .btn{width:100%}
.small{font-size:15px;color:var(--muted)}
.photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:28px}
figure{margin:0}
.photos img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--panel)}
.tile{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;text-align:left;font:inherit;color:inherit}
.tile img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--panel);transition:opacity .15s}
.tile:hover img{opacity:.9}
figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;align-items:start}
@media (max-width:860px){.two{grid-template-columns:1fr;gap:32px}}
.two p{margin:0 0 16px;font-size:18px}
dl.glance{margin:0;border-top:2px solid var(--ink);background:var(--card);padding:0 20px}
dl.glance div{display:flex;justify-content:space-between;gap:12px;min-height:54px;align-items:center;border-bottom:1px solid var(--line)}
dl.glance div:last-child{border-bottom:0}
dl.glance dt{color:var(--muted)} dl.glance dd{margin:0;font-weight:700;text-align:right}
.row4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
.row4 .span2{grid-column:span 2}
.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.row4 img,.row3 img{width:100%;height:440px;object-fit:cover;background:var(--panel)}
.group{margin-top:28px}
@media (max-width:760px){
  .row4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .row4 img{height:260px}
  .row3{gap:8px} .row3 img{height:200px}
}
.started{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:56px;align-items:center;margin-top:48px;padding-top:48px;border-top:1px solid var(--line)}
.started img{width:100%;height:auto}
.started p{font-size:18px;color:var(--ink2);margin:16px 0 0;max-width:600px}
@media (max-width:760px){.started{grid-template-columns:1fr;gap:20px}}
.wa{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;margin-top:32px;align-items:start}
@media (max-width:860px){.wa{grid-template-columns:1fr;gap:36px}}
ul.honors{list-style:none;margin:14px 0 0;padding:0 20px;background:var(--card);border-top:2px solid var(--ink)}
ul.honors li{padding:14px 0;border-bottom:1px solid var(--line)}
ul.honors li:last-child{border-bottom:0}
table.tests{background:var(--card);margin-top:14px;border-top:2px solid var(--ink)}
table.tests th{font-size:16px;font-weight:400;color:var(--ink2);border-bottom:1px solid var(--line);padding:12px 20px}
table.tests td{height:auto;padding:12px 20px;text-align:right;font-weight:700}
.film{margin-top:32px}
.wa-photos{margin-top:40px}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tabs button{min-height:44px;padding:0 16px;border:2px solid var(--ink);border-radius:2px;background:var(--card);color:var(--ink);font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.tabs button[aria-pressed="true"]{background:var(--ink);color:#fff}
.wa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:18px}
@media (max-width:560px){.wa-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.lightbox{border:0;padding:0;margin:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;background:rgba(17,18,20,.94);color:#F3F4F1}
.lightbox::backdrop{background:rgba(17,18,20,.94)}
.lightbox figure{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:calc(64px + env(safe-area-inset-top,0px)) 64px calc(56px + env(safe-area-inset-bottom,0px))}
.lightbox img{max-width:100%;max-height:calc(100vh - 170px);object-fit:contain}
.lightbox figcaption{color:#D5D8D3;font-size:15px;text-align:center;max-width:640px}
.lb-close,.lb-nav{position:absolute;width:48px;height:48px;border:0;border-radius:24px;background:rgba(255,255,255,.12);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.lb-close{top:calc(12px + env(safe-area-inset-top,0px));right:12px}
.lb-prev{left:10px;top:50%;transform:translateY(-50%)}
.lb-next{right:10px;top:50%;transform:translateY(-50%)}
.lb-count{position:absolute;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom,0px));margin:0;text-align:center;font-size:14px;color:#B4B8B3}
@media (max-width:560px){.lightbox figure{padding-left:12px;padding-right:12px}.lb-prev,.lb-next{top:auto;bottom:calc(6px + env(safe-area-inset-bottom,0px));transform:none}}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:56px;align-items:start}
@media (max-width:860px){.contact{grid-template-columns:1fr;gap:28px}}
form{display:grid;gap:18px;background:var(--card);padding:28px}
.fields2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:560px){.fields2{grid-template-columns:1fr}}
label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
input,textarea{width:100%;font:inherit;font-size:17px;color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:2px;padding:12px 14px}
input{height:52px}
textarea{min-height:170px;resize:vertical}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.status{margin:0;font-size:15px;font-weight:600}
.status.ok{color:#1F6B3A} .status.err{color:var(--accent)}
footer{position:relative;z-index:1;background:var(--ink);color:#F3F4F1;padding:48px 0 calc(56px + env(safe-area-inset-bottom,0px))}
footer .row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
footer .brand{color:#F3F4F1} footer .brand .num{color:#F2848F}
footer nav{display:flex;flex-wrap:wrap;gap:4px}
footer nav a{min-height:44px;padding:0 12px;display:inline-flex;align-items:center;color:#F3F4F1;font-weight:600;font-size:15px}
footer p{color:#B4B8B3;font-size:14px;margin:20px 0 0}
.posts{display:grid;gap:18px;margin-top:28px}
.post{background:var(--card);display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:22px;align-items:start}
.post:not(:has(.post-photo)){grid-template-columns:1fr}
.post-photo img{aspect-ratio:1/1}
.post-date{margin:0;font-size:14px;font-weight:600;color:var(--muted)}
.post-title{margin:4px 0 8px;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(26px,3vw,34px);line-height:1}
.post-body p{margin:0 0 10px;color:var(--ink2)}
@media (max-width:640px){.post{grid-template-columns:1fr;padding:18px}}
[hidden]{display:none !important}
