/* B2 Digital Imaging - shared stylesheet */
:root{
  --black:#0f0f0f;
  --charcoal:#1c1c1c;
  --grey:#2e2e2e;
  --text:#f2f2f2;
  --muted:#cfcfcf;
  --red:#e0252b;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --weave:repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 6px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:18px/1.6 "Segoe UI",Helvetica,Arial,sans-serif;color:var(--text);
     background-color:var(--grey);background-image:var(--grain),var(--weave)}
h1,h2,h3{font-family:"Arial Narrow","Franklin Gothic Medium",Impact,Arial,sans-serif;text-transform:uppercase;letter-spacing:.03em;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3rem)}
h2{font-size:1.7rem}
p{margin:0 0 1em;color:var(--muted)}
a{color:inherit}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.wrap{max-width:1000px;margin:0 auto;padding:0 20px}
.site-header{background-color:var(--black);background-image:var(--grain);border-bottom:4px solid var(--red)}
.site-header .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.brand img{display:block;height:84px;width:auto}
.brand span{display:none}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
nav a{text-decoration:none;font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:.95rem;padding:6px 0;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current="page"]{border-bottom-color:var(--red)}
.slides{position:relative;aspect-ratio:4267/2083;max-width:1200px;margin:0 auto;background:var(--black);overflow:hidden;box-shadow:0 0 0 100vmax var(--black);clip-path:inset(0 -100vmax);border-bottom:1px solid #000}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:fade 20s infinite}
.slides img:nth-child(1){animation-delay:0s}
.slides img:nth-child(2){animation-delay:5s}
.slides img:nth-child(3){animation-delay:10s}
.slides img:nth-child(4){animation-delay:15s}
@keyframes fade{0%{opacity:0}4%{opacity:1}25%{opacity:1}29%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.slides img{animation:none}.slides img:first-child{opacity:1}}
main{padding:44px 0 60px}
.welcome{text-align:center;padding:10px 0 34px}
.welcome h1{margin-bottom:.2em}
.welcome p{font-size:1.25rem;color:var(--text)}
h1.page-title::after,h2.section-title::after{content:"";display:block;width:56px;height:4px;background:var(--red);margin-top:10px}
.panel{background-color:var(--charcoal);background-image:var(--grain);border-top:4px solid var(--red);box-shadow:0 2px 6px rgba(0,0,0,.45);padding:26px;margin-bottom:28px}
.panel h2 a{text-decoration:none}
.panel h2 a:hover{color:var(--red)}
.date{font-size:.9rem;color:#9a9a9a;margin-bottom:.8em}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:10px}
.photo-grid img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:3/2;background:var(--black);border:1px solid #4a4a4a}
.about-grid{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:28px;align-items:start}
.about-grid img{display:block;width:100%;border:1px solid #4a4a4a;background:var(--black)}
.quote{font-size:1.15rem;color:var(--text);border-left:4px solid var(--red);padding-left:18px;margin:0 0 .8em}
.cite{color:var(--red);font-weight:600}
.testimonial{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:26px;align-items:center}
.testimonial img{display:block;width:100%;background:#fff;padding:8px}
.more{display:inline-block;margin-top:6px;color:var(--red);font-weight:600}
@media (max-width:640px){.about-grid,.testimonial{grid-template-columns:1fr}.about-grid img{max-width:260px}}
.site-footer{background-color:var(--black);background-image:var(--grain);border-top:4px solid var(--red);padding:30px 0;text-align:center;font-size:.95rem}
.site-footer ul{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center}
.site-footer a{text-decoration:none;font-weight:600}
.site-footer a:hover{color:var(--red)}
.site-footer p{margin:.3em 0;color:var(--muted)}
