/* Shared boxed grid; section backgrounds remain full bleed. */
.hero .hero-bottom{display:block;margin-bottom:32px}
.hero-bottom>div{display:flex;justify-content:space-between;align-items:center;gap:24px}
.hero-bottom p{margin:0}
.hero-photo{margin:0;position:relative}
.hero-photo img{display:block;width:100%;height:460px;object-fit:cover;object-position:center 38%;border-radius:6px}
.hero-photo figcaption{display:flex;justify-content:space-between;padding:16px 0;font-size:9px;letter-spacing:1.6px;color:#bfceb8}
@media(max-width:800px){.hero-bottom>div{align-items:flex-start;flex-direction:column}.hero-photo img{height:320px;object-position:58% 35%}.hero-photo figcaption{font-size:8px;letter-spacing:.8px}}
:root{--content-width:1200px;--gutter:32px}
header,.hero,section:not(.hero),footer{
  padding-left:max(var(--gutter),calc((100% - var(--content-width))/2));
  padding-right:max(var(--gutter),calc((100% - var(--content-width))/2));
}
header{height:80px}
.hero{padding-top:122px;padding-bottom:0}
.hero h1{font-size:clamp(70px,9.5vw,138px);line-height:.94;letter-spacing:-3px;margin:48px 0 32px}
.hero-bottom{grid-template-columns:.85fr 1.4fr;gap:64px}
.hero-bottom p{font-size:17px}
.car svg{max-height:245px}
.hero-foot{margin-top:36px;padding:24px 0}
.ribbon{padding:19px max(var(--gutter),calc((100% - var(--content-width))/2));gap:24px;white-space:nowrap;font-size:10px;letter-spacing:1.8px}
section:not(.hero){padding-top:88px;padding-bottom:88px}
.section-top{margin-bottom:38px}
.grid{gap:72px}
.intro{grid-template-columns:1.1fr 1fr;margin-bottom:42px}
h2{font-size:clamp(48px,5vw,72px);line-height:1.03}
.tiles{gap:20px;grid-template-columns:1.25fr 1fr 1fr}
.tile{padding:30px;min-height:380px;border-radius:8px}
.tile h3{font-size:26px;line-height:1.2}
.tile p{line-height:1.7}
.type-art{font-size:110px}
.stat strong{font-size:85px}
.asterisk{font-size:100px}
.poster{min-height:495px;border-radius:4px}
.poster>div{font-size:90px}
.poster i{font-size:125px}
.story-copy h2{font-size:clamp(45px,4.6vw,66px)}
.newsletter .grid{align-items:start}
.newsletter form{padding-top:8px}
.newsletter .button{width:100%;justify-content:center}
.contact>div{margin-top:28px}
.button{min-height:52px}
footer{padding-top:40px;padding-bottom:40px}
@media(min-width:1600px){.hero{padding-top:132px}section:not(.hero){padding-top:100px;padding-bottom:100px}}
@media(max-width:800px){
  :root{--gutter:24px}
  header{height:70px}
  .hero{padding-top:100px}
  .hero h1{font-size:clamp(62px,11.5vw,92px);letter-spacing:-2px;margin:38px 0 25px}
  .hero-bottom,.grid,.intro{grid-template-columns:1fr;gap:28px}
  .tiles{grid-template-columns:1fr;gap:18px}
  .tile{min-height:320px}
  section:not(.hero){padding-top:60px;padding-bottom:60px}
  .ribbon{justify-content:flex-start;overflow:hidden;gap:18px}
  .poster{min-height:450px}
  .hero-foot{gap:16px}
}
@media(prefers-reduced-motion:no-preference){.tile{transition:transform .25s ease,box-shadow .25s ease}.tile:hover{transform:translateY(-4px);box-shadow:0 12px 24px #14392c12}}
