.info-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.55),rgba(0,0,0,.18)),
    url('/assets/img/info-hero.jpg');
  background-size:cover;
  background-position:center;
}

.info-layout{
  display:grid;
  gap:28px;
}

.info-card{
  background:#fff;
  border-radius:34px;
  padding:36px;
  box-shadow:0 18px 50px rgba(0,0,0,.07);
}

.info-card-wide{
  max-width:1100px;
  margin:0 auto;
}

.info-card h2{
  font-size:44px;
  line-height:.95;
  margin:0 0 18px;
  text-transform:uppercase;
}

.info-card h3{
  font-size:26px;
  line-height:1;
  margin:28px 0 12px;
}

.info-card p{
  color:#333;
  line-height:1.7;
  font-size:17px;
}

.highlight-box{
  margin:28px 0;
  padding:20px;
  border-radius:22px;
  background:#ffd400;
  color:#000;
  font-weight:950;
}

.info-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
  margin:30px 0;
}

.info-grid > div{
  background:#f4f4f4;
  border-radius:24px;
  padding:24px;
}

.info-list{
  display:grid;
  gap:10px;
  padding-left:22px;
  color:#333;
  line-height:1.6;
}

.coverage-grid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}

.coverage-grid div{
  background:#111;
  color:#fff;
  border-radius:22px;
  padding:20px;
}

.coverage-grid span{
  display:block;
  color:#aaa;
  font-size:13px;
  margin-bottom:8px;
}

.coverage-grid strong{
  color:#ffd400;
  font-size:22px;
}

.locations-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:28px;
}

.location-card{
  background:#fff;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.07);
}

.location-image{
  height:260px;
  background:#eee;
}

.location-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.location-content{
  padding:28px;
}

.location-content h2{
  font-size:38px;
  line-height:.95;
  margin:0 0 18px;
  text-transform:uppercase;
}

.location-block{
  color:#333;
  line-height:1.6;
}

.location-meta{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin:22px 0;
}

.location-meta div{
  background:#f4f4f4;
  border-radius:18px;
  padding:16px;
}

.location-meta strong{
  display:block;
  font-size:13px;
  text-transform:uppercase;
  margin-bottom:6px;
}

.location-map{
  margin-top:20px;
  border-radius:20px;
  background:#f4f4f4;
  padding:16px;
}

.location-map summary{
  cursor:pointer;
  font-weight:950;
}

.location-map iframe{
  width:100%;
  max-width:100%;
  margin-top:14px;
  border-radius:18px;
}

@media(max-width:900px){
  .info-grid,
  .locations-grid{
    grid-template-columns:1fr;
  }

  .coverage-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .info-card{
    padding:26px;
  }

  .info-card h2{
    font-size:34px;
  }
}

@media(max-width:600px){
  .coverage-grid,
  .location-meta{
    grid-template-columns:1fr;
  }
}

.tshirt-layout{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:28px;
  align-items:start;
}

.check-line{
  display:flex !important;
  gap:10px;
  align-items:flex-start;
  font-weight:700 !important;
  line-height:1.5;
}

.check-line input{
  width:auto !important;
  margin-top:4px;
}

.form-message{
  margin-top:18px;
  font-weight:900;
}

.form-message.ok{
  color:#087a2f;
}

.form-message.error{
  color:#b00020;
}

@media(max-width:900px){
  .tshirt-layout{
    grid-template-columns:1fr;
  }
}

.legalFooterNote{
  margin-top:28px;
  padding:18px 20px;
  border-radius:18px;
  background:#f4f4f4;
  color:#555;
  font-weight:800;
}

.legal-intro {
  background: #0f1012;
  padding: 28px 32px;
  border-radius: 22px;
  margin-bottom: 30px;
}

.legal-intro strong {
  display: block;
  color: #ffd400;
  font-size: 1.55rem;
  font-weight: 800;
  margin-bottom: 12px;
}

.legal-intro p {
  color: rgba(255,255,255,.86);
  font-size: 1rem;
  line-height: 1.7;
  margin: 0;
}

.legal-entity-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-bottom: 34px;
}

.legal-entity-item {
  min-height: 150px;
  padding: 22px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 8px 24px rgba(0,0,0,.035);
}

.legal-entity-item span {
  display: block;
  margin-bottom: 10px;
  color: #6f737b;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.legal-entity-item strong {
  display: block;
  color: #050505;
  font-size: 1.05rem;
  line-height: 1.25;
  margin-bottom: 8px;
}

.legal-entity-item small {
  display: block;
  color: #555b66;
  line-height: 1.5;
}

.legal-entity-item a {
  color: #050505;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.legal-entity-highlight {
  border: 2px solid #ffd400;
  background: #fff9d9;
}

.legal-highlight {
  background: #fff9d9;
  border: 2px solid #ffd400;
  border-radius: 22px;
  padding: 26px 28px;
  margin-bottom: 42px;
}

.legal-highlight strong {
  display: block;
  color: #050505;
  font-size: 1.2rem;
  font-weight: 900;
  margin-bottom: 14px;
}

.legal-highlight ul {
  margin: 0;
  padding-left: 20px;
}

.legal-highlight li {
  color: #20242b;
  line-height: 1.65;
  margin-bottom: 8px;
}

.legal-section {
  padding: 30px 0;
  border-top: 1px solid rgba(0,0,0,.08);
}

.legal-section:first-of-type {
  border-top: 0;
}

.legal-section h2 {
  color: #050505;
  font-size: clamp(1.55rem, 2.4vw, 2.25rem);
  line-height: 1.12;
  letter-spacing: -.03em;
  margin: 0 0 16px;
}

.legal-section p {
  color: #20242b;
  font-size: 1.02rem;
  line-height: 1.85;
  margin: 0;
}

.legalFooterNote {
  margin-top: 32px;
  padding-top: 22px;
  border-top: 1px solid rgba(0,0,0,.08);
  color: #6f737b;
  font-size: .95rem;
}

@media (max-width: 1100px) {
  .legal-entity-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 720px) {
  .legal-intro {
    padding: 24px;
  }

  .legal-entity-grid {
    grid-template-columns: 1fr;
  }

  .legal-section {
    padding: 24px 0;
  }
}