/* the DMD group - public site. Plain CSS, system fonts only. */
:root{
  --ink:#000; --text:#626262; --line:rgba(0,0,0,.1); --paper:#fff; --slate:#dce1e4;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:Quattrocento,"Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --maxw:1100px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit}
img{max-width:100%;height:auto}
.skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:8px 12px;z-index:100}
.skip:focus{left:0}

/* header + nav */
.site-header{background:var(--paper);border-bottom:1px solid rgba(0,0,0,.05);position:sticky;top:0;z-index:20}
.bar{max-width:var(--maxw);margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:80px}
.logo img{display:block;width:min(330px,62vw);height:auto}
.logo:hover{opacity:.7;transition:opacity .2s}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;flex-wrap:nowrap;justify-content:flex-end;align-items:center}
.nav a,.nav span.nolink{display:block;position:relative;padding:8px 10px;font-size:13px;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;font-weight:300;color:#000}
.nav a:hover{opacity:.6;transition:opacity .2s}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:1px;background:rgba(0,0,0,.4)}
.nav span.nolink{cursor:default}
.nav .tab-sc a{border:1px solid rgba(0,0,0,.35);border-radius:2px;margin-left:6px;white-space:nowrap}
.menu-btn{display:none;background:none;border:0;padding:10px;cursor:pointer}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:24px;height:2px;background:#000;content:"";position:relative;transition:transform .2s,background .2s}
.menu-btn span::before{top:-7px;position:absolute}
.menu-btn span::after{top:7px;position:absolute}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg)}

/* main */
main{flex:1;width:100%;display:flex;flex-direction:column}
.section{flex:1;background-color:var(--slate);background-size:cover;background-position:center;padding:40px 24px 56px}
.wrap{max-width:var(--maxw);margin:0 auto}
.card{background:rgba(255,255,255,.92);padding:28px 32px;box-shadow:0 1px 14px rgba(0,0,0,.08)}
h1,h2{font-family:var(--sans);font-weight:300;letter-spacing:.03em;line-height:1.15;color:#000;margin:0 0 20px}
h2{font-size:28px}
.card h2.sub{font-size:24px}
p{font-family:var(--serif);font-size:18px;color:var(--text);margin:0 0 18px;line-height:1.55}
.just{text-align:justify;hyphens:auto}
.block{display:flex;gap:24px;align-items:flex-start;margin-bottom:32px}
.block img{flex:0 0 auto;border:1px solid #ccc;padding:3px;background:#fff}
.block:last-child{margin-bottom:0}
.center{text-align:center}
.lead{font-weight:300;font-size:26px;line-height:1.3}
.lead strong{font-weight:700}
.lead .muted{color:rgb(98,98,98);display:block;margin-top:24px;font-size:22px}
.photos{display:grid;gap:20px;margin-top:28px;align-items:center}
.photos.two{grid-template-columns:1fr 1fr}
.photos.three{grid-template-columns:repeat(3,1fr)}
.photos img{display:block;margin:0 auto}

/* home slideshow */
.show{position:relative;max-width:var(--maxw);margin:0 auto;aspect-ratio:2/1;background:var(--slate);overflow:hidden}
.show img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1s ease}
.show img.on{opacity:1}
.dots{display:flex;gap:8px;justify-content:center;margin-top:12px}
.dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(0,0,0,.25);padding:0;cursor:pointer}
.dots button[aria-current="true"]{background:rgba(0,0,0,.65)}

/* contact */
.contact{font-family:var(--sans);font-weight:700;color:#666;font-size:28px;line-height:1.5;letter-spacing:.03em}
.contact a{text-decoration:none;border-bottom:1px solid rgba(0,0,0,.25)}
.contact a:hover{opacity:.7}
.contact .row{margin:14px 0}

/* footer */
.site-footer{border-top:1px solid var(--line);font-size:14px;margin-top:auto}
.site-footer .wrap{padding:18px 24px}
.site-footer p{font-family:"Crimson Text",Georgia,"Times New Roman",serif;font-size:13px;color:#626262;margin:0}

@media (max-width:820px){
  .menu-btn{display:block}
  .bar{min-height:64px;padding:8px 16px}
  .nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;align-items:stretch;gap:0;padding:6px 0 12px}
  .nav a,.nav span.nolink{padding:12px 24px}
  .nav a[aria-current="page"]::after{left:24px;right:auto;width:40px}
  .nav .tab-sc a{margin:6px 24px 0;display:inline-block}
  .section{padding:20px 12px 36px}
  .card{padding:20px 18px}
  .block{flex-direction:column}
  h2{font-size:24px}
  .lead{font-size:21px}.lead .muted{font-size:18px}
  .photos.two,.photos.three{grid-template-columns:1fr}
  .contact{font-size:21px;overflow-wrap:anywhere}
  .show{aspect-ratio:16/10}
}
@media (prefers-reduced-motion:reduce){.show img{transition:none}}
