/* AV Engineering. No scripts, trackers or third-party requests. */
@font-face{font-family:"Newsreader";font-weight:300;font-style:normal;font-display:swap;src:url("../fonts/newsreader-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Newsreader";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/newsreader-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Newsreader";font-weight:400;font-style:italic;font-display:swap;src:url("../fonts/newsreader-latin-400-italic.woff2") format("woff2")}
/* Layout: one centred hero, then a left-aligned label column beside the text, as on the sister sites. One typeface throughout. */
:root{
  --bg:#1f1411; --ink:#ecdfc8; --mute:#b0a38e; --red:#f0343d; --line:rgba(241,233,229,.14);
  --font:"Newsreader",Georgia,"Times New Roman",serif;
  --max:70rem; color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:300;font-size:1.125rem;line-height:1.6;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.wrap{max-width:var(--max);margin:0 auto}

.top{display:flex;justify-content:flex-end;gap:2.2rem;padding-block:1.6rem}
.top a,.label,h3,.hero__line,.foot p,.link{font-family:var(--font);text-transform:uppercase;letter-spacing:.24em;font-weight:400}
.top a{font-size:.8rem;color:var(--red);padding:.3rem 0;border-bottom:1px solid transparent;transition:border-color .3s}
.top a:hover{border-color:var(--red)}

.hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:clamp(4rem,12vw,9rem) clamp(4.5rem,12vw,9rem)}
.hero__logo{width:min(34rem,86%);height:auto;max-width:100%}
.hero__line{margin:2.4rem 0 0;font-size:.82rem;letter-spacing:.42em;padding-left:.42em;color:var(--red)}

.about,.contact{display:grid;grid-template-columns:minmax(8rem,1fr) 3fr;gap:clamp(1.25rem,5vw,4.5rem);padding-block:clamp(3.5rem,9vw,7rem);border-top:1px solid var(--line)}
.label{margin:.6rem 0 0;font-size:.8rem;color:var(--red)}
.lede{margin:0;font-size:clamp(1.7rem,3.8vw,2.6rem);line-height:1.22}
.sub{margin:1.5rem 0 0;font-size:clamp(1.1rem,1.7vw,1.35rem);font-style:italic;font-weight:400;color:var(--mute);}
.awards{margin:2.6rem 0 0;padding-top:1.4rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.5rem;text-align:left}
.about__body{max-width:34rem;text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto}
.awards strong{font-weight:400;font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}
.awards span{font-size:1.15rem;color:var(--mute);font-variant-numeric:tabular-nums}

.grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr) minmax(0,1.45fr);gap:clamp(2rem,4vw,3rem)}
h3{margin:0 0 .9rem;font-size:.75rem;color:var(--mute)}
h3:not(:first-child){margin-top:2rem}
address{font-style:normal;font-size:1.25rem;line-height:1.55}
.grid p{margin:0;font-size:1.25rem}
.grid p a{overflow-wrap:anywhere}
@media (min-width:52.01rem){.grid p a[href^="mailto"]{font-size:1.12rem;overflow-wrap:normal;white-space:nowrap}}
.link{display:inline-block;margin-top:1.1rem;font-size:.75rem;color:var(--red);border-bottom:1px solid var(--red);padding-bottom:.3rem}
.hours{margin:0;font-size:1.15rem}
.hours div{display:flex;justify-content:space-between;gap:1.25rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.hours div:first-child{padding-top:0}
.hours dt{color:var(--mute);white-space:nowrap}
.hours dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}

.foot{padding-block:3.5rem 3rem;text-align:center;border-top:1px solid var(--line)}
.foot img{width:9rem;max-width:60%;height:auto;margin:0 auto 1.6rem;opacity:.5;display:block}
.foot p{margin:0;font-size:.72rem;letter-spacing:.2em;line-height:2;color:var(--mute)}

@media (max-width:52rem){
  .about,.contact{grid-template-columns:1fr;gap:1.1rem}
  .label{margin-top:0}
  .grid{grid-template-columns:1fr;gap:2.2rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
