 :root {
     --navy: #0d244d;
     --blue: #003e9d;
     --blue-lt: #1a55c0;
     --blue-pale: #e8f0fe;
     --blue-xlt: #f0f5ff;
     --white: #ffffff;
     --off: #f8fafd;
     --g100: #f1f5f9;
     --g200: #e2e8f0;
     --g400: #94a3b8;
     --g600: #475569;
     --g700: #334155;
     --green: #16a34a;
     --green-lt: #dcfce7;
     --amber: #d97706;
     --amber-lt: #fef3c7;
     --r: 10px;
     --rl: 16px;
     --shadow-sm: 0 1px 4px rgba(13, 36, 77, 0.07);
     --shadow-md: 0 6px 24px rgba(13, 36, 77, 0.10);
     --shadow-lg: 0 16px 48px rgba(13, 36, 77, 0.13);
 }
 

 html {
     scroll-behavior: smooth;
 } 
 

 /* ── HERO — WHITE ─────────────────────────────────────── */
 .hero {
     background: var(--white);
     padding: 80px 0 60px;
     position: relative;
     overflow: hidden;
 }

 /* subtle dot-grid pattern */
 .hero::before {
     content: '';
     position: absolute;
     inset: 0;
     background-image: radial-gradient(circle, #c7d8f5 1px, transparent 1px);
     background-size: 28px 28px;
     opacity: 0.45;
     pointer-events: none;
 }

 /* blue accent bar left edge */
 /* .hero-accent-bar {
     position: absolute;
     top: 0;
     left: 0;
     width: 5px;
     height: 100%;
     background: linear-gradient(180deg, var(--blue) 0%, var(--navy) 100%);
 } */

 .hero-eyebrow {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 2.5px;
     text-transform: uppercase;
     color: var(--blue);
     background: var(--blue-pale);
     border-radius: 50px;
     padding: 6px 16px;
     margin-bottom: 24px;
 }

 .hero-title {
     font-family: 'Syne', sans-serif;
     font-size: clamp(42px, 6vw, 76px);
     font-weight: 800;
     letter-spacing: -2.5px;
     line-height: 0.95;
     color: var(--navy);
     margin-bottom: 10px;
 }

 .hero-title .stroke-text {
     -webkit-text-stroke: 2px var(--blue);
     color: transparent;
     display: block;
 }

 .hero-desc {
     font-size: 17px;
     color: var(--g600);
     max-width: 460px;
     line-height: 1.75;
     margin-bottom: 36px;
 }

 .hero-desc strong {
     color: var(--navy);
     font-weight: 600;
 }

 /* tip callout */
 .tip-callout {
     display: inline-flex;
     align-items: flex-start;
     gap: 12px;
     background: var(--amber-lt);
     border-left: 4px solid var(--amber);
     border-radius: 0 var(--r) var(--r) 0;
     padding: 14px 20px;
     max-width: 480px;
 }

 .tip-callout i {
     color: var(--amber);
     font-size: 16px;
     margin-top: 2px;
     flex-shrink: 0;
 }

 .tip-callout p {
     font-size: 14px;
     color: var(--g700);
     margin: 0;
     line-height: 1.55;
 }

 .tip-callout strong {
     color: var(--amber);
 }

 /* hero visual right side */
 .hero-visual {
     /* position: relative; */
     height: 380px;
     /* display: flex;
     align-items: center;
     justify-content: center; */
 }

 .vis-card {
     /* position: absolute; */
     background: var(--white);
     border-radius: var(--rl);
     box-shadow: var(--shadow-lg);
     border: 1.5px solid var(--g200);
     padding: 20px 24px;
     display: flex;
     align-items: center;
     gap: 14px;
     margin-bottom: 10px;
 }

 /* .vis-card-1 {
     width: auto;
     top: 20px;
     left: 50%;
     transform: translateX(-80%) rotate(-4deg);
     z-index: 1;
 }

 .vis-card-2 {
     width: auto;
     top: 90px;
     left: 50%;
     transform: translateX(-30%) rotate(2deg);
     z-index: 2;
 }

 .vis-card-3 {
     width: auto;
     top: 200px;
     left: 50%;
     transform: translateX(-60%) rotate(-2deg);
     z-index: 3;
 } */

 .vis-icon {
     width: 42px;
     height: 42px;
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 18px;
     flex-shrink: 0;
 }

 .vis-icon.bl {
     background: var(--blue);
     color: var(--white);
 }

 .vis-icon.gr {
     background: var(--green-lt);
     color: var(--green);
 }

 .vis-icon.am {
     background: var(--amber-lt);
     color: var(--amber);
 }

 .vis-label {
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 1.5px;
     text-transform: uppercase;
     color: var(--g400);
 }

 .vis-val {
     font-family: 'Syne', sans-serif;
     font-size: 14px;
     font-weight: 700;
     color: var(--navy);
 }

 .vis-val.email-v {
     font-size: 12px;
     color: var(--blue);
 }

 /* card float animations */
 /* .vis-card-1 {
     animation: float1 4s ease-in-out infinite;
 }

 .vis-card-2 {
     animation: float2 4.5s ease-in-out infinite 0.5s;
 }

 .vis-card-3 {
     animation: float3 5s ease-in-out infinite 1s;
 } */

 @keyframes float1 {

     0%,
     100% {
         transform: translateX(-80%) rotate(-4deg) translateY(0);
     }

     50% {
         transform: translateX(-80%) rotate(-4deg) translateY(-7px);
     }
 }

 @keyframes float2 {

     0%,
     100% {
         transform: translateX(-30%) rotate(2deg) translateY(0);
     }

     50% {
         transform: translateX(-30%) rotate(2deg) translateY(-9px);
     }
 }

 @keyframes float3 {

     0%,
     100% {
         transform: translateX(-60%) rotate(-2deg) translateY(0);
     }

     50% {
         transform: translateX(-60%) rotate(-2deg) translateY(-5px);
     }
 }

 /* ── DIVIDER ──────────────────────────────────────────── */
 .section-divider {
     border: none;
     border-top: 1px solid var(--g200);
     margin: 0;
 }

 /* ── TRUST STRIP ──────────────────────────────────────── */
 .trust-strip {
     background: var(--blue-xlt);
     border-bottom: 1px solid var(--g200);
     padding: 26px 0;
 }

 .trust-item {
     display: flex;
     align-items: center;
     gap: 10px;
     font-size: 13px;
     font-weight: 600;
     color: var(--g700);
 }

 .trust-item i {
     color: var(--blue);
     font-size: 15px;
 }

 /* ── CONTACT SECTION ──────────────────────────────────── */
 .contact-section {
     background: var(--off);
     padding: 72px 0;
 }

 .section-label {
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 3px;
     text-transform: uppercase;
     color: var(--blue);
     margin-bottom: 8px;
 }

 .section-title {
     font-family: 'Syne', sans-serif;
     font-size: clamp(24px, 3vw, 34px);
     font-weight: 800;
     letter-spacing: -0.8px;
     color: var(--navy);
     margin-bottom: 8px;
 }

 .section-sub {
     font-size: 15px;
     color: var(--g400);
 }

 /* featured email block */
 .email-cta-block {
     background: var(--navy);
     border-radius: var(--rl);
     padding: 38px 36px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 24px;
     flex-wrap: wrap;
     position: relative;
     overflow: hidden;
     margin-bottom: 20px;
 }

 .email-cta-block::before {
     content: '';
     position: absolute;
     top: -60px;
     right: -60px;
     width: 220px;
     height: 220px;
     border: 50px solid rgba(255, 255, 255, 0.04);
     border-radius: 50%;
     pointer-events: none;
 }

 .email-cta-block .cta-tag {
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 2.5px;
     text-transform: uppercase;
     color: rgba(255, 255, 255, 0.4);
     margin-bottom: 8px;
 }

 .email-cta-block h3 {
     font-family: 'Syne', sans-serif;
     font-size: 20px;
     font-weight: 800;
     color: var(--white);
     letter-spacing: -0.3px;
     margin-bottom: 4px;
 }

 .email-cta-block p {
     font-size: 14px;
     color: rgba(255, 255, 255, 0.5);
     margin: 0;
 }

 .email-cta-btn {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     background: var(--blue);
     color: var(--white);
     font-family: 'Syne', sans-serif;
     font-size: 14px;
     font-weight: 700;
     text-decoration: none;
     border-radius: var(--r);
     padding: 14px 24px;
     white-space: nowrap;
     flex-shrink: 0;
     transition: background 0.2s, transform 0.2s;
 }

 .email-cta-btn:hover {
     background: var(--blue-lt);
     color: var(--white);
     transform: translateY(-2px);
 }

 /* contact method card */
 .cmethod {
     background: var(--white);
     border: 1.5px solid var(--g200);
     border-radius: var(--rl);
     padding: 26px 24px;
     display: flex;
     align-items: center;
     gap: 18px;
     text-decoration: none;
     height: 100%;
     transition: border-color 0.22s, box-shadow 0.22s, transform 0.22s;
 }

 .cmethod:hover {
     border-color: var(--blue);
     box-shadow: var(--shadow-md);
     transform: translateY(-3px);
 }

 .cmethod-icon {
     flex-shrink: 0;
     width: 50px;
     height: 50px;
     border-radius: 13px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 21px;
 }

 .cmethod-icon.blue {
     background: var(--blue);
     color: var(--white);
 }

 .cmethod-icon.green {
     background: var(--green-lt);
     color: var(--green);
 }

 .cmethod-icon.sky {
     background: var(--blue-pale);
     color: var(--blue);
 }

 .cmethod-icon.amber {
     background: var(--amber-lt);
     color: var(--amber);
 }

 .cmethod-icon.navy {
     background: var(--navy);
     color: var(--white);
 }

 .cmethod-body {
     flex: 1;
     min-width: 0;
 }

 .cmethod-label {
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 2px;
     text-transform: uppercase;
     color: var(--g400);
     margin-bottom: 4px;
 }

 .cmethod-value {
     font-family: 'Syne', sans-serif;
     font-size: 16px;
     font-weight: 700;
     color: var(--navy);
     white-space: nowrap;
     overflow: hidden;
     /* text-overflow: ellipsis; */
 }

 .cmethod-value.sm {
     font-size: 8px;
     color: var(--blue);
 }

 .cmethod-arrow {
     flex-shrink: 0;
     color: var(--g200);
     font-size: 13px;
     transition: color 0.2s, transform 0.2s;
 }

 .cmethod:hover .cmethod-arrow {
     color: var(--blue);
     transform: translateX(3px);
 }

 /* live badge */
 .live-badge {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     font-size: 12px;
     font-weight: 600;
     color: var(--green);
     background: var(--green-lt);
     border-radius: 50px;
     padding: 6px 14px;
 }

 .live-dot {
     width: 7px;
     height: 7px;
     background: var(--green);
     border-radius: 50%;
     animation: blink 1.5s infinite;
 }

 @keyframes blink {

     0%,
     100% {
         opacity: 1;
     }

     50% {
         opacity: 0.25;
     }
 }
 

 /* ── ANIMATIONS ───────────────────────────────────────── */
 .fade-up {
     opacity: 0;
     transform: translateY(26px);
     transition: opacity 0.58s ease, transform 0.58s ease;
 }

 .fade-in {
     opacity: 0;
     transition: opacity 0.7s ease;
 }

 .fade-up.in,
 .fade-in.in {
     opacity: 1;
     transform: translateY(0);
 }

 @media (max-width: 991px) {
     .hero-visual {
         display: none;
     }

     .hero {
         padding: 60px 0 50px;
     }
 }

 @media (max-width: 575px) {
     .email-cta-block {
         padding: 26px 20px;
     }

     .email-cta-btn {
         width: 100%;
         justify-content: center;
     }
 }