/* Gold Coast AI Styles */
:root{
  --blue:#0066CC;
  --blue-600:#005bb8;
  --orange:#FF6B35;
  --gold:#d7b56d;
  --gold-700:#c6a257;
  --bg:#ffffff;
  --text:#0a0a0a;
  --muted:#6b7280;
  --border:#e5e7eb;
  --card:#f8fafc;
  --shadow:0 10px 30px rgba(0,0,0,0.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:var(--text); background:var(--bg); line-height:1.6;
}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
.container{width:min(1100px, 92%); margin-inline:auto}

/* Buttons */
.gold-cta{background:var(--gold); color:#0b1b2b; border:1px solid rgba(0,0,0,.05); border-radius:10px; padding:.5rem 1rem; height:40px; display:inline-flex; align-items:center; justify-content:center; font-weight:700; box-shadow:0 8px 18px rgba(215,181,109,.25); transition:.2s ease; white-space:nowrap}
.gold-cta:hover{background:#c6a257; box-shadow:0 10px 22px rgba(215,181,109,.35); transform:translateY(-2px)}

/* Mobile header adjustments */
@media (max-width: 768px){
  .gold-cta{font-size:.85rem; padding:.4rem .6rem; height:36px}
}
@media (max-width: 680px){
  .nav-wrapper{position:relative; justify-content:center}
  .logo{margin:0 auto}
  /* Hide hamburger and dropdown to prevent overlap */
  .nav-toggle{display:none !important}
  .main-nav{position:static}
  .main-nav ul{display:none !important}
  /* Keep CTA visible; position it to the right */
  .header-cta{display:flex; position:absolute; right:8px; top:50%; transform:translateY(-50%); gap:.5rem}
  .header-cta .phone{display:none}
  .gold-cta{display:inline-flex; font-size:.85rem; padding:.4rem .6rem; height:36px; white-space:nowrap}
}
@media (max-width: 580px){
  .header-cta .phone{display:none}
}
@media (max-width: 400px){
  .header-cta .phone{display:none}
  .gold-cta{display:inline-flex}
}
/* Ensure logo stays left on very small screens to avoid overlap with CTA */
@media (max-width: 500px){
  .nav-wrapper{justify-content:flex-start; padding-right:120px}
  .logo{margin:0}
}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.85rem 1.1rem; border-radius:10px; border:1px solid transparent; font-weight:600; cursor:pointer; transition:.2s ease; box-shadow:0 4px 14px rgba(0,0,0,.06)}
.btn.primary{background:var(--blue); color:#fff}
.btn.primary:hover{background:var(--blue-600); transform:translateY(-1px)}
.btn.outline{background:#fff; color:var(--blue); border-color:var(--blue)}
.btn.outline:hover{background:rgba(0,102,204,.06)}
.btn.full{width:100%}

/* Header */
.site-header{position:sticky; top:0; z-index:50; background:#0b1b2b; color:#e5eef9; border-bottom:1px solid rgba(255,255,255,.1); backdrop-filter:none}
.nav-wrapper{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 0}
.logo{display:inline-flex; align-items:center; gap:.5rem; font-weight:800}
.logo-img{height:100px; width:auto; display:block; filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}
.site-footer .logo-img{height:150px; filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}
.logo-mark{background:var(--blue); color:#fff; font-weight:800; padding:.2rem .5rem; border-radius:6px}
.logo-text{letter-spacing:.2px}
.main-nav ul{display:flex; align-items:center; gap:1.25rem; list-style:none; margin:0; padding:0}
.main-nav a{color:#e5eef9; font-weight:600}
.main-nav a:hover{color:#ffffff}

/* Dropdown menu */
.has-dropdown{position:relative}
.dropdown-toggle{display:inline-flex; align-items:center; gap:.35rem; background:none; border:none; color:#e5eef9; font-weight:600; font-size:1rem; font-family:inherit; cursor:pointer; padding:0}
.dropdown-toggle:hover{color:#fff}
.dropdown-arrow{transition:transform .2s ease}
.has-dropdown:hover .dropdown-arrow,
.has-dropdown.open .dropdown-arrow{transform:rotate(180deg)}
.dropdown-menu{position:absolute; top:100%; left:50%; transform:translateX(-50%); min-width:160px; background:#0b1b2b; border:1px solid rgba(255,255,255,.15); border-radius:8px; padding:.5rem 0; margin-top:.5rem; opacity:0; visibility:hidden; transition:opacity .2s ease, visibility .2s ease; box-shadow:0 8px 24px rgba(0,0,0,.25); z-index:100}
.has-dropdown:hover .dropdown-menu,
.has-dropdown.open .dropdown-menu{opacity:1; visibility:visible}
.dropdown-menu li{list-style:none}
.dropdown-menu a{display:block; padding:.6rem 1rem; color:#e5eef9; font-weight:500; white-space:nowrap; transition:background .15s ease}
.dropdown-menu a:hover{background:rgba(255,255,255,.1); color:#fff}
.dropdown-menu a.coming-soon{opacity:.7; cursor:default; pointer-events:none; display:flex; align-items:center; gap:.5rem}
.badge-soon{font-size:.65rem; background:var(--gold); color:#0b1b2b; padding:.15rem .4rem; border-radius:4px; font-weight:700; text-transform:uppercase}
.header-cta{display:flex; align-items:center; gap:.75rem}
.header-cta .phone{font-weight:700; color:#e5eef9}
.header-cta .btn{padding:.6rem .9rem}

/* Tighter header layout between tablet and small desktop */
@media (max-width: 1100px) and (min-width: 768px){
  .main-nav ul{gap:.6rem}
  .main-nav a{font-size:.95rem}
  .header-cta .phone{display:none}
  .gold-cta,.header-cta .btn{white-space:nowrap; padding:.5rem .8rem}
  .nav-wrapper{gap:.6rem}
}
/* Language switcher */
.lang-switch{display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:8px; background:rgba(255,255,255,.1); color:#e5eef9; font-weight:700; font-size:.85rem; transition:.2s ease; text-transform:uppercase}
.lang-switch:hover{background:rgba(255,255,255,.2); color:#fff}

.header-cta .cta-modern{height:40px}
/* Modern CTA styles */
.cta-modern{padding:.6rem .9rem; border-radius:10px; border:1px solid rgba(0,0,0,.05); font-weight:700}
.bg-cta{background:var(--gold)!important}
.text-cta-foreground{color:#0b1b2b!important}
.hover\:bg-cta-hover:hover{background:var(--gold-700)!important}
.shadow-cta{box-shadow:0 8px 18px rgba(217,154,0,.25)}
.hover\:shadow-lg:hover{box-shadow:0 10px 22px rgba(217,154,0,.35)}
.transform{transition:transform .2s ease}
.hover\:-translate-y-0\.5:hover{transform:translateY(-2px)}

/* Utility classes for header CTA */
.inline-flex{display:inline-flex; align-items:center; justify-content:center}
.whitespace-nowrap{white-space:nowrap}
.text-sm{font-size:.875rem}
.font-semibold{font-weight:600}
.gap-2{gap:.5rem}
.rounded-lg{border-radius:.5rem}
.h-10{height:40px}
.px-4{padding-left:1rem; padding-right:1rem}
.py-2{padding-top:.5rem; padding-bottom:.5rem}

/* Mobile Nav */
.nav-toggle{display:none; background:none; border:0; width:40px; height:40px; border-radius:8px; position:relative}
.nav-toggle .bar{position:absolute; left:8px; right:8px; height:2px; background:#111; transition:.2s}
.nav-toggle .bar:nth-child(1){top:12px}
.nav-toggle .bar:nth-child(2){top:19px}
.nav-toggle .bar:nth-child(3){top:26px}

@media (max-width: 900px){
  .main-nav ul{position:fixed; inset:64px 0 auto 0; background:#fff; border-bottom:1px solid var(--border); padding:1rem 1.5rem; display:none; flex-direction:column; gap:1rem}
  .main-nav.open ul{display:flex}
  .nav-toggle{display:block}
  /* Mobile dropdown styles */
  .main-nav a,.dropdown-toggle{color:#111}
  .dropdown-toggle:hover{color:var(--blue)}
  .has-dropdown{position:static}
  .dropdown-menu{position:static; transform:none; opacity:1; visibility:visible; background:transparent; border:none; box-shadow:none; padding:0 0 0 1rem; margin:0; display:none}
  .has-dropdown.open .dropdown-menu{display:block}
  .dropdown-menu a{padding:.4rem 0; color:#333}
  .dropdown-menu a:hover{background:transparent; color:var(--blue)}
}

/* Section variants and visual tech feel */
.section-alt{background:linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%)}
.section-tint{background:linear-gradient(180deg, #f7fbff 0%, #ffffff 100%)}
.has-grid{position:relative}
.has-grid::before{content:""; position:absolute; inset:0; pointer-events:none; background:
  radial-gradient(circle at 1px 1px, rgba(0,102,204,.08) 1px, transparent 1.5px) 0 0/22px 22px;
  mask-image: linear-gradient(#000 30%, transparent 100%);
}
.section-title{position:relative; display:inline-block}
.section-title::after{content:""; display:block; height:4px; width:72px; margin-top:.5rem; background:linear-gradient(90deg, var(--orange), var(--blue)); border-radius:4px}

.highlight-blue{color:var(--blue)}

/* Typing effect */
.typing-container{position:relative; white-space:nowrap}
.typing-blue{color:var(--blue)}
.caret{display:inline-block; width:2px; height:1em; background:currentColor; margin-left:2px; animation:blink 1s step-end infinite}
@keyframes blink{50%{opacity:0}}

/* Hero */
.hero{padding:clamp(2rem, 3vw, 4rem) 0 4rem; background:linear-gradient(180deg, #f6faff 0%, #fff 70%)}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:2rem}
.hero h1{font-size:clamp(2rem, 4vw, 3rem); line-height:1.15; margin:.2rem 0 .5rem; letter-spacing:-.02em}
.hero .subtext{color:var(--muted); font-size:1.05rem; max-width:48ch}
.price-badge{display:inline-block; margin:.9rem 0; background:#e6f0ff; color:var(--blue); padding:.35rem .6rem; border-radius:20px; font-weight:700}
.hero-ctas{display:flex; gap:.75rem; margin:1rem 0 1.25rem}
.trust-badges{display:flex; flex-wrap:wrap; gap:.5rem; color:#1f2937; list-style:none; padding:0; margin:0}
.trust-badges .badge{display:inline-flex; align-items:center; gap:.4rem; background:#f3f4f6; border:1px solid var(--border); border-radius:999px; padding:.35rem .6rem; font-size:.9rem}
.hero-badge{margin-top:1rem}
.animated-badge{display:block; width:100%; max-width:520px; border-radius:14px; box-shadow:var(--shadow); animation:floatY 4.5s ease-in-out infinite, glow 5.5s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes glow{0%,100%{filter:drop-shadow(0 0 0 rgba(0,102,204,.0))}50%{filter:drop-shadow(0 6px 16px rgba(0,102,204,.25))}}
.hero-media{position:relative}
.hero-illustration{position:relative; border-radius:16px; overflow:hidden; box-shadow:var(--shadow); display:grid; place-items:center}

.phone-mock{width:min(320px, 90%); margin-inline:auto; aspect-ratio:9/18; background:#111827; border:10px solid #0f172a; border-radius:28px; box-shadow:var(--shadow); position:relative; overflow:hidden}
.phone-mock .wave{position:absolute; inset:auto -20% 40% -20%; height:50%; background:radial-gradient(60% 60% at 50% 50%, rgba(0,102,204,.5), transparent 60%); filter:blur(30px); animation:pulse 4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.6; transform:scale(1)}50%{opacity:1; transform:scale(1.05)}}
.screen{position:absolute; inset:0; padding:1rem; display:flex; flex-direction:column; gap:1rem; color:#e5e7eb}
.screen-top{display:flex; align-items:center; justify-content:center; gap:.5rem}
.led{width:8px; height:8px; background:#10b981; border-radius:50%}
.speaker{width:70px; height:8px; background:#1f2937; border-radius:8px}
.call-card{display:flex; align-items:center; gap:.8rem; background:#111827; border:1px solid #1f2937; border-radius:14px; padding:.8rem; box-shadow:0 8px 20px rgba(0,0,0,.25)}
.call-card h3{margin:0; font-size:1.05rem; color:#fff}
.call-card p{margin:.1rem 0 0; color:#9ca3af; font-size:.95rem}
.call-cta{margin-top:auto; display:flex; justify-content:center; gap:1rem}
.btn-call{width:48px; height:48px; border-radius:50%; border:0; font-size:1.1rem; cursor:pointer}
.btn-call.accept{background:#10b981; color:#fff}
.btn-call.decline{background:#ef4444; color:#fff}

@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr; text-align:center}
  .hero .subtext{margin-inline:auto}
  .hero-ctas{justify-content:center}
}

/* Hero Video */
.hero-video{position:relative; border-radius:16px; overflow:hidden; box-shadow:var(--shadow);}
.hero-video-el{width:100%; height:auto; display:block}

/* Pain Points */
.pain{padding:4rem 0; box-shadow:inset 0 1px 0 var(--border), inset 0 -1px 0 var(--border)}
/* Removed section-specific h2 overrides to standardize headings */
.icon-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem}
.icon-card{background:var(--card); border:1px solid var(--border); border-radius:14px; padding:1.1rem; box-shadow:var(--shadow); transition:.2s}
.icon-card:hover{transform:translateY(-3px)}
.icon{font-size:1.6rem}
.icon-card h3{margin:.5rem 0 .25rem}
.icon-card p{color:var(--muted)}
@media (max-width: 900px){
  .icon-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .icon-grid{grid-template-columns:1fr}
}

/* Section heading standardization */
.section-heading{font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; font-weight:800; line-height:1.2; letter-spacing:-.01em; margin:0 0 1rem; color:var(--text); font-size:1.5rem; text-align:center}
@media (min-width:640px){.section-heading{font-size:2rem}}
@media (min-width:1024px){.section-heading{font-size:2.25rem}}

/* Typographic utilities for hero/pain header style */
.section-intro{width:75%; margin:0.5rem auto 1.25rem; text-align:center}
@media (max-width: 720px){.section-intro{width:92%}}

/* Minimal utility classes to support contact info block */
.rounded-full{border-radius:999px}
.object-cover{object-fit:cover}
.shrink-0{flex-shrink:0}
.transition-all{transition:all .2s ease}
.duration-200{transition-duration:.2s}
/* Ensure SVGs inside the modern CTA behave consistently without Tailwind */
.cta-modern svg{pointer-events:none; width:1rem; height:1rem; flex-shrink:0}
.text-2xl{font-size:1.5rem}
.text-lg{font-size:1.125rem}
.text-sm{font-size:.875rem}
.text-foreground{color:var(--text)}
.text-muted-foreground{color:var(--muted)}
.font-semibold{font-weight:600}
.font-medium{font-weight:600}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mt-1{margin-top:.25rem}
.mt-0\.5{margin-top:.125rem}
.leading-relaxed{line-height:1.7}
.space-y-6>*+*{margin-top:1.5rem}
.space-y-3>*+*{margin-top:.75rem}
.flex{display:flex}
.inline-flex{display:inline-flex; align-items:center; justify-content:center}
.items-start{align-items:flex-start}
.items-center{align-items:center}
.justify-center{justify-content:center}
.gap-1{gap:.25rem}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.w-12{width:3rem}
.h-12{height:3rem}
.w-5{width:1.25rem}
.h-5{height:1.25rem}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:12px}
.h-10{height:40px}
.px-4{padding-left:1rem; padding-right:1rem}
.py-2{padding-top:.5rem; padding-bottom:.5rem}
.bg-primary\/10{background:rgba(0,102,204,.08)}
.text-primary{color:var(--blue)}
.text-secondary{color:var(--gold)}
.bg-card{background:var(--card)}
.border{border:1px solid var(--border)}
.border-border{border-color:var(--border)}
.p-6{padding:1.25rem}
.transition-colors{transition:color .2s ease}
.hover\:text-primary:hover{color:var(--blue)}

.text-lg{font-size:1.125rem}
.text-muted-foreground{color:var(--muted)}
.text-3xl{font-size:2rem; line-height:1.15}
.font-bold{font-weight:800}
.text-foreground{color:var(--text)}
.mb-4{margin-bottom:1rem}
.text-gradient{background:linear-gradient(90deg, var(--blue), var(--orange)); -webkit-background-clip:text; background-clip:text; color:transparent}
@media (min-width:640px){.sm\:text-4xl{font-size:2.5rem}}
@media (min-width:1024px){.lg\:text-5xl{font-size:3rem}}

/* Pricing */
.pricing{padding:4rem 0; background:linear-gradient(180deg, #ffffff, #eef5ff)}
.pricing-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1.25rem; align-items:stretch}
.price-card{background:linear-gradient(180deg,#ffffff,#fbfdff); border:1px solid var(--border); border-radius:18px; padding:1.1rem; box-shadow:0 10px 30px rgba(0,20,60,.06); display:flex; flex-direction:column; position:relative; overflow:hidden}
.price-card::before{content:""; position:absolute; inset:0; background:radial-gradient(1200px 200px at -10% -20%, rgba(0,102,204,.06), transparent 40%), radial-gradient(1200px 200px at 110% 120%, rgba(255,107,53,.06), transparent 40%); pointer-events:none}
.ribbon{position:absolute; top:12px; right:-40px; background:linear-gradient(90deg, var(--orange), var(--blue)); color:#fff; font-weight:800; padding:.35rem 2.2rem; transform:rotate(20deg); box-shadow:0 6px 18px rgba(0,0,0,.15); letter-spacing:.4px; font-size:.8rem}
.price-card.highlight{border-color:rgba(0,102,204,.3); box-shadow:0 18px 40px rgba(0,102,204,.12)}
.price-card.accent{border-color:rgba(255,107,53,.35); box-shadow:0 18px 40px rgba(255,107,53,.12)}
.price-card.accent .feature-icon{color:var(--gold)}
.price-card h3{margin:.25rem 0; font-size:1.1rem}
.subtitle{color:#334155; margin:.25rem 0 .4rem; font-size:.95rem}
.perfect-for{color:#475569; margin:0 0 .6rem; font-size:.9rem}
.price-row{display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; margin:.3rem 0 .5rem}
.price{font-size:1.8rem; font-weight:900; color:var(--blue); white-space:nowrap}
.price span{font-size:.9rem; color:var(--muted); font-weight:700}
.setup{font-weight:800; color:#0b1b2b; background:#eef5ff; border:1px solid #d9e7ff; padding:.25rem .5rem; border-radius:10px; white-space:nowrap}
.setup span{font-weight:600; color:#334155}
.feature-list{list-style:none; margin:.8rem 0 1.1rem; padding:0; display:grid; gap:.5rem; border-top:1px solid var(--border); padding-top:.75rem}
.feature-item{display:flex; align-items:flex-start; gap:.5rem}
.feature-icon{width:20px; height:20px; color:var(--gold); margin-top:.15rem; flex-shrink:0}
.price-card .btn{margin-top:auto}
.price-row{min-height:48px; margin-bottom:.5rem}
.price-card:hover{transform:translateY(-4px); transition:.2s ease; border-color:var(--blue)}
@media (max-width: 1100px){
  .price-row{flex-direction:column; align-items:flex-start}
}
@media (max-width: 800px){
  .pricing-grid{grid-template-columns:repeat(2, 1fr)}
  .setup{align-self:flex-start}
}
@media (max-width: 520px){
  .pricing-grid{grid-template-columns:1fr}
  .price-row{gap:.25rem}
}

/* Testimonials */
.testimonials{padding:4rem 0; box-shadow:inset 0 1px 0 var(--border), inset 0 -1px 0 var(--border)}
.testimonial-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem}
.testimonial{background:#fff; border:1px solid var(--border); border-radius:16px; padding:1.1rem; box-shadow:var(--shadow)}
.stars{color:#f59e0b; letter-spacing:1px}
.testimonial blockquote{margin:.5rem 0; color:#111827}
.testimonial-footer{display:flex; align-items:center; gap:.9rem; padding-top:.9rem; border-top:1px solid var(--border)}
.avatar{width:48px; height:48px; border-radius:999px; object-fit:cover}
.name{font-weight:700; margin:0}
.title{color:var(--muted); margin:.1rem 0 0}
.location{display:flex; align-items:center; gap:.35rem; color:var(--muted); font-size:.9rem; margin-top:.25rem}
.pin-icon{width:14px; height:14px}
@media (max-width: 900px){
  .testimonial-grid{grid-template-columns:1fr}
}

/* Stats Bar */
.stats{background:#0b1b2b; color:#e5eef9; padding:1rem 0}
.stats-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:1rem; text-align:center}
.stat .num{font-weight:800; font-size:clamp(1.4rem, 3vw, 2rem); color:#fff}
.stat .suffix{font-size:0.7em; margin-left:2px}
.stat .label{color:#c7d2fe}
@media (max-width: 720px){
  .stats-grid{grid-template-columns:repeat(2, 1fr)}
}

/* Steps */
.steps{padding:4rem 0; background:linear-gradient(180deg, #ffffff, #f6fbff)}
.steps-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem}
.step{background:var(--card); border:1px solid var(--border); border-radius:16px; padding:1.1rem; box-shadow:var(--shadow); position:relative}
.step-num{position:absolute; top:-12px; left:-12px; background:var(--orange); color:#fff; width:36px; height:36px; display:grid; place-items:center; border-radius:10px; font-weight:800}
@media (max-width: 900px){
  .steps-grid{grid-template-columns:1fr}
}

/* Comparison */
.comparison{padding:4rem 0; background:linear-gradient(180deg, #eef5ff, #ffffff)}
.savings{text-align:center; color:var(--orange); font-weight:800; margin-bottom:1rem}
.table-wrap{overflow:auto; border:1px solid var(--border); border-radius:14px; background:#fff; box-shadow:var(--shadow)}
.table-wrap table{width:100%; border-collapse:collapse}
.table-wrap th, .table-wrap td{padding:.9rem; border-bottom:1px solid var(--border); text-align:left}
.table-wrap thead th{background:#f3f4f6}
.table-wrap tbody tr:nth-child(even){background:#fafafa}

/* FAQ */
.faq{padding:4rem 0; background:linear-gradient(180deg, #ffffff, #f7fbff)}
.accordion{display:grid; gap:.6rem}
.item{border:1px solid var(--border); border-radius:12px; background:#fff; overflow:hidden}
.question{width:100%; text-align:left; background:#fff; border:0; padding:1rem; font-weight:700; cursor:pointer}
.answer{padding:0 1rem 1rem; color:var(--muted); display:none}
.item.open .answer{display:block}

/* Final CTA */
.section-subtitle{font-size:1.125rem; color:var(--muted)}
.feature-text{font-size:.9rem; color:var(--text)}

/* Contact info block dedicated classes */
.contact-heading{font-size:1.5rem; font-weight:800; color:var(--text); margin:0 0 1.5rem}
.contact-lead{color:var(--muted); margin:0 0 2rem; line-height:1.7}
.info-list{display:grid; gap:1rem; margin-bottom:2rem}
.info-item{display:flex; align-items:flex-start; gap:1rem}
.info-icon-wrap{width:3rem; height:3rem; background:rgba(0,102,204,.08); border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0}
.info-icon{width:20px; height:20px; color:var(--blue)}
.info-label{font-weight:700; margin:0}
.info-link{color:var(--muted)}
.info-link:hover{color:var(--blue)}
.reasons-card{background:var(--card); border:1px solid var(--border); border-radius:12px; padding:1.25rem}
.reasons-heading{font-weight:700; margin:0 0 .75rem}
.reasons-list{display:grid; gap:.75rem}
.reason-item{display:flex; align-items:center; gap:.75rem}
.reason-icon{width:20px; height:20px; color:var(--gold)}
.reason-text{font-size:.9rem; color:var(--muted)}

.final-cta{padding:4rem 0; background:linear-gradient(180deg, #f6fbff, #ffffff)}
.final-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:start}
.cta-copy{display:flex; flex-direction:column; gap:1rem}
.form-col{display:flex; flex-direction:column; gap:1rem}
.bot-wrap{margin-top:.25rem; display:flex; justify-content:center}
.bot-illustration{max-width:420px; width:100%; height:auto; border-radius:14px; box-shadow:var(--shadow); border:1px solid var(--border)}
@media (max-width: 900px){
  .final-grid{grid-template-columns:1fr; gap:1.25rem}
  .bot-wrap{margin-top:.5rem}
}
.cta-bullets{list-style:disc; padding-left:1.2rem; color:#374151}
.contact-form{background:#fff; border:1px solid var(--border); border-radius:16px; padding:1rem; box-shadow:var(--shadow); align-self:stretch}
.form-row{display:grid; gap:.35rem; margin:.5rem 0}
input, select, textarea{width:100%; padding:.75rem .8rem; border:1px solid var(--border); border-radius:10px; font:inherit}
input:focus, select:focus, textarea:focus{outline:2px solid rgba(0,102,204,.25); border-color:var(--blue)}
.form-note{color:var(--muted); font-size:.9rem}
.form-success{margin-top:.5rem; color:#0f766e; font-weight:600}
#contact-success{display:none}
/* Honeypot field wrapper - visually hidden but present in DOM */
.hp-wrap{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}


@media (max-width: 900px){
  .final-grid{grid-template-columns:1fr}
}

/* Legal pages */
.legal-page main{padding:2rem 0; max-width:900px}
.legal-page h1.section-heading{font-size:2.25rem; line-height:1.2; margin:0 0 .5rem; text-align:left}
@media (min-width:640px){.legal-page h1.section-heading{font-size:2.5rem}}
@media (min-width:1024px){.legal-page h1.section-heading{font-size:2.75rem}}
.legal-page h2.section-heading{font-size:1.5rem; line-height:1.3; margin:1.25rem 0 .5rem; text-align:left}
@media (min-width:640px){.legal-page h2.section-heading{font-size:1.75rem}}
@media (min-width:1024px){.legal-page h2.section-heading{font-size:2rem}}
.legal-page p{margin:.5rem 0 1rem; color:#374151}
.legal-page ul{list-style:disc; padding-left:1.2rem; margin:.5rem 0 1rem}
.legal-page a{color:var(--blue)}

/* Footer */
.site-footer{padding:2rem 0; background:#0b1b2b; color:#e5eef9}
.footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:1rem; align-items:start}
.footer-grid h4{margin:.2rem 0 .6rem}
.footer-grid ul{list-style:none; margin:0; padding:0}
.footer-grid a{color:#e5eef9}
.footer-grid a:hover{color:#fff}
.footer-brand .logo-mark{background:#fff; color:#0b1b2b}
.social{display:flex; gap:.5rem; margin-top:.5rem}
.social-icon{display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#152a41; color:#cfe2ff}
.tinyprint{border-top:1px solid rgba(255,255,255,.1); margin-top:1.5rem; padding-top:1rem; color:#cfe2ff; font-size:.9rem; text-align:center}

/* Desktop footer enhancements */
@media (min-width: 1200px){
  .site-footer{padding:3rem 0 2rem}
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:2.5rem}
  .footer-grid h4{color:var(--gold); font-size:1.1rem; margin-bottom:1rem; letter-spacing:.5px}
  .footer-grid li{margin-bottom:.5rem}
  .footer-grid a{transition:color .2s ease}
  .footer-grid a:hover{color:var(--gold)}
  .social-icon{width:38px; height:38px; font-size:1rem}
  .footer-brand p{line-height:1.7; opacity:.85}
}

/* Tablet footer - 3 columns (hide Legal) */
@media (min-width: 769px) and (max-width: 1199px){
  .footer-grid{grid-template-columns:1.5fr 1fr 1.2fr; gap:1.5rem}
  .footer-legal{display:none}
  .footer-grid h4{color:var(--gold); margin-bottom:.75rem}
  .footer-grid a{transition:color .2s ease}
  .footer-grid a:hover{color:var(--gold)}
}

/* Footer responsive - stack vertically under 768px (tablet/mobile) */
@media (max-width: 768px){
  .footer-grid{grid-template-columns:1fr; gap:1.5rem; text-align:center}
  .footer-links, .footer-legal{display:none}
  .footer-brand{display:flex; flex-direction:column; align-items:center}
  .footer-brand p{max-width:280px}
  .footer-contact{display:flex; flex-direction:column; align-items:center}
  .footer-contact ul{display:flex; flex-direction:column; align-items:center}
  .social{justify-content:center}
  .site-footer .logo-img{height:100px}
}

/* Back to top */
.back-to-top{position:fixed; right:16px; bottom:16px; width:40px; height:40px; border-radius:50%; background:var(--blue); color:#fff; display:grid; place-items:center; transform:translateY(120%); transition:.2s; box-shadow:var(--shadow)}
.back-to-top.show{transform:translateY(0)}

/* Reveal on scroll */
.reveal{opacity:0; transform:translateY(12px); transition:opacity .5s ease, transform .5s ease}
.reveal.show{opacity:1; transform:none}

/* Accessibility: focus styles and skip link */
:focus-visible{outline:3px solid rgba(0,102,204,.5); outline-offset:2px}
.site-header a:focus-visible{outline-color:#ffffff}
.skip-link{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.skip-link:focus{position:fixed; left:12px; top:12px; width:auto; height:auto; padding:.5rem .75rem; background:#0b1b2b; color:#fff; border-radius:8px; z-index:1000}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1; transform:none; transition:none}
  .animated-badge{animation:none}
  .caret{animation:none}
}