  :root{
    --teal-900:#06302f;
    --teal-800:#0a4747;
    --teal-700:#0e5c58;
    --teal-600:#137a71;
    --orange-500:#f5a623;
    --orange-600:#e8901a;
    --cream:#eef6f4;
    --ink:#0b2b2a;
    --muted:#cfe7e2;
    --white:#ffffff;
    --radius-lg:16px;
    --radius-md:10px;
    --font-head:'Poppins', sans-serif;
    --font-body:'Inter', sans-serif;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--font-body);
    color:var(--ink);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
  }
  a{text-decoration:none; color:inherit;}
  ul{list-style:none;}
  img{max-width:100%; display:block;}
  button{font-family:inherit; cursor:pointer;}
  .visually-hidden{
    position:absolute; width:1px; height:1px; overflow:hidden;
    clip:rect(0 0 0 0); white-space:nowrap;
  }

  :focus-visible{
    outline:3px solid var(--orange-500);
    outline-offset:3px;
  }

  /* ============ HEADER ============ */
  #services, #faq, #reviews{ scroll-margin-top:90px; }
  .site-header{
    position:sticky;
    top:0;
    z-index:100;
    background:linear-gradient(180deg, var(--teal-800), var(--teal-700));
    box-shadow:0 2px 20px rgba(0,0,0,.15);
  }
  .header-inner{
    max-width:1280px;
    margin:0 auto;
    padding:14px 32px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:24px;
  }

  /* Logo — left */
  .brand{
    display:flex;
    align-items:center;
    gap:10px;
    justify-self:start;
  }
  .brand-mark{
    width:44px;
    height:44px;
    border-radius:10px;
    background:var(--white);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    overflow:hidden;
  }
  .brand-mark svg{width:30px; height:30px;}
  .brand-text{
    display:flex;
    flex-direction:column;
    line-height:1.05;
  }
  .brand-text .b1{
    font-family:var(--font-head);
    font-weight:700;
    font-size:17px;
    color:var(--white);
    letter-spacing:.2px;
  }
  .brand-logo{
    height:48px;
    width:auto;
    display:block;
    border-radius:8px;
  }
  .brand-text .b2{
    font-family:var(--font-head);
    font-weight:600;
    font-size:11px;
    letter-spacing:2.5px;
    color:var(--orange-500);
    margin-top:2px;
  }

  /* Nav — center */
  .main-nav{
    justify-self:center;
  }
  .main-nav > ul{
    display:flex;
    align-items:center;
    gap:8px;
  }
  .main-nav > ul > li{position:relative;}
  .nav-link{
    display:flex;
    align-items:center;
    gap:5px;
    padding:10px 16px;
    border-radius:8px;
    font-size:15px;
    font-weight:500;
    color:var(--muted);
    transition:background .18s ease, color .18s ease;
    white-space:nowrap;
  }
  .nav-link:hover, .nav-link:focus-visible, .has-dropdown.open > .nav-link{
    color:var(--white);
    background:rgba(255,255,255,.08);
  }
  .caret{
    width:9px; height:9px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg);
    margin-top:-3px;
    transition:transform .18s ease;
  }
  .has-dropdown.open .caret{ transform:rotate(-135deg); margin-top:3px; }

  /* Dropdown — mega menu */
  .dropdown{
    position:absolute;
    top:calc(100% + 10px);
    left:50%;
    transform:translateX(-50%) translateY(8px);
    background:var(--white);
    border-radius:14px;
    box-shadow:0 20px 45px rgba(6,48,47,.22);
    padding:16px;
    width:600px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2px 10px;
    opacity:0;
    visibility:hidden;
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
  }
  .has-dropdown.open .dropdown{
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0);
  }
  .dropdown-item{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:10px 10px;
    border-radius:10px;
    transition:background .15s ease;
  }
  .dropdown-item:hover, .dropdown-item:focus-visible{
    background:var(--cream);
  }
  .dd-icon{
    width:36px; height:36px;
    border-radius:10px;
    background:linear-gradient(150deg, var(--teal-600), var(--teal-800));
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }
  .dd-icon svg{ width:18px; height:18px; stroke:var(--white); fill:none; }
  .dd-text{ display:flex; flex-direction:column; gap:2px; padding-top:1px; }
  .dd-title{
    font-family:var(--font-head);
    font-weight:600;
    font-size:13.5px;
    color:var(--teal-900);
    line-height:1.3;
  }
  .dd-desc{
    font-size:11.5px;
    line-height:1.5;
    color:#6c8683;
  }
  .dropdown-foot{
    grid-column:1 / -1;
    margin-top:6px;
    padding-top:12px;
    border-top:1px solid #e3f0ec;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .dropdown-foot span{ font-size:12px; color:#7b9491; }
  .dropdown-foot a{
    font-size:13px;
    font-weight:700;
    color:var(--teal-700);
    display:inline-flex;
    align-items:center;
    gap:6px;
  }
  .dropdown-foot a svg{ width:13px; height:13px; }

  /* Right cluster */
  .header-actions{
    display:flex;
    align-items:center;
    gap:18px;
    justify-self:end;
  }
  .phone-block{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .phone-icon{
    width:38px; height:38px;
    border-radius:50%;
    background:rgba(245,166,35,.15);
    border:1px solid rgba(245,166,35,.4);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }
  .phone-icon svg{width:17px; height:17px; stroke:var(--orange-500);}
  .phone-text{ line-height:1.25; }
  .phone-text .p1{
    font-family:var(--font-head);
    font-weight:600;
    font-size:14.5px;
    color:var(--white);
    white-space:nowrap;
  }
  .phone-text .p2{
    font-size:11.5px;
    color:var(--muted);
  }
  .btn-contact{
    padding:12px 22px;
    background:var(--orange-500);
    color:var(--teal-900);
    font-weight:700;
    font-size:14px;
    border:none;
    border-radius:8px;
    white-space:nowrap;
    flex-shrink:0;
    transition:background .18s ease, transform .18s ease;
  }
  .btn-contact:hover{ background:var(--orange-600); color:var(--white); transform:translateY(-1px); }

  .nav-toggle{
    display:none;
    background:none;
    border:none;
    width:40px; height:40px;
    position:relative;
  }
  .nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
    content:'';
    display:block;
    position:absolute;
    left:8px; right:8px;
    height:2px;
    background:var(--white);
    transition:transform .2s ease, opacity .2s ease;
  }
  .nav-toggle span{ top:19px; }
  .nav-toggle span::before{ top:-8px; }
  .nav-toggle span::after{ top:8px; }
  .nav-toggle[aria-expanded="true"] span{ background:transparent; }
  .nav-toggle[aria-expanded="true"] span::before{ transform:translateY(8px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span::after{ transform:translateY(-8px) rotate(-45deg); }

  /* ============ HERO ============ */
  .hero{
    position:relative;
    background:
      radial-gradient(900px 500px at 85% -10%, rgba(245,166,35,.14), transparent 60%),
      linear-gradient(160deg, var(--teal-900) 0%, var(--teal-700) 55%, var(--teal-600) 100%);
    overflow:hidden;
    padding:96px 32px 110px;
  }
  .hero::before{
    content:'';
    position:absolute;
    inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size:52px 52px;
    mask-image:linear-gradient(180deg, rgba(0,0,0,.6), transparent 75%);
    pointer-events:none;
  }
  .hero-inner{
    position:relative;
    max-width:1280px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:56px;
    align-items:stretch;
  }
  .hero-copy{ display:flex; flex-direction:column; }
  .eyebrow{
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    gap:8px;
    padding:7px 14px 7px 10px;
    background:rgba(245,166,35,.12);
    border:1px solid rgba(245,166,35,.35);
    border-radius:999px;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:.5px;
    color:var(--orange-500);
    margin-bottom:26px;
  }
  .eyebrow .dot{
    width:7px; height:7px; border-radius:50%;
    background:var(--orange-500);
  }
  .hero h1{
    font-family:var(--font-head);
    font-weight:800;
    font-size:clamp(34px, 4.4vw, 58px);
    line-height:1.1;
    color:var(--white);
    letter-spacing:-.5px;
  }
  .hero h1 .accent{
    color:var(--orange-500);
  }
  .hero p{
    margin-top:24px;
    font-size:17px;
    line-height:1.7;
    color:var(--muted);
    max-width:560px;
  }
  .hero-ctas{
    margin-top:36px;
    display:flex;
    gap:14px;
    flex-wrap:wrap;
  }
  .btn-primary{
    padding:16px 30px;
    background:var(--orange-500);
    color:var(--teal-900);
    font-weight:700;
    font-size:15px;
    border-radius:9px;
    border:none;
    transition:transform .18s ease, background .18s ease;
  }
  .btn-primary:hover{ background:var(--orange-600); color:var(--white); transform:translateY(-2px); }
  .btn-ghost{
    padding:16px 30px;
    background:transparent;
    color:var(--white);
    font-weight:600;
    font-size:15px;
    border-radius:9px;
    border:1.5px solid rgba(255,255,255,.35);
    transition:border-color .18s ease, background .18s ease;
  }
  .btn-ghost:hover{ border-color:var(--white); background:rgba(255,255,255,.06); }

  .hero-stats{
    margin-top:48px;
    display:flex;
    flex-wrap:wrap;
    background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
    backdrop-filter:blur(6px);
    overflow:hidden;
  }
  .stat-card{
    position:relative;
    flex:1 1 0;
    min-width:150px;
    padding:24px 22px 22px;
    opacity:0;
    transform:translateY(16px);
    transition:opacity .6s ease, transform .6s cubic-bezier(.22,1,.36,1), background .25s ease;
  }
  .stat-card + .stat-card{ border-left:1px solid rgba(255,255,255,.12); }
  .stat-card::before{
    content:"";
    position:absolute;
    top:0; left:0; right:0;
    height:2.5px;
    background:linear-gradient(90deg, var(--orange-500), var(--orange-600));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .7s cubic-bezier(.22,1,.36,1) .15s;
  }
  .stat-card.stat-in::before{ transform:scaleX(1); }
  .stat-card:hover{ background:rgba(245,166,35,.06); }
  .stat-card.stat-in{ opacity:1; transform:translateY(0); }
  .stat-card:nth-child(1){ transition-delay:.05s; }
  .stat-card:nth-child(2){ transition-delay:.2s; }
  .stat-card:nth-child(3){ transition-delay:.35s; }
  .stat-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:16px;
  }
  .stat-icon{
    width:34px; height:34px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(245,166,35,.14);
    border:1px solid rgba(245,166,35,.3);
    transition:transform .3s cubic-bezier(.34,1.56,.64,1), background .25s ease;
  }
  .stat-icon svg{ width:16px; height:16px; stroke:var(--orange-500); }
  .stat-card:hover .stat-icon{
    transform:translateY(-3px) scale(1.08) rotate(-4deg);
    background:var(--orange-500);
  }
  .stat-card:hover .stat-icon svg{ stroke:var(--teal-900); }
  .stat-index{
    font-family:var(--font-head);
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    color:rgba(255,255,255,.28);
  }
  .hero-stats .num{
    font-family:var(--font-head);
    font-weight:700;
    font-size:28px;
    background:linear-gradient(90deg, var(--white), var(--white));
    -webkit-background-clip:text;
    background-clip:text;
    color:var(--white);
    display:inline-block;
    transition:background .3s ease, color .3s ease;
  }
  .stat-card:hover .num{
    background:linear-gradient(90deg, var(--orange-500), var(--orange-600));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .hero-stats .lbl{
    font-size:13px;
    font-weight:600;
    color:var(--white);
    margin-top:4px;
  }
  .hero-stats .sub{
    font-size:12px;
    color:var(--muted);
    margin-top:5px;
    line-height:1.4;
  }
  .stat-bar{ display:none; }

  /* Hero visual card */
  .hero-visual{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    align-self:center;
  }
  .visual-card{
    position:relative;
    width:100%;
    max-width:420px;
    height:auto;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);
    border-radius:20px;
    padding:30px 30px 26px;
    backdrop-filter:blur(6px);
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    box-shadow:0 24px 60px rgba(0,0,0,.18);
  }
  .visual-card .row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 0;
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .visual-card .row:last-child{ border-bottom:none; }
  .visual-card .row .name{ color:var(--white); font-size:14px; font-weight:500;}
  .visual-card .row .val{ color:var(--orange-500); font-size:14px; font-weight:700;}
  .visual-card .head{
    font-family:var(--font-head);
    font-size:13px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:14px;
  }
  .visual-card-chart{
    display:flex;
    align-items:flex-end;
    gap:8px;
    height:64px;
    margin:20px 0 4px;
    padding-top:8px;
    border-top:1px solid rgba(255,255,255,.1);
  }
  .visual-card-chart span{
    flex:1;
    border-radius:5px 5px 2px 2px;
    background:linear-gradient(180deg, var(--orange-500), rgba(245,166,35,.35));
  }
  .visual-card-footer{
    margin-top:auto;
    padding-top:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .visual-card-footer .note{
    display:flex;
    align-items:center;
    gap:7px;
    font-size:12px;
    color:var(--muted);
  }
  .visual-card-footer .note .dot{
    width:7px; height:7px; border-radius:50%;
    background:#4ade80;
    box-shadow:0 0 0 3px rgba(74,222,128,.2);
    flex:0 0 auto;
  }
  .visual-card-footer a{
    font-size:12.5px;
    font-weight:700;
    color:var(--orange-500);
    display:inline-flex;
    align-items:center;
    gap:4px;
    white-space:nowrap;
  }
  .visual-card-footer a svg{ width:13px; height:13px; }
  .floating-badge{
    position:absolute;
    top:-18px;
    right:-16px;
    background:var(--orange-500);
    color:var(--teal-900);
    font-family:var(--font-head);
    font-weight:700;
    font-size:13px;
    padding:12px 18px;
    border-radius:12px;
    box-shadow:0 12px 30px rgba(0,0,0,.25);
  }

  /* ============ FEATURES / GROWTH SECTION ============ */
  .growth{
    background:var(--white);
    padding:100px 32px;
  }
  .growth-inner{
    max-width:1400px;
    margin:0 auto;
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:72px;
    align-items:center;
  }
  .growth-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--teal-600);
    margin-bottom:16px;
  }
  .growth-eyebrow::before{
    content:'';
    width:26px; height:2px;
    background:var(--orange-500);
  }
  .growth-copy h2{
    font-family:var(--font-head);
    font-weight:700;
    font-size:clamp(28px, 3.2vw, 40px);
    line-height:1.18;
    color:var(--teal-900);
    letter-spacing:-.3px;
  }
  .growth-copy p{
    margin-top:20px;
    font-size:15.5px;
    line-height:1.8;
    color:#4c6664;
    max-width:460px;
  }
  .growth-copy .btn-primary{
    display:inline-block;
    margin-top:30px;
  }

  .visual-frame{
    position:relative;
    border-radius:24px;
    overflow:hidden;
    background:linear-gradient(160deg, var(--teal-700), var(--teal-600));
    padding:6px;
  }
  .visual-frame img,
  .visual-frame .frame-video{
    width:100%;
    display:block;
    border-radius:19px;
  }
  .visual-frame .frame-video{
    aspect-ratio:560/420;
    object-fit:cover;
    background:#0a4747;
  }
  .visual-frame .frame-badge{
    position:absolute;
    bottom:20px;
    left:20px;
    background:rgba(6,48,47,.85);
    backdrop-filter:blur(6px);
    color:var(--white);
    padding:12px 18px;
    border-radius:12px;
    display:flex;
    align-items:center;
    gap:10px;
    font-size:13px;
    font-weight:600;
  }
  .visual-frame .frame-badge .pulse{
    width:9px; height:9px;
    border-radius:50%;
    background:var(--orange-500);
    box-shadow:0 0 0 0 rgba(245,166,35,.6);
    animation:pulse 1.8s infinite;
  }
  @keyframes pulse{
    0%{ box-shadow:0 0 0 0 rgba(245,166,35,.55); }
    70%{ box-shadow:0 0 0 10px rgba(245,166,35,0); }
    100%{ box-shadow:0 0 0 0 rgba(245,166,35,0); }
  }

  /* ---- floating + glow animation wrapper for the home page video ---- */
  .visual-frame-wrap{
    position:relative;
    animation:frameFloat 6s ease-in-out infinite;
  }
  .visual-frame-wrap::before{
    content:'';
    position:absolute;
    inset:-8px;
    border-radius:30px;
    background:conic-gradient(from 0deg, var(--orange-500), var(--teal-600), var(--orange-500), var(--teal-700), var(--orange-500));
    filter:blur(22px);
    opacity:.5;
    z-index:0;
    animation:spinGlow 7s linear infinite;
  }
  .visual-frame-wrap .visual-frame{ position:relative; z-index:1; }
  @keyframes frameFloat{
    0%, 100%{ transform:translateY(0); }
    50%{ transform:translateY(-12px); }
  }
  @keyframes spinGlow{
    0%{ transform:rotate(0deg); }
    100%{ transform:rotate(360deg); }
  }
  @media (prefers-reduced-motion:reduce){
    .visual-frame-wrap,
    .visual-frame-wrap::before{ animation:none; }
  }

  /* ---- stylish "video is playing" button on the home page frame ---- */
  .video-sound-btn-slot{
    position:absolute;
    right:20px;
    bottom:20px;
    z-index:2;
    display:flex;
    pointer-events:none;
  }
  .video-sound-btn{
    position:relative;
    pointer-events:auto;
    z-index:2;
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 20px 11px 14px;
    background:linear-gradient(135deg, var(--orange-500), var(--orange-600));
    border:1.5px solid rgba(255,255,255,.4);
    border-radius:999px;
    color:var(--teal-900);
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.2px;
    cursor:pointer;
    overflow:hidden;
    box-shadow:0 10px 24px rgba(245,166,35,.45), 0 0 0 0 rgba(245,166,35,.5);
    animation:soundBtnGlow 2.6s ease-in-out infinite, soundBtnBob 3.4s ease-in-out infinite;
    transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease, background .3s ease;
  }
  .video-sound-btn::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(115deg, transparent 20%, rgba(255,255,255,.65) 42%, transparent 60%);
    transform:translateX(-140%);
    animation:soundBtnShine 3.2s ease-in-out infinite;
    pointer-events:none;
  }
  .video-sound-btn:hover{
    transform:translateY(-4px) scale(1.06);
    background:linear-gradient(135deg, var(--orange-600), var(--orange-500));
    box-shadow:0 16px 32px rgba(245,166,35,.6);
  }
  .video-sound-btn:active{ transform:translateY(-1px) scale(1.01); }
  @keyframes soundBtnGlow{
    0%, 100%{ box-shadow:0 10px 24px rgba(245,166,35,.4), 0 0 0 0 rgba(255,255,255,.5); }
    50%{ box-shadow:0 10px 24px rgba(245,166,35,.4), 0 0 0 8px rgba(255,255,255,0); }
  }
  @keyframes soundBtnBob{
    0%, 100%{ transform:translateY(0); }
    50%{ transform:translateY(-3px); }
  }
  @keyframes soundBtnShine{
    0%, 35%{ transform:translateX(-140%); }
    65%, 100%{ transform:translateX(140%); }
  }
  .vsb-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:22px; height:22px;
    flex:none;
  }
  .vsb-icon svg{ width:16px; height:16px; }
  .vsb-eq{
    display:flex;
    align-items:flex-end;
    gap:2.5px;
    height:14px;
  }
  .vsb-eq i{
    display:block;
    width:3px;
    border-radius:2px;
    background:var(--teal-900);
    animation:eqBounce 1s ease-in-out infinite;
  }
  .video-sound-btn:hover .vsb-eq i{ background:var(--teal-900); }
  .vsb-eq i:nth-child(1){ animation-delay:0s; }
  .vsb-eq i:nth-child(2){ animation-delay:.15s; }
  .vsb-eq i:nth-child(3){ animation-delay:.3s; }
  .vsb-eq i:nth-child(4){ animation-delay:.45s; }
  @keyframes eqBounce{
    0%, 100%{ height:4px; }
    50%{ height:14px; }
  }
  .video-sound-btn.is-muted{
    background:rgba(6,48,47,.85);
    color:var(--white);
    border-color:rgba(245,166,35,.55);
  }
  .video-sound-btn.is-muted:hover{
    background:var(--orange-500);
    color:var(--teal-900);
  }
  .video-sound-btn.is-muted .vsb-eq i{ background:var(--orange-500); }
  .video-sound-btn.is-muted:hover .vsb-eq i{ background:var(--teal-900); }


  .feature-grid{
    grid-column:1 / -1;
    margin-top:64px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:32px;
  }
  .feature-card{
    position:relative;
    padding:38px 34px;
    border:1px solid #e6efec;
    border-radius:16px;
    overflow:hidden;
    transition:border-color .3s ease, box-shadow .35s ease, transform .35s cubic-bezier(.2,.8,.2,1);
  }
  .feature-card::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(120deg, transparent 30%, rgba(245,166,35,.08) 50%, transparent 70%);
    transform:translateX(-120%);
    transition:transform .7s ease;
    pointer-events:none;
  }
  .feature-card::after{
    content:'';
    position:absolute;
    left:0; right:0; bottom:0;
    height:3px;
    background:linear-gradient(90deg, var(--orange-500), var(--orange-600));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .35s ease;
  }
  .feature-card:hover{
    border-color:transparent;
    box-shadow:0 24px 50px rgba(6,48,47,.14);
    transform:translateY(-8px);
  }
  .feature-card:hover::before{ transform:translateX(120%); }
  .feature-card:hover::after{ transform:scaleX(1); }
  .feature-icon{
    width:58px; height:58px;
    border-radius:12px;
    background:linear-gradient(150deg, var(--orange-500), var(--orange-600));
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px;
    transition:transform .45s cubic-bezier(.34,1.56,.64,1), box-shadow .35s ease, border-radius .35s ease;
  }
  .feature-icon svg{ width:24px; height:24px; stroke:var(--white); transition:transform .4s ease; }
  .feature-card:hover .feature-icon{
    transform:scale(1.12) rotate(-8deg);
    border-radius:16px;
    box-shadow:0 10px 24px rgba(245,166,35,.4);
  }
  .feature-card:hover .feature-icon svg{ transform:scale(1.1); }
  .feature-card h3{
    font-family:var(--font-head);
    font-size:19.5px;
    font-weight:600;
    color:var(--teal-900);
    margin-bottom:12px;
    transition:color .25s ease, transform .3s ease;
  }
  .feature-card:hover h3{ color:var(--orange-600); transform:translateX(2px); }
  .feature-card p{
    font-size:14.5px;
    line-height:1.8;
    color:#5c7472;
  }

  @media (max-width:1024px){
    .growth-inner{ grid-template-columns:1fr; gap:48px; }
    .visual-frame-wrap{ order:-1; max-width:520px; margin:0 auto; }
    .feature-grid{ grid-template-columns:1fr; margin-top:52px; }
  }
  @media (max-width:480px){
    .video-sound-btn .vsb-label{ display:none; }
    .video-sound-btn{ padding:10px; }
  }
  @media (max-width:640px){
    .growth{ padding:64px 20px; }
  }

  /* ============ SERVICES SECTION ============ */
  .services{
    background:var(--cream);
    padding:100px 32px 110px;
  }
  .services-inner{
    max-width:1280px;
    margin:0 auto;
  }
  .services-head{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:60px;
    align-items:end;
    margin-bottom:56px;
  }
  .services-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:13.5px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--teal-600);
    margin-bottom:18px;
  }
  .services-eyebrow::before{
    content:'';
    width:26px; height:2px;
    background:var(--orange-500);
  }
  .services-head h2{
    font-family:var(--font-head);
    font-weight:700;
    font-size:clamp(32px, 3.6vw, 46px);
    line-height:1.16;
    color:var(--teal-900);
    letter-spacing:-.3px;
  }
  .services-head p{
    font-size:16.5px;
    line-height:1.8;
    color:#4c6664;
  }

  /* "What We Do" sidebar + service list */
  .services-body{
    display:grid;
    grid-template-columns:.85fr 1.4fr;
    gap:32px;
    align-items:start;
  }
  .what-we-do{
    position:sticky;
    top:100px;
    background:var(--white);
    border:1.5px dashed rgba(10,71,71,.28);
    border-radius:18px;
    padding:38px 34px;
  }
  .what-we-do h3{
    font-family:var(--font-head);
    font-weight:700;
    font-size:24px;
    color:var(--teal-900);
    margin-bottom:16px;
  }
  .what-we-do p{
    font-size:14.5px;
    line-height:1.85;
    color:#4c6664;
    margin-bottom:26px;
  }
  .what-we-do .more-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:14px;
    font-weight:700;
    color:var(--teal-900);
  }
  .what-we-do .more-link .arrow-dot{
    width:32px; height:32px;
    border-radius:50%;
    background:var(--orange-500);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    transition:transform .18s ease, background .18s ease;
  }
  .what-we-do .more-link .arrow-dot svg{ width:14px; height:14px; stroke:var(--teal-900); }
  .what-we-do .more-link:hover .arrow-dot{ transform:translateX(3px); background:var(--orange-600); }

  .service-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 28px;
  }
  .service-row{
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:18px 6px;
    border-bottom:1px solid #dde9e5;
    text-decoration:none;
    color:inherit;
    cursor:pointer;
    border-radius:10px;
    transition:background .25s ease;
  }
  a.service-row:hover{
    background:rgba(255,255,255,.55);
  }
  a.service-row:hover h3{
    color:var(--teal-700);
  }
  .service-row .service-icon{
    position:relative;
    width:44px; height:44px;
    border-radius:12px;
    background:var(--white);
    border:1px solid #e0ede9;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    overflow:hidden;
    transition:background .35s ease, border-color .35s ease, transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .35s ease;
  }
  .service-row .service-icon::before{
    content:'';
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:radial-gradient(circle, rgba(19,122,113,.22), transparent 70%);
    opacity:0;
    transform:scale(.3);
    transition:opacity .35s ease, transform .35s ease;
  }
  .service-row .service-icon::after{
    content:'';
    position:absolute;
    inset:-6px;
    border-radius:inherit;
    border:1.5px solid rgba(19,122,113,.35);
    opacity:0;
    transform:scale(.7);
  }
  .service-row:hover .service-icon::after{
    animation:icon-ring-pulse .7s ease-out;
  }
  @keyframes icon-ring-pulse{
    0%{ opacity:.8; transform:scale(.7); }
    100%{ opacity:0; transform:scale(1.35); }
  }
  .service-row .service-icon svg{
    width:21px; height:21px; stroke:var(--teal-700);
    transition:stroke .3s ease, transform .4s cubic-bezier(.34,1.56,.64,1);
    animation:icon-float 3.2s ease-in-out infinite;
  }
  .service-row:nth-child(2n) .service-icon svg{ animation-delay:-1.1s; }
  .service-row:nth-child(3n) .service-icon svg{ animation-delay:-2s; }
  @keyframes icon-float{
    0%,100%{ transform:translateY(0) rotate(0deg); }
    50%{ transform:translateY(-3px) rotate(-3deg); }
  }
  .service-row:hover .service-icon{
    background:linear-gradient(150deg, var(--teal-600), var(--teal-800));
    border-color:transparent;
    transform:translateY(-4px) scale(1.1) rotate(-4deg);
    box-shadow:0 12px 22px rgba(14,92,88,.3);
  }
  .service-row:hover .service-icon::before{
    opacity:1;
    transform:scale(1.3);
  }
  .service-row:hover .service-icon svg{
    stroke:var(--white);
    animation:icon-wiggle .55s ease;
  }

  /* Brand-true colors on hover, per platform */
  .service-row.sr-amazon:hover .service-icon,
  .service-row.sr-amazon2:hover .service-icon,
  .service-row.sr-amazonsetup:hover .service-icon{
    background:linear-gradient(150deg, #FF9900, #cc7a00);
    box-shadow:0 12px 22px rgba(255,153,0,.35);
  }
  .service-row.sr-tiktok:hover .service-icon{
    background:linear-gradient(150deg, #010101, #292929);
    box-shadow:0 12px 22px rgba(1,1,1,.35);
  }
  .service-row.sr-tiktok:hover .service-icon::before{
    background:radial-gradient(circle, rgba(37,244,238,.35), transparent 70%);
  }
  .service-row.sr-tiktok:hover .service-icon svg{
    stroke:#25F4EE;
  }
  .service-row.sr-shopify:hover .service-icon{
    background:linear-gradient(150deg, #95BF47, #6c8f2f);
    box-shadow:0 12px 22px rgba(149,191,71,.35);
  }
  .service-row.sr-etsy:hover .service-icon{
    background:linear-gradient(150deg, #F1641E, #c94f16);
    box-shadow:0 12px 22px rgba(241,100,30,.35);
  }
  .service-row.sr-youtube:hover .service-icon{
    background:linear-gradient(150deg, #FF0000, #cc0000);
    box-shadow:0 12px 22px rgba(255,0,0,.35);
  }
  .service-row.sr-walmart:hover .service-icon{
    background:linear-gradient(150deg, #0071CE, #005ba3);
    box-shadow:0 12px 22px rgba(0,113,206,.35);
  }
  @keyframes icon-wiggle{
    0%{ transform:scale(1.15) rotate(0deg); }
    25%{ transform:scale(1.15) rotate(-14deg); }
    50%{ transform:scale(1.15) rotate(12deg); }
    75%{ transform:scale(1.15) rotate(-6deg); }
    100%{ transform:scale(1.15) rotate(0deg); }
  }
  .service-row h3{
    font-family:var(--font-head);
    font-size:15.5px;
    font-weight:600;
    color:var(--teal-900);
    letter-spacing:-.1px;
  }
  .service-row p{
    margin-top:4px;
    font-size:13.5px;
    line-height:1.65;
    color:#5c7472;
  }

  .services-cta{
    margin-top:48px;
    display:flex;
    justify-content:center;
  }

  @media (max-width:1024px){
    .services-head{ grid-template-columns:1fr; gap:20px; align-items:start; }
    .services-body{ grid-template-columns:1fr; }
    .what-we-do{ position:static; }
  }
  @media (max-width:640px){
    .service-list{ grid-template-columns:1fr; }
  }
  @media (max-width:760px){
    .services-grid{ grid-template-columns:repeat(2, 1fr); }
    .service-card p{ min-height:0; }
  }
  @media (max-width:640px){
    .services{ padding:64px 20px 72px; }
    .services-grid{ grid-template-columns:1fr; }
  }

  /* ============ TRUST / STATS BAND ============ */
  .trust-band{
    position:relative;
    background:
      radial-gradient(700px 380px at 90% 0%, rgba(245,166,35,.10), transparent 60%),
      linear-gradient(120deg, var(--teal-600) 0%, var(--teal-800) 70%);
    padding:72px 32px;
    overflow:hidden;
  }
  .trust-band::before{
    content:'';
    position:absolute;
    inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(80% 100% at 30% 0%, rgba(0,0,0,.55), transparent 75%);
    pointer-events:none;
  }
  .trust-inner{
    position:relative;
    max-width:1280px;
    margin:0 auto;
  }
  .trust-head{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    align-items:center;
  }
  .trust-head h2{
    font-family:var(--font-head);
    font-weight:700;
    font-size:clamp(26px, 2.8vw, 34px);
    line-height:1.22;
    color:var(--white);
    letter-spacing:-.2px;
  }
  .trust-head p{
    font-size:14.5px;
    line-height:1.85;
    color:var(--muted);
  }
  .trust-stats{
    margin-top:56px;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
  }
  .trust-stat{
    text-align:center;
    padding:0 16px;
    border-left:1px solid rgba(255,255,255,.14);
  }
  .trust-stat:first-child{ border-left:none; }
  .trust-stat .num{
    font-family:var(--font-head);
    font-weight:700;
    font-size:clamp(28px, 3vw, 38px);
    color:var(--white);
    display:inline-block;
    transition:color .25s ease, transform .3s cubic-bezier(.34,1.56,.64,1);
  }
  .trust-stat:hover .num{
    color:var(--orange-500);
    transform:translateY(-3px) scale(1.06);
  }
  .trust-stat .lbl{
    margin-top:6px;
    font-size:13px;
    letter-spacing:.3px;
    color:var(--muted);
  }

  @media (max-width:900px){
    .trust-head{ grid-template-columns:1fr; gap:20px; }
  }
  @media (max-width:700px){
    .trust-stats{ grid-template-columns:repeat(2, 1fr); row-gap:32px; }
    .trust-stat:nth-child(3){ border-left:none; }
  }
  @media (max-width:640px){
    .trust-band{ padding:56px 20px; }
  }

  /* ============ PARTNER BADGES MARQUEE ============ */
  .badges-strip{
    position:relative;
    background:
      radial-gradient(700px 320px at 12% 0%, rgba(19,122,113,.07), transparent 60%),
      radial-gradient(700px 320px at 88% 100%, rgba(245,166,35,.06), transparent 60%),
      linear-gradient(180deg, #ffffff, #f4faf8);
    padding:88px 32px 92px;
    border-bottom:1px solid #e6efec;
  }
  .badges-strip-card{
    max-width:1280px;
    margin:0 auto;
    background:var(--white);
    border:1px solid #e3f0ec;
    border-radius:28px;
    box-shadow:0 24px 60px rgba(6,48,47,.07);
    padding:72px 52px 76px;
  }
  .badges-strip .badges-head{
    max-width:720px;
    margin:0 auto 52px;
    padding:0;
    text-align:center;
  }
  .badges-strip .testi-eyebrow{ justify-content:center; font-size:13.5px; }
  .badges-strip .badges-head h2{
    font-family:var(--font-head);
    font-weight:700;
    font-size:clamp(26px, 3.2vw, 38px);
    color:var(--teal-900);
    margin-top:12px;
  }
  .badges-strip .badges-head p{
    font-size:16.5px;
    color:#7b9491;
    margin-top:10px;
  }
  .badges-marquee{
    position:relative;
    overflow:hidden;
    padding:14px 0;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  }
  .badges-track{
    display:flex;
    align-items:center;
    gap:36px;
    width:max-content;
    animation:badges-scroll 26s linear infinite;
  }
  /* runs continuously — no pause on hover, per request */
  .badge-chip{
    flex-shrink:0;
    width:120px;
    height:120px;
    border-radius:50%;
    background:var(--white);
    border:1px solid #e3f0ec;
    box-shadow:0 10px 26px rgba(6,48,47,.08);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px;
    transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
  }
  .badge-chip:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 32px rgba(6,48,47,.14);
    border-color:var(--orange-500);
  }
  .badge-chip img{
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:50%;
  }
  @keyframes badges-scroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-25%); }
  }
  /* marquee is decorative and always runs, even with reduced-motion preferences,
     so it doesn't unexpectedly appear "frozen" for users with that OS setting on */
  @media (max-width:640px){
    .badges-strip{ padding:48px 16px; }
    .badges-strip-card{ padding:36px 20px 40px; border-radius:20px; }
    .badges-strip .badges-head{ padding:0 20px; }
    .badges-track{ gap:22px; }
    .badge-chip{ width:80px; height:80px; padding:9px; }
  }

  /* ============ CLIENT RESULTS — dual opposite-direction marquee ============ */
  .client-results{
    background:linear-gradient(180deg, #f4faf8, #ffffff);
    padding:64px 0 68px;
    border-bottom:1px solid #e6efec;
    overflow:hidden;
  }
  .client-results-head{
    max-width:800px;
    margin:0 auto 44px;
    padding:0 32px;
    text-align:center;
  }
  .client-results-head .testi-eyebrow{ justify-content:center; font-size:13.5px; }
  .client-results-head h2{
    font-family:var(--font-head);
    font-size:clamp(28px, 3.4vw, 40px);
    font-weight:700;
    color:var(--teal-900);
    margin:12px 0 14px;
  }
  .client-results-head p{
    font-size:15.5px;
    line-height:1.75;
    color:#5c7472;
  }
  .cr-marquee{
    position:relative;
    overflow:hidden;
    padding:12px 0;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  }
  .cr-marquee + .cr-marquee{ margin-top:22px; }
  .cr-track{
    display:flex;
    align-items:flex-start;
    gap:26px;
    width:max-content;
  }
  .cr-track--left{ animation:cr-scroll-left 34s linear infinite; }
  .cr-track--right{ animation:cr-scroll-right 34s linear infinite; }
  .cr-chip{
    flex-shrink:0;
    width:190px;
    height:380px;
    border-radius:18px;
    overflow:hidden;
    background:var(--white);
    border:1px solid #e3f0ec;
    box-shadow:0 10px 26px rgba(6,48,47,.08);
    transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease;
  }
  .cr-chip:hover{
    transform:translateY(-6px) scale(1.03);
    box-shadow:0 22px 40px rgba(6,48,47,.18);
    border-color:var(--orange-500);
    z-index:2;
  }
  .cr-chip img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:top center;
  }
  @keyframes cr-scroll-left{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }
  @keyframes cr-scroll-right{
    from{ transform:translateX(-50%); }
    to{ transform:translateX(0); }
  }
  /* runs continuously regardless of reduced-motion OS setting, same as the badges marquee above */
  @media (max-width:640px){
    .client-results{ padding:48px 0 52px; }
    .client-results-head{ padding:0 20px; margin-bottom:28px; }
    .cr-track{ gap:16px; }
    .cr-chip{ width:130px; height:260px; border-radius:14px; }
    .cr-marquee + .cr-marquee{ margin-top:14px; }
  }

  /* ============ TESTIMONIALS SECTION — "Proof Wall" ============ */
  .testimonials{
    position:relative;
    background:linear-gradient(180deg, #dff5f0, #e9f8f4);
    padding:88px 32px 100px;
    overflow:hidden;
  }
  .testimonials-inner{
    position:relative;
    max-width:1280px;
    margin:0 auto;
  }
  .testi-head{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:60px;
    align-items:end;
    margin-bottom:52px;
  }
  .testi-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--teal-600);
    margin:0 0 16px;
  }
  .testi-eyebrow::before{
    content:'';
    width:26px; height:2px;
    background:var(--orange-500);
  }
  .testi-head h2{
    font-family:var(--font-head);
    font-weight:700;
    font-size:clamp(28px, 3vw, 40px);
    line-height:1.18;
    color:var(--teal-900);
    letter-spacing:-.3px;
  }
  .testi-head p{
    font-size:15.5px;
    line-height:1.75;
    color:#4c6664;
  }

  /* Bento proof grid — full-width feature banner, videos in their own row below */
  .proof-grid{
    display:grid;
    grid-template-columns:repeat(12, 1fr);
    gap:20px;
  }
  .proof-videos-marquee{
    position:relative;
    margin-top:20px;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:4px 0;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
  }
  .proof-videos-track{
    display:flex;
    align-items:stretch;
    gap:22px;
    width:max-content;
    padding:0;
    animation:proof-scroll 38s linear infinite;
  }
  .proof-videos-track:hover,
  .proof-videos-track:focus-within{ animation-play-state:paused; }
  @keyframes proof-scroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }
  .proof-videos-marquee + .proof-videos-marquee{ margin-top:22px; }
  .proof-videos-track--reverse{
    animation-name:proof-scroll-reverse;
    animation-duration:38s;
  }
  @keyframes proof-scroll-reverse{
    from{ transform:translateX(-50%); }
    to{ transform:translateX(0); }
  }

  /* Second row: reviews + CTA tile in their own even grid */
  .proof-secondary{
    margin-top:20px;
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:20px;
  }

  /* Featured quote card — full-width signature banner */
  .proof-feature{
    position:relative;
    grid-column:span 12;
    background:linear-gradient(155deg, var(--teal-800), var(--teal-900));
    border-radius:18px;
    padding:40px 48px;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    overflow:hidden;
    min-height:220px;
  }
  .proof-feature::before{
    content:'\201D';
    position:absolute;
    top:-42px;
    left:24px;
    font-family:Georgia, serif;
    font-size:230px;
    line-height:1;
    color:rgba(245,166,35,.14);
    font-weight:700;
    user-select:none;
    pointer-events:none;
  }
  .proof-feature-body{ position:relative; flex:1; min-width:0; }
  .proof-feature-stars{ position:relative; display:flex; gap:3px; }
  .proof-feature-stars svg{ width:16px; height:16px; fill:var(--orange-500); }
  .proof-feature blockquote{
    position:relative;
    margin:22px 0 0;
    font-family:var(--font-head);
    font-weight:600;
    font-size:clamp(20px, 2.2vw, 26px);
    line-height:1.42;
    color:var(--white);
    max-width:600px;
  }
  .proof-feature-who{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    flex-shrink:0;
    padding-left:40px;
    border-left:1px solid rgba(255,255,255,.14);
  }
  .proof-feature-who .review-avatar{
    width:46px; height:46px; font-size:16px;
    background:linear-gradient(150deg, var(--orange-500), var(--orange-600));
  }
  .proof-feature-who .review-name{ color:var(--white); }
  .proof-feature-who .review-role{ color:rgba(255,255,255,.6); }

  /* Video thumbnail cards */
  .proof-video{
    position:relative;
    border-radius:16px;
    overflow:hidden;
    cursor:pointer;
    background:linear-gradient(160deg, var(--teal-700), var(--teal-600));
    border:2px solid transparent;
    transition:border-color .2s ease, transform .2s ease;
    flex:0 0 auto;
    width:clamp(230px, 22vw, 290px);
    min-height:360px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:16px;
  }
  .proof-video:nth-child(4n+2){ background:linear-gradient(160deg, #1b3b3a, #0a4747); }
  .proof-video:hover{ border-color:var(--orange-500); transform:translateY(-3px); }
  .proof-video-thumb{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 20%;
    z-index:0;
  }
  .proof-video-thumb ~ .proof-video-top,
  .proof-video-thumb ~ .proof-video-who{
    position:relative;
    z-index:1;
  }
  .proof-video:has(.proof-video-thumb)::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(6,48,47,.08) 0%, rgba(6,48,47,.55) 100%);
    z-index:0;
  }
  .proof-video-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .proof-video .duration{
    font-size:11px;
    font-weight:600;
    color:rgba(255,255,255,.75);
    background:rgba(0,0,0,.25);
    padding:3px 7px;
    border-radius:20px;
  }
  .proof-video .play-btn{
    width:34px; height:34px;
    border-radius:50%;
    background:var(--orange-500);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 6px 16px rgba(0,0,0,.3);
    flex-shrink:0;
    transition:transform .2s ease, background .2s ease;
  }
  .proof-video:hover .play-btn{ transform:scale(1.1); background:var(--orange-600); }
  .proof-video .play-btn svg{ width:12px; height:12px; margin-left:1.5px; }
  .proof-video-who{ display:flex; flex-direction:column; gap:2px; }
  .proof-video-who .name{
    font-family:var(--font-head);
    font-weight:600;
    font-size:13px;
    color:var(--white);
  }
  .proof-video-who .role{
    font-size:11px;
    color:rgba(255,255,255,.6);
  }

  /* Video testimonial lightbox */
  .video-lightbox{
    position:fixed;
    inset:0;
    background:rgba(4,26,25,.88);
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
    z-index:999;
  }
  .video-lightbox.open{ display:flex; }
  .video-lightbox-box{
    position:relative;
    width:100%;
    max-width:520px;
  }
  .video-lightbox video{
    width:100%;
    max-height:80vh;
    border-radius:16px;
    background:#000;
    display:block;
  }
  .video-lightbox-who{
    margin-top:14px;
    text-align:center;
    color:var(--white);
  }
  .video-lightbox-who .name{
    font-family:var(--font-head);
    font-weight:600;
    font-size:15px;
  }
  .video-lightbox-who .role{
    font-size:12.5px;
    color:rgba(255,255,255,.65);
    margin-top:2px;
  }
  .video-lightbox-close{
    position:absolute;
    top:-44px;
    right:0;
    width:36px;
    height:36px;
    border-radius:50%;
    border:none;
    background:rgba(255,255,255,.12);
    color:var(--white);
    font-size:20px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s ease;
  }
  .video-lightbox-close:hover{ background:var(--orange-500); }

  /* Written review tiles */
  .proof-review{
    grid-column:span 3;
    background:var(--white);
    border:1px solid #dcece7;
    border-radius:14px;
    padding:22px 22px 20px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }
  .review-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-bottom:14px;
  }
  .review-who{ display:flex; align-items:center; gap:10px; }
  .review-avatar{
    width:38px; height:38px;
    border-radius:50%;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--font-head);
    font-weight:700;
    font-size:14px;
    color:var(--white);
    background:linear-gradient(150deg, var(--teal-600), var(--teal-800));
  }
  .review-name{ font-size:14px; font-weight:600; color:var(--teal-900); line-height:1.3; }
  .review-role{ font-size:12px; color:#7b9491; }
  .review-stars{ display:flex; gap:2px; flex-shrink:0; }
  .review-stars svg{ width:14px; height:14px; fill:var(--orange-500); }
  .proof-review p{
    font-size:13.5px;
    line-height:1.7;
    color:#3d5654;
  }

  /* Reviews row: fixed CTA tile beside the auto-sliding carousel */
  .proof-secondary-row{
    margin-top:20px;
    display:flex;
    align-items:stretch;
    gap:20px;
  }
  .proof-secondary-row .proof-more{
    flex:0 0 260px;
  }
  .proof-secondary-row .review-slider{
    flex:1;
    min-width:0;
    margin-top:0;
  }
  @media (max-width:860px){
    .proof-secondary-row{ flex-direction:column; }
    .proof-secondary-row .proof-more{ flex:0 0 auto; }
  }

  /* Closing CTA tile in the grid */
  .proof-more{
    grid-column:span 3;
    border-radius:14px;
    border:1.5px dashed rgba(10,71,71,.28);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:10px;
    padding:22px;
  }
  .proof-more strong{
    font-family:var(--font-head);
    font-size:20px;
    color:var(--teal-900);
  }
  .proof-more span{
    font-size:12.5px;
    color:#4c6664;
    line-height:1.6;
  }
  .proof-more a{
    margin-top:4px;
    font-size:13px;
    font-weight:700;
    color:var(--teal-700);
    display:inline-flex;
    align-items:center;
    gap:6px;
  }
  .proof-more a svg{ width:13px; height:13px; transition:transform .2s ease; }
  .proof-more a:hover svg{ transform:translateX(3px); }

  @media (max-width:1024px){
    .testi-head{ grid-template-columns:1fr; gap:16px; }
    .proof-feature{ flex-direction:column; align-items:flex-start; min-height:auto; }
    .proof-feature-who{ border-left:none; padding-left:0; border-top:1px solid rgba(255,255,255,.14); padding-top:20px; width:100%; }
    .proof-videos-track{ gap:16px; }
    .proof-review, .proof-more{ grid-column:span 3; }
    .proof-video{ min-height:280px; width:clamp(200px, 40vw, 250px); }
  }
  @media (max-width:640px){
    .testimonials{ padding:64px 20px 72px; }
    .proof-feature{ padding:32px 26px 28px; }
    .proof-feature::before{ font-size:170px; top:-30px; }
    .proof-videos-track{ gap:12px; padding:0 20px; animation-duration:26s; }
    .proof-review, .proof-more{ grid-column:span 1; }
    .proof-video{ min-height:220px; width:clamp(170px, 62vw, 220px); }
  }

  /* ============ MORE REVIEWS — auto-sliding row, same card design ============ */
  .review-slider{
    position:relative;
    overflow:hidden;
    margin-top:28px;
    padding:8px 0;
  }
  .review-track{
    display:flex;
    align-items:stretch;
    gap:20px;
    width:max-content;
    animation:review-scroll 50s linear infinite;
    will-change:transform;
  }
  .review-slider:hover .review-track{ animation-play-state:paused; }
  .review-slide{
    flex-shrink:0;
    width:300px;
    height:220px;
    background:var(--white);
    border:1px solid transparent;
    border-radius:14px;
    padding:22px 22px 20px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease;
    transform:translateZ(0);
    -webkit-transform:translateZ(0);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }
  .review-slide:hover{
    transform:translateY(-5px) translateZ(0);
    box-shadow:0 18px 36px rgba(6,48,47,.12);
    border-color:var(--orange-500);
  }
  .review-slide p{
    font-size:13.5px;
    line-height:1.7;
    color:#3d5654;
    display:-webkit-box;
    -webkit-line-clamp:5;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  @keyframes review-scroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }
  @keyframes review-scroll-right{
    from{ transform:translateX(-50%); }
    to{ transform:translateX(0); }
  }
  @media (max-width:640px){
    .review-slide{ width:250px; height:230px; padding:18px 18px 16px; }
    .review-track{ gap:14px; }
  }

  /* Second reviews row -- full-width, slides continuously to the RIGHT */
  .review-slider--row2{ margin-top:20px; }
  .review-track--row2{ animation-name:review-scroll-right; animation-duration:65s; }
  @media (max-width:640px){
    .review-slider--row2{ margin-top:14px; }
  }

  /* ============ FAQ SECTION ============ */
  .faq-section{
    background:var(--cream);
    padding:88px 32px 100px;
  }
  .faq-inner{
    max-width:860px;
    margin:0 auto;
  }
  .faq-head{
    text-align:center;
    margin-bottom:44px;
  }
  .faq-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--teal-600);
    margin-bottom:16px;
  }
  .faq-eyebrow::before{
    content:'';
    width:26px; height:2px;
    background:var(--orange-500);
  }
  .faq-head h2{
    font-family:var(--font-head);
    font-weight:700;
    font-size:clamp(26px, 3vw, 36px);
    line-height:1.2;
    color:var(--teal-900);
    letter-spacing:-.3px;
    margin-bottom:14px;
  }
  .faq-head h2 em{
    font-style:italic;
    color:var(--teal-600);
  }
  .faq-head p{
    font-size:15px;
    line-height:1.75;
    color:#4c6664;
    max-width:620px;
    margin:0 auto;
  }
  .faq-list{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .faq-item{
    background:var(--white);
    border:1px solid #e3f0ec;
    border-left:3px solid var(--orange-500);
    border-radius:12px;
    overflow:hidden;
    transition:box-shadow .2s ease;
  }
  .faq-item[open]{
    box-shadow:0 12px 28px rgba(6,48,47,.08);
  }
  .faq-item summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:20px 22px;
    cursor:pointer;
    font-family:var(--font-head);
    font-weight:600;
    font-size:15.5px;
    color:var(--teal-900);
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-toggle{
    flex-shrink:0;
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--cream);
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    transition:background .2s ease, transform .2s ease;
  }
  .faq-toggle::before, .faq-toggle::after{
    content:'';
    position:absolute;
    background:var(--teal-700);
    border-radius:2px;
  }
  .faq-toggle::before{ width:12px; height:2px; }
  .faq-toggle::after{ width:2px; height:12px; transition:transform .2s ease; }
  .faq-item[open] .faq-toggle{ background:var(--orange-500); }
  .faq-item[open] .faq-toggle::before,
  .faq-item[open] .faq-toggle::after{ background:var(--white); }
  .faq-item[open] .faq-toggle::after{ transform:scaleY(0); }
  .faq-answer{
    padding:0 22px 22px 22px;
    font-size:14.5px;
    line-height:1.75;
    color:#5a716e;
  }
  @media (max-width:640px){
    .faq-section{ padding:64px 20px 72px; }
    .faq-item summary{ padding:16px 18px; font-size:14.5px; }
    .faq-answer{ padding:0 18px 18px 18px; }
  }

  /* ============ FOOTER ============ */
  /* ============ FOOTER CTA BANNER ============ */
  .footer-cta{
    position:relative;
    background:linear-gradient(120deg, var(--teal-800), var(--teal-700) 55%, var(--teal-800));
    overflow:hidden;
  }
  .footer-cta::before{
    content:'';
    position:absolute;
    top:-60%; right:-8%;
    width:420px; height:420px;
    background:radial-gradient(circle, rgba(245,166,35,.28), transparent 70%);
    pointer-events:none;
  }
  .footer-cta::after{
    content:'';
    position:absolute;
    bottom:-60%; left:-8%;
    width:420px; height:420px;
    background:radial-gradient(circle, rgba(245,166,35,.14), transparent 70%);
    pointer-events:none;
  }
  .footer-cta-inner{
    position:relative;
    max-width:1280px;
    margin:0 auto;
    padding:56px 32px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:64px;
    flex-wrap:wrap;
  }
  .footer-cta-text{ flex:1 1 560px; }
  .footer-cta-text .testi-eyebrow{ color:var(--orange-500); }
  .footer-cta-text h2{
    font-family:var(--font-head);
    font-size:clamp(22px, 2.6vw, 30px);
    font-weight:700;
    color:var(--white);
    margin:10px 0 8px;
  }
  .footer-cta-text p{
    font-size:14.5px;
    color:rgba(238,246,244,.8);
    max-width:440px;
  }
  .footer-cta-btn{
    flex-shrink:0;
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  @media (max-width:640px){
    .footer-cta-inner{ padding:44px 20px; text-align:center; justify-content:center; gap:28px; }
    .footer-cta-text{ flex-basis:auto; }
    .footer-cta-text p{ margin:0 auto; }
  }

  .site-footer{
    position:relative;
    background:var(--teal-900);
    color:var(--muted);
    overflow:hidden;
  }
  .footer-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(60px);
    pointer-events:none;
    opacity:.5;
  }
  .footer-glow-1{
    width:360px; height:360px;
    top:-120px; left:-80px;
    background:radial-gradient(circle, rgba(19,122,113,.55), transparent 70%);
  }
  .footer-glow-2{
    width:420px; height:420px;
    bottom:-160px; right:-100px;
    background:radial-gradient(circle, rgba(245,166,35,.18), transparent 70%);
  }
  .footer-main{
    position:relative;
    max-width:1280px;
    margin:0 auto;
    padding:72px 32px 48px;
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:32px;
  }
  .footer-brand p{
    margin-top:16px;
    font-size:14px;
    line-height:1.75;
    color:rgba(207,231,226,.75);
    max-width:280px;
  }
  .footer-brand .brand{ margin-bottom:4px; }
  .social-row{
    display:flex;
    gap:10px;
    margin-top:22px;
    flex-wrap:wrap;
    max-width:300px;
  }
  .social-row a{
    --brand: var(--orange-500);
    --icon-color: color-mix(in srgb, var(--brand) 60%, white 40%);
    position:relative;
    width:40px; height:40px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.05);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 1px 0 rgba(255,255,255,.05) inset;
    transition:background .25s ease, border-color .25s ease, transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease;
  }
  .social-row a:hover{
    background:var(--brand);
    border-color:var(--brand);
    transform:translateY(-4px) scale(1.08);
    box-shadow:0 12px 24px color-mix(in srgb, var(--brand) 50%, transparent);
  }
  .social-row svg{ width:17px; height:17px; stroke:var(--icon-color); stroke-width:1.8; transition:transform .3s ease, stroke .25s ease; }
  .social-row a:hover svg{ stroke:var(--white); transform:scale(1.1) rotate(6deg); }
  .social-row svg.ttk-svg{ fill:var(--icon-color); stroke:none; } .social-row a:hover svg.ttk-svg{ fill:var(--white); } .social-row svg.fb-svg{ fill:var(--icon-color); stroke:none; } .social-row a:hover svg.fb-svg{ fill:var(--white); }
  .social-row a span.txt{
    font-family:var(--font-head);
    font-weight:700;
    font-size:14px;
    color:var(--icon-color);
    transition:color .25s ease, transform .25s ease;
  }
  .social-row a:hover span.txt{ color:var(--white); transform:scale(1.1); }

  .footer-col h4{
    position:relative;
    font-family:var(--font-head);
    font-size:14.5px;
    font-weight:600;
    color:var(--white);
    letter-spacing:.3px;
    margin-bottom:20px;
    padding-bottom:10px;
  }
  .footer-col h4::after{
    content:'';
    position:absolute;
    left:0; bottom:0;
    width:26px; height:2px;
    background:var(--orange-500);
    border-radius:2px;
  }
  .footer-col ul{
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .footer-col a{
    font-size:13.5px;
    color:rgba(207,231,226,.8);
    transition:color .15s ease, padding-left .15s ease;
    display:inline-block;
  }
  .footer-col a:hover{ color:var(--orange-500); padding-left:4px; }

  .footer-contact li{
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:13.5px;
    line-height:1.6;
    color:rgba(207,231,226,.85);
  }
  .footer-contact svg{
    width:16px; height:16px;
    flex-shrink:0;
    margin-top:2px;
    stroke:var(--orange-500);
  }
  .footer-contact a{ color:inherit; }
  .footer-contact a:hover{ color:var(--orange-500); }

  /* Contact strip (email / location / phone row) */
  .footer-contact-strip{
    position:relative;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .contact-strip-inner{
    max-width:1280px;
    margin:0 auto;
    padding:30px 32px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }
  .contact-item{
    display:flex;
    align-items:flex-start;
    gap:12px;
  }
  .contact-icon{
    flex-shrink:0;
    width:34px; height:34px;
    border-radius:50%;
    border:1px solid rgba(245,166,35,.4);
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .contact-icon svg{ width:16px; height:16px; stroke:var(--orange-500); }
  .contact-text{ font-size:13.5px; line-height:1.6; color:rgba(207,231,226,.85); }
  .contact-text .label{
    display:block;
    font-size:12px;
    color:rgba(207,231,226,.55);
    margin-bottom:2px;
  }
  .contact-text a{ color:var(--white); font-weight:600; }
  .contact-text a:hover{ color:var(--orange-500); }
  .contact-text span:not(.label){ color:var(--white); font-weight:600; }

  /* Partner badges + payment icons row */
  .footer-trust-row{
    border-top:1px solid rgba(255,255,255,.08);
  }
  .footer-trust-inner{
    max-width:1280px;
    margin:0 auto;
    padding:26px 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:20px;
  }
  .partner-badges{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
  }
  .partner-badges img{
    width:46px; height:46px;
    border-radius:50%;
    object-fit:cover;
    background:var(--white);
  }
  .payment-icons{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
  }
  .pay-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:30px;
    padding:0 12px;
    border-radius:6px;
    background:var(--white);
    color:var(--ink);
    font-family:var(--font-head);
    font-weight:700;
    font-size:12px;
    letter-spacing:.3px;
  }
  .pay-chip.pay-stripe{ font-style:italic; text-transform:lowercase; color:#635bff; }
  .pay-chip.pay-visa{ color:#1a1f71; }
  .pay-chip.pay-amex{ color:#2e77bc; font-size:10.5px; }
  .pay-chip.pay-disc{ color:#e8901a; font-size:10.5px; }
  .pay-chip.pay-mc{ gap:0; padding:0 10px; }
  .pay-chip.pay-mc i{
    width:16px; height:16px;
    border-radius:50%;
    display:inline-block;
  }
  .pay-chip.pay-mc i:first-child{ background:#eb001b; margin-right:-6px; }
  .pay-chip.pay-mc i:last-child{ background:#f79e1b; opacity:.85; }

  @media (max-width:760px){
    .contact-strip-inner{ grid-template-columns:1fr; }
    .footer-trust-inner{ justify-content:center; text-align:center; }
    .partner-badges, .payment-icons{ justify-content:center; }
  }

  .footer-disclaimer{
    border-top:1px solid rgba(255,255,255,.08);
  }
  .disclaimer-inner{
    max-width:1280px;
    margin:0 auto;
    padding:26px 32px;
    font-size:12.5px;
    line-height:1.7;
    color:rgba(207,231,226,.55);
    text-align:center;
  }
  .disclaimer-inner a{
    color:var(--orange-500);
    font-weight:500;
  }

  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
  }
  .footer-bottom-inner{
    max-width:1280px;
    margin:0 auto;
    padding:22px 32px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
  }
  .footer-bottom-inner .copy{
    font-size:13px;
    color:rgba(207,231,226,.6);
  }
  .footer-legal{
    display:flex;
    gap:22px;
  }
  .footer-legal a{
    font-size:13px;
    color:rgba(207,231,226,.6);
  }
  .footer-legal a:hover{ color:var(--orange-500); }

  .back-to-top{
    position:absolute;
    right:32px;
    bottom:22px;
    width:44px; height:44px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.18);
    background:linear-gradient(150deg, var(--orange-500), var(--orange-600));
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 24px rgba(0,0,0,.25);
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:opacity .3s ease, transform .3s ease, visibility .3s ease;
  }
  .back-to-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .back-to-top:hover{ transform:translateY(-4px); }
  .back-to-top svg{ width:18px; height:18px; stroke:var(--white); }
  @media (max-width:640px){
    .back-to-top{ right:16px; bottom:16px; width:40px; height:40px; }
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width:1024px){
    .footer-main{
      grid-template-columns:1fr 1fr;
    }
    .footer-brand{ grid-column:1 / -1; }
    .hero-inner{ grid-template-columns:1fr; }
    .hero-visual{ order:-1; max-width:340px; margin:0 auto; }
  }

  @media (max-width:860px){
    .main-nav{
      position:fixed;
      top:73px;
      left:0; right:0; bottom:0;
      background:var(--teal-800);
      justify-self:auto;
      padding:20px;
      transform:translateX(-100%);
      transition:transform .25s ease;
      overflow-y:auto;
    }
    .main-nav.open{ transform:translateX(0); }
    .main-nav > ul{
      flex-direction:column;
      align-items:stretch;
      gap:2px;
    }
    .nav-link{ padding:14px 12px; font-size:16px; }
    .dropdown{
      position:static;
      transform:none;
      width:100%;
      grid-template-columns:1fr;
      box-shadow:none;
      display:none;
      opacity:1; visibility:visible;
      background:rgba(255,255,255,.04);
    }
    .has-dropdown.open .dropdown{ display:grid; padding:10px; left:auto; transform:none; }
    .dropdown-item:hover{ background:rgba(255,255,255,.08); }
    .dd-title{ color:var(--white); }
    .dd-desc{ color:rgba(255,255,255,.6); }
    .dropdown-foot{ border-top-color:rgba(255,255,255,.14); }
    .dropdown-foot span{ color:rgba(255,255,255,.55); }
    .dropdown-foot a{ color:var(--orange-500); }
    .nav-toggle{ display:block; }
    .header-inner{ grid-template-columns:1fr auto; }
    .header-actions .phone-block{ display:none; }
    .phone-icon{ display:none; }
  }

  @media (max-width:640px){
    .header-inner{ padding:12px 20px; }
    .hero{ padding:56px 20px 72px; }
    .hero-stats{ flex-direction:column; }
    .stat-card{ min-width:100%; }
    .stat-card + .stat-card{ border-left:none; border-top:1px solid rgba(255,255,255,.12); }
    .footer-main{ grid-template-columns:1fr; padding:56px 20px 36px; }
    .footer-bottom-inner{ flex-direction:column; text-align:center; }
    .footer-legal{ flex-wrap:wrap; justify-content:center; }
    .disclaimer-inner{ padding:22px 20px; }
    .btn-contact{ padding:10px 16px; font-size:13px; }
  }

  /* ============ HOVER ANIMATIONS ============ */
  /* Header phone icon + footer contact icons (email / location / phone) */
  .phone-block .phone-icon,
  .contact-item .contact-icon{
    transition:background .25s ease, border-color .25s ease,
      transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease;
  }
  .phone-block .phone-icon svg,
  .contact-item .contact-icon svg{
    transition:stroke .25s ease, transform .3s ease;
  }
  .phone-block:hover .phone-icon,
  .contact-item:hover .contact-icon{
    background:var(--orange-500);
    border-color:var(--orange-500);
    transform:scale(1.12) rotate(-8deg);
    box-shadow:0 8px 18px rgba(245,166,35,.4);
  }
  .phone-block:hover .phone-icon svg,
  .contact-item:hover .contact-icon svg{
    stroke:var(--teal-900);
    transform:scale(1.08);
  }
  @keyframes iconRing{
    0%, 100%{ transform:rotate(0deg); }
    20%{ transform:rotate(-16deg); }
    40%{ transform:rotate(13deg); }
    60%{ transform:rotate(-9deg); }
    80%{ transform:rotate(5deg); }
  }
  .phone-block:hover .phone-icon svg{
    animation:iconRing .5s ease;
  }
  .phone-text .p1{ transition:color .25s ease; }
  .phone-block:hover .phone-text .p1{ color:var(--orange-500); }

  /* Shine-sweep animation on primary CTA buttons */
  .btn-primary,
  .btn-ghost,
  .btn-contact{
    position:relative;
    overflow:hidden;
    isolation:isolate;
  }
  .btn-primary::after,
  .btn-ghost::after,
  .btn-contact::after{
    content:'';
    position:absolute;
    top:0;
    left:-75%;
    width:45%;
    height:100%;
    background:linear-gradient(115deg, transparent, rgba(255,255,255,.4), transparent);
    transform:skewX(-20deg);
    transition:left .6s ease;
    pointer-events:none;
    z-index:1;
  }
  .btn-primary:hover::after,
  .btn-ghost:hover::after,
  .btn-contact:hover::after{
    left:130%;
  }

  /* ============================================================
     SITE-WIDE ANIMATIONS + ANCHOR HOVER EFFECTS
     ============================================================ */

  /* ---- global anchor hover: color change + motion, on every <a> ---- */
  a{
    transition: color .25s ease, opacity .25s ease, transform .2s ease;
  }
  a:hover{ color: var(--orange-500); }
  a:active{ transform: translateY(1px); }

  /* underline sweep for plain/inline text links that carry no button class */
  a:not([class]){ position:relative; }
  a:not([class])::after{
    content:'';
    position:absolute;
    left:0; bottom:-2px;
    width:0; height:1.5px;
    background:currentColor;
    transition:width .3s ease;
  }
  a:not([class]):hover::after{ width:100%; }

  /* lift effect for card-style and icon-style anchors */
  a.btn-primary, a.btn-ghost, a.btn-contact, a.fba-cta-btn-dark, a.fba-cta-phone,
  a.footer-cta-btn, a.dropdown-foot a, .social-row a, .fba-platform-card a{
    transition: background .2s ease, color .2s ease, border-color .2s ease,
                transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease;
  }
  a.btn-primary:hover, a.footer-cta-btn:hover{ transform:translateY(-3px); }
  a.btn-ghost:hover{ transform:translateY(-2px); }

  /* ---- scroll reveal ---- */
  .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .7s cubic-bezier(.22,.9,.28,1), transform .7s cubic-bezier(.22,.9,.28,1);
    will-change:opacity, transform;
  }
  .reveal.is-visible{
    opacity:1;
    transform:translateY(0);
  }

  /* ---- hero entrance animation (runs on load, not scroll) ---- */
  @keyframes fadeInUp{
    from{ opacity:0; transform:translateY(22px); }
    to{ opacity:1; transform:translateY(0); }
  }
  .hero-copy > *, .audit-hero-copy > *, .about-hero-copy > *,
  .contact-hero-copy > *, .fba-hero-inner > *{
    animation: fadeInUp .8s cubic-bezier(.22,.9,.28,1) both;
  }
  .hero-copy > *:nth-child(1), .audit-hero-copy > *:nth-child(1),
  .about-hero-copy > *:nth-child(1), .contact-hero-copy > *:nth-child(1),
  .fba-hero-inner > *:nth-child(1){ animation-delay:.05s; }
  .hero-copy > *:nth-child(2), .audit-hero-copy > *:nth-child(2),
  .about-hero-copy > *:nth-child(2), .contact-hero-copy > *:nth-child(2),
  .fba-hero-inner > *:nth-child(2){ animation-delay:.15s; }
  .hero-copy > *:nth-child(3), .audit-hero-copy > *:nth-child(3),
  .about-hero-copy > *:nth-child(3), .contact-hero-copy > *:nth-child(3),
  .fba-hero-inner > *:nth-child(3){ animation-delay:.25s; }
  .hero-copy > *:nth-child(4), .audit-hero-copy > *:nth-child(4),
  .about-hero-copy > *:nth-child(4), .contact-hero-copy > *:nth-child(4),
  .fba-hero-inner > *:nth-child(4){ animation-delay:.35s; }
  .hero-copy > *:nth-child(5), .audit-hero-copy > *:nth-child(5),
  .about-hero-copy > *:nth-child(5), .contact-hero-copy > *:nth-child(5),
  .fba-hero-inner > *:nth-child(5){ animation-delay:.45s; }

  /* respect reduced-motion preference */
  @media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1; transform:none; transition:none; }
    .hero-copy > *, .audit-hero-copy > *, .about-hero-copy > *,
    .contact-hero-copy > *, .fba-hero-inner > *{ animation:none; opacity:1; transform:none; }
    a{ transition:none; }
  }

  /* ============ WELCOME POPUP FORM (shown once the page finishes loading) ============ */
  .welcome-popup-overlay{
    position:fixed;
    inset:0;
    background:rgba(4,26,25,.72);
    display:flex;
    align-items:flex-start;
    justify-content:center;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:24px 20px;
    z-index:9999;
    opacity:0;
    visibility:hidden;
    transition:opacity .3s ease, visibility .3s ease;
  }
  .welcome-popup-overlay.is-open{
    opacity:1;
    visibility:visible;
  }
  .welcome-popup{
    position:relative;
    width:100%;
    max-width:460px;
    margin:auto 0;
    background:var(--teal-900);
    background:linear-gradient(160deg, var(--teal-800), var(--teal-900));
    border:1px solid rgba(255,255,255,.12);
    border-radius:20px;
    padding:40px 36px 34px;
    box-shadow:0 30px 70px rgba(0,0,0,.45);
    transform:translateY(18px) scale(.97);
    transition:transform .35s cubic-bezier(.2,.8,.2,1);
  }
  .welcome-popup-overlay.is-open .welcome-popup{
    transform:translateY(0) scale(1);
  }
  .welcome-popup-close{
    position:absolute;
    top:16px;
    right:16px;
    width:34px;
    height:34px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    color:var(--white);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    line-height:1;
    transition:background .18s ease, transform .18s ease;
  }
  .welcome-popup-close:hover{ background:rgba(255,255,255,.18); transform:rotate(90deg); }
  .welcome-popup .eyebrow{ margin-bottom:16px; }
  .welcome-popup h3{
    font-family:var(--font-head);
    font-weight:700;
    font-size:24px;
    line-height:1.3;
    color:var(--white);
    margin-bottom:8px;
  }
  .welcome-popup p{
    font-size:14px;
    line-height:1.6;
    color:var(--muted);
    margin-bottom:24px;
  }
  .welcome-popup-form{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .welcome-popup-form input,
  .welcome-popup-form textarea{
    width:100%;
    padding:13px 16px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.16);
    border-radius:9px;
    color:var(--white);
    font-family:var(--font-body);
    font-size:14px;
    transition:border-color .18s ease, background .18s ease;
  }
  .welcome-popup-form input::placeholder,
  .welcome-popup-form textarea::placeholder{ color:rgba(255,255,255,.45); }
  .welcome-popup-form input:focus,
  .welcome-popup-form textarea:focus{
    outline:none;
    border-color:var(--orange-500);
    background:rgba(255,255,255,.1);
  }
  .welcome-popup-form textarea{ resize:vertical; min-height:72px; }
  .welcome-popup-form button{
    margin-top:6px;
    padding:15px 24px;
    background:var(--orange-500);
    color:var(--teal-900);
    font-weight:700;
    font-size:14.5px;
    border-radius:9px;
    border:none;
    transition:transform .18s ease, background .18s ease;
  }
  .welcome-popup-form button:hover{ background:var(--orange-600); color:var(--white); transform:translateY(-2px); }
  .welcome-popup-form .wpf-hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none; }
  .welcome-popup-error{ margin:2px 0 0; font-size:13px; color:#ff8a8a; min-height:1px; }
  .welcome-popup-note{
    margin-top:14px;
    font-size:11.5px;
    color:rgba(255,255,255,.45);
    text-align:center;
  }
  .welcome-popup-checkbox{
    display:flex;
    align-items:flex-start;
    gap:10px;
    cursor:pointer;
    margin-top:2px;
  }
  .welcome-popup-checkbox input[type="checkbox"]{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    flex:0 0 18px;
    width:18px;
    height:18px;
    min-width:18px;
    min-height:18px;
    max-width:18px;
    max-height:18px;
    margin:1px 0 0 0;
    padding:0;
    line-height:normal;
    vertical-align:top;
    border:1.5px solid rgba(255,255,255,.35);
    border-radius:5px;
    background:rgba(255,255,255,.06);
    cursor:pointer;
    position:relative;
    transition:border-color .18s ease, background .18s ease;
  }
  .welcome-popup-checkbox input[type="checkbox"]:checked{
    background:var(--orange-500);
    border-color:var(--orange-500);
  }
  .welcome-popup-checkbox input[type="checkbox"]:checked::after{
    content:"";
    position:absolute;
    left:5px;
    top:1px;
    width:5px;
    height:10px;
    border:solid var(--teal-900);
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
  }
  .welcome-popup-checkbox input[type="checkbox"]:focus-visible{
    outline:2px solid var(--orange-500);
    outline-offset:3px;
  }
  .welcome-popup-checkbox-text{
    font-size:11.5px;
    line-height:1.55;
    color:rgba(255,255,255,.55);
  }
  .welcome-popup-checkbox-text a{
    color:var(--orange-500);
    text-decoration:underline;
  }
  .welcome-popup-checkbox-text a:hover{ color:var(--orange-600); }
  .welcome-popup-success{
    display:none;
    text-align:center;
    padding:20px 0 6px;
  }
  .welcome-popup-success.is-visible{ display:block; }
  .welcome-popup-success svg{
    width:52px; height:52px;
    color:var(--orange-500);
    margin:0 auto 16px;
  }
  .welcome-popup-success h3{ margin-bottom:8px; }
  .welcome-popup-success p{ margin-bottom:0; }
  @media (max-width:520px){
    .welcome-popup{ padding:32px 22px 28px; }
    .welcome-popup h3{ font-size:21px; }
  }

/* ---- AI Topbar & toast (from index) ---- */
  .ai-topbar{
    position:relative;
    z-index:1001;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    background:linear-gradient(90deg,#06302f 0%,#0a4747 100%);
    color:#eef6f4;
    padding:9px 20px;
    font-family:'Inter',sans-serif;
    font-size:13.5px;
    line-height:1.3;
    border-bottom:1px solid rgba(245,166,35,0.25);
    overflow:hidden;
  }
  .ai-topbar-left{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    flex:1 1 auto;
  }
  .ai-live-pill{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:rgba(245,166,35,0.16);
    border:1px solid rgba(245,166,35,0.55);
    color:#f5a623;
    font-weight:700;
    font-size:10.5px;
    letter-spacing:.06em;
    padding:3px 9px;
    border-radius:999px;
    text-transform:uppercase;
  }
  .ai-live-dot{
    width:6px; height:6px; border-radius:50%;
    background:#f5a623;
    box-shadow:0 0 0 0 rgba(245,166,35,.6);
    animation:ai-pulse 1.6s infinite;
    flex:0 0 auto;
  }
  @keyframes ai-pulse{
    0%{ box-shadow:0 0 0 0 rgba(245,166,35,.55); }
    70%{ box-shadow:0 0 0 6px rgba(245,166,35,0); }
    100%{ box-shadow:0 0 0 0 rgba(245,166,35,0); }
  }
  .ai-topbar-msg{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    min-width:0;
  }
  .ai-topbar-msg strong{
    color:#fff;
    font-weight:700;
  }
  .ai-topbar-msg span.ai-msg-rest{
    color:#cfe7e2;
  }
  .ai-topbar-right{
    display:flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
  }
  .ai-ask-label{
    display:flex;
    align-items:center;
    gap:5px;
    color:#cfe7e2;
    font-weight:600;
    font-size:12px;
    letter-spacing:.04em;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .ai-ask-label svg{ width:13px; height:13px; flex:0 0 auto; }
  .ai-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    font-weight:700;
    font-size:13px;
    padding:6px 13px;
    width:108px;
    border-radius:999px;
    white-space:nowrap;
    transition:transform .15s ease, filter .15s ease;
    border:1px solid transparent;
  }
  .ai-btn:hover{ transform:translateY(-1px); filter:brightness(1.06); }
  .ai-btn-chatgpt:hover{ color:#fff; }
  .ai-btn-claude:hover{ color:#1c1006; }
  .ai-btn svg{ width:15px; height:15px; flex:0 0 auto; }
  .ai-btn-chatgpt{ background:#10a37f; color:#fff; }
  .ai-btn-claude{ background:#e8901a; color:#1c1006; }
  .ai-btn-gemini{ background:#1a1f2e; color:#fff; border-color:rgba(255,255,255,.14); }
  .ai-btn-gemini:hover{ color:#fff; border-color:rgba(255,255,255,.3); }
  /* ============ Distinct per-button ambient animations ============ */
  /* Claude — warm breathing glow */
  .ai-btn-claude{
    position:relative;
    animation:claude-glow 2.6s ease-in-out infinite;
  }
  @keyframes claude-glow{
    0%,100%{ box-shadow:0 0 0 0 rgba(232,144,26,.5); }
    50%{ box-shadow:0 0 12px 3px rgba(232,144,26,.55); }
  }
  .ai-btn-claude:hover{ animation-duration:1.3s; box-shadow:0 0 16px 5px rgba(232,144,26,.7); }

  /* ChatGPT — light sweep across the pill + gentle icon tilt */
  .ai-btn-chatgpt{ position:relative; overflow:hidden; }
  .ai-btn-chatgpt > *{ position:relative; z-index:1; }
  .ai-btn-chatgpt::after{
    content:"";
    position:absolute; top:0; left:-60%;
    width:35%; height:100%;
    background:linear-gradient(115deg, transparent, rgba(255,255,255,.4), transparent);
    transform:skewX(-18deg);
    z-index:0;
    animation:chatgpt-shine 3.2s ease-in-out infinite;
  }
  @keyframes chatgpt-shine{
    0%{ left:-60%; }
    55%{ left:130%; }
    100%{ left:130%; }
  }
  .ai-btn-chatgpt svg{
    animation:chatgpt-tilt 3.2s ease-in-out infinite;
    transform-origin:50% 50%;
  }
  @keyframes chatgpt-tilt{
    0%,100%{ transform:rotate(0deg); }
    50%{ transform:rotate(12deg); }
  }
  .ai-btn-chatgpt:hover::after{ animation-duration:1.1s; }

  /* Gemini — shifting gradient background + twinkling star icon */
  .ai-btn-gemini{
    background:linear-gradient(270deg, #1a1f2e, #2a1f3d, #1a1f2e);
    background-size:220% 220%;
    animation:gemini-shift 5s ease infinite;
  }
  @keyframes gemini-shift{
    0%{ background-position:0% 50%; }
    50%{ background-position:100% 50%; }
    100%{ background-position:0% 50%; }
  }
  .ai-btn-gemini svg{
    animation:gemini-twinkle 2.4s ease-in-out infinite;
    transform-origin:50% 50%;
  }
  @keyframes gemini-twinkle{
    0%,100%{ transform:scale(1) rotate(0deg); opacity:1; }
    50%{ transform:scale(1.18) rotate(10deg); opacity:.8; }
  }
  .ai-btn-gemini:hover{ animation-duration:2s; }
  .ai-btn-gemini:hover svg{ animation-duration:1s; }

  @media (prefers-reduced-motion: reduce){
    .ai-btn-claude,
    .ai-btn-chatgpt::after,
    .ai-btn-chatgpt svg,
    .ai-btn-gemini,
    .ai-btn-gemini svg{ animation:none !important; }
  }


  @media (max-width:900px){
    .ai-ask-label{ display:none; }
  }
  @media (max-width:640px){
    .ai-topbar{ padding:8px 12px; gap:10px; }
    .ai-topbar-msg span.ai-msg-rest{ display:none; }
    .ai-btn span.ai-btn-label{ display:none; }
    .ai-btn{ padding:6px 9px; width:auto; }
  }

/* ---- AI copy toast ---- */
  .ai-copy-toast{
    position:fixed;
    left:50%;
    bottom:24px;
    transform:translateX(-50%) translateY(20px);
    background:#0a4747;
    color:#eef6f4;
    border:1px solid rgba(245,166,35,.4);
    padding:10px 18px;
    border-radius:999px;
    font-family:'Inter',sans-serif;
    font-size:13px;
    font-weight:600;
    box-shadow:0 8px 24px rgba(0,0,0,.25);
    opacity:0;
    z-index:9999;
    transition:opacity .3s ease, transform .3s ease;
    pointer-events:none;
    white-space:nowrap;
  }
  .ai-copy-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
  @media (max-width:480px){
    .ai-copy-toast{ font-size:12px; padding:9px 14px; white-space:normal; max-width:88vw; text-align:center; }
  }

/* ---- Home blog section ---- */
  .home-blog-section{
    background:var(--cream);
    padding:0 32px 100px !important;
  }
  .home-blog-inner{ max-width:1280px; margin:0 auto; }
  .home-blog-head{
    max-width:640px;
    margin:0 auto 56px;
    text-align:center;
  }
  .home-blog-head h2{
    font-family:var(--font-head);
    font-weight:800;
    font-size:clamp(28px,3.4vw,40px);
    color:var(--teal-900);
    line-height:1.15;
    margin:14px 0 14px;
  }
  .home-blog-head p{
    color:#5c7472;
    font-size:16px;
    line-height:1.65;
  }
  .home-blog-head .ab-eyebrow-dash{ justify-content:center; }

  .home-blog-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
  }

  .home-blog-card{
    position:relative;
    display:block;
    background:var(--white);
    border-radius:var(--radius-lg);
    overflow:hidden;
    box-shadow:0 8px 30px rgba(6,48,47,.08);
    border:1px solid #e6efec;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .home-blog-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 45px rgba(6,48,47,.14);
  }

  .home-blog-card-media{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    height:220px;
    padding:22px 24px 44px;
    overflow:hidden;
  }
  .home-blog-card-media::before{
    content:'';
    position:absolute;
    top:0; right:0; bottom:0; left:0;
    background:linear-gradient(160deg, var(--teal-700), var(--teal-900));
  }
  .home-blog-card-media--walmart::before{ background:linear-gradient(160deg, var(--teal-800), #082f2c); }
  .home-blog-card-media--tiktok::before{ background:linear-gradient(160deg, #14746e, #06302f); }
  .home-blog-card-media--amazon::before{ background:linear-gradient(160deg, var(--teal-700), var(--teal-900)); }
  .home-blog-card-media--shopify::before{ background:linear-gradient(160deg, #0f6b63, #07302d); }
  .home-blog-card-media--etsy::before{ background:linear-gradient(160deg, #11675f, #082f2c); }
  .home-blog-card-media--youtube::before{ background:linear-gradient(160deg, #0c5550, #06302f); }

  .home-blog-card-tag{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-self:flex-start;
    background:var(--orange-500);
    color:var(--teal-900);
    font-family:var(--font-head);
    font-weight:700;
    font-size:12.5px;
    letter-spacing:.3px;
    padding:6px 12px;
    border-radius:6px;
    margin-bottom:12px;
  }
  .home-blog-card-media-title{
    position:relative;
    z-index:1;
    font-family:var(--font-head);
    font-weight:700;
    font-size:19px;
    line-height:1.3;
    color:var(--white);
    margin:0;
  }

  .home-blog-card-body{
    background:var(--white);
    margin:-24px 16px 0;
    position:relative;
    z-index:2;
    border-radius:var(--radius-md);
    padding:22px 22px 24px;
    box-shadow:0 -2px 0 rgba(6,48,47,.02);
  }
  .home-blog-card-meta{
    display:flex;
    align-items:center;
    gap:16px;
    font-size:13px;
    color:#7f938f;
    margin-bottom:12px;
  }
  .home-blog-card-meta span{ display:inline-flex; align-items:center; gap:6px; }
  .home-blog-card-meta svg{ width:15px; height:15px; stroke:var(--orange-500); flex-shrink:0; }
  .home-blog-card-title{
    font-family:var(--font-head);
    font-weight:700;
    font-size:17px;
    line-height:1.35;
    color:var(--teal-900);
    margin:0 0 10px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .home-blog-card-excerpt{
    font-size:14.5px;
    line-height:1.65;
    color:#5c7472;
    margin:0 0 18px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .home-blog-card-link{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-family:var(--font-head);
    font-weight:700;
    font-size:14px;
    color:var(--teal-900);
    text-decoration:underline;
    text-underline-offset:3px;
  }
  /* Stretched-link: extends the Read More link to cover the entire card so
     the whole card is clickable, not just this line of text. */
  .home-blog-card-link::after{
    content:'';
    position:absolute;
    top:-9999px; right:-9999px; bottom:-9999px; left:-9999px;
  }
  .home-blog-card-link svg{
    width:16px; height:16px;
    stroke:var(--teal-900);
    transition:transform .25s ease;
  }
  .home-blog-card:hover .home-blog-card-link svg{ transform:translateX(4px); }

  .home-blog-cta{
    display:flex;
    justify-content:center;
    margin-top:48px;
  }
  .home-blog-cta a.footer-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
  }
  .home-blog-cta .arrow-dot{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .home-blog-cta .arrow-dot svg{ width:14px; height:14px; stroke:var(--teal-900); display:block; }

  @media (max-width:980px){
    .home-blog-grid{ grid-template-columns:repeat(2, 1fr); }
  }
  @media (max-width:640px){
    .home-blog-section{ padding:0 20px 100px !important; }
    .home-blog-grid{ grid-template-columns:1fr; }
  }

/* ---- Hero side contact ---- */
    .hero-side-contact{
      position:fixed;
      right:0;
      top:50%;
      transform:translateY(-50%);
      z-index:9999;
      display:flex;
      flex-direction:column;
      gap:12px;
      align-items:flex-end;
    }
    .side-contact-btn{
      display:flex;
      align-items:center;
      gap:10px;
      text-decoration:none;
      padding:13px 14px;
      border-radius:999px 0 0 999px;
      box-shadow:0 8px 22px rgba(0,0,0,.32);
      font-family:var(--font-body);
      white-space:nowrap;
      max-width:58px;
      overflow:hidden;
      transition:max-width .35s ease, padding .35s ease, transform .25s ease, box-shadow .25s ease;
    }
    .side-contact-btn:hover,
    .side-contact-btn:focus-visible{
      max-width:260px;
      padding:13px 22px 13px 14px;
      transform:translateX(-6px);
      box-shadow:0 10px 26px rgba(0,0,0,.4);
    }
    .side-contact-icon{
      flex:0 0 auto;
      width:30px;
      height:30px;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .side-contact-icon svg{ width:20px; height:20px; }
    .side-contact-text{
      display:flex;
      flex-direction:column;
      line-height:1.25;
      opacity:0;
      transition:opacity .2s ease;
    }
    .side-contact-btn:hover .side-contact-text,
    .side-contact-btn:focus-visible .side-contact-text{
      opacity:1;
      transition:opacity .25s ease .1s;
    }
    .side-contact-text small{
      display:block;
      font-weight:700;
      font-size:10.5px;
      letter-spacing:.07em;
      text-transform:uppercase;
      color:rgba(255,255,255,.85);
    }
    .side-contact-text span{
      display:block;
      font-weight:700;
      font-size:14px;
      color:#ffffff;
    }
    .side-contact-call{ background:var(--orange-500); }
    .side-contact-call .side-contact-icon{ color:#ffffff; }
    .side-contact-call:hover{ background:var(--orange-600); }
    .side-contact-whatsapp{ background:#25D366; }
    .side-contact-whatsapp .side-contact-icon{ color:#ffffff; }
    .side-contact-whatsapp:hover{ background:#1ebd5a; }

    /* Always-on attention animation (desktop pill + mobile circle alike):
       a staggered pop-in on load, then a repeating "ring" / "bounce" so
       the buttons don't sit static at any screen size. Uses the
       shorthand `animation` property for reliable cross-browser support,
       notably iOS Safari. Paused on hover/focus so it doesn't fight the
       expand transition. */
    .side-contact-btn{ opacity:0; }
    .side-contact-call{
      animation: fabPopIn .5s cubic-bezier(.34,1.56,.64,1) .15s 1 forwards,
                 fabRing 3.4s ease-in-out 1.4s infinite;
    }
    .side-contact-whatsapp{
      animation: fabPopIn .5s cubic-bezier(.34,1.56,.64,1) .35s 1 forwards,
                 fabBounce 3.4s ease-in-out 1.7s infinite;
    }

    /* radiating pulse ring, on top of the pop-in — inherits the button's
       own border-radius so it hugs the pill on desktop and the circle
       on mobile */
    .side-contact-btn::before,
    .side-contact-btn::after{
      content:"";
      position:absolute;
      inset:0;
      border-radius:inherit;
      pointer-events:none;
      opacity:0;
    }
    .side-contact-call::before,
    .side-contact-call::after{
      border:2px solid var(--orange-500);
      animation:fabPulseRing 2.4s ease-out 1.1s infinite;
    }
    .side-contact-whatsapp::before,
    .side-contact-whatsapp::after{
      border:2px solid #25D366;
      animation:fabPulseRing 2.4s ease-out 1.3s infinite;
    }
    .side-contact-call::after{ animation-delay:2.3s; }
    .side-contact-whatsapp::after{ animation-delay:2.5s; }

    /* gentle continuous bounce so the buttons feel alive, not static */
    .side-contact-icon{
      animation:fabIconBounce 2.6s ease-in-out infinite;
    }
    .side-contact-whatsapp .side-contact-icon{ animation-delay:.4s; }

    /* pause every loop while the visitor is interacting with a button,
       so the hover/focus expand transition isn't fighting the animation */
    .side-contact-btn:hover,
    .side-contact-btn:focus-visible{
      animation-play-state:paused;
    }
    .side-contact-btn:hover::before, .side-contact-btn:hover::after,
    .side-contact-btn:focus-visible::before, .side-contact-btn:focus-visible::after{
      animation-play-state:paused;
    }
    .side-contact-btn:hover .side-contact-icon,
    .side-contact-btn:focus-visible .side-contact-icon{
      animation-play-state:paused;
    }

    @media (max-width:900px){
      .hero-side-contact{
        top:auto;
        bottom:16px;
        right:12px;
        transform:none;
        gap:14px;
      }
      .side-contact-btn{
        width:52px;
        height:52px;
        max-width:52px;
        padding:0;
        border-radius:50%;
        justify-content:center;
        position:relative;
      }
      .side-contact-btn:hover,
      .side-contact-btn:focus-visible{
        max-width:52px;
        padding:0;
      }
      .side-contact-text{ display:none; }
    }

    @keyframes fabPopIn{
      0%{ opacity:0; transform:translateX(40px) scale(.4); }
      60%{ opacity:1; transform:translateX(-4px) scale(1.08); }
      100%{ opacity:1; transform:translateX(0) scale(1); }
    }
    @keyframes fabPulseRing{
      0%{ opacity:.55; transform:scale(1); }
      100%{ opacity:0; transform:scale(1.55); }
    }
    @keyframes fabIconBounce{
      0%, 60%, 100%{ transform:translateY(0); }
      30%{ transform:translateY(-3px); }
    }
    /* phone "ring" wiggle for the call button */
    @keyframes fabRing{
      0%, 55%, 100%{ transform:rotate(0deg); }
      8%{ transform:rotate(-18deg); }
      16%{ transform:rotate(15deg); }
      24%{ transform:rotate(-12deg); }
      32%{ transform:rotate(8deg); }
      40%{ transform:rotate(-4deg); }
      48%{ transform:rotate(2deg); }
    }
    /* chat "hop" bounce for the WhatsApp button */
    @keyframes fabBounce{
      0%, 45%, 100%{ transform:translateY(0); }
      15%{ transform:translateY(-11px); }
      27%{ transform:translateY(0); }
      35%{ transform:translateY(-5px); }
    }
    @media (prefers-reduced-motion:reduce){
      /* Keep the entrance pop-in for orientation, but the continuous
         ring/bounce for call + WhatsApp intentionally still plays even
         with reduced motion on — it's a small looping accent on a
         promotional button, not page content, so we don't fully kill it. */
      .side-contact-btn::before, .side-contact-btn::after{ animation:none; display:none; }
    }

/* ---- Footer cert badges ---- */
        .footer-cert-badges{
          display:flex;
          align-items:center;
          gap:14px;
          flex-wrap:wrap;
          margin-top:16px;
        }
        .footer-cert-badges img{
          height:44px;
          width:auto;
          display:block;
          opacity:.92;
          transition:opacity .2s ease, transform .2s ease;
        }
        .footer-cert-badges a:hover img{
          opacity:1;
          transform:translateY(-2px);
        }
        @media (max-width:760px){
          .footer-cert-badges{ justify-content:center; margin-top:14px; }
        }

/* ---- WhatsApp float (hidden on home) ---- */
#whatsapp-float-btn{
  position: fixed;
  bottom: 22px;
  left: 20px;
  width: 56px;
  height: 56px;
  background-color: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(0,0,0,0.35);
  z-index: 999999;
  transition: transform 0.2s ease;
}
#whatsapp-float-btn:hover{ transform: scale(1.08); }
#whatsapp-float-btn svg{ width: 30px; height: 30px; }
/* This page already has a WhatsApp button in the call + WhatsApp
   stack on the right (.hero-side-contact) plus the Tawk chat bubble,
   so the standalone bottom-left WhatsApp button is a duplicate —
   hide it everywhere on the homepage. */
#whatsapp-float-btn{ display:none !important; }

/* ---- Tawk mobile position ---- */
  /* CSS fallback, in addition to Tawk_API.customStyle below: force the
     widget to the left on narrow screens regardless of how Tawk's own
     script classifies the device (desktop-mode browsers resized down,
     emulators, etc. can otherwise still get the desktop/right position). */
  @media (max-width: 900px){
    #tawkchat-container, .widget-visible, iframe[title*="chat" i], iframe[id*="tawk" i]{
      left: 16px !important;
      right: auto !important;
    }
  }

/* ---- Mobile dropdown + overflow ---- */
@media (max-width:860px){
  .dropdown-item{ gap:0; }
  .dropdown-item .dd-icon{ margin-right:12px; }
  .dropdown-item .dd-text{ min-width:0; flex:1 1 auto; }
  .dropdown-item .dd-title,
  .dropdown-item .dd-desc{ overflow-wrap:break-word; word-break:break-word; }
}
html, body{ max-width:100%; overflow-x:hidden; }
