
:root{
  --ink:#171717;
  --muted:#66645f;
  --paper:#f5f1e8;
  --panel:#fffdf8;
  --burgundy:#7b1326;
  --burgundy2:#4f0b17;
  --gold:#b59258;
  --line:#d8d0c4;
  --shadow:0 20px 60px rgba(0,0,0,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#1a1a1a;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(1180px,calc(100% - 36px));margin:auto}
.topbar{background:#111;color:#eee;border-bottom:1px solid #343434}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase}
.topbar a{text-decoration:none}
nav{position:sticky;top:0;z-index:20;background:rgba(245,241,232,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.navin{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:1.04rem}
.navlinks{display:flex;gap:22px;flex-wrap:wrap}
.navlinks a{text-decoration:none;font-size:.92rem;font-weight:700;color:#3a3732}
.hero{position:relative;min-height:680px;display:grid;align-items:end;background:
linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.78)),
url('../images/hero.jpg') center/cover no-repeat}
.hero .inner{padding:90px 0 76px;color:white;max-width:840px}
.kicker{font-size:.86rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#e7d3b0}
h1{font-size:clamp(3.1rem,7vw,6.6rem);line-height:.92;margin:.18em 0 .25em;letter-spacing:-.05em}
.hero p{font-size:clamp(1.05rem,2vw,1.35rem);max-width:760px;color:#f1eee8}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.badge{border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.08);padding:8px 12px;border-radius:999px;font-size:.84rem}
main{background:var(--paper)}
section{padding:86px 0}
.section-head{max-width:790px;margin-bottom:34px}
.eyebrow{color:var(--burgundy);font-weight:900;letter-spacing:.13em;text-transform:uppercase;font-size:.82rem}
h2{font-size:clamp(2.1rem,4vw,3.8rem);line-height:1.05;margin:.15em 0 .3em;letter-spacing:-.04em}
h3{font-size:1.35rem;margin:.2em 0 .45em}
.lede{font-size:1.1rem;color:#4f4b45}
.story-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:start}
.card{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.card.pad{padding:30px}
.photo-stack{display:grid;gap:18px}
.photo-stack img{border-radius:18px;box-shadow:var(--shadow);width:100%}
.specs{background:#201f1d;color:#f7f1e8}
.specs .eyebrow{color:#d7bd8b}
.specgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.spec{background:#2b2926;border:1px solid #45413b;border-radius:16px;padding:22px}
.spec strong{display:block;font-size:1.45rem;color:white;margin-bottom:3px}
.spec span{color:#c9c1b5;font-size:.9rem}
.tech-columns{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:24px}
.techbox{background:#292724;border:1px solid #45413b;border-radius:18px;padding:28px}
.techbox h3{color:#fff}
.techbox p,.techbox li{color:#d6d0c7}
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.video{background:#111;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/9}
.video iframe{width:100%;height:100%;border:0}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.gallery figure{margin:0;background:white;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.gallery figure:nth-child(1){grid-column:span 7}
.gallery figure:nth-child(2){grid-column:span 5}
.gallery figure:nth-child(3){grid-column:span 4}
.gallery figure:nth-child(4){grid-column:span 4}
.gallery figure:nth-child(5){grid-column:span 4}
.gallery img{width:100%;height:100%;min-height:230px;object-fit:cover}
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.person{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.person img{width:100%;aspect-ratio:4/3;object-fit:cover}
.person .copy{padding:18px}
.person p{margin:0;color:#5c5851;font-size:.94rem}
.award-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.award-grid img{border-radius:18px;box-shadow:var(--shadow)}
.contact{background:var(--burgundy2);color:white;text-align:center}
.contact a{color:white;font-weight:800}
footer{background:#0c0c0c;color:#aaa;text-align:center;padding:24px;font-size:.86rem}
footer a{color:#ddd}
@media(max-width:850px){
  .navin{align-items:flex-start;flex-direction:column;padding:15px 0}
  .navlinks{gap:12px 18px}
  .hero{min-height:560px}
  .story-grid,.award-grid,.video-grid,.tech-columns{grid-template-columns:1fr}
  .specgrid{grid-template-columns:1fr 1fr}
  .people{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .wrap{width:min(100% - 24px,1180px)}
  .topbar .wrap{flex-direction:column;gap:5px;align-items:flex-start}
  .navlinks{font-size:.88rem}
  section{padding:62px 0}
  h1{font-size:3.15rem}
  .specgrid,.people{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .gallery figure,.gallery figure:nth-child(n){grid-column:auto}
  .gallery img{min-height:0;aspect-ratio:auto}
}

.gallery figcaption{
  padding:14px 16px 16px;
  color:#4f4b45;
  font-size:.9rem;
  line-height:1.45;
}
.gallery figcaption strong{
  display:block;
  color:#7b1326;
  font-size:1rem;
  margin-bottom:2px;
}
.gallery .leno-photo img{
  height:auto;
  min-height:230px;
  object-fit:cover;
}
