
:root {
  --bg: #0b0c10;
  --bg-2: #171922;
  --panel: #1b1d27;
  --text: #e6e6ea;
  --muted: #a9abb4;
  --accent: #d8c796; /* champagne gold */
  --accent-2: #a8955a;
  --outline: rgba(216, 199, 150, 0.25);
  --shadow: 0 10px 30px rgba(0,0,0,.45);
  --radius: 18px;
  --radius-sm: 12px;
  --max: 1240px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(100% - 2rem, var(--max));margin-inline:auto}
header{position:sticky;top:0;z-index:30;backdrop-filter:blur(8px);background:linear-gradient(180deg, rgba(11,12,16,.85), rgba(11,12,16,.6) 40%, rgba(11,12,16,0));border-bottom:1px solid var(--outline)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0}
.brand{display:inline-flex;gap:.75rem;align-items:center}
.brand-name{font-family:"Playfair Display",serif;font-weight:700;letter-spacing:.4px;font-size:1.15rem}
.nav a.cta{padding:.65rem 1rem;border:1px solid var(--outline);border-radius:999px;transition:transform .25s ease,border-color .25s ease}
.nav a.cta:hover{transform:translateY(-1px);border-color:var(--accent)}

.hero{position:relative;overflow:clip}
.hero-wrap{padding:clamp(4rem,6vw,7rem) 0 clamp(3rem,5vw,5rem);display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1.5rem,3vw,3rem);align-items:center}
.hero h1{font-family:"Playfair Display",serif;font-weight:700;line-height:1.05;font-size:clamp(2rem,4.5vw,4rem);letter-spacing:.3px;margin:0 0 1rem}
.lead{color:var(--muted);font-size:clamp(1rem,1.15vw + .6rem,1.25rem)}
.hero-cta{display:flex;gap:.8rem;margin-top:1.5rem;flex-wrap:wrap}
.btn{padding:.9rem 1.15rem;border-radius:999px;border:1px solid var(--outline);background:linear-gradient(180deg,#1f212b,#141720);box-shadow:var(--shadow);font-weight:600;cursor:pointer}
.btn.primary{border-color:var(--accent-2);background:linear-gradient(180deg,#2a2c36,#141720)}
.btn:hover{transform:translateY(-2px);transition:transform .25s ease}

.glass{position:relative;border:1px solid var(--outline);border-radius:var(--radius);background:radial-gradient(120% 100% at 80% 0%, rgba(216,199,150,.08) 0%, rgba(216,199,150,0) 40%), linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));box-shadow:var(--shadow)}
.badge{display:inline-flex;gap:.5rem;align-items:center;border:1px solid var(--outline);padding:.35rem .6rem;border-radius:999px;font-size:.85rem;color:var(--muted)}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.2rem}
.stat{padding:1rem;border:1px solid var(--outline);border-radius:var(--radius-sm);text-align:center;background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0))}
.stat .n{font-family:"Playfair Display",serif;font-size:1.8rem;color:var(--accent);display:block}

.panel{background:linear-gradient(180deg,#0f1117,#0b0c10);border-top:1px solid var(--outline);border-bottom:1px solid var(--outline)}
.panels{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.card{padding:1.25rem;border:1px solid var(--outline);border-radius:var(--radius);background:linear-gradient(180deg,#171922,#12141b);min-height:190px}
.card h3{margin:.25rem 0 .35rem;font-size:1.1rem;letter-spacing:.3px}
.card p{color:var(--muted);margin:0;font-size:.95rem}

.section{padding:clamp(2.5rem,4vw,4rem) 0}
.section h2{font-family:"Playfair Display",serif;font-size:clamp(1.5rem,2.5vw,2.2rem);margin:0 0 .75rem;letter-spacing:.4px}
.section .sub{color:var(--muted);margin-bottom:1.25rem}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}

.list{display:grid;gap:.6rem}
.list li{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start}
.tick{width:20px;height:20px;border-radius:6px;border:1px solid var(--accent-2);display:grid;place-items:center}
.tick svg{width:14px;height:14px}

.case{padding:1rem;border:1px solid var(--outline);border-radius:var(--radius);background:linear-gradient(180deg,#161821,#10121a)}
.case small{color:var(--muted)}

.cta{text-align:center;padding:3rem 1rem;border:1px solid var(--outline);border-radius:var(--radius);background:radial-gradient(100% 100% at 50% 0, rgba(216,199,150,.07), rgba(216,199,150,0) 50%), linear-gradient(180deg,#151726,#10121a)}

footer{padding:2rem 0;color:var(--muted);font-size:.95rem}
footer .foot{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}

/* Accent divider */
.divider{height:1px;background:linear-gradient(90deg, transparent, var(--outline), transparent);margin:1.5rem 0}

/* Responsive */
@media (max-width: 900px){
  .hero-wrap{grid-template-columns:1fr}
  .panels,.grid-2,.grid-3,.stats{grid-template-columns:1fr}
}

/* Reveal on scroll */
[data-reveal]{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}

/* Subtle animated sheen */
.sheen{position:relative;overflow:hidden}
.sheen::after{content:"";position:absolute;inset:-200% -60%;background:linear-gradient(75deg, transparent 45%, rgba(255,255,255,.05) 50%, transparent 55%);transform:translateX(-100%);animation:sheen 10s linear infinite}
@keyframes sheen{to{transform:translateX(100%)}}

/* Variant visibility */
.variants{position:relative;border-radius:var(--radius);overflow:hidden;min-height:300px}
.variant{position:absolute;inset:0;opacity:0;transition:opacity .5s ease}
.variant.is-active{position:relative;opacity:1}
.variant-switch{display:flex;gap:.4rem;justify-content:flex-end;margin:.25rem .25rem .5rem}
.variant-switch .btn[aria-selected="true"]{border-color:var(--accent)}

/* Form inputs */
input,textarea{width:100%;padding:.8rem;border-radius:8px;background:#0f1117;color:var(--text);border:1px solid var(--outline)}
.form-actions{display:flex;gap:.6rem;align-items:center;margin-top:1rem}

/* Stronger hero visuals */
.glass.hero-visual{padding:0;  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));}
.glass.hero-visual object, .glass.hero-visual img{display:block; width:100%; height:auto; aspect-ratio: 16 / 9}

/* footer layout fixes */
footer .foot{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:.75rem;
  padding: .75rem 0;
  flex-wrap: wrap;
}
footer .foot-address{ text-align:center; padding-bottom: 1rem; }
footer .site-address{ display:block; margin:0 auto; color: var(--muted); font-style: normal; }

/* hero visual rounding fix */
.glass.hero-visual{
  border-radius: var(--radius);
  overflow: hidden; /* clip SVG corners */
}
.glass.hero-visual object,
.glass.hero-visual img{
  display:block;
  width:100%;
  height:auto;
  border-radius: var(--radius);
  max-height: 85vh;
  object-fit: contain;
}

/* contact form success */
.form-success { padding: 1.25rem; }
.form-success .success-title { margin: 0 0 .3rem; }
.form-success .small { font-size: .9rem; }

/* footer link fix */
footer .foot a.cta {
  display: inline;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 .75rem !important;
  font-size: 1rem !important;
  color: var(--text);
  text-decoration: none;
  box-shadow: none !important;
  border-radius: 0 !important;
}
footer .foot a.cta:hover {
  text-decoration: underline;
}

/* footer minimal links (final) */
footer .foot{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:1.25rem !important;
  flex-wrap:wrap !important;
}
footer .foot .footer-link{
  display:inline !important;
  background:none !important;
  border:none !important;
  padding:0 !important;
  margin:0 .25rem !important;
  border-radius:0 !important;
  box-shadow:none !important;
  min-width:auto !important;
  width:auto !important;
  height:auto !important;
  font-size:1rem !important;
  color:var(--text);
  text-decoration:none;
}
footer .foot .footer-link:hover{ text-decoration:underline; }
