/* ====== Base ====== */
:root{
  --bg: #ffffff;
  --text: #1f2330;
  --muted: #666a77;
  --primary: #1A1A40;
  --accent: #FFD700;
  --card: #ffffff;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
  --radius: 18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background: var(--bg);
  color: var(--text);
  font-family: 'Open Sans', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.6;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--primary);
  line-height:1.2;
  margin:0 0 .6rem 0;
}
h1{font-size: clamp(28px, 4vw, 44px)}
h2{font-size: clamp(22px, 3vw, 32px)}
h3{font-size: clamp(20px, 2.6vw, 26px)}
h4{font-size: clamp(18px, 2.2vw, 22px)}

p{margin:.6rem 0;color:var(--text);text-align: justify}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:.5rem;padding:.9rem 1.2rem;border-radius:14px;border:1px solid transparent;
  font-weight:600;cursor:pointer;transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
  text-decoration:none; user-select:none;
  margin-top: 10%;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary);color:#fff; box-shadow: var(--shadow)}
.btn-primary:hover{box-shadow:0 12px 30px rgba(26,26,64,.25)}
.btn-ghost{background:#fff;border-color:#e9e9ef;color:var(--primary)}

/* ====== Header ====== */
.site-header{
  position:sticky;top:0;z-index:20;background:rgba(255,255,255,.8);backdrop-filter:saturate(180%) blur(10px);
  display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;margin-bottom:14px;border-bottom:1px solid rgba(0,0,0,.04);
}
.brand h1{margin:0}
.tagline{margin:2px 0 0 0;color:var(--muted);font-size:.98rem}
.head{margin-right: 6%}

/* ====== Hero ====== */
.hero .card{
  display:grid; grid-template-columns: 1.2fr .9fr; gap:28px;
  padding:28px; border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow);
}
.hero-text p{font-size:1.05rem;color:var(--muted)}
.hero-actions{display:flex;gap:12px;margin-top:14px}
.hero-media img{width:100%;height:100%;object-fit:cover;border-radius:14px}

/* ====== Sections ====== */
.section-alt{padding:60px 0; width: 90%;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.split.reverse{grid-template-columns:1fr 1fr}
.split.reverse > .text{order:2}
.split.reverse > .image-card{order:1}

.card{
  background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:22px;
}
.card.image-card{padding:14px}
.card.small{padding:3%}

.image-card img{width:100%;height:100%;object-fit:cover;border-radius:14px}

/* Checks */
.checks{list-style:none;margin:10px 0 0 0;padding:0;display:grid;gap:8px}
.checks li{display:flex;align-items:flex-start;gap:10px}
.checks .check{
  width:20px;height:20px;border-radius:50%;display:inline-block;flex:0 0 20px;
  position:relative;margin-top:3px;
}
.checks .check:after{
  content:''; position:absolute; left:4px; top:0px; width:8px; height:14px; border-right:3px solid var(--accent); border-bottom:3px solid var(--accent); transform:rotate(45deg);
}

/* Grid util */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}

/* Contact */
.contact-card{text-align:left}
.contact-card h3{margin-bottom:4px}
.contact-form{margin-top:10px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid .full{grid-column:1 / -1}
label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:var(--primary)}
input, textarea{
  width:100%;padding:14px 16px;border-radius:12px;border:1px solid #e4e6ef;background:#fff;
  font: inherit;color:var(--text);outline:none;transition:border .2s ease, box-shadow .2s ease;
}
input:focus, textarea:focus{border-color:#b4b8ff; box-shadow:0 0 0 4px rgba(26,26,64,.07)}

/* Footer */
.site-footer{margin-top:60px;background:var(--primary);color:#dfe1f6}
.footer-inner{display:flex;align-items:center;justify-content:space-between;padding:22px 0; -webkit-text-stroke-width: thin; text-align: center; font-size: small;}
.site-footer a{color:#dfe1f6;text-decoration:none;opacity:.9}
.site-footer a:hover{opacity:1}

/* ====== ScrollReveal helpers ====== */
.reveal{visibility:hidden}
.sr .reveal{visibility:visible}
/* hint classes */
.fade-up{} .slide-left{} .slide-right{}

/* ====== Canvas scintillant ====== */
#sparkCanvas{
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,215,0,.08) 0, rgba(255,215,0,0) 60%),
    radial-gradient(circle at 80% 30%, rgba(26,26,64,.05) 0, rgba(26,26,64,0) 55%),
    #fff;
}

/* ====== Responsive ====== */
@media (max-width: 980px){
  .hero .card{grid-template-columns:1fr; padding:20px}
  .split{grid-template-columns:1fr; gap:20px}
  .split.reverse > .text{order:1}
  .split.reverse > .image-card{order:2}
  .grid-2{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;gap:10px;text-align:center}
}
