:root{
  --bg:#f4f5f2;
  --text:#151918;
  --muted:#66706d;
  --line:#cfd4d1;
  --accent:#233a35;
  --max:1320px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit}

.site-shell{
  min-height:100vh;
  max-width:var(--max);
  margin:0 auto;
  padding:0 48px;
  display:flex;
  flex-direction:column;
}

.site-header{
  height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
}

.wordmark{
  text-decoration:none;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:18px;
  font-weight:600;
  letter-spacing:-.02em;
}

.site-header nav a{
  text-decoration:none;
  font-size:13px;
  color:var(--muted);
  transition:color .18s ease;
}

.site-header nav a:hover,
.site-header nav a[aria-current="page"]{color:var(--text)}

main{flex:1}

.hero{
  min-height:50vh;
  padding:70px 0 78px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.page-intro{
  min-height:38vh;
  padding:64px 0 72px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.eyebrow,
.section-label{
  margin:0 0 18px;
  color:var(--muted);
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.14em;
}

h1,h2{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-weight:500;
  letter-spacing:-.045em;
}

h1{
  max-width:900px;
  margin:0;
  font-size:clamp(48px,7vw,94px);
  line-height:.96;
}

.lede{
  max-width:620px;
  margin:26px 0 0;
  color:#404744;
  font-size:18px;
  line-height:1.55;
}

.structure,
.legal-list{
  padding:18px 0 78px;
}

.section-rule{
  height:1px;
  background:var(--line);
  margin-bottom:22px;
}

.section-copy{
  max-width:600px;
  margin:0 0 38px;
  font-size:16px;
  line-height:1.6;
  color:#3e4643;
}

.entity-grid{border-top:1px solid var(--line)}

.entity-row{
  min-height:88px;
  display:grid;
  grid-template-columns:180px minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  border-bottom:1px solid var(--line);
  text-decoration:none;
}

.entity-country{
  color:var(--muted);
  font-size:13px;
}

.entity-name{
  font-size:21px;
  letter-spacing:-.025em;
}

.entity-arrow{
  color:var(--muted);
  font-size:17px;
  transition:transform .18s ease,color .18s ease;
}

.entity-row:hover .entity-arrow{
  transform:translate(3px,-3px);
  color:var(--accent);
}

.source-line{
  padding:0 0 76px;
  color:var(--muted);
  font-size:12px;
}

.legal-entity{
  padding-bottom:66px;
}

.legal-entity h2{
  margin:0 0 40px;
  font-size:clamp(34px,4.2vw,56px);
  line-height:1.05;
}

dl{
  margin:0;
  border-top:1px solid var(--line);
}

dl>div{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:28px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}

dt{
  font-size:12px;
  color:var(--muted);
}

dd{
  margin:0;
  font-size:15px;
  line-height:1.55;
}

.translation{color:var(--muted)}

.contact-block{
  padding:0 0 78px;
}

.contact-email{
  margin:0;
  font-size:18px;
  letter-spacing:-.02em;
}

.contact-email a,
.footer-contact>a{text-decoration:none}

.contact-email a:hover,
.footer-contact>a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.site-footer{
  padding:28px 0 34px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:flex-end;
}

.footer-name{
  font-size:13px;
  font-weight:500;
  margin-bottom:6px;
}

.footer-meta{
  font-size:11px;
  color:var(--muted);
  line-height:1.5;
}

.footer-contact{
  text-align:right;
  font-size:12px;
}

.footer-contact .footer-meta{margin-top:6px}

@media (max-width:760px){
  .site-shell{padding:0 22px}
  .site-header{height:72px}
  .wordmark{font-size:16px}
  .hero{min-height:auto;padding:58px 0 62px}
  .page-intro{min-height:auto;padding:52px 0 58px}
  .lede{font-size:16px;margin-top:22px}
  .eyebrow,.section-label{margin-bottom:16px}
  .structure,.legal-list{padding:14px 0 56px}
  .section-copy{margin-bottom:30px}
  .entity-row{
    grid-template-columns:1fr auto;
    gap:8px 16px;
    min-height:auto;
    padding:20px 0;
  }
  .entity-country{grid-column:1}
  .entity-name{grid-column:1;font-size:19px}
  .entity-arrow{grid-column:2;grid-row:1 / 3}
  .source-line{padding-bottom:56px}
  dl>div{
    grid-template-columns:1fr;
    gap:8px;
    padding:18px 0;
  }
  .legal-entity{padding-bottom:54px}
  .legal-entity h2{margin-bottom:30px}
  .contact-block{padding-bottom:56px}
  .site-footer{
    padding:26px 0 30px;
    align-items:flex-start;
    flex-direction:column;
    gap:24px;
  }
  .footer-contact{text-align:left}
}

/* Legal pages */
.legal-page{
  max-width:860px;
  padding:64px 0 86px;
}
.legal-page .page-intro{
  min-height:auto;
  padding:22px 0 64px;
}
.legal-page h1{
  font-size:clamp(44px,6vw,76px);
}
.legal-copy{
  border-top:1px solid var(--line);
}
.legal-section{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:28px;
  padding:34px 0;
  border-bottom:1px solid var(--line);
}
.legal-section h2{
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}
.legal-section-content{
  max-width:620px;
}
.legal-section-content p{
  margin:0 0 16px;
  font-size:15px;
  line-height:1.7;
  color:#303735;
}
.legal-section-content p:last-child{margin-bottom:0}
.legal-section-content ul{
  margin:0 0 16px;
  padding-left:20px;
}
.legal-section-content li{
  margin:0 0 8px;
  font-size:15px;
  line-height:1.65;
  color:#303735;
}
.legal-note{
  margin-top:28px;
  font-size:12px;
  line-height:1.6;
  color:var(--muted);
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:8px;
}
.footer-links a{
  color:var(--muted);
  text-decoration:none;
}
.footer-links a:hover{
  color:var(--text);
  text-decoration:underline;
  text-underline-offset:3px;
}

@media (max-width:760px){
  .legal-page{padding:42px 0 58px}
  .legal-page .page-intro{padding:10px 0 46px}
  .legal-section{
    grid-template-columns:1fr;
    gap:12px;
    padding:26px 0;
  }
  .footer-links{gap:12px}
}
