@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --navy: #0D1B2A;
  --navy-2: #13283A;
  --slate: #415364;
  --gold: #BFA46A;
  --gold-light: #D8C493;
  --light: #E6E8EB;
  --paper: #F7F8F9;
  --white: #FFFFFF;
  --ink: #182531;
  --muted: #68737E;
  --max: 1180px;
  --shadow: 0 18px 60px rgba(13,27,42,.10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  line-height: 1.68;
  color: var(--ink);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.eyebrow {
  margin: 0 0 16px;
  color: var(--gold);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
h1,h2,h3,p,dl { margin-top: 0; }
h1 {
  max-width: 930px;
  margin-bottom: 30px;
  font-size: clamp(2.7rem, 7vw, 6.15rem);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 600;
}
h2 {
  margin-bottom: 22px;
  font-size: clamp(2rem,4vw,3.5rem);
  line-height: 1.06;
  letter-spacing: -.03em;
  color: var(--navy);
}
h3 { margin-bottom: 10px; color: var(--navy); }
p { color: var(--muted); }
strong { font-weight: 600; }

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 10;
  padding: 26px 0;
  color: var(--white);
}
.site-header.inner {
  position: static;
  background: var(--navy);
}
.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}
.brand { display: inline-flex; align-items: center; gap: 15px; }
.brand-mark {
  position: relative;
  width: 48px;
  height: 39px;
  flex: 0 0 48px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.18em;
}
.brand-mark .r, .brand-mark .h {
  position: absolute; top: 2px; font-size: 2.35rem;
}
.brand-mark .r { left: 0; color: var(--white); }
.brand-mark .h { right: 0; color: var(--gold); }
.brand-name { display: grid; gap: 2px; line-height: 1; }
.brand-name strong { color: var(--white); font-size: .96rem; letter-spacing: .18em; }
.brand-name span { color: var(--gold); font-size: .59rem; letter-spacing: .27em; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; gap: 25px; font-size: .8rem; font-weight: 500; }
.nav-links a { color: rgba(255,255,255,.78); }
.nav-links a:hover { color: var(--white); }

.hero {
  position: relative;
  min-height: 820px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: var(--white);
  background:
    radial-gradient(circle at 80% 26%, rgba(191,164,106,.18), transparent 22%),
    linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 58%, #0A1723 100%);
}
.hero::before {
  content:"";
  position:absolute;
  width:560px;height:560px;
  right:-150px;bottom:-270px;
  border:1px solid rgba(191,164,106,.20);
  border-radius:50%;
}
.hero::after {
  content:"";
  position:absolute;
  width:340px;height:340px;
  right:90px;top:165px;
  border:1px solid rgba(255,255,255,.07);
  transform:rotate(45deg);
}
.hero-content { position:relative; z-index:2; padding:165px 0 110px; }
.hero h1 { color: var(--white); }
.hero-copy {
  max-width: 735px;
  margin-bottom: 40px;
  color: rgba(255,255,255,.72);
  font-size: clamp(1.05rem,1.8vw,1.25rem);
}
.actions { display:flex; flex-wrap:wrap; gap:14px; }
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 24px;
  border:1px solid transparent;
  border-radius:3px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.05em;
  transition:.2s ease;
}
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--gold); color:var(--navy); }
.button-primary:hover { background:var(--gold-light); }
.button-secondary { border-color:rgba(255,255,255,.28); color:var(--white); }
.button-secondary:hover { border-color:rgba(255,255,255,.6); }

section { padding: 110px 0; }
.intro, .contact { background: var(--paper); }
.split, .contact-grid, .person {
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:90px;
  align-items:start;
}
.lead { color:var(--slate); font-size:clamp(1.16rem,2vw,1.42rem); }
.gold-line { width:72px; height:2px; margin-top:28px; background:var(--gold); }

.focus { background: var(--white); }
.section-header { max-width: 780px; margin-bottom: 52px; }
.focus-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.focus-card {
  min-height: 250px;
  padding: 32px 28px;
  border: 1px solid var(--light);
  box-shadow: 0 10px 40px rgba(13,27,42,.04);
  background: var(--white);
}
.focus-card .number {
  display:inline-flex;
  width:42px;height:42px;
  align-items:center;justify-content:center;
  margin-bottom:28px;
  border:1px solid rgba(191,164,106,.55);
  border-radius:50%;
  color:var(--gold);
  font-size:.75rem;font-weight:700;
}
.focus-card p { margin-bottom:0; font-size:.92rem; }

.values {
  background: linear-gradient(180deg,#F7F8F9 0,#fff 100%);
}
.value-list {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--light);
  border-bottom:1px solid var(--light);
}
.value {
  padding:30px;
  border-right:1px solid var(--light);
}
.value:last-child { border-right:0; }
.value strong { display:block; color:var(--navy); margin-bottom:7px; }
.value span { color:var(--muted); font-size:.88rem; }

.management {
  position:relative;
  overflow:hidden;
  background:var(--navy);
  color:var(--white);
}
.management::after {
  content:"R";
  position:absolute;
  right:-70px;
  bottom:-160px;
  color:rgba(255,255,255,.025);
  font-size:34rem;
  font-weight:700;
  line-height:1;
}
.management h2 { color:var(--white); }
.management p { color:rgba(255,255,255,.68); }
.person { position:relative; z-index:2; align-items:center; grid-template-columns:1fr .9fr; }
.person-panel {
  padding:46px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.04);
}
.person-panel strong { display:block; color:var(--white); font-size:1.45rem; margin-bottom:8px; }
.person-panel span { color:var(--gold); font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; }

.contact-grid { grid-template-columns:.9fr 1.1fr; }
.contact-card { overflow:hidden; background:var(--white); box-shadow:var(--shadow); }
.contact-head { padding:38px 40px 32px; background:var(--navy); color:var(--white); }
.contact-head strong { display:block; font-size:1.3rem; margin-bottom:6px; }
.contact-head span { color:var(--gold); font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; }
.contact-list { margin:0; }
.contact-row {
  display:grid;
  grid-template-columns:120px 1fr;
  gap:16px;
  padding:21px 40px;
  border-bottom:1px solid #ECEDEF;
}
.contact-row:last-child { border-bottom:0; }
.contact-row dt { color:var(--muted); font-size:.74rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.contact-row dd { margin:0; color:var(--navy); font-size:.94rem; word-break:break-word; }
.contact-row a:hover, .legal a:hover { color:var(--gold); }

.page-hero { padding:76px 0 64px; background:var(--paper); border-bottom:1px solid var(--light); }
.page-hero h1 { color:var(--navy); font-size:clamp(2.4rem,5vw,4.5rem); }
.page-hero p { max-width:720px; margin-bottom:0; }
.legal { padding:76px 0 110px; }
.legal-content { max-width:820px; }
.legal h2 { margin-top:54px; font-size:1.55rem; letter-spacing:-.015em; }
.legal h3 { margin-top:32px; font-size:1.05rem; }
.legal p, .legal li { color:#4D5A65; }
.legal a { color:var(--navy); text-decoration:underline; text-decoration-color:rgba(191,164,106,.65); text-underline-offset:3px; }
.legal ul { padding-left:1.25rem; }
.notice {
  margin:34px 0;
  padding:22px 24px;
  border-left:3px solid var(--gold);
  background:var(--paper);
}
.notice p:last-child { margin-bottom:0; }

footer { padding:34px 0; background:#08131D; color:rgba(255,255,255,.62); font-size:.78rem; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-links { display:flex; flex-wrap:wrap; gap:22px; }
.footer-links a:hover { color:var(--white); }

@media (max-width: 900px) {
  .nav-links { display:none; }
  .hero { min-height:720px; }
  .split,.contact-grid,.person { grid-template-columns:1fr; gap:48px; }
  .focus-grid { grid-template-columns:1fr; }
  .value-list { grid-template-columns:repeat(2,1fr); }
  .value:nth-child(2) { border-right:0; }
  .value:nth-child(-n+2) { border-bottom:1px solid var(--light); }
  section { padding:82px 0; }
}
@media (max-width:580px) {
  .container { width:min(calc(100% - 28px),var(--max)); }
  .site-header { padding:20px 0; }
  .brand-name strong { font-size:.8rem; }
  .brand-name span { font-size:.5rem; }
  .hero-content { padding-top:140px; }
  .value-list { grid-template-columns:1fr; }
  .value { border-right:0; border-bottom:1px solid var(--light); }
  .value:last-child { border-bottom:0; }
  .person-panel,.contact-head { padding:30px; }
  .contact-row { grid-template-columns:1fr; gap:6px; padding:20px 30px; }
  .footer-inner { flex-direction:column; align-items:flex-start; }
}
