:root {
  --navy: #1B2A4A;
  --gold: #C9A84C;
  --cream: #F8F4ED;
  --white: #ffffff;
  --text-mid: #555;
  --shadow: 0 4px 24px rgba(27,42,74,0.10);
  --radius: 8px;
  --transition: 0.3s ease;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Jost', sans-serif; color: var(--navy); background: #fff; line-height: 1.6; }

h1,h2,h3,h4 { font-family: 'Cormorant Garamond', serif; line-height: 1.2; }
h1 { font-size: clamp(2rem,5vw,3.4rem); font-weight: 600; }
h2 { font-size: clamp(1.7rem,4vw,2.6rem); font-weight: 600; }
h3 { font-size: clamp(1.2rem,2.5vw,1.6rem); font-weight: 500; }
p  { font-size: 1rem; color: var(--text-mid); }
a  { text-decoration: none; color: inherit; }

/* ── BUTTONS ── */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 28px; border-radius: var(--radius);
  font-family: 'Jost', sans-serif; font-size: .95rem; font-weight: 500;
  cursor: pointer; transition: var(--transition); border: none; white-space: nowrap;
}
.btn-gold  { background: var(--gold); color: var(--navy); }
.btn-gold:hover { background: #b8933f; transform: translateY(-2px); }
.btn-navy  { background: var(--navy); color: var(--white); }
.btn-navy:hover { background: #253a5e; transform: translateY(-2px); }
.btn-outline { background: transparent; border: 2px solid var(--gold); color: var(--gold); }
.btn-outline:hover { background: var(--gold); color: var(--navy); }

/* ── NAV ── */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  height: 72px; padding: 0 5%;
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(27,42,74,0.97); backdrop-filter: blur(8px);
  transition: box-shadow var(--transition);
}
.nav.scrolled { box-shadow: 0 2px 20px rgba(0,0,0,.25); }
.nav-logo { font-family: 'Cormorant Garamond',serif; font-size: 1.3rem; font-weight: 600; color: #fff; line-height: 1.1; }
.nav-logo span { display: block; font-family: 'Jost',sans-serif; font-size: .7rem; font-weight: 300; color: var(--gold); letter-spacing: 3px; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; gap: 28px; list-style: none; }
.nav-links a { color: rgba(255,255,255,.82); font-size: .88rem; font-weight: 400; letter-spacing: .4px; transition: color var(--transition); position: relative; }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; right:0; height:1px; background:var(--gold); transform:scaleX(0); transition:transform var(--transition); }
.nav-links a:hover, .nav-links a.active { color: var(--gold); }
.nav-links a:hover::after, .nav-links a.active::after { transform: scaleX(1); }
.nav-cta { background: var(--gold) !important; color: var(--navy) !important; padding: 8px 18px; border-radius: 6px; font-weight: 500 !important; }
.nav-cta::after { display: none !important; }
.nav-cta:hover { background: #b8933f !important; transform: translateY(-1px); }
.nav-hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 6px; }
.nav-hamburger span { display: block; width: 22px; height: 2px; background: #fff; transition: var(--transition); }

/* ── HERO SPLIT ── */
.hero-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; padding-top: 72px; }
.hero-split .hero-content { background: var(--navy); display: flex; flex-direction: column; justify-content: center; padding: 80px 8%; }
.hero-split .hero-image { position: relative; overflow: hidden; }
.hero-split .hero-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.hero-split .hero-image::after { content:''; position:absolute; inset:0; background: linear-gradient(to right, rgba(27,42,74,.25) 0%, transparent 60%); }
.hero-eyebrow { font-family:'Jost',sans-serif; font-size:.78rem; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:14px; }
.hero-title { color:#fff; margin-bottom:22px; }
.hero-title em { color:var(--gold); font-style:italic; }
.hero-desc { color:rgba(255,255,255,.8); font-size:1.05rem; margin-bottom:34px; max-width:460px; }
.hero-buttons { display:flex; gap:14px; flex-wrap:wrap; }

/* ── HERO SMALL NAVY ── */
.hero-small { background:var(--navy); padding:120px 5% 60px; text-align:center; }
.hero-small h1 { color:#fff; margin-bottom:14px; }
.hero-small p { color:rgba(255,255,255,.72); max-width:580px; margin:0 auto; }

/* ── HERO CREAM ── */
.hero-cream { background:var(--cream); padding:140px 5% 90px; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.hero-cream h1 { color:var(--navy); margin-bottom:20px; }
.hero-cream .hero-desc { color:var(--text-mid); font-size:1.05rem; margin-bottom:32px; max-width:none; }
.hero-cream-image img { width:100%; border-radius:12px; box-shadow:0 20px 60px rgba(27,42,74,.2); }

/* ── SECTIONS ── */
section { padding: 80px 5%; }
.section-eyebrow { font-family:'Jost',sans-serif; font-size:.78rem; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:10px; }
.section-title { color:var(--navy); margin-bottom:14px; }
.section-subtitle { color:var(--text-mid); font-size:1.02rem; max-width:580px; margin-bottom:44px; }
.section-header { margin-bottom:44px; }
.section-header.centered { text-align:center; }
.section-header.centered .section-subtitle { margin-left:auto; margin-right:auto; }
.container { max-width:1200px; margin:0 auto; }

/* ── CARDS ── */
.cards-grid { display:grid; gap:22px; }
.cards-grid-2 { grid-template-columns:repeat(2,1fr); }
.cards-grid-3 { grid-template-columns:repeat(3,1fr); }
.cards-grid-4 { grid-template-columns:repeat(4,1fr); }
.card { background:#fff; border-radius:var(--radius); padding:30px 26px; box-shadow:var(--shadow); border:1px solid rgba(201,168,76,.1); transition:var(--transition); }
.card:hover { transform:translateY(-4px); box-shadow:0 8px 32px rgba(27,42,74,.15); border-color:var(--gold); }
.card-icon { width:48px; height:48px; background:rgba(201,168,76,.1); border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; color:var(--gold); font-size:24px; }
.card h3 { color:var(--navy); font-size:1.15rem; margin-bottom:10px; }
.card p { font-size:.93rem; line-height:1.7; }
.card-navy { background:var(--navy); }
.card-navy h3 { color:#fff; }
.card-navy p { color:rgba(255,255,255,.75); }
.card-navy .card-icon { background:rgba(201,168,76,.15); }

/* ── STRIP ANIMATED ── */
.strip { background:var(--gold); padding:13px 0; overflow:hidden; }
.strip-inner { display:flex; animation:strip-scroll 28s linear infinite; will-change:transform; }
.strip-inner span { flex-shrink:0; padding:0 28px; font-family:'Jost',sans-serif; font-size:.8rem; font-weight:600; color:var(--navy); letter-spacing:2px; text-transform:uppercase; }
.strip-inner span::before { content:'◆'; margin-right:16px; opacity:.4; }
@keyframes strip-scroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── URGENCY BAR ── */
.urgency-bar { background:var(--gold); padding:15px 5%; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.urgency-bar p { color:var(--navy); font-weight:500; font-size:.95rem; }

/* ── STATS ROW ── */
.stats-row { background:var(--navy); padding:60px 5%; display:grid; grid-template-columns:repeat(4,1fr); gap:40px; text-align:center; }
.stat-number { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:700; color:var(--gold); display:block; line-height:1; margin-bottom:8px; }
.stat-label { font-size:.85rem; color:rgba(255,255,255,.72); text-transform:uppercase; letter-spacing:1px; }

/* ── PROFILE / CREDENTIALS ── */
.profile-section { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.profile-image { position:relative; }
.profile-image img { width:100%; border-radius:12px; box-shadow:0 20px 60px rgba(27,42,74,.2); position:relative; z-index:1; }
.profile-image::before { content:''; position:absolute; top:-18px; left:-18px; right:18px; bottom:18px; border:2px solid var(--gold); border-radius:12px; }
.credential-list { list-style:none; margin-top:22px; }
.credential-list li { display:flex; align-items:flex-start; gap:12px; padding:13px 0; border-bottom:1px solid rgba(201,168,76,.18); color:var(--text-mid); font-size:.94rem; }
.credential-list li:last-child { border-bottom:none; }
.credential-list li .ti { color:var(--gold); flex-shrink:0; margin-top:2px; font-size:18px; }

/* ── TESTIMONIALS ── */
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.testimonial-card { background:#fff; border-radius:var(--radius); padding:30px; box-shadow:var(--shadow); border-left:4px solid var(--gold); }
.testimonial-stars { color:var(--gold); margin-bottom:14px; font-size:.95rem; }
.testimonial-text { font-style:italic; color:var(--text-mid); margin-bottom:18px; font-size:.93rem; line-height:1.75; }
.testimonial-author { font-weight:600; color:var(--navy); font-size:.9rem; }
.testimonial-role { font-size:.78rem; color:var(--gold); margin-top:3px; }

/* ── FAQ ── */
.faq-list { max-width:780px; margin:0 auto; }
.faq-item { border-bottom:1px solid rgba(27,42,74,.1); }
.faq-question { width:100%; background:none; border:none; padding:20px 0; text-align:left; display:flex; align-items:center; justify-content:space-between; cursor:pointer; font-family:'Cormorant Garamond',serif; font-size:1.18rem; font-weight:600; color:var(--navy); gap:14px; transition:color var(--transition); }
.faq-question:hover { color:var(--gold); }
.faq-icon { width:28px; height:28px; background:rgba(201,168,76,.1); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:var(--transition); color:var(--gold); font-size:16px; }
.faq-item.open .faq-icon { background:var(--gold); color:var(--navy); transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-answer-inner { padding:0 0 20px; color:var(--text-mid); line-height:1.8; font-size:.94rem; }
.faq-item.open .faq-answer { max-height:400px; }

/* ── FORM ── */
.contact-section { background:var(--cream); }
.form-container { max-width:660px; margin:0 auto; background:#fff; border-radius:12px; padding:46px; box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-group { display:flex; flex-direction:column; gap:7px; }
.form-group.full { grid-column:1/-1; }
.form-group label { font-size:.8rem; font-weight:600; color:var(--navy); text-transform:uppercase; letter-spacing:.6px; }
.form-group input, .form-group select, .form-group textarea {
  padding:11px 15px; border:1.5px solid rgba(27,42,74,.15); border-radius:var(--radius);
  font-family:'Jost',sans-serif; font-size:.95rem; color:var(--navy); background:#fff; transition:var(--transition); outline:none;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,168,76,.12); }
.form-group textarea { resize:vertical; min-height:110px; }
.form-submit { margin-top:22px; width:100%; justify-content:center; padding:15px; font-size:1rem; }

/* ── CASES ── */
.cases-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.case-card { background:var(--navy); border-radius:var(--radius); padding:30px; position:relative; overflow:hidden; }
.case-card::before { content:'"'; position:absolute; top:-14px; right:16px; font-family:'Cormorant Garamond',serif; font-size:7rem; color:rgba(201,168,76,.12); line-height:1; }
.case-result { font-family:'Cormorant Garamond',serif; font-size:1.7rem; font-weight:700; color:var(--gold); display:block; margin-bottom:10px; }
.case-desc { color:rgba(255,255,255,.78); font-size:.9rem; line-height:1.7; }

/* ── CTA SECTION ── */
.cta-section { background:var(--navy); text-align:center; padding:80px 5%; }
.cta-section h2 { color:#fff; margin-bottom:14px; }
.cta-section p { color:rgba(255,255,255,.75); max-width:560px; margin:0 auto 34px; font-size:1.02rem; }

/* ── FOOTER ── */
footer { background:#0d1826; padding:60px 5% 28px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:44px; margin-bottom:44px; }
.footer-logo { font-family:'Cormorant Garamond',serif; font-size:1.25rem; font-weight:600; color:#fff; display:block; margin-bottom:14px; }
.footer-logo span { display:block; font-family:'Jost',sans-serif; font-size:.7rem; font-weight:300; color:var(--gold); letter-spacing:3px; text-transform:uppercase; }
.footer-desc { font-size:.88rem; color:rgba(255,255,255,.62); line-height:1.7; margin-bottom:16px; }
.footer-oab { font-size:.78rem; color:var(--gold); }
.footer-col h4 { font-size:.75rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#fff; margin-bottom:18px; font-family:'Jost',sans-serif; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:9px; }
.footer-col ul li a { color:rgba(255,255,255,.6); font-size:.88rem; transition:color var(--transition); }
.footer-col ul li a:hover { color:var(--gold); }
.footer-contact { display:flex; align-items:flex-start; gap:9px; margin-bottom:12px; font-size:.88rem; color:rgba(255,255,255,.62); }
.footer-contact .ti { color:var(--gold); flex-shrink:0; margin-top:2px; }
.footer-contact a { color:rgba(255,255,255,.62); transition:color var(--transition); }
.footer-contact a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:22px; display:flex; align-items:center; justify-content:space-between; font-size:.78rem; color:rgba(255,255,255,.36); }

/* ── WHATSAPP FLOAT ── */
.whatsapp-float { position:fixed; bottom:30px; right:30px; z-index:999; width:54px; height:54px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 18px rgba(37,211,102,.4); animation:wa-pulse 2.5s infinite; transition:transform var(--transition); }
.whatsapp-float:hover { transform:scale(1.1); }
.whatsapp-float .ti { font-size:26px; color:#fff; }
@keyframes wa-pulse { 0%,100%{box-shadow:0 4px 18px rgba(37,211,102,.4)} 50%{box-shadow:0 4px 30px rgba(37,211,102,.65)} }

/* ── BLOG ── */
.blog-layout { display:grid; grid-template-columns:1fr 320px; gap:44px; padding:72px 5%; }
.blog-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; align-content:start; }
.blog-card { background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:var(--transition); }
.blog-card:hover { transform:translateY(-4px); box-shadow:0 8px 32px rgba(27,42,74,.15); }
.blog-card-img { height:190px; overflow:hidden; }
.blog-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.blog-card:hover .blog-card-img img { transform:scale(1.05); }
.blog-card-body { padding:22px; }
.blog-tag { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; color:var(--gold); display:block; margin-bottom:8px; }
.blog-card-body h3 { font-size:1.1rem; color:var(--navy); margin-bottom:8px; line-height:1.4; }
.blog-card-body p { font-size:.88rem; line-height:1.65; margin-bottom:14px; }
.blog-meta { display:flex; align-items:center; gap:10px; font-size:.78rem; color:#999; }
.blog-meta .ti { font-size:13px; }
.sidebar-widget { background:#fff; border-radius:var(--radius); padding:26px; box-shadow:var(--shadow); margin-bottom:22px; }
.sidebar-widget h4 { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--navy); margin-bottom:18px; padding-bottom:10px; border-bottom:2px solid var(--gold); }
.category-list { list-style:none; }
.category-list li { display:flex; align-items:center; justify-content:space-between; padding:9px 0; border-bottom:1px solid rgba(27,42,74,.07); font-size:.88rem; color:var(--text-mid); transition:color var(--transition); cursor:pointer; }
.category-list li:hover { color:var(--gold); }
.category-list li span { background:rgba(201,168,76,.14); color:var(--gold); border-radius:20px; padding:2px 8px; font-size:.72rem; font-weight:700; }
.sidebar-cta { background:var(--navy); border-radius:var(--radius); padding:26px; text-align:center; }
.sidebar-cta h4 { color:#fff; font-family:'Cormorant Garamond',serif; font-size:1.25rem; margin-bottom:10px; }
.sidebar-cta p { color:rgba(255,255,255,.72); font-size:.88rem; margin-bottom:18px; }

/* ── UTILITIES ── */
.bg-cream { background:var(--cream); }
.bg-navy  { background:var(--navy); }
.fade-in  { opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .cards-grid-4 { grid-template-columns:repeat(2,1fr); }
  .footer-grid  { grid-template-columns:1fr 1fr; }
  .stats-row    { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  .nav-links.open { display:flex; flex-direction:column; position:fixed; top:72px; left:0; right:0; background:var(--navy); padding:24px 5%; gap:14px; border-top:1px solid rgba(255,255,255,.1); z-index:999; }
  .hero-split { grid-template-columns:1fr; min-height:auto; }
  .hero-split .hero-content { padding:60px 6%; order:2; }
  .hero-split .hero-image { height:280px; order:1; }
  .hero-split .hero-image img { position:absolute; }
  .hero-cream { grid-template-columns:1fr; padding:110px 5% 60px; }
  .hero-cream-image { display:none; }
  .profile-section { grid-template-columns:1fr; }
  .profile-image { display:none; }
  .cards-grid-3,.cards-grid-2 { grid-template-columns:1fr; }
  .testimonials-grid { grid-template-columns:1fr; }
  .cases-grid { grid-template-columns:1fr; }
  .stats-row { grid-template-columns:repeat(2,1fr); gap:28px; }
  .form-grid { grid-template-columns:1fr; }
  .form-container { padding:26px 18px; }
  .blog-layout { grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:8px; text-align:center; }
  .urgency-bar { flex-direction:column; text-align:center; }
  .hero-buttons { flex-direction:column; align-items:flex-start; }
}
@media(max-width:480px){
  section { padding:56px 5%; }
}
