* { box-sizing: border-box; }
body { margin: 0; font-family: 'Inter', sans-serif; background: #fff; color: #111; }
h1,h2,h3,h4 { font-family: 'Sora', sans-serif; }
.brand { color: #C62828; }
.bg-brand { background-color: #C62828; }
html { scroll-behavior: smooth; }

/* Animations */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pulse-dot {
  0%,100% { opacity: 1; } 50% { opacity: .4; }
}
.fade-up { animation: fadeUp .7s ease both; }
.fade-up-1 { animation-delay: .1s; }
.fade-up-2 { animation-delay: .25s; }
.fade-up-3 { animation-delay: .4s; }
.fade-up-4 { animation-delay: .55s; }

/* Nav */
.nav-link { position: relative; }
.nav-link::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:2px; background:#C62828; transition:width .3s; }
.nav-link:hover::after { width:100%; }
.nav-link.active::after { width:100%; }

.nav-dropdown { position: relative; cursor: pointer; outline: none; }
.nav-dropdown-trigger::after { content:'▾'; font-size:9px; margin-left:5px; opacity:.6; }
.nav-dropdown-menu {
  position: absolute; top: calc(100% + 14px); left: 50%; transform: translate(-50%,-6px);
  background: #fff; border: 1px solid #f0f0f0; border-radius: 10px;
  box-shadow: 0 14px 32px rgba(0,0,0,.12); padding: 6px; min-width: 210px;
  opacity: 0; pointer-events: none; transition: opacity .16s ease, transform .16s ease;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown:focus .nav-dropdown-menu {
  opacity: 1; transform: translate(-50%,0); pointer-events: auto;
}
.nav-dropdown-menu a:hover { background: #faf2f1; }

/* Cards */
.service-card:hover { border-color: #C62828; transform: translateY(-4px); }
.pkg-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(198,40,40,.12); }
.pkg-card { transition: all .3s ease; }
.pillar-card:hover { border-color: #C62828; transform: translateY(-6px); box-shadow: 0 20px 40px rgba(198,40,40,.12); }
.pillar-card { transition: all .3s ease; }
.case-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(0,0,0,.12); }
.case-card { transition: all .3s ease; }

/* Buttons */
.btn-primary { background:#C62828; color:#fff; border:none; cursor:pointer; transition: all .2s; }
.btn-primary:hover { background:#b71c1c; transform:translateY(-2px); box-shadow:0 8px 20px rgba(198,40,40,.35); }
.btn-outline { background:transparent; color:#111; border:2px solid #C62828; cursor:pointer; transition:all .2s; }
.btn-outline:hover { background:#C62828; color:#fff; transform:translateY(-2px); }

/* Form */
.form-input { width:100%; padding:14px 16px; border-radius:10px; background:#1a1a1a; color:#fff; border:1px solid #333; outline:none; font-family:'Inter',sans-serif; font-size:15px; transition:border .2s; }
.form-input:focus { border-color:#C62828; }
.form-input option { background:#1a1a1a; }

/* Responsive grids */
.grid-2col { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.grid-2col-about { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.grid-2col-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.grid-3col { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-bottom:60px; }
.grid-pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.grid-cases { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:28px; }

@media(max-width:768px) {
  .hero-title { font-size: 2.2rem !important; line-height: 1.2 !important; }
  .grid-2col { grid-template-columns:1fr !important; gap:40px !important; }
  .grid-2col-about { grid-template-columns:1fr !important; gap:40px !important; }
  .grid-2col-form { grid-template-columns:1fr !important; }
  .grid-3col { grid-template-columns:1fr !important; gap:20px !important; }
  .tax-grid { grid-template-columns:1fr !important; }
  .grid-pillars { grid-template-columns:1fr !important; }
  .grid-cases { grid-template-columns:1fr !important; }
}

/* Scrollbar */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-thumb { background:#C62828; border-radius:3px; }
