/* Apice — modern static template (no framework) */

:root{
  --bg0:#070A12;
  --bg1:#0B1020;
  --surface:rgba(255,255,255,.06);
  --surface2:rgba(255,255,255,.10);
  --stroke:rgba(255,255,255,.14);
  --text:#EAF0FF;
  --muted:rgba(234,240,255,.72);
  --muted2:rgba(234,240,255,.55);
  --primary:#22D3EE; /* cyan */
  --primary2:#A78BFA; /* violet */
  --apiceYellow:#F7C948; /* brand accent */
  --good:#34D399;
  --shadow: 0 18px 60px rgba(0,0,0,.45);
  --shadow2: 0 10px 30px rgba(0,0,0,.35);
  --radius:18px;
  --radius2:28px;
  --container: 1160px;
  --focus: 0 0 0 4px rgba(247,201,72,.22);
}

/* subtle digital grid + scanline */
body::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  background:
    linear-gradient(to right, rgba(247,201,72,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(34,211,238,.05) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(60% 60% at 50% 20%, #000 35%, transparent 80%);
  opacity:.55;
  mix-blend-mode:screen;
}
body::after{
  content:"";
  position:fixed; left:-10%; right:-10%; top:-40%; height:180px;
  pointer-events:none;
  background: linear-gradient(180deg, transparent, rgba(247,201,72,.12), transparent);
  filter: blur(1px);
  opacity:.55;
  animation: scan 9s linear infinite;
}
@keyframes scan{0%{transform:translateY(-10vh)}100%{transform:translateY(120vh)}}


*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:
    radial-gradient(900px 500px at 20% 10%, rgba(34,211,238,.20), transparent 60%),
    radial-gradient(900px 500px at 70% 0%, rgba(167,139,250,.20), transparent 55%),
    radial-gradient(900px 700px at 50% 120%, rgba(34,211,238,.10), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  line-height:1.6;
  overflow-x:hidden;
}

img{max-width:100%; height:auto; display:block}

a{color:inherit}

.container{width:min(var(--container), calc(100% - 48px)); margin-inline:auto}

/* Typography */
.h-eyebrow{letter-spacing:.14em; text-transform:uppercase; font-weight:650; font-size:.78rem; color:var(--muted2)}
.h1{font-size:clamp(2.1rem, 4vw, 3.6rem); line-height:1.06; letter-spacing:-.02em; margin:0}
.h2{font-size:clamp(1.6rem, 2.6vw, 2.2rem); line-height:1.15; letter-spacing:-.01em; margin:0}
.h3{font-size:1.08rem; letter-spacing:-.01em; margin:.2rem 0}
.p-lead{font-size:1.08rem; color:var(--muted); margin:.9rem 0 0}
.p{color:var(--muted); margin:.6rem 0}
.kicker{color:var(--muted2)}

/* Surfaces */
.glass{
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  border:1px solid var(--stroke);
  border-radius:var(--radius2);
  box-shadow:var(--shadow);
  backdrop-filter: blur(14px);
}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05));
  border:1px solid var(--stroke);
  border-radius:var(--radius);
  box-shadow:var(--shadow2);
  position:relative;
  overflow:hidden;
  --mx: 50%;
  --my: 50%;
}

/* Interactive gradient that follows pointer */
.card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(240px 180px at var(--mx) var(--my), rgba(247,201,72,.18), rgba(34,211,238,.10) 35%, transparent 60%),
    radial-gradient(240px 180px at calc(var(--mx) + 18%) calc(var(--my) + 10%), rgba(167,139,250,.10), transparent 60%);
  opacity:0;
  transition: opacity .18s ease;
  pointer-events:none;
}
.card:hover::before, .card.is-active::before{opacity:1}

.card:hover, .card.is-active{border-color: rgba(247,201,72,.22)}


/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:.55rem;
  border-radius:999px;
  padding:.78rem 1.05rem;
  border:1px solid rgba(255,255,255,.16);
  text-decoration:none;
  font-weight:650;
  letter-spacing:-.01em;
  transition: transform .12s ease, background .15s ease, border-color .15s ease;
}
.btn:focus{outline:none; box-shadow:var(--focus)}
.btn:hover{transform: translateY(-1px)}
.btn:active{transform: translateY(0px)}
.btn-primary{
  background:linear-gradient(135deg, #FFE08A 0%, #F7C948 32%, #F0B429 100%);
  color:#0B1020;
  border-color:rgba(247,201,72,.35);
  box-shadow: 0 14px 40px rgba(247,201,72,.16);
}
.btn-primary:hover{
  background: rgba(11,16,32,.92);
  color: var(--apiceYellow);
  border-color: rgba(247,201,72,.55);
}
.btn-ghost{background:rgba(255,255,255,.05)}
.btn-ghost:hover{background:rgba(255,255,255,.08)}

.pill{
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.35rem .7rem;
  border-radius:999px;
  border:1px solid rgba(247,201,72,.22);
  background:linear-gradient(180deg, rgba(247,201,72,.10), rgba(255,255,255,.03));
  color:var(--muted);
  font-size:.92rem;
}

/* Header */
.site-header{
  position:sticky; top:0; z-index:50;
  border-bottom:1px solid rgba(247,201,72,.14);
  background: rgba(6,10,20,.58);
  backdrop-filter: blur(14px);
}
.navbar{display:flex; align-items:center; justify-content:space-between; padding:12px 0}
.brand{display:flex; align-items:center; gap:.7rem; text-decoration:none}
.brand img{
  height:62px;
  width:auto;
  max-width:220px;
  border-radius:0;
  object-fit:contain;
}
.brand .name{font-weight:850; letter-spacing:-.02em; font-size:1.05rem}
.brand .name span{color:var(--apiceYellow)}

.nav-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
  color:var(--text);
}
.nav-toggle:focus{outline:none; box-shadow:var(--focus)}

.nav-links{
  display:none;
  gap:18px;
  align-items:center;
}
.nav-links a{color:var(--muted); text-decoration:none; font-weight:650; font-size:.98rem}
.nav-links a:hover{color:var(--text)}
.nav-links a[aria-current="page"]{color:var(--text); position:relative}
.nav-links a[aria-current="page"]::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-10px;
  height:2px;
  background: linear-gradient(90deg, transparent, rgba(247,201,72,.9), transparent);
  border-radius:999px;
}

.nav-cta{display:none}

.mobile-menu{
  display:none;
  padding:14px 0 18px;
}
.mobile-menu.open{display:block}
.mobile-menu a{display:block; padding:10px 0; text-decoration:none; color:var(--muted); font-weight:650}
.mobile-menu a:hover{color:var(--text)}

@media (min-width: 900px){
  .nav-toggle{display:none}
  .nav-links{display:flex}
  .nav-cta{display:inline-flex}
  .mobile-menu{display:none !important}
}

/* Hero */
.hero{
  position:relative;
  padding: clamp(56px, 8vw, 104px) 0;
  min-height: min(92vh, 860px);
  display:flex;
  align-items:center;
}
.hero .container{position:relative; z-index:2}
#fxCanvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  pointer-events:none;
  opacity:.9;
}

/* Lion background (full top section) */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: url('../img/slide-desktop-1.jpg');
  background-repeat:no-repeat;
  background-position: center top;
  background-size: cover;
  opacity:.38;
  filter: saturate(1.05) contrast(1.08);
  pointer-events:none;
}
/* Soft overlays for readability */
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 520px at 18% 18%, rgba(247,201,72,.22), transparent 60%),
    radial-gradient(900px 520px at 78% 12%, rgba(34,211,238,.22), transparent 58%),
    linear-gradient(180deg, rgba(7,10,18,.82), rgba(11,16,32,.72));
  pointer-events:none;
}

.hero-grid{
  display:grid;
  gap:22px;
  grid-template-columns: 1fr;
  align-items:stretch;
}
.hero-copy{padding:26px}
.hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:18px}
.hero-highlights{display:flex; gap:10px; flex-wrap:wrap; margin-top:18px}

.hero-media{
  overflow:hidden;
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(600px 300px at 70% 20%, rgba(34,211,238,.22), transparent 60%),
    radial-gradient(600px 300px at 10% 80%, rgba(167,139,250,.18), transparent 60%),
    rgba(255,255,255,.04);
}
.hero-media img{width:100%; height:100%; object-fit:cover; opacity:.92; mix-blend-mode:screen}
.hero-media .overlay{
  position:absolute; inset:0;
}

@media (min-width: 980px){
  .hero-grid{grid-template-columns: 1.22fr .78fr; gap:20px}
  .hero-copy{padding:34px}
}

/* Sections */
.section{padding: clamp(34px, 6vw, 76px) 0}
.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px}
.section-head p{margin:0; color:var(--muted)}

.grid{display:grid; gap:14px}
.grid-3{grid-template-columns: 1fr}
.grid-2{grid-template-columns: 1fr}

@media(min-width: 760px){
  .grid-2{grid-template-columns: 1fr 1fr}
}
@media(min-width: 980px){
  .grid-3{grid-template-columns: repeat(3, 1fr)}
}

.feature{padding:18px}
.feature .icon{
  width:44px; height:44px; border-radius:14px;
  background:linear-gradient(135deg, rgba(247,201,72,.18), rgba(34,211,238,.18), rgba(167,139,250,.14));
  border:1px solid rgba(247,201,72,.18);
  display:grid; place-items:center;
  margin-bottom:12px;
  color: rgba(234,240,255,.92);
}
.feature .icon svg{width:22px; height:22px; display:block}

.feature ul{margin:10px 0 0 18px; color:var(--muted)}
.feature li{margin:.2rem 0}

.split{
  display:grid; gap:16px;
  grid-template-columns: 1fr;
}
@media(min-width: 980px){
  .split{grid-template-columns: 1fr 1fr; align-items:center}
}

.media-card{overflow:hidden}
.media-card img{aspect-ratio: 16/10; width:100%; object-fit:cover}
.media-card .inner{padding:18px}

.stats{display:grid; grid-template-columns: 1fr; gap:12px; margin-top:14px}
@media(min-width: 760px){.stats{grid-template-columns: repeat(3, 1fr)}}
.stat{padding:16px}
.stat .n{font-weight:900; font-size:1.55rem; letter-spacing:-.02em}
.stat .l{color:var(--muted2); font-size:.92rem; margin-top:6px}

/* Page header */
.page-hero{padding:44px 0 22px}
.breadcrumbs{color:var(--muted2); font-size:.92rem}
.breadcrumbs a{color:var(--muted2); text-decoration:none}
.breadcrumbs a:hover{color:var(--text)}

/* Gallery */
.gallery{display:grid; gap:12px}
.gallery-3{grid-template-columns: 1fr}
@media(min-width:760px){.gallery-3{grid-template-columns: repeat(3, 1fr)}}
.gimg{border-radius:16px; overflow:hidden; border:1px solid rgba(247,201,72,.18); background: rgba(255,255,255,.03)}
.gimg img{width:100%; height:100%; aspect-ratio: 4/3; object-fit:cover; transition: transform .25s ease, filter .25s ease; filter:saturate(1.02) contrast(1.02)}
.gimg:hover img{transform: scale(1.02)}

/* FAQ */
.faq{padding:14px 16px}
.faq summary{cursor:pointer; font-weight:750}
.faq summary:focus{outline:none; box-shadow:var(--focus)}
.faq p{margin:10px 0 0; color:var(--muted)}

/* Forms */
.form{display:grid; gap:12px}
.form .row{display:grid; gap:12px}
@media(min-width:760px){.form .row{grid-template-columns:1fr 1fr}}
.field{display:grid; gap:6px}
.label{font-size:.92rem; color:var(--muted2); font-weight:650}
.input, .textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(247,201,72,.22);
  background: var(--surface);
  color: var(--text);
  outline:none;
}

/* Make native selects readable in both dark/light (dropdown UI) */
select.input{color-scheme: light dark}
select.input option{background: #0B1020; color: #EAF0FF}
select.input optgroup{background: #0B1020; color: #EAF0FF}
.textarea{min-height:120px; resize:vertical}
.input:focus, .textarea:focus{box-shadow:var(--focus); border-color: rgba(247,201,72,.55)}
.check{display:flex; gap:10px; align-items:flex-start; color:var(--muted)}
.check input{margin-top:4px}
.form-note{color:var(--muted2); font-size:.92rem}
.toast{display:none; margin-top:10px; padding:10px 12px; border-radius:14px; border:1px solid rgba(247,201,72,.30); background: rgba(247,201,72,.10); color: var(--text)}
.toast.is-on{display:block}

/* Footer */
.site-footer{border-top:1px solid rgba(255,255,255,.10); padding:28px 0 38px; color:var(--muted)}
.footer-grid{display:grid; gap:16px}
@media(min-width: 980px){.footer-grid{grid-template-columns: 1.2fr .8fr .8fr}}
.footer a{color:var(--muted); text-decoration:none}
.footer a:hover{color:var(--text)}
.small{font-size:.92rem; color:var(--muted2)}

/* Utilities */
.mt-10{margin-top:10px}
.mt-14{margin-top:14px}
.mt-18{margin-top:18px}
.mt-22{margin-top:22px}

.visually-hidden{
  position:absolute !important; height:1px; width:1px;
  overflow:hidden; clip:rect(1px,1px,1px,1px);
  white-space:nowrap;
}

/* Digital word reveal */
[data-reveal="words"]{display:block}
.reveal-words{display:inline;}
.reveal-words .w{
  display:inline-block;
  opacity:0;
  transform: translateY(8px);
  filter: blur(8px);
  transition: opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1), filter .55s ease;
}
.reveal-words.is-on .w{opacity:1; transform:none; filter: blur(0)}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .btn{transition:none}
  body::after{animation:none}
  .reveal-words .w{transition:none; opacity:1; transform:none; filter:none}
}

/* ============================= */
/* ✅ MOBILE UX PREMIUM UPGRADE */
/* ============================= */

@media (max-width: 768px) {

  body {
    font-size: 18px;
    line-height: 1.65;
  }

  p,
  .p {
    font-size: 18px;
  }

  .h1 {
    font-size: 30px;
    line-height: 1.25;
  }

  .h2 {
    font-size: 24px;
  }

  .h3 {
    font-size: 20px;
  }

  .nav-links a {
    font-size: 18px;
  }

  .nav-toggle {
    font-size: 30px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .btn {
    font-size: 17px;
    padding: 14px 20px;
  }

  .section {
    padding-top: 60px;
    padding-bottom: 60px;
  }

}
