:root{
  --ink:#0b1220;
  --paper:#0f172a;
  --muted:#c7cfdd;
  --soft:#1a2542;
  --brand:#D24B3A;
  --brand2:#3aa6d2;
  --card:#0d162b;
  --line:rgba(255,255,255,.12);
  --shadow:0 20px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:
    radial-gradient(1200px 700px at 12% 12%, rgba(58,166,210,.18), transparent 55%),
    radial-gradient(900px 600px at 88% 18%, rgba(210,75,58,.18), transparent 55%),
    linear-gradient(180deg, #070b14 0%, #0b1220 55%, #070b14 100%);
  color:#eaf0ff;
  font-family:Inter, "Source Sans 3", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:#eaf0ff;text-decoration-color:rgba(234,240,255,.35)}
a:hover{color:#fff;text-decoration-color:rgba(255,255,255,.7)}
.skip-link{
  position:absolute;
  left:-999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:1rem;
  top:1rem;
  width:auto;
  height:auto;
  padding:.65rem .85rem;
  border-radius:.75rem;
  background:#111a31;
  border:1px solid var(--line);
  z-index:9999;
}
.site-header{
  position:sticky;
  top:0;
  z-index:1030;
  backdrop-filter:saturate(120%) blur(14px);
  background:rgba(7,11,20,.72);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.navbar{padding:.9rem 0}
.brand-name{
  font-family:Space Grotesk, Inter, system-ui;
  font-weight:600;
  letter-spacing:.2px;
}
.brand-mark{
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.35));
  border-radius:.4rem;
}
.btn-soft{
  background:linear-gradient(135deg, rgba(210,75,58,.20), rgba(58,166,210,.14));
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  border-radius:999px;
  padding:.55rem .95rem;
}
.btn-soft:hover{border-color:rgba(255,255,255,.28)}
.nav-divider{
  height:1px;
  background:rgba(255,255,255,.12);
  margin:1rem 0;
}
.contact-mini__label{font-family:Space Grotesk, Inter, system-ui;font-weight:600}
.contact-mini__value{display:inline-block;margin-top:.25rem}
.contact-mini__hint{color:rgba(255,255,255,.65);font-size:.92rem;margin-top:.25rem}
.page-loader{
  position:fixed;
  inset:0;
  z-index:2000;
  background:rgba(7,11,20,.86);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:opacity .18s ease, visibility .18s ease;
}
.page-loader.is-hidden{opacity:0;visibility:hidden}
.page-loader__inner{display:flex;gap:.55rem;align-items:center}
.page-loader__dot{
  width:.7rem;
  height:.7rem;
  border-radius:50%;
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.35));
  animation:dot 1.1s infinite ease-in-out;
}
.page-loader__dot:nth-child(2){animation-delay:.15s}
.page-loader__dot:nth-child(3){animation-delay:.3s}
@keyframes dot{
  0%,100%{transform:translateY(0);opacity:.55}
  50%{transform:translateY(-10px);opacity:1}
}
.section{
  padding:3.2rem 0;
}
.hero{
  position:relative;
  padding:3.6rem 0 2.6rem;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    linear-gradient(180deg, rgba(7,11,20,.55) 0%, rgba(7,11,20,.92) 70%),
    var(--hero-url);
  background-size:cover;
  background-position:center;
  filter:saturate(105%);
  transform:scale(1.02);
}
.hero > .container{position:relative}
.hero-card{
  max-width:820px;
  background:linear-gradient(135deg, rgba(26,37,66,.86), rgba(13,22,43,.72));
  border:1px solid rgba(255,255,255,.12);
  border-radius:1.4rem;
  box-shadow:var(--shadow);
  padding:1.4rem 1.4rem 1.2rem;
}
.hero-kicker{
  font-family:Space Grotesk, Inter, system-ui;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.82rem;
  color:rgba(255,255,255,.72);
}
.hero-title{
  margin:.65rem 0 .4rem;
  font-family:Fraunces, serif;
  font-weight:700;
  letter-spacing:.2px;
  font-size:clamp(2rem, 4vw, 3rem);
}
.hero-lede{
  color:rgba(234,240,255,.82);
  font-size:1.06rem;
  line-height:1.55;
  margin:0 0 1.1rem;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.btn-primaryish{
  background:linear-gradient(135deg, rgba(210,75,58,.98), rgba(210,75,58,.72));
  border:0;
  color:#fff;
  border-radius:1rem;
  padding:.75rem 1rem;
  font-weight:600;
}
.btn-secondaryish{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  border-radius:1rem;
  padding:.75rem 1rem;
  font-weight:600;
}
.layout-stack{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:1.25rem;
  align-items:start;
}
@media (max-width: 991px){
  .layout-stack{grid-template-columns:1fr}
}
.cardish{
  background:linear-gradient(135deg, rgba(13,22,43,.88), rgba(11,18,32,.86));
  border:1px solid rgba(255,255,255,.12);
  border-radius:1.25rem;
  box-shadow:0 18px 44px rgba(0,0,0,.28);
  overflow:hidden;
}
.cardish__pad{padding:1.25rem}
.cardish__title{
  font-family:Fraunces, serif;
  font-weight:600;
  font-size:1.35rem;
  margin:0 0 .5rem;
}
.muted{color:rgba(234,240,255,.75)}
.pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.4rem .65rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.82);
  font-size:.92rem;
}
.img-cover{
  width:100%;
  height:240px;
  object-fit:cover;
  display:block;
}
.img-cover.tall{height:320px}
.list-check{
  padding-left:1.2rem;
  margin:0;
}
.list-check li{margin:.35rem 0}
.callout{
  border-left:3px solid rgba(58,166,210,.65);
  background:rgba(58,166,210,.08);
  padding:1rem 1rem 1rem 1.05rem;
  border-radius:1rem;
  border:1px solid rgba(255,255,255,.10);
}
.cookie-banner{
  position:fixed;
  left:1rem;
  right:1rem;
  bottom:1rem;
  z-index:3000;
  max-width:980px;
  margin:0 auto;
  background:linear-gradient(135deg, rgba(13,22,43,.94), rgba(11,18,32,.94));
  border:1px solid rgba(255,255,255,.14);
  border-radius:1.25rem;
  box-shadow:var(--shadow);
  padding:1rem 1rem .9rem;
}
.cookie-banner__grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:.9rem;
  align-items:center;
}
@media (max-width: 767px){
  .cookie-banner{left:.75rem;right:.75rem}
  .cookie-banner__grid{grid-template-columns:1fr}
}
.cookie-banner__title{font-family:Space Grotesk, Inter, system-ui;font-weight:600;margin:0 0 .25rem}
.cookie-banner__text{margin:0;color:rgba(234,240,255,.80);font-size:.98rem;line-height:1.45}
.cookie-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
@media (max-width: 767px){.cookie-actions{justify-content:flex-start}}
.btn-cookie{
  border-radius:999px;
  padding:.6rem .9rem;
  font-weight:600;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:#fff;
}
.btn-cookie.is-accept{background:linear-gradient(135deg, rgba(210,75,58,.95), rgba(210,75,58,.70));border-color:transparent}
.site-footer{
  border-top:1px solid rgba(255,255,255,.10);
  background:rgba(7,11,20,.65);
  padding:2.5rem 0 1.6rem;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.3fr .9fr .9fr .9fr;
  gap:1.25rem;
}
@media (max-width: 991px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 575px){
  .footer-grid{grid-template-columns:1fr}
}
.footer-brand{font-family:Fraunces, serif;font-size:1.25rem;font-weight:700}
.footer-text{color:rgba(234,240,255,.75);margin:.4rem 0 .6rem;max-width:34ch}
.footer-meta{color:rgba(234,240,255,.60);font-size:.92rem}
.footer-title{font-family:Space Grotesk, Inter, system-ui;font-weight:600;margin:0 0 .55rem}
.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}
.footer-links a{color:rgba(234,240,255,.78)}
.footer-links a:hover{color:#fff}
.footer-bottom{
  margin-top:1.7rem;
  padding-top:1.1rem;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  flex-wrap:wrap;
  gap:.6rem 1rem;
  justify-content:space-between;
  color:rgba(234,240,255,.62);
  font-size:.92rem;
}
.footer-bottom__right{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.sep{opacity:.55}
.contact-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1rem;
}
@media (max-width: 991px){.contact-cards{grid-template-columns:1fr}}
.contact-card{
  background:linear-gradient(135deg, rgba(13,22,43,.90), rgba(11,18,32,.86));
  border:1px solid rgba(255,255,255,.12);
  border-radius:1.25rem;
  padding:1.25rem 1.2rem;
  box-shadow:0 16px 40px rgba(0,0,0,.28);
  text-align:center;
}
.contact-card__icon{
  width:54px;height:54px;border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto .8rem;
}
.contact-card__icon img{width:28px;height:28px;display:block}
.contact-card__title{font-family:Fraunces, serif;font-weight:600;margin:0 0 .35rem}
.contact-card__text{color:rgba(234,240,255,.72);margin:0 0 .6rem;font-size:.96rem;line-height:1.45}
.contact-card__email{font-weight:600}
