
:root{
  --bg:#0A1A2F;
  --bg-2:#102440;
  --panel:rgba(255,255,255,.06);
  --panel-2:rgba(255,255,255,.09);
  --line:rgba(255,255,255,.12);
  --line-strong:rgba(198,169,107,.35);
  --text:#F5F2EB;
  --muted:rgba(245,242,235,.78);
  --soft:rgba(245,242,235,.60);
  --gold:#C6A96B;
  --shadow:0 18px 44px rgba(0,0,0,.28);
  --radius:24px;
  --radius-sm:16px;
  --container:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Cormorant Garamond", Georgia, serif;
  background:
    radial-gradient(circle at top left, rgba(198,169,107,.14), transparent 30%),
    radial-gradient(circle at 85% 12%, rgba(198,169,107,.10), transparent 24%),
    linear-gradient(180deg, #0A1A2F 0%, #0C2038 100%);
  color:var(--text);
  line-height:1.6;
  min-height:100vh;
}
body::before{
  content:"";
  position:fixed; inset:0;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,.65), transparent 85%);
  pointer-events:none;
  z-index:-1;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--text); text-decoration:none}
a:hover{color:#fff}
p{margin:0 0 1rem}
ul,ol{margin:0 0 1rem; padding-left:1.2rem}
li{margin:.35rem 0}
h1,h2,h3,h4{
  margin:0 0 1rem;
  line-height:1.1;
  font-family:"Belleza", "Helvetica Neue", Arial, sans-serif;
  font-weight:400;
  letter-spacing:.01em;
}
h1{font-size:clamp(2.8rem, 6vw, 5.6rem)}
h2{font-size:clamp(2rem, 4vw, 3.2rem)}
h3{font-size:clamp(1.25rem, 2vw, 1.7rem)}
.container{width:min(var(--container), calc(100% - 2rem)); margin:0 auto}
.skip-link{
  position:absolute; left:-999px; top:0; z-index:9999;
  background:#fff; color:#000; padding:.75rem 1rem; border-radius:0 0 10px 0;
}
.skip-link:focus{left:0}
.site-header{
  position:sticky; top:0; z-index:100;
  backdrop-filter:blur(14px);
  background:rgba(10,26,47,.72);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-header.is-scrolled{background:rgba(8,18,32,.90)}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  min-height:88px; gap:1rem;
}
.brand{display:flex; align-items:center; gap:.9rem; min-width:0}
.brand-logo{
  width:58px; height:58px; object-fit:contain;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.2));
}
.brand-text{display:flex; flex-direction:column; line-height:1.1}
.brand-name{
  font-family:"Belleza", Arial, sans-serif;
  font-size:1.2rem; letter-spacing:.04em; text-transform:uppercase;
}
.brand-sub{
  font-size:.96rem; color:var(--muted);
}
.desktop-nav{display:flex; align-items:center; gap:1.4rem}
.nav-link{
  display:inline-flex; align-items:center; min-height:88px;
  font-size:1.05rem; color:var(--muted);
  position:relative;
}
.nav-link::after{
  content:""; position:absolute; left:0; right:0; bottom:24px;
  height:1px; background:var(--gold); transform:scaleX(0); transform-origin:center;
  transition:transform .24s ease;
}
.nav-link:hover,.nav-link.active{color:#fff}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.nav-group{position:relative}
.dropdown{
  position:absolute; top:calc(100% - 12px); left:-1rem;
  min-width:260px; padding:.75rem;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(9,20,36,.96);
  box-shadow:var(--shadow);
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:all .22s ease;
}
.nav-group:hover .dropdown,.nav-group:focus-within .dropdown{
  opacity:1; visibility:visible; transform:translateY(0);
}
.dropdown a{
  display:block; padding:.7rem .85rem; border-radius:12px; color:var(--muted);
}
.dropdown a:hover{background:rgba(255,255,255,.06); color:#fff}
.menu-toggle{
  display:none; width:48px; height:48px;
  background:transparent; border:1px solid var(--line); border-radius:14px;
  align-items:center; justify-content:center; gap:5px; flex-direction:column; color:#fff;
}
.menu-toggle span:not(.sr-only){
  display:block; width:20px; height:2px; background:#fff;
}
.mobile-nav{
  display:none; border-top:1px solid var(--line);
  background:rgba(9,20,36,.97);
}
.mobile-nav-inner{display:grid; gap:.75rem; padding:1rem 0 1.25rem}
.mobile-nav a, .mobile-nav summary{
  display:block; padding:.7rem 0; cursor:pointer; color:var(--muted);
}
.mobile-nav details{border-top:1px solid rgba(255,255,255,.06)}
.mobile-subnav{
  display:grid; gap:.2rem; padding:.25rem 0 .5rem .75rem
}
.mobile-contact{
  display:grid; gap:.35rem; border-top:1px solid rgba(255,255,255,.06); padding-top:1rem;
}
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); border:0;
}
.hero{
  position:relative; overflow:hidden; isolation:isolate;
  min-height:clamp(480px, 78vh, 760px);
  display:flex; align-items:end;
}
.hero.has-image .hero-media{
  position:absolute; inset:0; background-size:cover; background-position:center;
  transform:scale(1.02);
}
.hero::after{
  content:""; position:absolute; inset:auto -10% -16% auto; width:44vw; height:44vw;
  background:radial-gradient(circle, rgba(198,169,107,.24), transparent 58%);
  pointer-events:none; z-index:0;
}
.hero-inner{
  position:relative; z-index:1;
  display:grid; grid-template-columns:minmax(0, 1.35fr) minmax(280px, .65fr);
  gap:2rem; padding:7.5rem 0 4rem;
  align-items:end;
}
.hero-copy{max-width:820px}
.hero .eyebrow{margin-bottom:1rem}
.hero-sub{
  font-size:clamp(1.22rem, 2vw, 1.55rem);
  color:var(--muted); max-width:60ch;
}
.hero-ctas{display:flex; flex-wrap:wrap; gap:.9rem; margin-top:1.7rem}
.hero-panel{
  justify-self:end; width:min(360px, 100%);
  padding:1.35rem 1.35rem 1.1rem;
  border:1px solid rgba(198,169,107,.22);
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.05));
  border-radius:24px; box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
}
.hero-panel h3{font-size:1.1rem; margin-bottom:.8rem}
.hero-panel p{color:var(--muted)}
.hero-panel .stat-grid{margin-top:1rem}
.breadcrumbs{
  display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1rem;
  color:var(--soft); font-size:.98rem;
}
.breadcrumbs a{color:var(--soft)}
.breadcrumbs span:last-child{color:var(--text)}
.eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:"Belleza", Arial, sans-serif;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold); font-size:.82rem;
}
.eyebrow::before{
  content:""; width:34px; height:1px; background:var(--gold); opacity:.75;
}
.button{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:.8rem 1.15rem;
  border-radius:999px; border:1px solid var(--gold);
  background:linear-gradient(180deg, rgba(198,169,107,.24), rgba(198,169,107,.18));
  color:#fff; font-family:"Belleza", Arial, sans-serif;
  letter-spacing:.03em;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.button:hover{transform:translateY(-1px); background:linear-gradient(180deg, rgba(198,169,107,.32), rgba(198,169,107,.22))}
.button.secondary{
  background:transparent; border-color:var(--line); color:var(--text);
}
.button.secondary:hover{background:rgba(255,255,255,.06)}
.section{padding:5rem 0}
.section.tight{padding:3rem 0}
.section.alt{background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)); border-block:1px solid rgba(255,255,255,.06)}
.section-header{
  display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.7rem;
}
.section-header p{max-width:62ch; color:var(--muted)}
.lead{
  font-size:1.18rem;
  color:var(--muted);
}
.section-panel{
  border:1px solid var(--line); border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  padding:1.5rem; box-shadow:var(--shadow);
}
.copy-grid{
  display:grid; gap:1.25rem; grid-template-columns:repeat(2,minmax(0,1fr));
}
.feature-grid,.card-grid,.proof-grid,.gallery-grid,.sector-grid,.contact-grid,.value-grid{
  display:grid; gap:1.2rem;
}
.card-grid{grid-template-columns:repeat(3, minmax(0,1fr))}
.feature-grid{grid-template-columns:repeat(4, minmax(0,1fr))}
.proof-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.sector-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.value-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.card,.proof-card,.media-card,.stat-card,.sector-card,.contact-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.card:hover,.proof-card:hover,.media-card:hover,.stat-card:hover,.sector-card:hover,.contact-card:hover{
  border-color:var(--line-strong);
  transform:translateY(-3px);
  transition:transform .18s ease, border-color .18s ease;
}
.card-image,.proof-image{
  aspect-ratio:16/10; background-size:cover; background-position:center;
}
.card-body,.proof-body{padding:1.25rem 1.25rem 1.35rem}
.card-body p,.proof-body p,.contact-card p{color:var(--muted)}
.card-body .eyebrow{margin-bottom:.6rem}
.text-link{
  display:inline-flex; align-items:center; gap:.35rem;
  color:#fff; font-family:"Belleza", Arial, sans-serif; letter-spacing:.03em;
}
.text-link::after{content:"→"; transition:transform .18s ease}
.text-link:hover::after{transform:translateX(3px)}
.microcopy{font-size:.92rem; color:var(--soft)}
.pill,.tag{
  display:inline-flex; align-items:center;
  min-height:30px; padding:.2rem .65rem;
  border:1px solid rgba(198,169,107,.35);
  border-radius:999px; color:var(--gold);
  font-size:.8rem; font-family:"Belleza", Arial, sans-serif;
  letter-spacing:.06em; text-transform:uppercase;
}
.tag-list{display:flex; flex-wrap:wrap; gap:.5rem}
.stat-grid{
  display:grid; gap:.9rem; grid-template-columns:repeat(3, minmax(0,1fr));
}
.stat-card{
  padding:1rem 1.05rem;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
}
.stat-card strong{
  display:block; font-family:"Belleza", Arial, sans-serif; font-size:1.15rem;
}
.stat-label{
  display:block; margin-bottom:.35rem; color:var(--soft);
  font-size:.86rem; text-transform:uppercase; letter-spacing:.08em;
}
.metric-row{
  display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr));
}
.metric-item{
  padding:1rem 1rem 1.1rem; border:1px solid var(--line); border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}
.metric-item strong{
  display:block; font-family:"Belleza", Arial, sans-serif; font-size:1.8rem; margin-bottom:.35rem;
}
.metric-item span{color:var(--muted)}
.quote-panel{
  position:relative;
  padding:1.5rem 1.55rem 1.45rem 1.85rem;
  border-left:2px solid var(--gold);
  border-radius:0 18px 18px 0;
  background:rgba(255,255,255,.04);
}
.quote-panel p:last-child{margin-bottom:0}
.split{
  display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr); gap:1.6rem; align-items:start;
}
.split.reverse{grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr)}
.visual-panel{
  border-radius:var(--radius);
  overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow);
  min-height:100%;
}
.visual-panel .image-fill{
  min-height:420px; background-size:cover; background-position:center;
}
.check-list{
  list-style:none; padding:0; margin:0;
}
.check-list li{
  position:relative; padding-left:1.5rem; color:var(--muted); margin:.7rem 0;
}
.check-list li::before{
  content:""; width:8px; height:8px; border-radius:50%;
  background:var(--gold); position:absolute; left:0; top:.62rem;
  box-shadow:0 0 0 5px rgba(198,169,107,.14);
}
.mini-stats{
  list-style:none; padding:0; margin:1rem 0 1.1rem;
  display:grid; gap:.5rem;
}
.mini-stats li{
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  padding:.55rem .8rem; border:1px solid rgba(255,255,255,.08); border-radius:14px;
  color:var(--muted);
}
.mini-stats strong{font-family:"Belleza", Arial, sans-serif; color:#fff; font-weight:400}
.data-list{
  display:grid; gap:.8rem;
}
.data-list .item{
  display:flex; align-items:flex-start; gap:.8rem;
  padding:.9rem 1rem; border-radius:18px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
}
.data-list .item strong{font-family:"Belleza", Arial, sans-serif; display:block; margin-bottom:.1rem}
.gallery-item{
  overflow:hidden; border-radius:22px; border:1px solid var(--line);
  background:rgba(255,255,255,.05); box-shadow:var(--shadow);
}
.gallery-item img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
}
.gallery-item figcaption{
  padding:.8rem .95rem 1rem; color:var(--muted); font-size:.96rem;
}
.related-links{
  display:flex; flex-wrap:wrap; gap:.75rem;
}
.related-links a{
  display:inline-flex; align-items:center; min-height:42px;
  padding:.55rem .85rem; border-radius:999px;
  border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.03);
  color:var(--text);
}
.related-links a:hover{border-color:var(--gold); background:rgba(255,255,255,.06)}
.insight-grid{display:grid; gap:1.1rem; grid-template-columns:repeat(3,minmax(0,1fr))}
.insight-card{
  border:1px solid var(--line); border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  padding:1.2rem 1.2rem 1.25rem;
  box-shadow:var(--shadow);
}
.insight-card h3{font-size:1.25rem}
.insight-card p{color:var(--muted)}
.insight-card .insight-meta{
  display:flex; flex-wrap:wrap; gap:.65rem; margin-bottom:.75rem;
}
.insight-card .tag{font-size:.72rem}

.insight-cover{
  margin:-1.2rem -1.2rem 1rem;
  aspect-ratio:16/9;
  background-size:cover; background-position:center;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.footer-insights{
  display:grid; gap:.6rem;
}
.footer-insights a{
  display:block; padding:.65rem .8rem; border-radius:14px;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);
  color:var(--muted);
}
.footer-insights a:hover{color:#fff; border-color:var(--gold)}
.insights-toolbar{
  display:grid; gap:1rem; grid-template-columns:minmax(0,1fr) auto; align-items:center; margin-bottom:1.3rem;
}
.search-field input{
  width:100%; min-height:48px; border-radius:999px; border:1px solid var(--line);
  background:rgba(255,255,255,.04); color:#fff; padding:0 1rem;
  font:inherit;
}
.filter-row{
  display:flex; flex-wrap:wrap; gap:.55rem;
}
.filter-chip{
  min-height:38px; padding:.5rem .8rem; border-radius:999px; border:1px solid var(--line);
  background:rgba(255,255,255,.03); color:var(--muted); cursor:pointer;
  font-family:"Belleza", Arial, sans-serif;
}
.filter-chip.is-active,.filter-chip:hover{border-color:var(--gold); color:#fff}
.empty-state{
  padding:2rem; border-radius:22px; border:1px dashed rgba(255,255,255,.16);
  color:var(--muted);
}
.cta-banner{
  display:flex; gap:1.5rem; justify-content:space-between; align-items:center;
  padding:1.7rem 1.8rem;
  border-radius:28px; border:1px solid rgba(198,169,107,.28);
  background:
    radial-gradient(circle at top right, rgba(198,169,107,.16), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  box-shadow:var(--shadow);
}
.cta-banner p{max-width:62ch; color:var(--muted)}
.cta-actions{display:flex; flex-wrap:wrap; gap:.8rem}
.form-card{
  border:1px solid var(--line); border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:var(--shadow);
  padding:1.4rem;
}
.form-grid{
  display:grid; gap:1rem; grid-template-columns:repeat(2, minmax(0,1fr));
}
.form-grid.compact{grid-template-columns:repeat(2, minmax(0,1fr))}
.field{display:grid; gap:.45rem}
.field span{
  font-family:"Belleza", Arial, sans-serif; font-size:.92rem; letter-spacing:.04em;
  color:var(--soft);
}
.field input,.field select,.field textarea{
  width:100%; border-radius:16px; border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04); color:#fff; padding:.9rem 1rem; font:inherit;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(245,242,235,.45)}
.field textarea{resize:vertical}
.field-full{grid-column:1/-1}
.form-actions{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem;
  padding-top:1rem;
}
.contact-card{
  padding:1.2rem 1.2rem 1.25rem
}
.contact-card h3{margin-bottom:.5rem}
.map-panel{
  border:1px solid var(--line); border-radius:var(--radius);
  min-height:340px; background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02)),
    radial-gradient(circle at 75% 25%, rgba(198,169,107,.16), transparent 32%);
  display:grid; place-items:center; text-align:center; padding:2rem;
  box-shadow:var(--shadow);
}
.map-panel .map-copy{max-width:32rem}
.site-footer{
  margin-top:5rem; border-top:1px solid rgba(255,255,255,.08);
  background:rgba(7,17,30,.72);
}
.footer-grid{
  display:grid; gap:1.5rem; grid-template-columns:1.3fr .7fr 1fr .8fr; padding:3rem 0 2rem;
}
.footer-brand{display:flex; gap:.85rem; align-items:flex-start; margin-bottom:1rem}
.footer-brand img{width:62px; height:62px; object-fit:contain}
.footer-copy{color:var(--muted)}
.footer-contact{list-style:none; padding:0; margin:1rem 0 0; display:grid; gap:.45rem}
.footer-contact li{color:var(--muted)}
.footer-contact a{color:var(--text)}
.footer-links{display:grid; gap:.55rem}
.footer-links a{color:var(--muted)}
.footer-links a:hover{color:#fff}
.footer-bottom{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem;
  padding:1rem 0 1.4rem; border-top:1px solid rgba(255,255,255,.08);
  color:var(--soft); font-size:.95rem;
}
.footer-note{max-width:46ch}
.page-nav{
  display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1rem;
}
.sector-card,.value-card{
  padding:1.2rem 1.2rem 1.25rem;
}
.sector-card h3,.value-card h3{margin-bottom:.45rem}
.sector-card p,.value-card p{color:var(--muted)}
.logo-line{
  display:flex; flex-wrap:wrap; gap:.75rem; align-items:center;
}
.logo-line .tag{background:rgba(255,255,255,.03)}
.reveal{opacity:0; transform:translateY(18px); transition:opacity .45s ease, transform .45s ease}
.reveal.is-visible{opacity:1; transform:none}
.table-wrap{overflow:auto}
table.clean-table{
  width:100%; border-collapse:collapse;
  border-radius:20px; overflow:hidden; border:1px solid var(--line);
  background:rgba(255,255,255,.04)
}
.clean-table th,.clean-table td{
  padding:.95rem 1rem; border-bottom:1px solid rgba(255,255,255,.08); text-align:left;
}
.clean-table th{
  font-family:"Belleza", Arial, sans-serif; color:var(--soft); font-weight:400; letter-spacing:.05em;
}
.clean-table tr:last-child td{border-bottom:0}
@media (max-width: 1080px){
  .desktop-nav{display:none}
  .menu-toggle{display:flex}
  .mobile-nav.open{display:block}
  .hero-inner,.split,.split.reverse,.footer-grid,.contact-grid{
    grid-template-columns:1fr;
  }
  .hero-panel{justify-self:start}
  .card-grid,.feature-grid,.proof-grid,.gallery-grid,.sector-grid,.value-grid,.insight-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 760px){
  .container{width:min(var(--container), calc(100% - 1.25rem))}
  .hero{min-height:unset}
  .hero-inner{padding:6.25rem 0 3rem}
  .section{padding:4rem 0}
  .card-grid,.feature-grid,.proof-grid,.gallery-grid,.sector-grid,.value-grid,.insight-grid,.stat-grid,.form-grid,.metric-row{
    grid-template-columns:1fr;
  }
  .section-header,.cta-banner,.form-actions{
    display:block;
  }
  .cta-actions,.hero-ctas{margin-top:1rem}
  .brand-logo{width:50px; height:50px}
  .brand-name{font-size:1.08rem}
  .header-inner{min-height:80px}
  .nav-link{min-height:80px}
}
