
    :root{
      --navy:#102a43;
      --navy-2:#163d5c;
      --ink:#182230;
      --muted:#617085;
      --line:#dfe7ee;
      --soft:#f5f6f7;
      --soft-blue:#f0f2f4;
      --white:#ffffff;
      --grey-900:#3f454d;
      --grey-800:#4a5159;
      --grey-700:#5f6770;
      --grey-200:#e8ebee;
      --grey-100:#f4f5f6;
      --accent:#a42c2f;
      --accent-dark:#842326;
      --success:#2f6b57;
      --radius:16px;
      --shadow:0 14px 36px rgba(16,42,67,.08);
      --container:1240px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color:var(--ink);
      background:var(--white);
      line-height:1.6;
      -webkit-font-smoothing:antialiased;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    .container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
    .eyebrow{
      text-transform:uppercase;
      letter-spacing:.12em;
      font-weight:800;
      font-size:.76rem;
      color:var(--accent-dark);
    }

    .eyebrow{
      position:relative;
      display:inline-block;
    }
    .eyebrow:after{
      content:"";
      position:absolute;
      left:0;
      bottom:-7px;
      width:28px;
      height:2px;
      background:var(--accent);
      border-radius:2px;
      opacity:.9;
    }

    .section{padding:96px 0}
    .section.soft{background:var(--soft)}
    .section.blue{background:var(--soft-blue)}
    .section-head{
      display:flex;
      justify-content:space-between;
      align-items:end;
      gap:32px;
      margin-bottom:38px;
    }
    .section-head h2{
      font-size:clamp(2rem,3.4vw,3.15rem);
      line-height:1.08;
      letter-spacing:-.035em;
      margin:.45rem 0 0;
      color:var(--navy);
      max-width:760px;
    }
    .section-head p{max-width:560px;color:var(--muted);margin:0}
    .btn{
      display:inline-flex;
      justify-content:center;
      align-items:center;
      gap:.6rem;
      min-height:50px;
      padding:0 22px;
      border-radius:10px;
      border:1px solid transparent;
      font-weight:800;
      transition:.2s ease;
      cursor:pointer;
    }
    .btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 20px rgba(164,44,47,.16)}
    .btn-primary:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 12px 26px rgba(164,44,47,.22)}
    .btn-outline{border-color:rgba(164,44,47,.48);color:var(--accent-dark);background:#fff}
    .btn-outline:hover{background:#fff5f5;border-color:var(--accent);color:var(--accent-dark);transform:translateY(-2px)}
    .btn-accent{background:var(--accent);color:#fff;box-shadow:0 8px 20px rgba(164,44,47,.18)}
    .btn-accent:hover{background:var(--accent-dark);transform:translateY(-1px)}
    .link-arrow{font-weight:800;color:var(--navy)}
    .link-arrow span{display:inline-block;transition:.2s}
    .link-arrow:hover span{transform:translateX(4px)}

    /* Top bar */
    .topbar{
      background:var(--grey-800);
      color:#f4f5f6;
      font-size:.86rem;
    }
    .topbar-inner{
      min-height:36px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }
    .topbar .left,.topbar .right{display:flex;gap:18px;align-items:center}
    .dot{width:5px;height:5px;background:rgba(255,255,255,.55);border-radius:50%}

    /* Header */
    .site-header{
      position:sticky;
      top:0;
      z-index:30;
      background:rgba(255,255,255,.96);
      backdrop-filter:blur(10px);
      border-bottom:1px solid rgba(223,231,238,.9);
    }
    .nav{
      min-height:78px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:28px;
    }
    .brand{
      display:flex;
      flex-direction:column;
      line-height:1;
      min-width:max-content;
    }
    .brand strong{
      font-family:Georgia, "Times New Roman", serif;
      font-size:1.8rem;
      letter-spacing:.04em;
      color:var(--navy);
    }
    .brand small{
      margin-top:5px;
      color:var(--muted);
      font-size:.68rem;
      letter-spacing:.08em;
      text-transform:uppercase;
    }
    .nav-links{display:flex;align-items:center;gap:28px;font-size:.95rem;font-weight:700}
    .nav-links a:hover{color:var(--navy)}
    .nav-actions{display:flex;align-items:center;gap:10px}
    .argus-nav-action-icon{display:none}
    .argus-nav-action-icon svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
    .mobile-toggle{display:none;background:none;border:0;font-size:1.7rem;color:var(--navy);cursor:pointer}

    /* Hero */
    .hero{
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at 85% 16%, rgba(185,138,66,.18), transparent 22%),
        linear-gradient(135deg,#fbfbfb 0%,#f0f1f2 100%);
    }
    .hero:after{
      content:"";
      position:absolute;
      width:480px;height:480px;
      right:-220px;bottom:-260px;
      border:1px solid rgba(16,42,67,.12);
      border-radius:50%;
    }
    .hero-grid{
      min-height:650px;
      display:grid;
      grid-template-columns:1.04fr .96fr;
      align-items:center;
      gap:64px;
      padding:80px 0;
    }
    .hero h1{
      margin:.7rem 0 1.2rem;
      font-size:clamp(3rem,6vw,5.25rem);
      line-height:.98;
      letter-spacing:-.055em;
      color:var(--navy);
      max-width:790px;
    }
    .hero p{
      font-size:1.16rem;
      color:var(--muted);
      max-width:660px;
      margin:0 0 28px;
    }
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}
    .hero-checks{display:flex;flex-wrap:wrap;gap:10px 18px;color:#314558;font-size:.92rem;font-weight:700}
    .hero-checks span:before{content:"✓";color:var(--success);font-weight:900;margin-right:7px}

    .portrait-card{
      position:relative;
      min-height:500px;
      border-radius:28px;
      background:
        linear-gradient(180deg,rgba(255,255,255,.02),rgba(16,42,67,.08)),
        linear-gradient(145deg,#d7e4ec,#f8fafb);
      border:1px solid #d8e2ea;
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .portrait-placeholder{
      position:absolute;
      inset:0;
      display:grid;
      place-items:center;
      text-align:center;
      color:#7a8a9b;
      font-weight:700;
      padding:40px;
    }
    .portrait-placeholder .avatar{
      width:190px;height:190px;border-radius:50%;
      border:8px solid rgba(255,255,255,.65);
      background:linear-gradient(145deg,#b8cad7,#eef3f7);
      margin:auto auto 26px;
      position:relative;
    }
    .portrait-placeholder .avatar:before{
      content:"";
      position:absolute;
      width:74px;height:74px;border-radius:50%;
      background:#9dafbc;
      left:50%;top:32px;transform:translateX(-50%);
    }
    .portrait-placeholder .avatar:after{
      content:"";
      position:absolute;
      width:126px;height:72px;
      border-radius:70px 70px 25px 25px;
      background:#9dafbc;
      left:50%;bottom:20px;transform:translateX(-50%);
    }
    .consultant-badge{
      position:absolute;
      left:24px;right:24px;bottom:24px;
      background:rgba(255,255,255,.94);
      border:1px solid rgba(223,231,238,.95);
      border-radius:16px;
      padding:18px 20px;
      display:flex;
      justify-content:space-between;
      gap:20px;
      align-items:center;
    }
    .consultant-badge strong{display:block;color:var(--navy)}
    .consultant-badge small{color:var(--muted)}
    .badge-mark{
      width:48px;height:48px;border-radius:50%;
      display:grid;place-items:center;
      background:var(--soft-blue);
      color:var(--navy);
      font-weight:900;
      flex:0 0 auto;
    }


    /* Hero lead form */
    .hero-lead-card{
      position:relative;
      background:rgba(255,255,255,.96);
      border:1px solid #dde2e6;
      border-radius:22px;
      box-shadow:0 18px 46px rgba(28,36,44,.11);
      padding:30px;
      overflow:hidden;
    }
    .hero-lead-card:before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      right:0;
      height:4px;
      background:var(--accent);
    }
    .hero-lead-head{
      margin-bottom:22px;
    }
    .hero-lead-head .eyebrow{
      margin-bottom:12px;
    }
    .hero-lead-head h2{
      margin:10px 0 8px;
      font-size:clamp(1.75rem,3vw,2.35rem);
      line-height:1.08;
      letter-spacing:-.035em;
      color:var(--navy);
    }
    .hero-lead-head p{
      margin:0;
      font-size:.94rem;
      line-height:1.5;
      color:var(--muted);
    }
    .lead-form{
      display:grid;
      gap:14px;
    }
    .form-row{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .field{
      display:grid;
      gap:6px;
    }
    .field label{
      font-size:.82rem;
      font-weight:800;
      color:#394756;
    }
    .field input,
    .field select,
    .field textarea{
      width:100%;
      border:1px solid #d8dee4;
      border-radius:10px;
      background:#fff;
      color:var(--ink);
      padding:12px 13px;
      outline:none;
      transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
    }
    .field input,
    .field select{
      min-height:46px;
    }
    .field textarea{
      min-height:94px;
      resize:vertical;
    }
    .field input::placeholder,
    .field textarea::placeholder{
      color:#99a3ad;
    }
    .field input:focus,
    .field select:focus,
    .field textarea:focus{
      border-color:rgba(164,44,47,.7);
      box-shadow:0 0 0 3px rgba(164,44,47,.10);
      background:#fff;
    }
    .lead-submit{
      width:100%;
      margin-top:2px;
      min-height:50px;
    }
    .lead-privacy{
      font-size:.74rem;
      line-height:1.45;
      color:#7b8792;
      margin:0;
      text-align:center;
    }
    .lead-privacy a{
      color:var(--accent-dark);
      text-decoration:underline;
      font-weight:700;
    }
    .lead-alt{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      border-top:1px solid #e7eaed;
      margin-top:17px;
      padding-top:16px;
      color:#687582;
      font-size:.84rem;
    }
    .lead-alt a{
      color:var(--accent-dark);
      font-weight:800;
    }
    .lead-trust{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:16px;
      padding-top:15px;
      border-top:1px solid #eef0f2;
      color:#697785;
      font-size:.76rem;
      font-weight:700;
    }
    .lead-trust span:before{
      content:"✓";
      color:var(--accent);
      margin-right:5px;
      font-weight:900;
    }


    /* Google reviews statement in hero */
    .google-review-statement{
      width:max-content;
      max-width:100%;
      margin-top:22px;
      display:inline-flex;
      align-items:center;
      gap:12px;
      padding:10px 14px;
      background:rgba(255,255,255,.72);
      border:1px solid #e0e4e7;
      border-radius:11px;
      color:inherit;
      transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
    }
    .google-review-statement:hover{
      background:#fff;
      border-color:#d2d8dc;
      transform:translateY(-1px);
      box-shadow:0 8px 22px rgba(24,34,48,.06);
    }
    .google-stars{
      color:#f4b400;
      letter-spacing:.07em;
      font-size:.9rem;
      white-space:nowrap;
    }
    .google-review-copy{
      display:flex;
      align-items:baseline;
      gap:7px;
      min-width:0;
      flex-wrap:wrap;
    }
    .google-review-copy strong{
      color:var(--navy);
      font-size:.84rem;
      white-space:nowrap;
    }
    .google-review-copy span{
      color:var(--muted);
      font-size:.79rem;
      white-space:nowrap;
    }
    .google-review-arrow{
      color:var(--accent);
      font-weight:900;
      transition:transform .18s ease;
    }
    .google-review-statement:hover .google-review-arrow{
      transform:translateX(2px);
    }

    @media (max-width:720px){
      .google-review-statement{
        width:100%;
        justify-content:flex-start;
        padding:11px 12px;
      }
      .google-review-copy{
        gap:3px 7px;
      }
    }

    /* Trust strip */
    .trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
    .trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
    .trust-item{
      padding:25px 30px;
      min-height:104px;
      display:flex;
      align-items:center;
      gap:15px;
      border-right:1px solid var(--line);
    }
    .trust-item:last-child{border-right:0}
    .trust-icon{
      width:42px;height:42px;border-radius:50%;
      background:var(--soft-blue);
      color:var(--navy);
      display:grid;place-items:center;font-weight:900;
      flex:0 0 auto;
    }
    .trust-item strong{display:block;color:var(--navy);font-size:.96rem}
    .trust-item small{color:var(--muted)}

    /* Cards */
    .card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .intent-card,.service-card,.article-card,.review-card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:28px;
      transition:.22s ease;
    }
    .intent-card:hover,.service-card:hover,.article-card:hover,.review-card:hover{
      transform:translateY(-4px);
      box-shadow:var(--shadow);
      border-color:#cfdbe5;
    }
    .intent-card{
      min-height:180px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .card-icon{
      width:44px;height:44px;border-radius:12px;
      background:var(--soft-blue);
      color:var(--navy);
      display:grid;place-items:center;font-weight:900;
    }
    .intent-card h3,.service-card h3,.article-card h3{
      margin:28px 0 8px;
      font-size:1.3rem;
      color:var(--navy);
    }
    .intent-card p,.service-card p,.article-card p{margin:0;color:var(--muted)}

    .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .service-card{padding:0;overflow:hidden}
    .service-art{
      min-height:150px;
      background:
        radial-gradient(circle at 82% 25%, rgba(164,44,47,.20), transparent 30%),
        linear-gradient(135deg,#59616a,#3f454d);
      position:relative;
    }
    .service-art:before{
      content:"";
      position:absolute;
      width:80px;height:80px;border-radius:50%;
      border:1px solid rgba(255,255,255,.22);
      right:28px;bottom:24px;
    }
    .service-card .body{padding:26px}
    .service-card h3{margin:0 0 9px}

    /* RCIC */
    .profile-grid{
      display:grid;
      grid-template-columns:.8fr 1.2fr;
      gap:64px;
      align-items:center;
    }
    .profile-photo{
      min-height:470px;
      border-radius:24px;
      background:linear-gradient(145deg,#d7dadd,#f5f6f7);
      display:grid;place-items:center;
      border:1px solid var(--line);
      color:var(--muted);
      text-align:center;
      padding:30px;
    }
    .profile-copy h2{
      font-size:clamp(2.2rem,4vw,3.8rem);
      line-height:1.03;
      letter-spacing:-.045em;
      margin:.5rem 0 1rem;
      color:var(--navy);
    }
    .profile-copy p{color:var(--muted);font-size:1.05rem}
    .credential-box{
      margin:28px 0;
      padding:18px 20px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:12px;
      display:flex;
      align-items:center;
      gap:16px;
    }
    .credential-box strong{display:block;color:var(--navy)}
    .credential-box small{color:var(--muted)}

    /* Process */
    .process-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:0;
      border:1px solid var(--line);
      border-radius:var(--radius);
      overflow:hidden;
      background:#fff;
    }
    .process-step{padding:30px;min-height:220px;border-right:1px solid var(--line)}
    .process-step:last-child{border-right:0}
    .step-num{
      font-family:Georgia, "Times New Roman", serif;
      font-size:2.3rem;
      color:var(--accent-dark);
    }
    .process-step h3{margin:18px 0 8px;color:var(--navy);font-size:1.16rem}
    .process-step p{margin:0;color:var(--muted);font-size:.95rem}

    /* Reviews */
    .review-summary{
      display:flex;align-items:center;gap:18px;margin-bottom:28px;
    }
    .stars{letter-spacing:.14em;color:#b3262e;font-size:1.1rem}
    .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .review-card blockquote{margin:0 0 20px;color:#3c4a58}
    .reviewer{font-weight:800;color:var(--navy)}
    .review-meta{color:var(--muted);font-size:.86rem}

    /* Articles */
    .article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .article-thumb{
      height:150px;border-radius:12px;
      background:linear-gradient(145deg,#dce7ee,#f7fafc);
      border:1px solid var(--line);
      margin-bottom:18px;
    }
    .article-card h3{margin:10px 0 8px}

    /* CTA */
    .cta{
      padding:86px 0;
      background:var(--grey-100);
      color:var(--ink);
      position:relative;
      overflow:hidden;
      border-top:1px solid var(--grey-200);
    }
    .cta:after{
      content:"";
      position:absolute;
      width:420px;height:420px;border-radius:50%;
      border:1px solid rgba(164,44,47,.10);
      right:-170px;top:-180px;
    }
    .cta-inner{
      position:relative;z-index:2;
      display:flex;align-items:center;justify-content:space-between;gap:40px;
    }
    .cta h2{
      font-size:clamp(2.3rem,4.6vw,4.1rem);
      line-height:1.03;
      letter-spacing:-.045em;
      margin:0 0 12px;
      max-width:780px;
      color:var(--navy);
    }
    .cta p{color:var(--muted);margin:0;font-size:1.08rem}
    .cta-actions{display:flex;gap:12px;flex-wrap:wrap}

    /* Footer */
    footer{background:var(--grey-100);color:var(--ink);padding:68px 0 26px;border-top:1px solid var(--grey-200)}
    .footer-grid{
      display:grid;
      grid-template-columns:1.35fr repeat(3,1fr);
      gap:42px;
      padding-bottom:48px;
    }
    .footer-brand p{max-width:330px;color:var(--muted)}
    footer h4{color:var(--navy);margin:0 0 16px;font-size:.95rem}
    footer ul{list-style:none;margin:0;padding:0}
    footer li{margin:9px 0;color:var(--muted);font-size:.92rem}
    footer a:hover{color:var(--accent)}
    .footer-bottom{
      border-top:1px solid var(--grey-200);
      padding-top:24px;
      display:flex;justify-content:space-between;gap:20px;
      color:#7f8993;font-size:.82rem;
    }


    /* Consultation modal */
    body.modal-open{overflow:hidden}
    .modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(75,80,86,.52);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:22px}
    .modal-backdrop.is-open{display:flex}
    .consult-modal{width:min(100%,760px);max-height:min(90vh,820px);overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(6,22,36,.28);position:relative;border:1px solid rgba(255,255,255,.55)}
    .consult-modal-head{padding:34px 34px 22px;border-bottom:1px solid var(--line)}
    .consult-modal-head h2{margin:.5rem 48px .5rem 0;color:var(--navy);font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.08;letter-spacing:-.035em}
    .consult-modal-head p{margin:0;color:var(--muted)}
    .modal-close{position:absolute;top:20px;right:20px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;font-size:1.35rem;line-height:1}
    .modal-close:hover{background:var(--soft)}
    .consult-options{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:26px 34px 34px}
    .consult-option{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.2s ease;display:flex;flex-direction:column;min-height:160px}
    .consult-option:hover{border-color:#e7c3c6;box-shadow:0 12px 28px rgba(16,42,67,.08);transform:translateY(-2px)}
    .consult-option .option-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#fff4f4;color:var(--accent);font-weight:900;margin-bottom:22px}
    .consult-option strong{color:var(--navy);font-size:1.05rem}
    .consult-option small{display:block;color:var(--muted);margin-top:6px}
    .consult-option .option-link{margin-top:auto;padding-top:16px;font-weight:800;color:var(--accent-dark)}
    .modal-note{padding:0 34px 30px;color:var(--muted);font-size:.82rem}

    /* Cookie banner */
    .cookie-banner{
      position:fixed;
      left:50%;
      bottom:24px;
      transform:translateX(-50%);
      z-index:95;
      width:min(calc(100% - 32px),960px);
      display:none;
    }
    .cookie-banner.is-visible{display:block}
    .cookie-inner{
      position:relative;
      width:100%;
      margin:auto;
      background:#fff;
      border:1px solid #dbe0e4;
      border-radius:16px;
      box-shadow:0 18px 50px rgba(40,45,50,.18);
      padding:20px 22px 20px 26px;
      display:flex;
      align-items:center;
      gap:24px;
      justify-content:space-between;
      overflow:hidden;
    }
    .cookie-inner:before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:4px;
      background:var(--accent);
    }
    .cookie-copy{max-width:560px}
    .cookie-copy strong{color:var(--navy);font-size:1rem;display:block;margin-bottom:4px}
    .cookie-copy p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.48}
    .cookie-copy a{color:var(--accent-dark);font-weight:800;text-decoration:underline}
    .cookie-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}
    .cookie-actions .btn{min-height:42px;padding:0 14px;font-size:.84rem;border-radius:9px}
    .btn-ghost{border-color:var(--line);color:var(--navy);background:#fff}

    /* Cookie preferences dialog */
    .cookie-prefs{position:fixed;inset:0;z-index:110;background:rgba(75,80,86,.52);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:22px}
    .cookie-prefs.is-open{display:flex}
    .cookie-panel{width:min(100%,620px);background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(6,22,36,.28);padding:30px;position:relative}
    .cookie-panel h2{margin:0 48px 8px 0;color:var(--navy)}
    .cookie-panel>p{margin:0 0 22px;color:var(--muted)}
    .pref-row{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--line)}
    .pref-row strong{display:block;color:var(--navy)}
    .pref-row small{display:block;color:var(--muted);margin-top:3px;max-width:420px}
    .switch{flex:0 0 auto;position:relative;width:48px;height:26px}
    .switch input{opacity:0;width:0;height:0}
    .slider{position:absolute;cursor:pointer;inset:0;background:#cbd5df;border-radius:30px;transition:.2s}
    .slider:before{content:'';position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.22)}
    .switch input:checked + .slider{background:var(--accent)}
    .switch input:checked + .slider:before{transform:translateX(22px)}
    .switch input:disabled + .slider{background:var(--navy);opacity:.65;cursor:not-allowed}
    .cookie-prefs-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:20px;border-top:1px solid var(--line)}


    .modal-close:focus-visible,
    .btn:focus-visible,
    a:focus-visible,
    button:focus-visible{
      outline:3px solid rgba(179,38,46,.22);
      outline-offset:2px;
    }
    .cookie-copy a:hover{color:var(--accent)}


    /* Modern interaction layer */
    .scroll-progress{
      position:fixed;
      top:0;
      left:0;
      z-index:200;
      height:3px;
      width:0;
      background:var(--accent);
      box-shadow:0 1px 6px rgba(164,44,47,.28);
      transition:width .08s linear;
    }

    .site-header{
      transition:min-height .25s ease, box-shadow .25s ease, background .25s ease;
    }
    .site-header.is-scrolled{
      box-shadow:0 8px 26px rgba(24,34,48,.08);
      background:rgba(255,255,255,.92);
    }
    .site-header.is-scrolled .nav{min-height:66px}

    .hero:before{
      content:"";
      position:absolute;
      width:360px;
      height:360px;
      left:-180px;
      top:120px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(164,44,47,.07),rgba(164,44,47,0) 68%);
      pointer-events:none;
      animation:heroFloat 9s ease-in-out infinite alternate;
    }
    @keyframes heroFloat{
      from{transform:translate3d(0,0,0)}
      to{transform:translate3d(36px,-24px,0)}
    }

    .btn{
      position:relative;
      overflow:hidden;
      isolation:isolate;
    }
    .btn:after{
      content:"";
      position:absolute;
      inset:0;
      transform:translateX(-120%);
      background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.24) 50%,transparent 80%);
      transition:transform .55s ease;
      pointer-events:none;
    }
    .btn:hover:after{transform:translateX(120%)}

    .reveal{
      opacity:1;
      transform:none;
      transition:opacity .7s ease, transform .7s ease;
    }
    body.motion-ready .reveal:not(.is-visible){
      opacity:0;
      transform:translateY(24px);
    }
    .reveal.is-visible{
      opacity:1;
      transform:none;
    }
    .reveal-delay-1{transition-delay:.08s}
    .reveal-delay-2{transition-delay:.16s}
    .reveal-delay-3{transition-delay:.24s}

    .intent-card,.service-card,.review-card,.article-card{
      will-change:transform;
    }
    .intent-card:hover .card-icon,
    .service-card:hover .service-art{
      transform:translateY(-2px) scale(1.015);
    }
    .card-icon,.service-art{transition:transform .28s ease}

    .trust-item{
      transition:background .25s ease, transform .25s ease;
    }
    .trust-item:hover{
      background:#fafafa;
    }

    /* Mobile navigation drawer */
    .mobile-drawer{
      position:fixed;
      inset:0 0 0 auto;
      width:min(88vw,390px);
      z-index:150;
      background:#fff;
      box-shadow:-24px 0 60px rgba(24,34,48,.15);
      transform:translateX(105%);
      transition:transform .32s cubic-bezier(.22,.7,.25,1);
      padding:24px;
      display:flex;
      flex-direction:column;
      overflow:auto;
    }
    .mobile-drawer.is-open{transform:translateX(0)}
    .mobile-drawer-backdrop{
      position:fixed;
      inset:0;
      z-index:145;
      background:rgba(78,83,89,.42);
      opacity:0;
      pointer-events:none;
      transition:opacity .25s ease;
    }
    .mobile-drawer-backdrop.is-open{
      opacity:1;
      pointer-events:auto;
    }
    .drawer-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding-bottom:22px;
      border-bottom:1px solid var(--line);
    }
    .drawer-close{
      width:42px;height:42px;border-radius:50%;
      border:1px solid var(--line);
      background:#fff;
      color:var(--navy);
      font-size:1.45rem;
      cursor:pointer;
    }
    .drawer-links{
      display:flex;
      flex-direction:column;
      padding:20px 0;
    }
    .drawer-links a{
      padding:15px 2px;
      border-bottom:1px solid #eef0f2;
      font-weight:800;
      color:var(--navy);
    }
    .drawer-links a:hover{color:var(--accent)}
    .drawer-actions{
      display:grid;
      gap:10px;
      margin-top:auto;
      padding-top:24px;
    }

    /* Mobile bottom conversion bar */
    .mobile-cta-bar{
      display:none;
      position:fixed;
      z-index:90;
      left:10px;
      right:10px;
      bottom:10px;
      padding:8px;
      background:rgba(255,255,255,.94);
      border:1px solid #e0e3e5;
      border-radius:14px;
      box-shadow:0 16px 40px rgba(24,34,48,.16);
      backdrop-filter:blur(12px);
      gap:8px;
    }
    .mobile-cta-bar a{
      flex:1;
      min-height:44px;
    }

    /* Refined section separators */
    .section.soft,
    .section.blue{
      background:var(--grey-100);
    }

    @media (hover:none){
      .intent-card:hover,.service-card:hover,.article-card:hover,.review-card:hover{
        transform:none;
        box-shadow:none;
      }
    }

    @media (prefers-reduced-motion:reduce){
      *,*:before,*:after{
        scroll-behavior:auto!important;
        animation:none!important;
        transition:none!important;
      }
      .reveal{opacity:1!important;transform:none!important}
    }


    /* Custom-logo slot */
    .brand-with-logo{
      gap:2px;
    }
    .logo-slot{
      min-width:116px;
      min-height:34px;
      display:flex;
      align-items:center;
    }
    .logo-slot img{
      display:block;
      width:auto;
      max-width:160px;
      max-height:46px;
      object-fit:contain;
    }
    .logo-fallback{
      font-family:Georgia, "Times New Roman", serif;
      font-size:1.8rem;
      line-height:1;
      letter-spacing:.04em;
      color:var(--navy);
      font-weight:700;
    }

    .optional-label{
      font-weight:500;
      color:#8a949e;
    }

    .lead-privacy{
      font-size:.66rem !important;
      line-height:1.35 !important;
      color:#8b949c !important;
      max-width:92%;
      margin-inline:auto !important;
    }

    .captcha-placeholder{
      min-height:62px;
      display:flex;
      align-items:center;
      gap:12px;
      border:1px solid #d8dde1;
      border-radius:10px;
      background:#f8f9fa;
      padding:11px 13px;
      color:#47525d;
    }
    .captcha-placeholder .captcha-check{
      width:32px;
      height:32px;
      border-radius:7px;
      display:grid;
      place-items:center;
      background:#fff;
      border:1px solid #ccd2d7;
      color:var(--accent);
      font-weight:900;
      flex:0 0 auto;
    }
    .captcha-placeholder strong{
      display:block;
      font-size:.8rem;
      color:#39434d;
    }
    .captcha-placeholder small{
      display:block;
      margin-top:1px;
      font-size:.68rem;
      color:#8a949e;
      line-height:1.35;
    }

    .consult-form-modal{
      width:min(100%,690px);
    }
    .consult-form-modal .consult-modal-head{
      padding-bottom:18px;
    }
    .modal-form-wrap{
      padding:24px 34px 30px;
    }
    .modal-form-wrap .lead-alt{
      margin-top:16px;
    }

    /* Reusable subpage form component hooks:
       data-service-mode="select"  -> normal dropdown
       data-service-mode="locked"  -> visible locked value
       data-service-mode="hidden"  -> hidden field
       data-service-value="Spousal Sponsorship"
       data-message-visible="true|false"
    */


    .footer-brand .brand{
      margin-bottom:18px;
    }
    .footer-grid{
      position:relative;
    }
    .footer-grid:before{
      content:"";
      position:absolute;
      inset:-26px -28px auto;
      height:1px;
      background:linear-gradient(90deg,transparent,var(--grey-200),transparent);
    }



    /* Refined primary navigation */
    .nav-links{
      display:flex;
      align-items:center;
      gap:6px;
      padding:5px;
      border-radius:14px;
    }

    .nav-item-link{
      position:relative;
      min-height:42px;
      display:inline-flex !important;
      align-items:center;
      gap:8px;
      padding:0 13px !important;
      border-radius:10px;
      color:#202b39;
      font-weight:750;
      font-size:.94rem;
      letter-spacing:-.01em;
      transition:background .18s ease, color .18s ease, transform .18s ease;
    }

    .nav-item-link:after{
      content:"";
      position:absolute;
      left:14px;
      right:14px;
      bottom:5px;
      height:2px;
      background:var(--accent);
      border-radius:2px;
      transform:scaleX(0);
      transform-origin:center;
      transition:transform .18s ease;
    }

    .nav-item-link:hover,
    .nav-item-link:focus-visible{
      background:#f6f7f8;
      color:var(--navy);
    }

    .nav-item-link:hover:after,
    .nav-item-link:focus-visible:after,
    .nav-dropdown.is-open > .nav-dropdown-toggle:after{
      transform:scaleX(1);
    }

    .nav-dropdown-toggle{
      appearance:none;
      border:0;
      background:transparent;
      cursor:pointer;
    }

    .nav-chevron{
      width:7px;
      height:7px;
      border-right:1.8px solid currentColor;
      border-bottom:1.8px solid currentColor;
      transform:rotate(45deg) translateY(-2px);
      transform-origin:center;
      transition:transform .18s ease;
      margin-left:1px;
    }

    .nav-dropdown.is-open .nav-chevron{
      transform:rotate(225deg) translate(-1px,-1px);
    }

    .nav-dropdown-menu{
      top:calc(100% + 10px);
    }

    /* Primary services dropdown */
    .nav-dropdown{
      position:relative;
      display:flex;
      align-items:center;
    }
    .nav-dropdown-toggle{
      appearance:none;
      border:0;
      background:transparent;
      color:inherit;
      font:inherit;
      font-weight:700;
      cursor:pointer;
      padding:10px 0;
      display:flex;
      align-items:center;
      gap:6px;
    }
    .nav-chevron{
      font-size:.88rem;
      transition:transform .2s ease;
      transform-origin:center;
      margin-top:-2px;
    }
    .nav-dropdown.is-open .nav-chevron{
      transform:rotate(180deg);
    }
    .nav-dropdown-menu{
      position:absolute;
      top:calc(100% + 14px);
      left:-18px;
      width:320px;
      padding:10px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:15px;
      box-shadow:0 18px 46px rgba(28,36,44,.13);
      opacity:0;
      visibility:hidden;
      transform:translateY(-6px);
      transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
      z-index:60;
    }
    .nav-dropdown-menu:before{
      content:"";
      position:absolute;
      top:-7px;
      left:34px;
      width:12px;
      height:12px;
      background:#fff;
      border-left:1px solid var(--line);
      border-top:1px solid var(--line);
      transform:rotate(45deg);
    }
    .nav-dropdown.is-open .nav-dropdown-menu,
    .nav-dropdown:hover .nav-dropdown-menu{
      opacity:1;
      visibility:visible;
      transform:translateY(0);
    }
    .nav-dropdown-menu a{
      display:block;
      padding:13px 14px;
      border-radius:10px;
      transition:background .18s ease, transform .18s ease;
    }
    .nav-dropdown-menu a:hover,
    .nav-dropdown-menu a:focus-visible{
      background:#f6f7f8;
      transform:translateX(2px);
    }
    .dropdown-title{
      display:block;
      color:var(--navy);
      font-weight:800;
      font-size:.94rem;
    }
    .dropdown-desc{
      display:block;
      margin-top:2px;
      color:var(--muted);
      font-size:.78rem;
      line-height:1.35;
      font-weight:500;
    }

    /* Mobile services accordion */
    .drawer-services-toggle{
      width:100%;
      border:0;
      border-bottom:1px solid #eef0f2;
      background:transparent;
      padding:15px 2px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      font-weight:800;
      color:var(--navy);
      cursor:pointer;
      text-align:left;
    }
    .drawer-chevron{
      transition:transform .2s ease;
    }
    .drawer-services-toggle[aria-expanded="true"] .drawer-chevron{
      transform:rotate(180deg);
    }
    .drawer-submenu{
      display:grid;
      grid-template-rows:0fr;
      transition:grid-template-rows .24s ease;
      background:#fafafa;
      border-radius:0 0 10px 10px;
      overflow:hidden;
    }
    .drawer-submenu > *{
      min-height:0;
    }
    .drawer-submenu.is-open{
      grid-template-rows:1fr;
      padding:6px 0;
    }
    .drawer-submenu a{
      padding:11px 14px 11px 18px;
      border-bottom:0;
      color:#586574;
      font-weight:700;
      font-size:.93rem;
    }
    .drawer-submenu a:hover{
      color:var(--accent);
      background:#fff;
    }


    .nav-links > a{
      text-decoration:none;
    }


    /* Modern service-path selector */
    .service-paths-section{
      background:#f4f5f6;
      border-top:1px solid #eceeef;
      border-bottom:1px solid #eceeef;
    }

    .service-paths-head{
      display:grid;
      grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
      gap:72px;
      align-items:end;
      margin-bottom:38px;
    }

    .service-paths-head h2{
      margin:.55rem 0 12px;
      color:var(--navy);
      font-size:clamp(2.35rem,4.2vw,3.75rem);
      line-height:1.02;
      letter-spacing:-.045em;
    }

    .service-paths-head p{
      margin:0;
      max-width:680px;
      color:var(--muted);
      font-size:1.02rem;
    }

    .service-paths-note{
      align-self:end;
      display:flex;
      gap:11px;
      align-items:flex-start;
      padding:15px 17px;
      background:rgba(255,255,255,.72);
      border:1px solid #e0e4e7;
      border-radius:12px;
      color:#65717d;
      font-size:.84rem;
      line-height:1.45;
    }

    .note-dot{
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--accent);
      flex:0 0 auto;
      margin-top:5px;
      box-shadow:0 0 0 5px rgba(164,44,47,.08);
    }

    .service-paths-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:18px;
    }

    .service-path-card{
      position:relative;
      min-height:300px;
      padding:28px 30px 26px;
      display:flex;
      flex-direction:column;
      background:#fff;
      border:1px solid #dfe3e6;
      border-radius:18px;
      overflow:hidden;
      transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease,
        background .22s ease;
    }

    .service-path-card:before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:4px;
      background:var(--accent);
      transform:scaleY(0);
      transform-origin:bottom;
      transition:transform .24s ease;
    }

    .service-path-card:hover,
    .service-path-card:focus-visible{
      transform:translateY(-4px);
      border-color:#d4dadd;
      box-shadow:0 18px 42px rgba(24,34,48,.09);
      background:#fff;
    }

    .service-path-card:hover:before,
    .service-path-card:focus-visible:before{
      transform:scaleY(1);
    }

    .service-path-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      margin-bottom:34px;
    }

    .service-path-icon{
      min-width:48px;
      height:48px;
      padding:0 12px;
      display:grid;
      place-items:center;
      border-radius:13px;
      background:#f1f2f3;
      color:var(--navy);
      font-weight:850;
      font-size:.82rem;
      letter-spacing:.04em;
      transition:background .22s ease,color .22s ease;
    }

    .service-path-card:hover .service-path-icon{
      background:#fff0f0;
      color:var(--accent-dark);
    }

    .service-path-arrow{
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:50%;
      border:1px solid #e1e4e7;
      color:#7a858f;
      font-size:1.15rem;
      transition:
        transform .22s ease,
        border-color .22s ease,
        color .22s ease,
        background .22s ease;
    }

    .service-path-card:hover .service-path-arrow{
      transform:translateX(3px);
      color:#fff;
      background:var(--accent);
      border-color:var(--accent);
    }

    .service-path-kicker{
      color:var(--accent-dark);
      font-size:.74rem;
      font-weight:850;
      letter-spacing:.08em;
      text-transform:uppercase;
      margin-bottom:7px;
    }

    .service-path-content h3{
      margin:0 0 10px;
      color:var(--navy);
      font-size:1.42rem;
      letter-spacing:-.02em;
    }

    .service-path-content p{
      margin:0;
      color:var(--muted);
      max-width:520px;
      font-size:.95rem;
      line-height:1.55;
    }

    .service-path-link{
      margin-top:auto;
      padding-top:24px;
      color:#26364a;
      font-weight:820;
      font-size:.88rem;
    }

    .service-path-card:hover .service-path-link{
      color:var(--accent-dark);
    }

    .service-paths-secondary{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      margin-top:16px;
    }

    .secondary-path{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:14px;
      align-items:center;
      padding:16px 18px;
      background:rgba(255,255,255,.62);
      border:1px solid #e0e4e7;
      border-radius:14px;
      transition:background .18s ease,border-color .18s ease,transform .18s ease;
    }

    .secondary-path:hover{
      background:#fff;
      border-color:#d4dade;
      transform:translateY(-2px);
    }

    .secondary-icon{
      width:38px;
      height:38px;
      border-radius:10px;
      display:grid;
      place-items:center;
      background:#fff;
      border:1px solid #e0e3e6;
      color:var(--navy);
      font-weight:850;
    }

    .secondary-path strong{
      display:block;
      color:var(--navy);
      font-size:.92rem;
    }

    .secondary-path small{
      display:block;
      color:var(--muted);
      margin-top:1px;
      font-size:.77rem;
    }

    .secondary-arrow{
      color:var(--accent);
      font-weight:900;
      font-size:1.05rem;
      transition:transform .18s ease;
    }

    .secondary-path:hover .secondary-arrow{
      transform:translateX(3px);
    }

    @media (max-width:900px){
      .service-paths-head{
        grid-template-columns:1fr;
        gap:20px;
      }
      .service-paths-note{
        max-width:620px;
      }
    }

    @media (max-width:720px){
      .service-paths-grid,
      .service-paths-secondary{
        grid-template-columns:1fr;
      }

      .service-path-card{
        min-height:250px;
        padding:23px 22px;
      }

      .service-paths-head h2{
        font-size:clamp(2.15rem,11vw,3rem);
      }

      .service-path-top{
        margin-bottom:26px;
      }
    }


    /* Compact service cards */
    .service-path-card{
      min-height:0 !important;
      padding:22px 24px 21px !important;
    }

    .service-path-meta{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      margin-bottom:12px;
    }

    .service-path-icon,
    .service-path-top{
      display:none !important;
    }

    .service-path-kicker{
      margin:0 !important;
      font-size:.69rem !important;
      letter-spacing:.09em;
    }

    .service-path-arrow{
      width:32px !important;
      height:32px !important;
      flex:0 0 auto;
      font-size:.98rem !important;
    }

    .service-path-content h3{
      margin:0 0 7px !important;
      font-size:1.28rem !important;
    }

    .service-path-content p{
      font-size:.91rem !important;
      line-height:1.48 !important;
    }

    .service-path-link{
      margin-top:16px !important;
      padding-top:0 !important;
      font-size:.84rem !important;
    }

    @media (max-width:720px){
      .service-path-card{
        min-height:0 !important;
        padding:20px !important;
      }
    }


    /* Refined secondary service cards */
    .service-paths-secondary{
      gap:18px !important;
      margin-top:18px !important;
    }

    .secondary-path-clean{
      min-height:92px;
      display:flex !important;
      align-items:center !important;
      justify-content:space-between !important;
      gap:24px !important;
      padding:18px 20px !important;
      background:#fff !important;
      border:1px solid #dfe3e6 !important;
      border-radius:14px !important;
    }

    .secondary-path-clean:hover{
      border-color:#d1d7db !important;
      box-shadow:0 10px 28px rgba(24,34,48,.07);
      transform:translateY(-2px);
    }

    .secondary-copy{
      min-width:0;
    }

    .secondary-kicker{
      display:block;
      margin-bottom:3px;
      color:var(--accent-dark);
      font-size:.66rem;
      font-weight:850;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .secondary-path-clean strong{
      display:block;
      color:var(--navy);
      font-size:1rem !important;
      line-height:1.25;
    }

    .secondary-path-clean small{
      display:block;
      margin-top:3px !important;
      color:var(--muted);
      font-size:.8rem !important;
    }

    .secondary-action{
      flex:0 0 auto;
      display:flex;
      align-items:center;
      gap:8px;
      color:#465364;
      font-size:.79rem;
      font-weight:800;
      white-space:nowrap;
    }

    .secondary-action .secondary-arrow{
      width:30px;
      height:30px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:#f7f7f8;
      color:var(--accent);
      transition:background .18s ease,color .18s ease,transform .18s ease;
    }

    .secondary-path-clean:hover .secondary-action .secondary-arrow{
      background:var(--accent);
      color:#fff;
      transform:translateX(2px);
    }

    @media (max-width:720px){
      .secondary-path-clean{
        align-items:flex-start !important;
        gap:14px !important;
      }

      .secondary-action{
        margin-top:2px;
      }

      .secondary-action span:first-child{
        display:none;
      }
    }


    /* Google Reviews carousel */
    .reviews-section{
      overflow:hidden;
    }

    .reviews-head{
      display:grid;
      grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
      gap:48px;
      align-items:end;
      margin-bottom:18px;
    }

    .reviews-head h2{
      margin:.5rem 0 0;
      max-width:760px;
      color:var(--navy);
      font-size:clamp(2.2rem,4vw,3.7rem);
      line-height:1.04;
      letter-spacing:-.045em;
    }

    .reviews-meta{
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      gap:12px;
    }

    .reviews-rating{
      display:flex;
      align-items:center;
      gap:12px;
      text-align:left;
    }

    .reviews-rating strong{
      display:block;
      color:var(--navy);
      font-size:.95rem;
    }

    .reviews-rating small{
      display:block;
      color:var(--muted);
      margin-top:2px;
      font-size:.76rem;
    }

    .reviews-sync{
      width:max-content;
      max-width:100%;
      display:flex;
      align-items:center;
      gap:8px;
      margin:0 0 22px;
      padding:7px 10px;
      border-radius:999px;
      background:#fff;
      border:1px solid #e2e6e9;
      color:#6f7b86;
      font-size:.72rem;
      font-weight:700;
    }

    .sync-dot{
      width:7px;
      height:7px;
      border-radius:50%;
      background:#3f9b67;
      box-shadow:0 0 0 4px rgba(63,155,103,.10);
    }

    .sync-separator{
      color:#b2bac1;
    }

    .reviews-carousel{
      position:relative;
    }

    .reviews-viewport{
      overflow:hidden;
      margin:0 -8px;
      padding:8px;
      touch-action:pan-y;
    }

    .reviews-track{
      display:flex;
      gap:18px;
      transition:transform .42s cubic-bezier(.22,.7,.25,1);
      will-change:transform;
    }

    .review-slide{
      flex:0 0 calc((100% - 36px)/3);
      min-width:0;
      min-height:255px;
      display:flex;
      flex-direction:column;
      padding:24px;
      background:#fff;
      border:1px solid #dfe4e8;
      border-radius:16px;
      box-shadow:0 5px 18px rgba(24,34,48,.03);
    }

    .review-card-top{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:11px;
      align-items:center;
      margin-bottom:18px;
    }

    .review-avatar{
      width:40px;
      height:40px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:#f0f2f4;
      color:var(--navy);
      font-size:.76rem;
      font-weight:850;
    }

    .review-google{
      width:30px;
      height:30px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:#f7f8f9;
      border:1px solid #e4e7e9;
      color:#4285f4;
      font-weight:900;
      font-family:Arial,sans-serif;
    }

    .review-slide .stars{
      margin-bottom:12px;
      color:#f4b400;
      letter-spacing:.08em;
      font-size:.9rem;
    }

    .review-slide blockquote{
      margin:0;
      color:#495767;
      line-height:1.6;
      font-size:.95rem;
      flex:1;
    }

    .review-footer{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-top:22px;
      padding-top:16px;
      border-top:1px solid #edf0f2;
      color:#8a949e;
      font-size:.73rem;
    }

    .review-footer a{
      color:var(--accent-dark);
      font-weight:800;
    }

    .reviews-controls{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:18px;
      align-items:center;
      margin-top:20px;
    }

    .reviews-arrows{
      display:flex;
      gap:8px;
    }

    .carousel-arrow{
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:50%;
      border:1px solid #d8dde1;
      background:#fff;
      color:var(--navy);
      cursor:pointer;
      transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
    }

    .carousel-arrow:hover{
      background:var(--accent);
      color:#fff;
      border-color:var(--accent);
      transform:translateY(-1px);
    }

    .carousel-dots{
      display:flex;
      justify-content:center;
      gap:7px;
      min-width:0;
    }

    .carousel-dot{
      width:8px;
      height:8px;
      border-radius:50%;
      border:0;
      padding:0;
      background:#cfd5da;
      cursor:pointer;
      transition:width .18s ease,background .18s ease,border-radius .18s ease;
    }

    .carousel-dot.is-active{
      width:24px;
      border-radius:999px;
      background:var(--accent);
    }

    .carousel-pause{
      border:0;
      background:transparent;
      color:#7b8792;
      font-size:.74rem;
      font-weight:800;
      cursor:pointer;
      padding:8px;
    }

    .carousel-pause:hover{
      color:var(--accent-dark);
    }

    .reviews-disclaimer{
      margin:16px 0 0;
      color:#919aa3;
      font-size:.68rem;
      text-align:center;
    }

    @media (max-width:1000px){
      .reviews-head{
        grid-template-columns:1fr;
        gap:18px;
      }

      .reviews-meta{
        align-items:flex-start;
      }

      .review-slide{
        flex-basis:calc((100% - 18px)/2);
      }
    }

    @media (max-width:720px){
      .review-slide{
        flex-basis:100%;
      }

      .reviews-controls{
        grid-template-columns:auto 1fr;
      }

      .carousel-pause{
        grid-column:1/-1;
        justify-self:center;
      }

      .reviews-sync{
        white-space:normal;
        flex-wrap:wrap;
      }
    }


    /* Resources carousel */
    .resources-section{
      overflow:hidden;
    }

    .resources-carousel{
      position:relative;
    }

    .resources-viewport{
      overflow:hidden;
      margin:0 -8px;
      padding:8px;
      touch-action:pan-y;
    }

    .resources-track{
      display:flex;
      gap:20px;
      transition:transform .42s cubic-bezier(.22,.7,.25,1);
      will-change:transform;
    }

    .resource-slide{
      flex:0 0 calc((100% - 40px)/3);
      min-width:0;
      padding:28px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:16px;
      transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
      display:flex;
      flex-direction:column;
    }

    .resource-slide:hover{
      transform:translateY(-4px);
      box-shadow:0 14px 34px rgba(24,34,48,.08);
      border-color:#d3d9de;
    }

    .resource-slide .article-thumb{
      display:block;
      height:150px;
      margin-bottom:20px;
      overflow:hidden;
      border-radius:12px;
      background:
        radial-gradient(circle at 82% 25%, rgba(164,44,47,.10), transparent 28%),
        linear-gradient(145deg,#e4e7e9,#f7f8f9);
      border:1px solid var(--line);
    }

    .resource-slide .article-thumb img{
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
    }

    .resource-slide h3{
      margin:14px 0 8px;
      color:var(--navy);
      font-size:1.25rem;
      line-height:1.35;
    }

    .resource-slide p{
      margin:0;
      color:var(--muted);
      line-height:1.55;
      font-size:.94rem;
    }

    .resource-read{
      margin-top:auto;
      padding-top:22px;
      color:var(--accent-dark);
      font-size:.84rem;
      font-weight:800;
    }

    .resource-read span{
      display:inline-block;
      transition:transform .18s ease;
    }

    .resource-slide:hover .resource-read span{
      transform:translateX(3px);
    }

    .resources-controls{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:18px;
      align-items:center;
      margin-top:20px;
    }

    .resources-arrows{
      display:flex;
      gap:8px;
    }

    .resources-dots{
      display:flex;
      justify-content:center;
      gap:7px;
    }

    .resource-dot{
      width:8px;
      height:8px;
      border-radius:50%;
      border:0;
      padding:0;
      background:#cfd5da;
      cursor:pointer;
      transition:width .18s ease,background .18s ease,border-radius .18s ease;
    }

    .resource-dot.is-active{
      width:24px;
      border-radius:999px;
      background:var(--accent);
    }

    @media (max-width:1000px){
      .resource-slide{
        flex-basis:calc((100% - 20px)/2);
      }
    }

    @media (max-width:720px){
      .resources-viewport{
        margin:0;
        padding:8px 2px 12px;
      }

      .resources-track{
        gap:14px;
      }

      .resource-slide{
        flex:0 0 100%;
        width:100%;
        max-width:100%;
        padding:20px;
      }

      .resource-slide .article-thumb{
        height:140px;
      }

      .resource-slide h3{
        font-size:1.12rem;
      }

      .resource-slide p{
        font-size:.92rem;
      }
    }

    /* Responsive */
    @media (max-width: 1040px){
      .nav-links{display:none}
      .mobile-toggle{display:block}
      .nav-actions .btn-outline{display:none}
      .hero-grid{grid-template-columns:1fr;gap:42px}
      .portrait-card{min-height:430px}
      .trust-grid{grid-template-columns:repeat(2,1fr)}
      .trust-item:nth-child(2){border-right:0}
      .trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
      .card-grid,.services-grid,.review-grid,.article-grid{grid-template-columns:repeat(2,1fr)}
      .profile-grid{grid-template-columns:1fr}
      .profile-photo{min-height:390px}
      .process-grid{grid-template-columns:repeat(2,1fr)}
      .process-step:nth-child(2){border-right:0}
      .process-step:nth-child(-n+2){border-bottom:1px solid var(--line)}
      .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
      .footer-grid>div:last-child{grid-column:2/4}
    }
    @media (max-width: 720px){
      .container{width:min(calc(100% - 28px),var(--container))}
      .topbar .left span:not(:first-child),.topbar .right{display:none}
      .nav{min-height:68px}
      .nav-actions .btn-primary{display:none}
      .hero-grid{padding:58px 0 54px;min-height:auto}
      .hero h1{font-size:clamp(2.7rem,13vw,4.2rem)}
      .hero p{font-size:1.02rem}
      .portrait-card{min-height:380px}
      .consultant-badge{left:14px;right:14px;bottom:14px}
      .trust-grid{grid-template-columns:1fr}
      .trust-item{border-right:0;border-bottom:1px solid var(--line)!important}
      .trust-item:last-child{border-bottom:0!important}
      .section{padding:68px 0}
      .section-head{display:block}
      .section-head p{margin-top:14px}
      .card-grid,.services-grid,.review-grid,.article-grid{grid-template-columns:1fr}
      .process-grid{grid-template-columns:1fr}
      .process-step{border-right:0!important;border-bottom:1px solid var(--line)!important}
      .process-step:last-child{border-bottom:0!important}
      .profile-photo{min-height:330px}
      .cta-inner{display:block}
      .cta-actions{margin-top:26px}
      .footer-grid{grid-template-columns:1fr 1fr}
      .footer-brand{grid-column:1/-1}
      .footer-grid>div:last-child{grid-column:auto}
      .footer-bottom{display:block}
      .footer-bottom div+div{margin-top:10px}

      .hero-lead-card{padding:22px 18px;border-radius:18px}
      .modal-form-wrap{padding:20px 18px 24px}
      .form-row{grid-template-columns:1fr}
      .lead-alt{flex-wrap:wrap;text-align:center}

      body{padding-bottom:74px}
      .mobile-cta-bar{display:flex}
      .trust-strip{overflow:hidden}
      .trust-grid{
        display:flex;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        padding:0 14px;
      }
      .trust-grid::-webkit-scrollbar{display:none}
      .trust-item{
        min-width:82vw;
        scroll-snap-align:center;
        border-right:1px solid var(--line)!important;
        border-bottom:0!important;
        margin-right:10px;
      }
      .consult-options{grid-template-columns:1fr}
      .cookie-banner{
        width:min(calc(100% - 20px),960px);
        left:50%;
        right:auto;
        bottom:10px;
        transform:translateX(-50%);
      }
      .cookie-inner{display:block;padding:18px 18px 18px 22px}
      .cookie-actions{justify-content:flex-start;margin-top:16px}
      .cookie-actions .btn{flex:1 1 auto}
    }
  
    /* Mobile-first refinements */
    @media (max-width:720px){
      .topbar{
        display:none;
      }

      .site-header{
        position:sticky;
        top:0;
        background:rgba(255,255,255,.97);
        backdrop-filter:blur(12px);
      }

      .nav{
        min-height:auto !important;
        display:grid;
        grid-template-columns:minmax(0,1fr) auto auto;
        grid-template-areas:"brand actions toggle";
        align-items:center;
        gap:8px;
        padding:9px 0 10px;
      }

      .brand-wrap{
        grid-area:brand;
        min-width:0;
      }

      .brand{
        min-width:0;
      }

      .brand .logo-slot{
        min-width:0;
        min-height:auto;
      }

      .logo-fallback{
        font-size:1.55rem;
      }

      .brand small{
        font-size:.58rem;
        margin-top:3px;
      }

      .mobile-toggle{
        grid-area:toggle;
        display:grid !important;
        place-items:center;
        width:42px;
        height:42px;
        border:1px solid var(--line);
        border-radius:10px;
        background:#fff;
        font-size:1.35rem;
      }

      .nav-links{
        display:none !important;
      }

      .nav-actions{
        grid-area:actions;
        display:flex !important;
        align-items:center;
        gap:6px;
        width:auto;
      }

      .nav-actions .btn{
        display:inline-grid !important;
        place-items:center;
        width:40px;
        height:40px;
        min-width:40px;
        min-height:40px;
        padding:0;
        border-radius:10px;
        white-space:nowrap;
      }

      .nav-actions .btn-outline{
        background:#fff;
      }

      .nav-actions .argus-nav-action-icon{
        display:block;
        line-height:0;
      }

      .nav-actions .argus-nav-action-label{
        display:none;
      }

      .nav-actions .argus-header-callback{
        box-shadow:0 5px 14px rgba(164,44,47,.18);
      }

      .nav-actions .mobile-toggle{
        display:none !important;
      }

      /* The header now carries the main mobile CTAs, so remove duplicate bottom bar */
      .mobile-cta-bar{
        display:none !important;
      }

      body{
        padding-bottom:0 !important;
      }

      .hero-grid{
        grid-template-columns:1fr !important;
        gap:28px !important;
        padding:42px 0 46px !important;
      }

      .hero h1{
        font-size:clamp(2.65rem,12.5vw,4.1rem) !important;
        line-height:.96 !important;
        letter-spacing:-.05em !important;
        margin-top:.8rem;
      }

      .hero p{
        font-size:1rem !important;
        line-height:1.55;
      }

      .hero-actions{
        display:grid !important;
        grid-template-columns:1fr;
        gap:9px;
        margin-bottom:24px;
      }

      .hero-actions .btn{
        width:100%;
      }

      .hero-checks{
        display:grid !important;
        grid-template-columns:1fr;
        gap:8px !important;
        font-size:.85rem !important;
      }

      .google-review-statement{
        margin-top:18px !important;
      }

      .hero-lead-card{
        padding:20px 16px !important;
        border-radius:16px !important;
        box-shadow:0 12px 30px rgba(28,36,44,.08) !important;
      }

      .hero-lead-head h2{
        font-size:1.8rem !important;
      }

      .field input,
      .field select,
      .field textarea{
        font-size:16px !important; /* prevents iOS zoom */
      }

      .section{
        padding:58px 0 !important;
      }

      .section-head,
      .service-paths-head,
      .reviews-head{
        margin-bottom:26px !important;
      }

      .section-head h2,
      .service-paths-head h2,
      .reviews-head h2{
        font-size:clamp(2rem,10vw,2.8rem) !important;
      }

      .service-paths-note{
        padding:13px 14px !important;
        font-size:.8rem !important;
      }

      .service-path-card{
        padding:19px !important;
        border-radius:14px !important;
      }

      .service-path-content h3{
        font-size:1.18rem !important;
      }

      .service-path-content p{
        font-size:.88rem !important;
      }

      .secondary-path-clean{
        min-height:auto !important;
        padding:15px 16px !important;
      }

      .profile-grid{
        gap:28px !important;
      }

      .profile-photo{
        min-height:280px !important;
        border-radius:16px !important;
      }

      .profile-copy h2{
        font-size:clamp(2rem,10vw,2.8rem) !important;
      }

      .credential-box{
        padding:14px 15px !important;
        align-items:flex-start !important;
      }

      .process-grid{
        border-radius:14px !important;
      }

      .process-step{
        min-height:auto !important;
        padding:22px !important;
      }

      .review-slide,
      .resource-slide{
        min-height:auto !important;
        border-radius:14px !important;
      }

      .reviews-meta{
        width:100%;
      }

      .reviews-rating{
        align-items:flex-start !important;
      }

      .reviews-sync{
        margin-bottom:16px !important;
      }

      .reviews-controls,
      .resources-controls{
        margin-top:16px !important;
      }

      .carousel-arrow{
        width:40px !important;
        height:40px !important;
      }

      .article-thumb{
        height:132px !important;
      }

      .cta{
        padding:58px 0 !important;
      }

      .cta-inner{
        display:block !important;
      }

      .cta h2{
        font-size:clamp(2rem,10vw,2.8rem) !important;
      }

      .cta-actions{
        display:grid !important;
        grid-template-columns:1fr;
        gap:9px;
        margin-top:22px !important;
      }

      .cta-actions .btn{
        width:100%;
      }

      .footer-grid{
        grid-template-columns:1fr !important;
        gap:28px !important;
      }

      .footer-brand,
      .footer-grid>div:last-child{
        grid-column:auto !important;
      }

      footer{
        padding:50px 0 22px !important;
      }

      .footer-bottom{
        font-size:.75rem !important;
      }

      .cookie-banner{
        width:min(calc(100% - 16px),960px) !important;
        bottom:8px !important;
      }

      .cookie-inner{
        padding:16px 15px 16px 19px !important;
      }

      .cookie-actions{
        display:grid !important;
        grid-template-columns:1fr;
        gap:7px !important;
      }

      .cookie-actions .btn{
        width:100%;
      }

      .consult-modal{
        width:min(100%,690px) !important;
        border-radius:16px !important;
      }

      .consult-modal-head{
        padding:24px 18px 16px !important;
      }

      .modal-form-wrap{
        padding:18px !important;
      }

      .mobile-drawer{
        width:min(92vw,390px) !important;
      }
    }

    @media (max-width:430px){
      .container{
        width:min(calc(100% - 22px),var(--container)) !important;
      }

      .nav-actions .btn{
        font-size:.77rem !important;
        padding:0 9px !important;
      }

      .hero h1{
        font-size:clamp(2.45rem,13vw,3.4rem) !important;
      }

      .google-review-copy span{
        white-space:normal !important;
      }

      .reviews-sync{
        width:100% !important;
      }
    }



/* ============================================================
   WordPress editable-theme compatibility
   ============================================================ */
.entry-content{margin:0}.entry-content>.wp-block-group,.entry-content>.wp-block-columns{margin-block-start:0;margin-block-end:0}
.wp-site-blocks{padding:0}.alignwide{width:min(calc(100% - 40px),1240px);max-width:1240px;margin-inline:auto}.alignfull{width:100%}
.argus-home-content{overflow:hidden}
.argus-container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.argus-hero-inner{display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center;min-height:650px;padding:80px 0}
.argus-hero-copy h1{margin:.7rem 0 1.2rem;font-size:clamp(3rem,6vw,5.25rem);line-height:.98;letter-spacing:-.055em;color:var(--navy)}
.argus-hero-copy>p{font-size:1.16rem;color:var(--muted);max-width:660px}
.argus-kicker{margin:0 0 14px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.76rem;color:var(--accent-dark)}
.argus-kicker:after{content:"";display:block;width:28px;height:2px;margin-top:7px;background:var(--accent);border-radius:2px}
.argus-buttons{gap:10px!important;margin:24px 0!important}
.wp-block-button.argus-primary .wp-block-button__link,.wp-block-button.argus-secondary .wp-block-button__link{min-height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-weight:800;padding:0 22px;transition:.2s ease}
.wp-block-button.argus-primary .wp-block-button__link{background:var(--accent);color:#fff;box-shadow:0 8px 20px rgba(164,44,47,.16)}
.wp-block-button.argus-primary .wp-block-button__link:hover{background:var(--accent-dark);transform:translateY(-2px)}
.wp-block-button.argus-secondary .wp-block-button__link{background:#fff;color:var(--accent-dark);border:1px solid rgba(164,44,47,.48)}
.wp-block-button.argus-secondary .wp-block-button__link:hover{background:#fff5f5;border-color:var(--accent);transform:translateY(-2px)}
.argus-inline-trust{display:flex;flex-wrap:wrap;gap:10px 18px;color:#314558;font-size:.92rem;font-weight:700;margin-top:18px}.argus-inline-trust p{margin:0}.argus-inline-trust p:before{content:"✓";color:var(--success);font-weight:900;margin-right:7px}
.argus-review-badge{display:inline-flex;align-items:center;gap:9px;margin-top:20px;padding:9px 13px;border:1px solid #e0e4e7;border-radius:11px;background:rgba(255,255,255,.72);font-size:.82rem}.argus-review-badge strong{color:var(--navy)}.argus-review-badge a{color:var(--accent-dark);font-weight:800}
.argus-section{padding:88px 0}.argus-section-soft{background:var(--grey-100);border-block:1px solid #eceeef}.argus-section-blue{background:var(--soft-blue)}
.argus-section-title{font-size:clamp(2.15rem,3.8vw,3.4rem);line-height:1.05;letter-spacing:-.045em;color:var(--navy);margin:.55rem 0 12px}.argus-section-intro{color:var(--muted);max-width:720px}
.argus-card-row{gap:18px!important;margin-top:30px!important}.argus-card{height:100%;padding:22px 24px;border:1px solid #dfe3e6;border-radius:16px;background:#fff;transition:.2s ease}.argus-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(24,34,48,.07);border-color:#d3d9de}.argus-card h3{margin:5px 0 8px;color:var(--navy);font-size:1.28rem}.argus-card p{margin:0;color:var(--muted);font-size:.92rem}.argus-card .wp-block-button__link{padding:0;background:transparent!important;color:var(--accent-dark)!important;font-weight:800;font-size:.84rem;margin-top:14px}
.argus-profile-wrap{display:grid!important;grid-template-columns:.85fr 1.15fr!important;gap:56px!important;align-items:center}.argus-profile-image img{width:100%;min-height:430px;max-height:520px;object-fit:cover;object-position:center;border-radius:22px;mix-blend-mode:multiply;filter:saturate(.92) contrast(.98)}.argus-profile-image{position:relative;background:linear-gradient(145deg,#dfe2e4,#f4f5f6);border-radius:22px;overflow:hidden}.argus-profile-image:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(240,242,244,.08),rgba(240,242,244,0) 55%,rgba(240,242,244,.35));}
.argus-process-number{font-family:Georgia,serif;font-size:2.1rem;color:var(--accent-dark);margin:0 0 8px}.argus-process-card{padding:24px;border-right:1px solid var(--line)}
.argus-page{padding:64px 0 90px}.argus-page .entry-header{width:min(calc(100% - 40px),820px);margin:0 auto 30px}.argus-page .entry-title{font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.02;color:var(--navy);letter-spacing:-.045em}.argus-page .entry-content{width:min(calc(100% - 40px),820px);margin:auto}.argus-page .entry-content>.alignwide,.argus-page .entry-content>.alignfull{width:auto;max-width:none;margin-left:calc((820px - min(100vw - 40px,1240px))/2);margin-right:calc((820px - min(100vw - 40px,1240px))/2)}

/* WordPress primary menu */
.nav-links{display:block}.primary-menu{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:5px}.primary-menu>li{position:relative}.primary-menu>li>a{position:relative;min-height:42px;display:inline-flex;align-items:center;padding:0 13px;border-radius:10px;color:#202b39;font-weight:750;font-size:.94rem;transition:.18s ease}.primary-menu>li>a:before{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .18s ease}.primary-menu>li>a:hover{background:#f6f7f8;color:var(--navy)}.primary-menu>li>a:hover:before,.primary-menu>.current-menu-item>a:before,.primary-menu>.current-menu-ancestor>a:before{transform:scaleX(1)}
.primary-menu .menu-item-has-children>a:after{content:"";width:7px;height:7px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg);margin-left:9px;margin-top:-4px}.primary-menu .sub-menu{position:absolute;top:calc(100% + 9px);left:-10px;z-index:80;width:290px;list-style:none;margin:0;padding:9px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 46px rgba(28,36,44,.13);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s ease}.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.primary-menu .sub-menu li a{display:block;padding:11px 12px;border-radius:9px;color:var(--navy);font-weight:750}.primary-menu .sub-menu li a:hover{background:#f6f7f8;color:var(--accent-dark)}
.drawer-menu,.drawer-menu ul{list-style:none;margin:0;padding:0}.drawer-menu>li>a{display:block;padding:15px 2px;border-bottom:1px solid #eef0f2;font-weight:800;color:var(--navy)}.drawer-menu .sub-menu{padding:5px 0 7px 14px;background:#fafafa}.drawer-menu .sub-menu a{display:block;padding:10px 10px;color:#586574;font-weight:700;font-size:.92rem}.drawer-menu a:hover{color:var(--accent)}

/* Editable block notices in editor/front end */
.argus-dynamic-block-note{padding:20px;border:1px dashed #cbd2d8;border-radius:12px;background:#f7f8f9;color:#5d6873}

@media(max-width:1040px){.primary-menu{display:none}.argus-hero-inner{grid-template-columns:1fr;gap:34px}.argus-profile-wrap{grid-template-columns:1fr!important}}
@media(max-width:720px){.argus-container{width:min(calc(100% - 22px),var(--container))}.argus-hero-inner{padding:38px 0 44px;min-height:auto}.argus-hero-copy h1{font-size:clamp(2.45rem,13vw,3.5rem)}.argus-inline-trust{display:grid}.argus-section{padding:56px 0}.argus-card-row{display:grid!important;grid-template-columns:1fr!important}.argus-profile-image img{min-height:300px}.argus-profile-wrap{gap:26px!important}.argus-page{padding:42px 0 70px}.argus-page .entry-header,.argus-page .entry-content{width:min(calc(100% - 22px),820px)}}
.trust-item p{margin:0}.trust-item .trust-icon{margin:0;flex:0 0 auto}.argus-review-badge p{margin:0}.argus-review-badge .google-stars{color:#f4b400;letter-spacing:.07em}

/* =========================================================
   ARGUS V1.2 — CUSTOM LOGO / HEADER SAFETY FIX
   ========================================================= */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}
.site-header .nav {
  width: min(calc(100% - 40px), var(--container));
  margin-inline: auto;
}
.brand-wrap {
  flex: 0 0 auto;
  width: auto;
  max-width: 190px;
  min-width: 0;
  display: flex;
  align-items: center;
}
.brand-wrap .custom-logo-link,
.footer-brand .custom-logo-link,
.drawer-top .custom-logo-link {
  display: flex;
  align-items: center;
  width: auto;
  max-width: 100%;
  line-height: 0;
}
.brand-wrap img.custom-logo {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 190px !important;
  max-height: 88px !important;
  object-fit: contain;
}
.footer-brand img.custom-logo {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 180px !important;
  max-height: 92px !important;
  object-fit: contain;
}
.drawer-top img.custom-logo {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 155px !important;
  max-height: 68px !important;
  object-fit: contain;
}
.site-header .nav-links {
  flex: 1 1 auto;
  min-width: 0;
  justify-content: center;
  margin-inline: 12px;
}
.site-header .nav-actions {
  flex: 0 0 auto;
}
.site-header .primary-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-header .primary-menu > li { flex: 0 0 auto; }
@media (max-width: 1180px) {
  .brand-wrap { max-width: 165px; }
  .brand-wrap img.custom-logo {
    max-width: 165px !important;
    max-height: 76px !important;
  }
  .site-header .nav { gap: 16px; }
  .site-header .nav-links { margin-inline: 4px; }
  .site-header .nav-actions .btn { padding-inline: 14px; }
}
@media (max-width: 1040px) {
  .brand-wrap { max-width: 155px; }
  .brand-wrap img.custom-logo {
    max-width: 155px !important;
    max-height: 70px !important;
  }
}
@media (max-width: 720px) {
  .site-header .nav {
    width: min(calc(100% - 22px), var(--container));
  }
  .brand-wrap {
    grid-area: brand;
    max-width: 145px;
  }
  .brand-wrap img.custom-logo {
    max-width: 145px !important;
    max-height: 60px !important;
  }
  .nav-actions { min-width: 0; }
  .nav-actions .btn {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media (max-width: 390px) {
  .brand-wrap,
  .brand-wrap img.custom-logo { max-width: 128px !important; }
  .brand-wrap img.custom-logo { max-height: 54px !important; }
}

/* Argus V1.3 profile image blending */
.argus-profile-photo{position:relative;overflow:hidden;background:var(--grey-100);border:0!important}.argus-profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.argus-profile-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(244,245,246,0) 55%,rgba(244,245,246,.35) 72%,var(--grey-100) 100%)}
/* Custom logo safety */
.brand-wrap{flex:0 0 auto;max-width:190px;min-width:0}.brand-wrap .custom-logo-link,.footer-brand .custom-logo-link,.drawer-top .custom-logo-link{display:flex;align-items:center;line-height:0;max-width:100%}.brand-wrap img.custom-logo{width:auto!important;height:auto!important;max-width:190px!important;max-height:88px!important;object-fit:contain}.footer-brand img.custom-logo{width:auto!important;height:auto!important;max-width:180px!important;max-height:92px!important;object-fit:contain}.drawer-top img.custom-logo{width:auto!important;height:auto!important;max-width:155px!important;max-height:68px!important;object-fit:contain}html,body{max-width:100%;overflow-x:clip}@media(max-width:720px){.brand-wrap{max-width:145px}.brand-wrap img.custom-logo{max-width:145px!important;max-height:60px!important}}


/* =========================================================
   ARGUS V1.5 — HERO ALIGNMENT + HONEYPOT VISIBILITY FIX
   ========================================================= */

/* Keep the spam-trap field in the DOM for bots but never show it to visitors. */
.argus-hp {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.argus-hp input,
.argus-hp label {
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* Align the hero copy with the consultation card instead of vertically centering
   the shorter left column inside a 650px row. */
.hero-grid {
  align-items: start !important;
  min-height: 0 !important;
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}
.hero-grid > div:first-child {
  padding-top: 18px;
}
.hero-lead-card {
  align-self: start;
}

@media (max-width: 1040px) {
  .hero-grid {
    padding-top: 52px !important;
    padding-bottom: 56px !important;
  }
  .hero-grid > div:first-child {
    padding-top: 0;
  }
}

@media (max-width: 720px) {
  .hero-grid {
    padding-top: 34px !important;
    padding-bottom: 42px !important;
  }
}


/* =========================================================
   ARGUS V1.8 — PAGE LAYOUTS / PAGE BUILDER
   ========================================================= */
.argus-pb-hero{background:linear-gradient(135deg,#fbfbfb,#f1f2f3);border-bottom:1px solid var(--grey-200)}
.argus-pb-hero-inner{min-height:430px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:56px;align-items:center;padding:64px 0}
.argus-pb-hero-inner.single{grid-template-columns:1fr;min-height:330px}
.argus-pb-hero-copy h1{margin:.5rem 0 18px;color:var(--navy);font-size:clamp(2.8rem,5vw,5rem);line-height:.98;letter-spacing:-.05em}
.argus-pb-intro{max-width:720px;color:var(--muted);font-size:1.08rem}
.argus-pb-intro p{margin:.6em 0}
.argus-pb-hero-media{border-radius:22px;overflow:hidden;min-height:350px;background:#e7eaed}
.argus-pb-hero-image{width:100%;height:100%;min-height:350px;object-fit:cover;display:block}
.argus-pb-section{padding:82px 0}
.argus-pb-section.soft{background:var(--grey-100)}
.argus-pb-narrow{max-width:850px}
.argus-pb-section h2,.argus-pb-content h2{margin:.55rem 0 16px;color:var(--navy);font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.08;letter-spacing:-.035em}
.argus-pb-copy{color:#4f5d6c;font-size:1.02rem;line-height:1.72}
.argus-pb-copy p{margin:0 0 1.05em}
.argus-pb-copy ul,.argus-pb-copy ol{padding-left:1.3em}
.argus-pb-split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.argus-pb-split.image-right .argus-pb-media{order:2}.argus-pb-split.image-right .argus-pb-content{order:1}
.argus-pb-media{min-width:0}
.argus-pb-photo{width:100%;max-height:520px;object-fit:cover;border-radius:20px;display:block}
.argus-pb-media small,.argus-pb-caption{display:block;color:#7b8792;font-size:.78rem;margin-top:8px}
.argus-pb-full-photo{width:100%;max-height:720px;object-fit:cover;border-radius:20px}
.argus-pb-image-placeholder{min-height:340px;display:grid;place-items:center;background:#e7eaed;border-radius:20px;color:#7b8792}
.argus-pb-image-placeholder.wide{min-height:440px}
.argus-pb-form-wrap{max-width:760px}
.argus-pb-form-wrap .hero-lead-card{max-width:680px;margin:auto}
.argus-pb-inline-cta{background:#f4f5f6}
.argus-pb-inline-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:36px}
.argus-pb-inline-cta-inner h2{margin:.4rem 0 10px}
.argus-pb-cta-actions{display:flex;gap:10px;flex-wrap:wrap;flex:0 0 auto}
.argus-contact-band{background:#f4f5f6}
.argus-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.argus-contact-grid>div:first-child{padding-top:28px}
.argus-contact-grid h2{font-size:clamp(2rem,3.3vw,3rem)}
.argus-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.argus-blog-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.argus-blog-card-image{display:block;height:190px;background:#e7eaed;overflow:hidden}
.argus-blog-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.argus-blog-card-body{padding:22px;display:flex;flex-direction:column;flex:1}
.argus-blog-meta{color:#88939d;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.argus-blog-card h2{font-size:1.25rem;line-height:1.3;margin:10px 0;color:var(--navy)}
.argus-blog-card h2 a{color:inherit}
.argus-blog-card p{color:var(--muted);font-size:.9rem;line-height:1.55;margin:0}
.argus-blog-card .resource-read{margin-top:auto;padding-top:18px}
.argus-pagination{margin-top:40px;text-align:center}
.argus-pagination .nav-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.argus-pagination .page-numbers{
  display:inline-flex;
  min-width:44px;
  height:44px;
  padding:0 12px;
  align-items:center;
  justify-content:center;
  margin:0;
  border:1px solid #d8dee6;
  border-radius:10px;
  background:#fff;
  color:var(--navy);
  font-size:.92rem;
  line-height:1;
  font-weight:800;
  text-decoration:none;
  transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.argus-pagination a.page-numbers:hover,
.argus-pagination a.page-numbers:focus-visible{
  border-color:rgba(173,41,49,.55);
  background:#fff8f8;
  color:var(--accent-dark);
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(18,34,58,.08);
}
.argus-pagination .page-numbers.current{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
  box-shadow:0 7px 16px rgba(173,41,49,.18);
}
.argus-pagination .page-numbers.prev,
.argus-pagination .page-numbers.next{
  min-width:auto;
  padding:0 15px;
  white-space:nowrap;
}
.argus-pagination .page-numbers.dots{
  min-width:28px;
  padding:0 2px;
  border-color:transparent;
  background:transparent;
  color:#778493;
  box-shadow:none;
}
@media(max-width:520px){
  .argus-pagination{margin-top:30px}
  .argus-pagination .nav-links{gap:6px}
  .argus-pagination .page-numbers{
    min-width:38px;
    height:40px;
    padding:0 9px;
    border-radius:9px;
    font-size:.86rem;
  }
  .argus-pagination .page-numbers.prev,
  .argus-pagination .page-numbers.next{padding:0 11px}
}
.argus-article-header{padding:70px 0 30px}
.argus-article-narrow{max-width:820px}
.argus-article-header h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.02;color:var(--navy);letter-spacing:-.045em;margin:.6rem 0 14px}
.argus-article-meta{color:#7d8791;font-size:.86rem}
.argus-article-featured{max-width:1080px}
.argus-article-featured img{width:100%;max-height:620px;object-fit:cover;border-radius:20px}
.argus-article-content{padding-top:42px;padding-bottom:60px;font-size:1.04rem;line-height:1.75;color:#435261}
.argus-article-content h2{color:var(--navy);font-size:2rem;margin-top:1.6em}
.argus-article-content h3{color:var(--navy);font-size:1.45rem;margin-top:1.5em}
.argus-article-content img{border-radius:12px}
.argus-article-consult{padding:0 0 70px}
.argus-article-consult-inner{background:#f4f5f6;border:1px solid var(--line);border-radius:16px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.argus-article-consult-inner h2{margin:.45rem 0 0;color:var(--navy);font-size:1.55rem}
@media(max-width:1000px){
  .argus-pb-hero-inner{grid-template-columns:1fr;gap:30px;min-height:auto}
  .argus-pb-split,.argus-contact-grid{grid-template-columns:1fr;gap:30px}
  .argus-pb-split.image-right .argus-pb-media,.argus-pb-split.image-right .argus-pb-content{order:initial}
  .argus-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .argus-pb-hero-inner{padding:42px 0}
  .argus-pb-hero-copy h1{font-size:clamp(2.4rem,12vw,3.5rem)}
  .argus-pb-section{padding:58px 0}
  .argus-pb-inline-cta-inner,.argus-article-consult-inner{display:block}
  .argus-pb-cta-actions,.argus-article-consult-inner .btn{margin-top:18px}
  .argus-blog-grid{grid-template-columns:1fr}
  .argus-blog-card-image{height:180px}
  .argus-article-header{padding:48px 0 24px}
  .argus-article-featured img{border-radius:14px}
}


/* =========================================================
   ARGUS V1.10 — RCIC PROFILE IMAGE
   No fade; photo finishes flush with the bottom of the section.
   ========================================================= */
#about.section.blue{
  padding-bottom:0 !important;
}

#about .profile-grid{
  align-items:stretch !important;
}

#about .argus-profile-photo{
  align-self:stretch;
  min-height:520px;
  height:auto;
  border-radius:22px 22px 0 0;
  overflow:hidden;
  background:transparent;
}

#about .argus-profile-photo img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  object-position:center top;
  display:block;
}

#about .argus-profile-photo:after{
  content:none !important;
  display:none !important;
  background:none !important;
}

#about .profile-copy{
  padding-bottom:72px;
  align-self:center;
}

@media (max-width:1040px){
  #about.section.blue{
    padding-bottom:0 !important;
  }

  #about .profile-grid{
    align-items:start !important;
  }

  #about .argus-profile-photo{
    min-height:420px;
    border-radius:18px;
  }

  #about .argus-profile-photo img{
    min-height:420px;
  }

  #about .profile-copy{
    padding-bottom:58px;
  }
}

@media (max-width:720px){
  #about .argus-profile-photo{
    min-height:340px;
    border-radius:16px;
  }

  #about .argus-profile-photo img{
    min-height:340px;
  }

  #about .profile-copy{
    padding-bottom:50px;
  }
}


/* =========================================================
   ARGUS V1.11 — RCIC PROFILE COMPOSITION
   Larger blended portrait, tighter section, stronger balance.
   ========================================================= */
#about.section.blue{
  padding-top:58px !important;
  padding-bottom:0 !important;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 48%, rgba(255,255,255,.72), rgba(255,255,255,0) 32%),
    var(--grey-100) !important;
}

#about .profile-grid{
  grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr) !important;
  gap:56px !important;
  align-items:end !important;
  min-height:560px;
}

#about .argus-profile-photo{
  position:relative;
  align-self:end !important;
  justify-self:stretch;
  min-height:0 !important;
  height:100%;
  padding:0 !important;
  margin:0;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  overflow:visible !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
}

#about .argus-profile-photo img{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:112% !important;
  max-height:570px !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  margin:0 auto;
  transform:translateY(1px);
}

#about .argus-profile-photo:before,
#about .argus-profile-photo:after{
  content:none !important;
  display:none !important;
}

#about .profile-copy{
  align-self:center !important;
  padding:28px 0 72px !important;
  max-width:690px;
}

#about .profile-copy h2{
  max-width:670px;
}

#about .profile-copy > p{
  max-width:650px;
  line-height:1.65;
}

#about .credential-box{
  max-width:650px;
  margin-top:24px;
  margin-bottom:22px;
}

@media (max-width:1180px){
  #about .profile-grid{
    grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr) !important;
    gap:42px !important;
  }

  #about .argus-profile-photo img{
    max-width:108% !important;
    max-height:535px !important;
  }
}

@media (max-width:1040px){
  #about.section.blue{
    padding-top:56px !important;
    padding-bottom:0 !important;
  }

  #about .profile-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
    min-height:0;
    align-items:start !important;
  }

  #about .profile-copy{
    order:1;
    padding:0 !important;
    max-width:none;
  }

  #about .argus-profile-photo{
    order:2;
    min-height:0 !important;
    height:auto;
    margin-top:4px;
  }

  #about .argus-profile-photo img{
    width:auto !important;
    max-width:min(100%,520px) !important;
    max-height:500px !important;
    margin-inline:auto;
  }
}

@media (max-width:720px){
  #about.section.blue{
    padding-top:48px !important;
  }

  #about .profile-grid{
    gap:22px !important;
  }

  #about .profile-copy{
    padding:0 !important;
  }

  #about .argus-profile-photo img{
    max-width:min(108%,430px) !important;
    max-height:430px !important;
  }

  #about .credential-box{
    margin-top:20px;
  }
}


/* =========================================================
   ARGUS V1.12 — SERVICE / SUB-ITEM HERO ALIGNMENT
   Aligns heading content with the top of the consultation form.
   ========================================================= */

.argus-pb-hero-service .argus-pb-hero-inner{
  min-height:0 !important;
  align-items:start !important;
  padding-top:50px !important;
  padding-bottom:56px !important;
  gap:56px !important;
}

.argus-pb-hero-service .argus-pb-hero-copy{
  align-self:start !important;
  padding-top:30px;
  max-width:650px;
}

.argus-pb-hero-service .argus-pb-hero-copy h1{
  margin-top:.55rem !important;
  margin-bottom:18px !important;
  font-size:clamp(3.2rem,5.4vw,5.4rem) !important;
  line-height:.96 !important;
}

.argus-pb-hero-service .argus-pb-intro{
  max-width:610px;
  font-size:1.05rem;
  line-height:1.62;
}

.argus-pb-hero-service .argus-pb-hero-aside{
  align-self:start !important;
  width:100%;
}

.argus-pb-hero-service .hero-lead-card{
  margin-top:0 !important;
}

@media (max-width:1180px){
  .argus-pb-hero-service .argus-pb-hero-inner{
    grid-template-columns:minmax(0,.95fr) minmax(400px,1.05fr) !important;
    gap:42px !important;
  }

  .argus-pb-hero-service .argus-pb-hero-copy{
    padding-top:24px;
  }
}

@media (max-width:1000px){
  .argus-pb-hero-service .argus-pb-hero-inner{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding-top:42px !important;
    padding-bottom:48px !important;
  }

  .argus-pb-hero-service .argus-pb-hero-copy{
    padding-top:0 !important;
    max-width:none;
  }

  .argus-pb-hero-service .argus-pb-hero-copy h1{
    max-width:760px;
  }

  .argus-pb-hero-service .argus-pb-hero-aside{
    max-width:720px;
  }
}

@media (max-width:720px){
  .argus-pb-hero-service .argus-pb-hero-inner{
    padding-top:34px !important;
    padding-bottom:40px !important;
    gap:24px !important;
  }

  .argus-pb-hero-service .argus-pb-hero-copy h1{
    font-size:clamp(2.55rem,12vw,3.7rem) !important;
  }
}


/* =========================================================
   ARGUS V1.16 — CLEAN LIVE GOOGLE REVIEWS
   ========================================================= */
.reviews-rating-clean{
  gap:10px !important;
}
.google-attribution-logo{
  width:61px;
  height:auto;
  object-fit:contain;
  display:block;
}
.review-google-logo{
  width:48px;
  height:auto;
  object-fit:contain;
  align-self:center;
}
.review-avatar-photo{
  object-fit:cover;
}
.review-author-link{
  display:block;
  width:40px;
  height:40px;
  border-radius:50%;
  overflow:hidden;
}
.reviewer a{
  color:inherit;
}
.reviewer a:hover{
  color:var(--accent-dark);
}
.reviews-meta{
  min-width:260px;
}
@media(max-width:720px){
  .reviews-meta{
    min-width:0;
  }
  .reviews-rating-clean{
    flex-wrap:wrap;
  }
  .review-google-logo{
    width:42px;
  }
}


/* =========================================================
   ARGUS V1.17 — REAL GOOGLE REVIEWS ONLY
   ========================================================= */
.reviews-connection-warning{
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:18px 20px;
  border:1px solid #e0d3d4;
  border-left:4px solid var(--accent);
  border-radius:12px;
  background:#fff;
  color:#5f6872;
}
.reviews-connection-warning strong{
  color:var(--navy);
  font-size:1rem;
}
.button-like-link{
  width:max-content;
  margin-top:4px;
  color:var(--accent-dark);
  font-weight:800;
}
.review-author-copy{
  min-width:0;
}
.review-footer span:empty{
  display:none;
}


/* =========================================================
   ARGUS V1.18 — COMPACT, MANAGED GOOGLE REVIEWS
   ========================================================= */
.google-review-statement{
  padding:9px 13px !important;
}
.google-review-copy strong{
  font-size:.82rem !important;
}
.google-review-copy span{
  font-size:.74rem !important;
}

.reviews-section{
  padding-top:66px !important;
  padding-bottom:66px !important;
}
.reviews-head{
  margin-bottom:14px !important;
}
.reviews-head h2{
  font-size:clamp(2rem,3.5vw,3.25rem) !important;
  max-width:680px !important;
}

.reviews-track{
  gap:14px !important;
}
.review-slide{
  flex-basis:calc((100% - 28px)/3) !important;
  min-height:225px !important;
  padding:17px 18px !important;
  border-radius:14px !important;
}
.review-card-top{
  gap:9px !important;
  margin-bottom:11px !important;
}
.review-avatar,
.review-author-link{
  width:34px !important;
  height:34px !important;
}
.reviewer{
  font-size:.82rem !important;
  line-height:1.2;
}
.review-meta{
  font-size:.68rem !important;
}
.review-google-logo{
  width:39px !important;
}
.review-slide .stars{
  margin-bottom:8px !important;
  font-size:.76rem !important;
}
.review-slide blockquote{
  font-size:.82rem !important;
  line-height:1.48 !important;
  display:-webkit-box;
  -webkit-line-clamp:7;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.review-footer{
  margin-top:13px !important;
  padding-top:10px !important;
  font-size:.66rem !important;
}
.reviews-controls{
  margin-top:14px !important;
}

@media(max-width:1000px){
  .review-slide{
    flex-basis:calc((100% - 14px)/2) !important;
  }
}
@media(max-width:720px){
  .review-slide{
    flex-basis:100% !important;
    min-height:210px !important;
  }
  .review-slide blockquote{
    -webkit-line-clamp:8;
  }
}


/* =========================================================
   ARGUS V1.21 — GOOGLE REVIEW BRANDING CONSISTENCY
   ========================================================= */
.google-review-badge-logo{
  width:58px;
  height:auto;
  object-fit:contain;
  flex:0 0 auto;
}
.google-review-statement{
  gap:10px !important;
}
.google-review-statement .google-stars{
  font-size:.82rem !important;
  letter-spacing:.045em !important;
}
.google-review-statement .google-review-copy{
  gap:5px 7px !important;
}
.google-review-statement .google-review-copy strong{
  white-space:nowrap;
}
.reviews-rating-clean{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px !important;
}
.reviews-rating-clean .google-stars{
  font-size:.82rem !important;
}
.reviews-rating-clean strong{
  white-space:nowrap;
}
@media(max-width:720px){
  .google-review-badge-logo{
    width:52px;
  }
  .google-review-statement{
    flex-wrap:wrap;
  }
  .google-review-statement .google-review-arrow{
    margin-left:auto;
  }
}


/* =========================================================
   ARGUS V1.22 — SIMPLIFIED GOOGLE RATING LABEL
   Google logo + stars + "5 Star" + live review count.
   ========================================================= */
.google-review-statement .google-review-copy strong,
.reviews-rating-clean strong{
  font-weight:800;
}
.reviews-rating-clean small{
  margin-top:1px !important;
}


/* =========================================================
   ARGUS V1.25 — Uploadable RCIC credential logo
   ========================================================= */
.credential-box .trust-icon{
  overflow:hidden;
}
.credential-box .credential-logo-image{
  width:26px;
  height:26px;
  object-fit:contain;
  display:block;
}


/* =========================================================
   ARGUS V1.26 — Larger RCIC credential logo
   ========================================================= */
.credential-box .credential-icon.has-logo{
  width:68px !important;
  height:68px !important;
  flex:0 0 68px !important;
  border-radius:0 !important;
  background:transparent !important;
  overflow:visible !important;
  padding:0 !important;
}

.credential-box .credential-icon.has-logo .credential-logo-image{
  width:60px !important;
  height:60px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  display:block !important;
  margin:auto;
}

.credential-box{
  gap:18px !important;
}

@media (max-width:720px){
  .credential-box .credential-icon.has-logo{
    width:58px !important;
    height:58px !important;
    flex-basis:58px !important;
  }

  .credential-box .credential-icon.has-logo .credential-logo-image{
    width:52px !important;
    height:52px !important;
  }
}


/* =========================================================
   ARGUS V1.27 — Featured Service Images
   ========================================================= */
.service-art.has-image{
  min-height:150px;
  background:#eef1f3 !important;
  overflow:hidden;
}
.service-art.has-image:before{
  display:none !important;
}
.service-card-image{
  width:100%;
  height:150px;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .28s ease;
}
.service-card:hover .service-card-image{
  transform:scale(1.025);
}

@media (max-width:720px){
  .service-art.has-image,
  .service-card-image{
    height:165px;
    min-height:165px;
  }
}


/* =========================================================
   ARGUS V1.28 — ALTERNATING HOMEPAGE BACKGROUNDS
   Deliberate white / soft-grey rhythm.
   ========================================================= */

:root{
  --argus-home-white:#ffffff;
  --argus-home-grey:#f4f5f6;
}

.homepage-white{
  background:var(--argus-home-white) !important;
}

.homepage-grey{
  background:var(--argus-home-grey) !important;
}

/* RCIC section: keep the portrait composition, but on a clean white field. */
#about.homepage-white{
  background:
    radial-gradient(circle at 18% 48%, rgba(244,245,246,.72), rgba(255,255,255,0) 32%),
    var(--argus-home-white) !important;
}

/* Trust band acts as the grey separator between RCIC and service paths. */
.trust-strip.homepage-grey{
  border-top:1px solid #e4e7ea;
  border-bottom:1px solid #e4e7ea;
}

/* Cards should remain white when their parent section is grey. */
#services.homepage-grey .service-card,
.reviews-section.homepage-grey .review-slide{
  background:#fff;
}

/* Keep cards visually separate from white sections without adding heavy shadows. */
.service-paths-section.homepage-white .service-path-card,
.service-paths-section.homepage-white .secondary-path,
.resources-section.homepage-white .resource-slide{
  background:#fff;
}

/* Slightly strengthen the transition between adjacent sections. */
.homepage-white + .homepage-grey,
.homepage-grey + .homepage-white{
  border-top:1px solid rgba(223,227,231,.62);
}

/* Do not let the RCIC section inherit the old blue/grey override. */
#about.section{
  border-top:0;
}

@media(max-width:720px){
  :root{
    --argus-home-grey:#f5f6f7;
  }
}


/* =========================================================
   ARGUS V1.29 — TRUST STRIP SECOND
   ========================================================= */

/* Second section: trust strip on white for immediate credibility after hero. */
.trust-strip.homepage-grey{
  background:#fff !important;
}

/* Third section: RCIC profile on soft grey to preserve alternating rhythm. */
#about.homepage-white{
  background:
    radial-gradient(circle at 18% 48%, rgba(255,255,255,.70), rgba(255,255,255,0) 32%),
    var(--argus-home-grey) !important;
}

/* Keep the sequence visually clean after moving the trust strip. */
.trust-strip + #about{
  border-top:1px solid rgba(223,227,231,.62);
}


/* =========================================================
   ARGUS V1.30 — WHITE FOOTER
   ========================================================= */
.site-footer,
footer{
  background:#ffffff !important;
}

.site-footer .footer-grid,
footer .footer-grid{
  background:transparent !important;
}

.site-footer,
footer{
  color:var(--muted);
  border-top:1px solid var(--line);
}

.site-footer h3,
.site-footer h4,
.site-footer strong,
footer h3,
footer h4,
footer strong{
  color:var(--navy);
}

.site-footer a,
footer a{
  color:var(--muted);
}

.site-footer a:hover,
footer a:hover{
  color:var(--accent-dark);
}

.site-footer .footer-bottom,
footer .footer-bottom{
  border-top:1px solid var(--line);
  background:#fff !important;
}


/* =========================================================
   ARGUS V1.31 — COMPACT RCIC PROFILE + MOBILE PHOTO FIRST
   ========================================================= */

/* Reduce the oversized vertical footprint inherited from the
   earlier portrait composition. */
#about.section{
  padding-top:36px !important;
  padding-bottom:0 !important;
  overflow:hidden;
}

#about .profile-grid{
  grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr) !important;
  gap:44px !important;
  min-height:470px !important;
  align-items:end !important;
}

/* Portrait remains grounded to the bottom of the section. */
#about .argus-profile-photo{
  min-height:0 !important;
  height:100% !important;
  align-self:end !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
}

#about .argus-profile-photo img{
  width:auto !important;
  height:auto !important;
  max-width:108% !important;
  max-height:470px !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center bottom !important;
}

/* Bring the copy closer to the portrait and remove excess padding. */
#about .profile-copy{
  align-self:center !important;
  max-width:650px !important;
  padding:8px 0 42px !important;
}

#about .profile-copy h2{
  margin-top:.4rem !important;
  margin-bottom:.75rem !important;
  max-width:620px !important;
}

#about .profile-copy > p{
  margin-bottom:0 !important;
  max-width:620px !important;
}

/* Credential block: less height, better use of horizontal space. */
#about .credential-box{
  max-width:600px !important;
  margin:18px 0 18px !important;
  padding:12px 16px !important;
  gap:14px !important;
  min-height:0 !important;
}

#about .credential-box .credential-icon.has-logo{
  width:56px !important;
  height:56px !important;
  flex:0 0 56px !important;
}

#about .credential-box .credential-icon.has-logo .credential-logo-image{
  width:50px !important;
  height:50px !important;
}

#about .credential-box strong{
  line-height:1.25 !important;
}

#about .credential-box small{
  display:block;
  margin-top:3px;
  line-height:1.35;
}

/* Tablet: still two columns where there is room, but compact. */
@media (max-width:1100px) and (min-width:821px){
  #about.section{
    padding-top:32px !important;
  }

  #about .profile-grid{
    grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr) !important;
    gap:34px !important;
    min-height:430px !important;
  }

  #about .argus-profile-photo img{
    max-height:430px !important;
    max-width:104% !important;
  }

  #about .profile-copy{
    padding:6px 0 34px !important;
  }
}

/* Mobile/tablet stack:
   PHOTO FIRST, then text/credentials/actions. */
@media (max-width:820px){
  #about.section{
    padding-top:28px !important;
    padding-bottom:0 !important;
  }

  #about .profile-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    min-height:0 !important;
    align-items:start !important;
  }

  #about .argus-profile-photo{
    order:1 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    align-self:end !important;
  }

  #about .argus-profile-photo img{
    width:auto !important;
    max-width:min(100%,430px) !important;
    max-height:390px !important;
    margin:0 auto !important;
    object-position:center bottom !important;
  }

  #about .profile-copy{
    order:2 !important;
    max-width:none !important;
    padding:0 0 38px !important;
  }

  #about .credential-box{
    max-width:none !important;
    margin:16px 0 !important;
    padding:11px 14px !important;
  }

  #about .credential-box .credential-icon.has-logo{
    width:52px !important;
    height:52px !important;
    flex-basis:52px !important;
  }

  #about .credential-box .credential-icon.has-logo .credential-logo-image{
    width:46px !important;
    height:46px !important;
  }
}

@media (max-width:520px){
  #about.section{
    padding-top:22px !important;
  }

  #about .profile-grid{
    gap:12px !important;
  }

  #about .argus-profile-photo img{
    max-width:106% !important;
    max-height:350px !important;
  }

  #about .profile-copy{
    padding-bottom:32px !important;
  }

  #about .profile-copy h2{
    margin-bottom:.65rem !important;
  }

  #about .credential-box{
    gap:11px !important;
  }
}


/* =========================================================
   ARGUS V1.32 — MOBILE RCIC PORTRAIT AS LARGE FIRST BLOCK
   ========================================================= */

@media (max-width:820px){
  #about.section{
    padding-top:0 !important;
  }

  #about .profile-grid{
    width:100% !important;
    max-width:none !important;
    gap:0 !important;
  }

  #about .argus-profile-photo{
    order:1 !important;
    width:100% !important;
    max-width:none !important;
    min-height:390px !important;
    height:390px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:transparent !important;
    border-radius:0 !important;
  }

  #about .argus-profile-photo img{
    width:auto !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    min-height:390px !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    display:block !important;
    margin:0 auto !important;
  }

  #about .profile-copy{
    order:2 !important;
    padding:28px 0 38px !important;
  }

  #about .profile-copy .eyebrow{
    margin-top:0 !important;
  }
}

@media (max-width:620px){
  #about .argus-profile-photo{
    min-height:370px !important;
    height:370px !important;
  }

  #about .argus-profile-photo img{
    min-height:370px !important;
  }

  #about .profile-copy{
    padding-top:24px !important;
  }
}

@media (max-width:430px){
  #about .argus-profile-photo{
    min-height:350px !important;
    height:350px !important;
  }

  #about .argus-profile-photo img{
    min-height:350px !important;
  }

  #about .profile-copy{
    padding-top:22px !important;
    padding-bottom:32px !important;
  }
}


/* =========================================================
   ARGUS V1.33 — MOBILE RCIC ORDER
   Heading/text -> portrait -> credential -> buttons
   ========================================================= */

/* Desktop: portrait spans the full left column while the split
   text blocks form one visual column on the right. */
#about .profile-grid{
  display:grid !important;
  grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr) !important;
  grid-template-rows:auto auto !important;
  grid-template-areas:
    "photo intro"
    "photo details" !important;
  column-gap:44px !important;
  row-gap:0 !important;
  min-height:470px !important;
  align-items:end !important;
}

#about .argus-profile-photo{
  grid-area:photo !important;
  align-self:end !important;
}

#about .profile-copy-top{
  grid-area:intro;
  align-self:end;
  max-width:650px;
  padding:8px 0 0;
}

#about .profile-copy-top h2{
  font-size:clamp(2.2rem,4vw,3.8rem);
  line-height:1.03;
  letter-spacing:-.045em;
  margin:.4rem 0 .75rem;
  color:var(--navy);
  max-width:620px;
}

#about .profile-copy-top > p{
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.65;
  max-width:620px;
  margin:0;
}

#about .profile-copy-bottom{
  grid-area:details;
  align-self:start;
  max-width:650px;
  padding:0 0 42px;
}

#about .profile-copy-bottom .credential-box{
  margin:18px 0 !important;
}

#about .profile-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* Tablet/mobile:
   1. Heading/profile text
   2. Large portrait
   3. Credential box
   4. Buttons */
@media (max-width:820px){
  #about.section{
    padding-top:0 !important;
  }

  #about .profile-grid{
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto auto !important;
    grid-template-areas:
      "intro"
      "photo"
      "details" !important;
    gap:0 !important;
    min-height:0 !important;
    align-items:start !important;
  }

  #about .profile-copy-top{
    grid-area:intro !important;
    order:initial !important;
    max-width:none !important;
    padding:28px 0 20px !important;
  }

  #about .profile-copy-top h2{
    max-width:none !important;
  }

  #about .profile-copy-top > p{
    max-width:none !important;
  }

  #about .argus-profile-photo{
    grid-area:photo !important;
    order:initial !important;
    width:100% !important;
    max-width:none !important;
    height:390px !important;
    min-height:390px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:0 !important;
  }

  #about .argus-profile-photo img{
    width:auto !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    min-height:390px !important;
    margin:0 auto !important;
    object-fit:contain !important;
    object-position:center bottom !important;
  }

  #about .profile-copy-bottom{
    grid-area:details !important;
    order:initial !important;
    max-width:none !important;
    padding:20px 0 38px !important;
  }

  #about .profile-copy-bottom .credential-box{
    max-width:none !important;
    margin:0 0 16px !important;
  }
}

@media (max-width:620px){
  #about .profile-copy-top{
    padding:24px 0 18px !important;
  }

  #about .argus-profile-photo{
    height:370px !important;
    min-height:370px !important;
  }

  #about .argus-profile-photo img{
    min-height:370px !important;
  }

  #about .profile-copy-bottom{
    padding-top:18px !important;
  }
}

@media (max-width:430px){
  #about .profile-copy-top{
    padding:22px 0 16px !important;
  }

  #about .argus-profile-photo{
    height:350px !important;
    min-height:350px !important;
  }

  #about .argus-profile-photo img{
    min-height:350px !important;
  }

  #about .profile-copy-bottom{
    padding:16px 0 32px !important;
  }
}


/* =========================================================
   ARGUS V1.34 — MOBILE RCIC TEXT WIDTH CORRECTION
   Text respects site margins; portrait can remain wider.
   ========================================================= */

@media (max-width:820px){
  /* Restore the standard site container width that V1.32 had
     overridden with width:100%. */
  #about .profile-grid{
    width:min(calc(100% - 40px), var(--container)) !important;
    max-width:var(--container) !important;
    margin-inline:auto !important;
  }

  #about .profile-copy-top,
  #about .profile-copy-bottom{
    width:100% !important;
    max-width:100% !important;
  }

  #about .profile-copy-top{
    padding:28px 0 20px !important;
  }

  #about .profile-copy-top h2{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(2.15rem, 8.6vw, 3.05rem) !important;
    line-height:1.04 !important;
    letter-spacing:-.04em !important;
    margin:.45rem 0 .8rem !important;
  }

  #about .profile-copy-top > p{
    width:100% !important;
    max-width:100% !important;
    font-size:1rem !important;
    line-height:1.58 !important;
  }

  /* Let only the portrait break out to the screen edges. */
  #about .argus-profile-photo{
    width:calc(100% + 40px) !important;
    max-width:none !important;
    margin-left:-20px !important;
    margin-right:-20px !important;
  }

  #about .profile-copy-bottom{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

@media (max-width:520px){
  #about .profile-grid{
    width:calc(100% - 32px) !important;
  }

  #about .profile-copy-top{
    padding-top:24px !important;
    padding-bottom:18px !important;
  }

  #about .profile-copy-top h2{
    font-size:clamp(2.05rem, 9vw, 2.7rem) !important;
    line-height:1.045 !important;
  }

  #about .profile-copy-top > p{
    font-size:.98rem !important;
    line-height:1.55 !important;
  }

  #about .argus-profile-photo{
    width:calc(100% + 32px) !important;
    margin-left:-16px !important;
    margin-right:-16px !important;
  }
}

@media (max-width:390px){
  #about .profile-grid{
    width:calc(100% - 28px) !important;
  }

  #about .argus-profile-photo{
    width:calc(100% + 28px) !important;
    margin-left:-14px !important;
    margin-right:-14px !important;
  }

  #about .profile-copy-top h2{
    font-size:2rem !important;
  }
}


/* =========================================================
   ARGUS V1.35 — REMOVE DECORATIVE CURVED OUTLINES
   ========================================================= */

/* Remove the partial circular outline at the lower-right of the hero. */
.hero:after{
  content:none !important;
  display:none !important;
}

/* Remove the partial circular outline at the right side of the bottom CTA. */
.cta:after{
  content:none !important;
  display:none !important;
}


/* =========================================================
   ARGUS V1.36 — UTILITY TOP BAR + LEAN PRIMARY NAV
   ========================================================= */
.topbar{
  background:#252c34 !important;
}

.topbar-utility{
  display:flex;
  align-items:center;
  gap:13px;
  white-space:nowrap;
}

.topbar-utility a{
  color:#f6f7f8;
  font-weight:650;
  font-size:.81rem;
  text-decoration:none;
  transition:color .18s ease;
}

.topbar-utility a:hover{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

.topbar-utility .dot{
  width:3px;
  height:3px;
  opacity:.75;
}

.topbar-phone{
  font-weight:800 !important;
}

/* Mobile utility links live in the drawer because the topbar is hidden. */
.drawer-utility{
  display:grid;
  grid-template-columns:1fr;
  margin-top:12px;
  padding:12px 0;
  border-top:1px solid #eef0f2;
  border-bottom:1px solid #eef0f2;
}

.drawer-utility a{
  display:block;
  padding:9px 2px;
  color:#586574;
  font-size:.9rem;
  font-weight:700;
}

.drawer-utility a:hover{
  color:var(--accent);
}

@media (max-width:1180px) and (min-width:1041px){
  .topbar-utility{
    gap:9px;
  }

  .topbar-utility a{
    font-size:.76rem;
  }
}


/* =========================================================
   ARGUS V1.37 — REMOVE DUPLICATE HERO TRUST BULLETS
   ========================================================= */
.hero-actions + .google-review-statement,
.hero-copy .google-review-statement{
  margin-top:18px !important;
}

/* In case older markup/classes are still cached by plugins. */
.hero-trust,
.hero-trust-row,
.hero-points{
  display:none !important;
}


/* =========================================================
   ARGUS V1.39 — HERO REVIEW ABOVE CTA + MOBILE TRUST SCROLLER
   ========================================================= */

/* Put the Google review badge above the CTA buttons with cleaner spacing. */
.hero .google-review-statement{
  margin-top:18px !important;
  margin-bottom:24px !important;
}

.hero .hero-actions{
  margin-bottom:0 !important;
}

@media (max-width:720px){
  .hero .google-review-statement{
    margin-top:16px !important;
    margin-bottom:20px !important;
  }
}

/* Trust strip becomes a horizontal auto-scrolling rail on mobile. */
@media (max-width:820px){
  .trust-strip{
    overflow:hidden;
  }

  .trust-grid{
    display:flex !important;
    gap:0 !important;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    scroll-snap-type:x mandatory;
  }

  .trust-grid::-webkit-scrollbar{
    display:none;
  }

  .trust-item{
    flex:0 0 86%;
    min-width:86%;
    scroll-snap-align:start;
    border-right:1px solid var(--line);
    padding:20px 22px;
    min-height:96px;
  }

  .trust-item:last-child{
    border-right:1px solid var(--line);
  }
}

@media (max-width:520px){
  .trust-item{
    flex-basis:90%;
    min-width:90%;
    padding:18px 18px;
  }
}


/* =========================================================
   ARGUS V1.40 — HERO GOOGLE BADGE SPACING TUNING
   ========================================================= */
.hero .hero-copy > p,
.hero-grid > div > p{
  margin-bottom:14px !important;
}

.hero .google-review-statement{
  margin-top:8px !important;
  margin-bottom:18px !important;
}

@media (max-width:720px){
  .hero .hero-copy > p,
  .hero-grid > div > p{
    margin-bottom:12px !important;
  }

  .hero .google-review-statement{
    margin-top:6px !important;
    margin-bottom:16px !important;
  }
}


/* =========================================================
   ARGUS V1.41 — SERVICES HUB
   ========================================================= */
.argus-services-hub{
  padding:64px 0 76px;
  background:#f4f5f6;
}

.argus-services-hub-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.argus-services-hub-card{
  scroll-margin-top:130px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:26px;
  min-height:260px;
}

.argus-services-hub-card h2{
  margin:.5rem 0 .8rem;
  color:var(--navy);
  font-size:1.55rem;
  line-height:1.15;
}

.argus-services-hub-copy{
  color:var(--muted);
  line-height:1.6;
}

.argus-services-hub-copy ul{
  list-style:none;
  margin:16px 0 0;
  padding:0;
  display:grid;
  gap:10px;
}

.argus-services-hub-copy li{
  position:relative;
  padding-left:18px;
}

.argus-services-hub-copy li:before{
  content:"→";
  position:absolute;
  left:0;
  color:var(--accent);
  font-weight:900;
}

.argus-services-hub-copy a{
  color:var(--navy);
  font-weight:750;
}

.argus-services-hub-copy a:hover{
  color:var(--accent-dark);
}

@media(max-width:980px){
  .argus-services-hub-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:650px){
  .argus-services-hub{
    padding:42px 0 52px;
  }

  .argus-services-hub-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .argus-services-hub-card{
    min-height:0;
    padding:22px;
  }
}


/* =========================================================
   ARGUS V1.42 — SEO FOUNDATION
   ========================================================= */

.argus-breadcrumbs,
.argus-seo-plugin-breadcrumbs{
  background:#fff;
  border-bottom:1px solid var(--line);
  font-size:.78rem;
}

.argus-breadcrumbs ol{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0;
  padding:10px 0;
  color:#71808f;
}

.argus-breadcrumbs li{
  display:flex;
  align-items:center;
  gap:7px;
}

.argus-breadcrumbs li:not(:last-child):after{
  content:"/";
  color:#a1aab3;
}

.argus-breadcrumbs a{
  color:#536373;
  text-decoration:none;
}

.argus-breadcrumbs a:hover{
  color:var(--accent-dark);
  text-decoration:underline;
}

.argus-breadcrumbs [aria-current="page"]{
  color:var(--navy);
  font-weight:700;
}

.argus-seo-plugin-breadcrumbs .yoast-breadcrumb,
.argus-seo-plugin-breadcrumbs .rank-math-breadcrumb{
  margin:0;
  padding:10px 0;
  font-size:.78rem;
  color:#71808f;
}

@media(max-width:720px){
  .argus-breadcrumbs,
  .argus-seo-plugin-breadcrumbs{
    font-size:.72rem;
  }
}


/* =========================================================
   ARGUS V1.50 — APPROVED SERVICES MEGA MENU
   Header remains compact: Home | Services | Resources | FAQ
   ========================================================= */
.site-header .nav{position:relative}

/* The Services page has two balanced directory columns on desktop. */
.argus-services-hub-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

@media (min-width:1041px){
  .primary-menu > li.argus-services-mega{
    position:static;
  }

  .primary-menu > li.argus-services-mega > .sub-menu{
    top:calc(100% + 8px);
    left:50%;
    width:min(1120px,calc(100vw - 56px));
    padding:24px;
    display:grid;
    grid-template-columns:1.18fr 1.12fr .62fr .58fr;
    gap:22px;
    border-radius:18px;
    transform:translate(-50%,-7px);
  }

  .primary-menu > li.argus-services-mega:hover > .sub-menu,
  .primary-menu > li.argus-services-mega:focus-within > .sub-menu{
    transform:translate(-50%,0);
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li{
    position:static;
    min-width:0;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > a{
    display:block;
    min-height:0;
    padding:0 4px 10px;
    margin:0 0 7px;
    border-bottom:1px solid #e7eaed;
    border-radius:0;
    color:var(--navy);
    font-size:.78rem;
    line-height:1.25;
    font-weight:900;
    letter-spacing:.075em;
    text-transform:uppercase;
    pointer-events:none;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > a:after{
    display:none!important;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > .sub-menu{
    position:static;
    width:auto;
    margin:0;
    padding:0;
    display:block;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > .sub-menu a{
    display:block;
    padding:7px 5px;
    border-radius:7px;
    color:#52606d;
    font-size:.86rem;
    line-height:1.28;
    font-weight:700;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > .sub-menu a:hover,
  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > .sub-menu a:focus{
    background:#f5f6f7;
    color:var(--accent-dark);
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-direct{
    align-self:start;
    padding:0 0 0 2px;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-direct > a{
    display:block;
    padding:14px 15px;
    border:1px solid #e2e6e9;
    border-radius:12px;
    background:#f7f8f9;
    color:var(--navy);
    font-weight:850;
    line-height:1.25;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-direct > a:hover{
    border-color:#d3d8dd;
    background:#fff;
    color:var(--accent-dark);
  }
}

/* Mobile / tablet nested Services accordion. */
@media (max-width:1040px){
  .drawer-menu .menu-item-has-children{
    position:relative;
  }

  .drawer-menu .menu-item-has-children > a{
    padding-right:52px;
  }

  .drawer-submenu-toggle{
    position:absolute;
    top:7px;
    right:0;
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    border-radius:9px;
    background:#f6f7f8;
    color:var(--navy);
    cursor:pointer;
  }

  .drawer-submenu-toggle span{
    width:9px;
    height:9px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:translateY(-2px) rotate(45deg);
    transition:transform .2s ease;
  }

  .drawer-submenu-toggle[aria-expanded="true"] span{
    transform:translateY(2px) rotate(225deg);
  }

  .drawer-menu .menu-item-has-children > .sub-menu{
    display:block!important;
    max-height:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    padding-top:0!important;
    padding-bottom:0!important;
    transition:max-height .3s ease,opacity .2s ease,visibility .2s ease,padding .2s ease;
  }

  .drawer-menu .menu-item-has-children.submenu-open > .sub-menu{
    max-height:1800px;
    opacity:1;
    visibility:visible;
    padding-top:5px!important;
    padding-bottom:8px!important;
  }

  .drawer-menu .argus-service-group > a{
    color:#314558;
    font-size:.8rem;
    letter-spacing:.055em;
    text-transform:uppercase;
    background:#f7f8f9;
  }

  .drawer-menu .argus-service-group > .sub-menu{
    padding-left:12px!important;
    background:#fff;
  }

  .drawer-menu .argus-service-group > .sub-menu a{
    font-size:.9rem;
    font-weight:700;
  }
}

@media(max-width:650px){
  .argus-services-hub-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   ARGUS V1.51 — DESKTOP 3-LEVEL SERVICES MENU
   Mobile V1.50 nested accordion is intentionally unchanged.
   Services > Level 1 category > Level 2 service
   ========================================================= */

@media (min-width:1041px){

  /* Level 0: Services */
  .primary-menu > li.argus-services-mega{
    position:relative !important;
  }

  /* Level 1: compact category menu */
  .primary-menu > li.argus-services-mega > .sub-menu{
    top:calc(100% + 9px) !important;
    left:-10px !important;
    width:285px !important;
    margin:0 !important;
    padding:9px !important;
    display:block !important;
    border:1px solid var(--line) !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 18px 46px rgba(28,36,44,.13) !important;
    transform:translateY(-6px) !important;
    opacity:0;
    visibility:hidden;
  }

  .primary-menu > li.argus-services-mega:hover > .sub-menu,
  .primary-menu > li.argus-services-mega:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:none !important;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li{
    position:relative !important;
    min-width:0;
    padding:0 !important;
    margin:0 !important;
  }

  /* Immigrate / Work & Study / Visit rows */
  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > a{
    display:flex !important;
    align-items:center;
    min-height:44px !important;
    padding:10px 12px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:var(--navy) !important;
    font-size:.91rem !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    pointer-events:auto !important;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > a:hover,
  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group:focus-within > a{
    background:#f5f6f7 !important;
    color:var(--accent-dark) !important;
  }

  /* Category chevron points right, signalling Level 2. */
  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > a:after{
    display:block !important;
    margin-left:auto !important;
    margin-top:0 !important;
    transform:rotate(-45deg) !important;
  }

  /* Level 2: service flyout.
     Two columns keeps Immigrate and Work & Study compact. */
  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > .sub-menu{
    position:absolute !important;
    z-index:95;
    top:-9px !important;
    left:calc(100% - 1px) !important;
    width:465px !important;
    margin:0 !important;
    padding:10px !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:2px 6px !important;
    border:1px solid var(--line) !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 18px 46px rgba(28,36,44,.13) !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateX(-6px) !important;
    transition:opacity .18s ease,visibility .18s ease,transform .18s ease !important;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group:hover > .sub-menu,
  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group:focus-within > .sub-menu{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > .sub-menu li{
    min-width:0;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > .sub-menu a{
    display:flex !important;
    align-items:center;
    min-height:42px;
    padding:9px 10px !important;
    border-radius:8px !important;
    color:#52606d !important;
    font-size:.87rem !important;
    line-height:1.28 !important;
    font-weight:700 !important;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > .sub-menu a:hover,
  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group > .sub-menu a:focus{
    background:#f5f6f7 !important;
    color:var(--accent-dark) !important;
  }

  /* Citizenship is Level 1 under Services, so make it look like
     the other Level 1 rows rather than a separate card. */
  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-direct{
    padding:0 !important;
    margin:0 !important;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-direct > a{
    display:flex !important;
    align-items:center;
    min-height:44px !important;
    padding:10px 12px !important;
    border:0 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:var(--navy) !important;
    font-size:.91rem !important;
    line-height:1.25 !important;
    font-weight:800 !important;
  }

  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-direct > a:hover,
  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-direct > a:focus{
    background:#f5f6f7 !important;
    color:var(--accent-dark) !important;
  }

  /* Visit only has two services; keep its flyout compact instead
     of stretching two items across a wide panel. */
  .primary-menu > li.argus-services-mega > .sub-menu > li.argus-service-group:nth-child(3) > .sub-menu{
    width:315px !important;
    grid-template-columns:1fr !important;
  }
}


/* ARGUS V1.54 — reCAPTCHA v3 remains invisible in the consultation form */
.argus-recaptcha-inline-error{
  margin:0 0 12px;
}


/* =========================================================
   ARGUS V1.60 — Deep service page architecture
   ========================================================= */
.argus-service-toc-links ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 24px;
}
.argus-service-toc-links li{margin:0}
.argus-service-toc-links a{
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  font-weight:700;
  color:var(--argus-navy,#102a43);
  padding:8px 0;
}
.argus-service-toc-links a:after{
  content:"↓";
  font-size:.85em;
  color:var(--argus-red,#ad2931);
}
.argus-service-toc-links a:hover{text-decoration:underline}
.argus-pb-copy h3{
  margin:28px 0 10px;
  font-size:1.18rem;
  line-height:1.35;
  color:var(--argus-navy,#102a43);
}
.argus-pb-copy ul,
.argus-pb-copy ol{
  padding-left:1.35rem;
}
.argus-pb-copy li{
  margin:.42rem 0;
}
.argus-pb-section[id]{
  scroll-margin-top:110px;
}
@media (max-width:700px){
  .argus-service-toc-links ul{grid-template-columns:1fr}
}


/* =========================================================
   ARGUS V1.65 — Contact page UX
   ========================================================= */

/* Contact does not need the tall two-column generic page hero. */
.argus-pb-hero-contact .argus-pb-hero-inner{
  min-height:0;
  grid-template-columns:minmax(0,820px);
  gap:0;
  padding:54px 0 48px;
}
.argus-pb-hero-contact .argus-pb-hero-copy h1{
  font-size:clamp(2.8rem,5vw,4.4rem);
  max-width:780px;
}
.argus-pb-hero-contact .argus-pb-intro{
  max-width:700px;
}

/* Main contact section */
.argus-contact-main{
  padding:72px 0 80px;
  background:#fff;
}
.argus-contact-main-grid{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(480px,1.22fr);
  gap:54px;
  align-items:start;
}
.argus-contact-details{
  padding:12px 0;
}
.argus-contact-details h2{
  margin:.5rem 0 14px;
  color:var(--navy);
  font-size:clamp(2rem,3vw,2.8rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.argus-contact-intro{
  color:var(--muted);
  line-height:1.7;
  margin:0 0 28px;
  max-width:520px;
}
.argus-contact-detail-list{
  display:grid;
  gap:0;
  border-top:1px solid var(--line);
}
.argus-contact-detail-item{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:14px;
  padding:18px 0;
  border-bottom:1px solid var(--line);
}
.argus-contact-detail-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f7eeee;
  color:var(--accent);
  font-weight:800;
  font-size:1rem;
}
.argus-contact-detail-item strong{
  display:block;
  color:var(--navy);
  margin:0 0 4px;
}
.argus-contact-detail-item a,
.argus-contact-detail-item span,
.argus-contact-detail-item address{
  color:#556474;
  font-style:normal;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.argus-contact-detail-item a{
  color:var(--accent-dark,var(--accent));
  font-weight:700;
  text-decoration:none;
}
.argus-contact-detail-item a:hover{
  text-decoration:underline;
}
.argus-contact-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:26px;
}
.argus-contact-form-card .hero-lead-card{
  margin:0;
  max-width:none;
  box-shadow:0 18px 50px rgba(20,35,50,.09);
  border:1px solid #e5e8eb;
}
.argus-contact-form-card .hero-lead-card:before{
  border-radius:20px 20px 0 0;
}

/* Map */
.argus-contact-map-section{
  padding:72px 0 84px;
  background:var(--grey-100);
  border-top:1px solid var(--line);
}
.argus-contact-map-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:28px;
  margin-bottom:24px;
}
.argus-contact-map-head h2{
  margin:.45rem 0 8px;
  color:var(--navy);
  font-size:clamp(2rem,3vw,2.8rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.argus-contact-map-head p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.argus-contact-map{
  min-height:420px;
  border:1px solid #dfe3e7;
  border-radius:20px;
  overflow:hidden;
  background:#e9ecef;
  box-shadow:0 14px 40px rgba(20,35,50,.07);
}
.argus-contact-map iframe{
  width:100%;
  height:440px;
  border:0;
  display:block;
}
.argus-contact-map-placeholder{
  min-height:420px;
  padding:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  gap:18px;
  background:
    linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.82)),
    repeating-linear-gradient(45deg,#e3e7ea 0,#e3e7ea 1px,transparent 1px,transparent 18px);
}
.argus-contact-map-placeholder strong{
  display:block;
  color:var(--navy);
  font-size:1.4rem;
}
.argus-contact-map-placeholder p{
  margin:6px 0 0;
  color:var(--muted);
}

/* Avoid generic section treatment making contact feel repetitive. */
body.page-contact .argus-pb-section:first-of-type{
  padding-top:64px;
}

@media(max-width:900px){
  .argus-contact-main-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .argus-contact-details{
    padding:0;
  }
  .argus-contact-map-head{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:600px){
  .argus-pb-hero-contact .argus-pb-hero-inner{
    padding:38px 0 34px;
  }
  .argus-contact-main{
    padding:48px 0 56px;
  }
  .argus-contact-map-section{
    padding:48px 0 60px;
  }
  .argus-contact-map,
  .argus-contact-map-placeholder{
    min-height:330px;
  }
  .argus-contact-map iframe{
    height:360px;
  }
  .argus-contact-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}


/* =========================================================
   ARGUS V1.66 — Service page desktop rhythm + mobile menu labels
   ========================================================= */

/*
 * Desktop service pages previously used the generic 82px section spacing,
 * which made long program pages feel unnecessarily stretched.
 * Phone/tablet spacing remains untouched because the user-approved mobile
 * experience already reads well.
 */
@media (min-width:1001px){
  .argus-layout-service .argus-pb-section{
    padding-top:56px;
    padding-bottom:56px;
  }

  /* The "On this page" guide should feel like navigation, not a full chapter. */
  .argus-layout-service #on-this-page.argus-pb-section{
    padding-top:38px;
    padding-bottom:38px;
  }

  /* Keep the last contextual CTA compact and clearly connected to the page. */
  .argus-layout-service .argus-pb-inline-cta{
    padding-top:52px;
    padding-bottom:52px;
  }

  /* Reduce excessive air between headings and body copy on long service pages. */
  .argus-layout-service .argus-pb-section h2{
    margin-top:.38rem;
    margin-bottom:12px;
  }

  .argus-layout-service .argus-pb-copy p{
    margin-bottom:.9em;
  }

  .argus-layout-service .argus-pb-copy h3{
    margin-top:22px;
  }
}

/*
 * Mobile Services navigation:
 * Immigrate / Work & Study / Visit are hierarchy labels, not eyebrow text.
 * Show them in normal title case and normal letter spacing.
 */
@media (max-width:1040px){
  .drawer-menu .argus-service-group > a{
    font-size:.94rem;
    letter-spacing:0;
    text-transform:none;
    font-weight:800;
    line-height:1.3;
  }
}


/* =========================================================
   ARGUS V1.67 — Desktop service form → Start Here modal trigger
   ========================================================= */

.argus-service-desktop-start{
  display:none;
}

/* Desktop service pages: compact hero, no large inline form. */
@media (min-width:1001px){
  .argus-pb-hero-service.argus-pb-hero-service-modal .argus-pb-hero-inner{
    grid-template-columns:minmax(0,840px) !important;
    min-height:0 !important;
    gap:0 !important;
    padding-top:50px !important;
    padding-bottom:52px !important;
  }

  .argus-pb-hero-service.argus-pb-hero-service-modal .argus-pb-hero-copy{
    max-width:820px !important;
    padding-top:8px !important;
  }

  .argus-pb-hero-service.argus-pb-hero-service-modal .argus-pb-hero-copy h1{
    max-width:800px;
  }

  .argus-pb-hero-service.argus-pb-hero-service-modal .argus-pb-intro{
    max-width:760px;
  }

  .argus-pb-hero-service.argus-pb-hero-service-modal .argus-service-mobile-form{
    display:none !important;
  }

  .argus-service-desktop-start{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:28px;
  }

  .argus-service-desktop-start small{
    color:var(--muted);
    font-size:.82rem;
    font-weight:700;
  }

  .argus-service-start-trigger{
    min-width:166px;
    min-height:54px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-size:1rem;
    font-weight:900;
    letter-spacing:.01em;
    border-radius:12px;
    box-shadow:0 0 0 0 rgba(173,41,49,.30);
    animation:argusStartPulse 2.35s ease-in-out infinite;
  }

  .argus-service-start-trigger .argus-start-arrow{
    transition:transform .2s ease;
    font-size:1.08em;
  }

  .argus-service-start-trigger:hover .argus-start-arrow{
    transform:translateX(3px);
  }

  @keyframes argusStartPulse{
    0%,100%{
      box-shadow:0 0 0 0 rgba(173,41,49,.24),0 8px 22px rgba(173,41,49,.12);
      transform:translateY(0);
    }
    50%{
      box-shadow:0 0 0 9px rgba(173,41,49,0),0 12px 28px rgba(173,41,49,.18);
      transform:translateY(-1px);
    }
  }
}

/* Mobile consultation actions: buttons only, no extra callout frame. */
.argus-service-mobile-actions{
  display:none;
}

@media (max-width:1000px){
  .argus-service-mobile-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
  }

  .argus-service-mobile-book{
    flex:1 1 220px;
    min-height:54px;
    justify-content:center;
    gap:10px;
    font-weight:900;
    box-shadow:0 0 0 0 rgba(173,41,49,.30);
    animation:argusMobilePageCtaPulse 2.35s ease-in-out infinite;
  }

  .argus-service-mobile-actions .btn-outline{
    flex:1 1 130px;
    min-height:54px;
    justify-content:center;
    box-shadow:0 0 0 0 rgba(173,41,49,.18);
    animation:argusMobilePageCtaPulse 2.35s ease-in-out .32s infinite;
  }

  .argus-service-mobile-form .lead-submit,
  .argus-pb-hero-service .argus-booking-submit{
    box-shadow:0 0 0 0 rgba(173,41,49,.30);
    animation:argusMobilePageCtaPulse 2.35s ease-in-out .16s infinite;
  }

  @keyframes argusMobilePageCtaPulse{
    0%,100%{
      box-shadow:0 0 0 0 rgba(173,41,49,.24),0 8px 22px rgba(173,41,49,.12);
      transform:translateY(0);
    }
    50%{
      box-shadow:0 0 0 9px rgba(173,41,49,0),0 12px 28px rgba(173,41,49,.18);
      transform:translateY(-1px);
    }
  }

  .argus-service-mobile-book .argus-start-arrow{
    transition:transform .2s ease;
  }

  .argus-service-mobile-book:active .argus-start-arrow,
  .argus-service-mobile-book:hover .argus-start-arrow{
    transform:translateX(3px);
  }
}

/* Consultation form spotlight: animate the actual form/calendar edge on desktop and mobile. */
.argus-inline-calendar-card,
.hero-lead-card{
  animation:argusConsultationSpotlight 2.35s ease-in-out infinite;
}

@keyframes argusConsultationSpotlight{
  0%,100%{
    border-color:rgba(173,41,49,.28);
    box-shadow:0 18px 52px rgba(20,35,50,.09),0 0 0 0 rgba(173,41,49,.08),0 0 8px rgba(173,41,49,.08);
  }
  18%{
    border-color:rgba(173,41,49,.78);
    box-shadow:0 18px 52px rgba(20,35,50,.09),0 0 0 2px rgba(173,41,49,.10),0 0 18px rgba(173,41,49,.22);
  }
  24%{
    border-color:rgba(173,41,49,.34);
    box-shadow:0 18px 52px rgba(20,35,50,.09),0 0 0 0 rgba(173,41,49,0),0 0 8px rgba(173,41,49,.07);
  }
  48%{
    border-color:rgba(173,41,49,.68);
    box-shadow:0 18px 52px rgba(20,35,50,.09),0 0 0 1px rgba(173,41,49,.08),0 0 15px rgba(173,41,49,.18);
  }
  72%{
    border-color:rgba(173,41,49,.90);
    box-shadow:0 18px 52px rgba(20,35,50,.09),0 0 0 2px rgba(173,41,49,.12),0 0 20px rgba(173,41,49,.26);
  }
}

@media (prefers-reduced-motion:reduce){
  .argus-inline-calendar-card,
  .hero-lead-card,
  .argus-service-mobile-book,
  .argus-service-mobile-actions .btn-outline,
  .argus-service-mobile-form .lead-submit,
  .argus-pb-hero-service .argus-booking-submit{
    animation:none !important;
    transform:none !important;
  }
}

/* Tablet and phone: keep the existing approved inline form. */
@media (max-width:1000px){
  .argus-pb-hero-service.argus-pb-hero-service-modal .argus-service-desktop-start{
    display:none !important;
  }

  .argus-pb-hero-service.argus-pb-hero-service-modal .argus-service-mobile-form{
    display:block !important;
  }
}

/* Respect visitors who prefer reduced motion. */
@media (prefers-reduced-motion:reduce){
  .argus-service-start-trigger{
    animation:none !important;
    transform:none !important;
  }
}


/* =========================================================
   ARGUS V1.68 — About Us page
   ========================================================= */

/* Clean, compact opening rather than an oversized generic page hero. */
.argus-pb-hero-about .argus-pb-hero-inner{
  min-height:0;
  grid-template-columns:minmax(0,920px);
  gap:0;
  padding:58px 0 54px;
}
.argus-pb-hero-about .argus-pb-hero-copy{
  max-width:900px;
}
.argus-pb-hero-about .argus-pb-hero-copy h1{
  max-width:900px;
  font-size:clamp(2.8rem,5vw,4.8rem);
}
.argus-pb-hero-about .argus-pb-intro{
  max-width:780px;
}

/* Keep About readable without the very large generic section gaps. */
@media(min-width:1001px){
  .argus-layout-about .argus-pb-section{
    padding-top:64px;
    padding-bottom:64px;
  }

  .argus-layout-about .argus-pb-photo-text{
    padding-top:72px;
    padding-bottom:72px;
  }
}

/* RCIC portrait treatment */
.argus-layout-about .argus-pb-photo-text .argus-pb-media{
  align-self:stretch;
}
.argus-layout-about .argus-pb-photo-text .argus-pb-media img{
  width:100%;
  height:100%;
  min-height:470px;
  max-height:610px;
  object-fit:cover;
  object-position:center top;
  border-radius:20px;
}
.argus-layout-about .argus-pb-photo-text .argus-pb-media small{
  display:block;
  margin-top:10px;
  color:var(--muted);
  font-size:.82rem;
}

/* Trust / value grid */
.argus-about-value-grid{
  list-style:none !important;
  padding:0 !important;
  margin:28px 0 0 !important;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.argus-about-value-grid li{
  margin:0 !important;
  padding:20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.argus-about-value-grid strong{
  display:block;
  color:var(--navy);
  font-size:1rem;
  margin-bottom:7px;
}
.argus-about-value-grid span{
  display:block;
  color:var(--muted);
  line-height:1.6;
}

/* Four-step process */
.argus-about-process{
  list-style:none !important;
  padding:0 !important;
  margin:28px 0 0 !important;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  counter-reset:argus-about-step;
}
.argus-about-process li{
  counter-increment:argus-about-step;
  margin:0 !important;
  padding:22px 22px 22px 62px;
  position:relative;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.argus-about-process li:before{
  content:counter(argus-about-step,decimal-leading-zero);
  position:absolute;
  left:20px;
  top:20px;
  color:var(--accent);
  font-weight:900;
  font-size:.78rem;
  letter-spacing:.05em;
}
.argus-about-process strong{
  display:block;
  color:var(--navy);
  margin-bottom:7px;
}
.argus-about-process span{
  display:block;
  color:var(--muted);
  line-height:1.6;
}

/* Service links */
.argus-about-service-links{
  list-style:none !important;
  padding:0 !important;
  margin:28px 0 0 !important;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.argus-about-service-links li{
  margin:0 !important;
}
.argus-about-service-links a{
  height:100%;
  display:block;
  padding:19px 20px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.argus-about-service-links a:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(20,35,50,.08);
  border-color:#c9ced3;
}
.argus-about-service-links strong{
  display:block;
  color:var(--navy);
  margin-bottom:5px;
}
.argus-about-service-links span{
  display:block;
  color:var(--muted);
  line-height:1.55;
}
.argus-about-all-services{
  margin-top:22px !important;
}
.argus-about-all-services a,
.argus-about-inline-link{
  color:var(--accent-dark,var(--accent));
  font-weight:800;
  text-decoration:none;
}
.argus-about-all-services a:hover,
.argus-about-inline-link:hover{
  text-decoration:underline;
}

@media(max-width:760px){
  .argus-pb-hero-about .argus-pb-hero-inner{
    padding:40px 0 36px;
  }

  .argus-about-value-grid,
  .argus-about-process,
  .argus-about-service-links{
    grid-template-columns:1fr;
  }

  .argus-layout-about .argus-pb-photo-text .argus-pb-media img{
    min-height:0;
    max-height:none;
    aspect-ratio:4/5;
  }
}


/* =========================================================
   ARGUS V1.69 — FAQ page
   ========================================================= */
.argus-pb-hero-faq .argus-pb-hero-inner{
  min-height:0;
  grid-template-columns:minmax(0,900px);
  gap:0;
  padding:56px 0 50px;
}
.argus-pb-hero-faq .argus-pb-hero-copy{
  max-width:880px;
}
.argus-pb-hero-faq .argus-pb-hero-copy h1{
  max-width:820px;
  font-size:clamp(2.8rem,5vw,4.7rem);
}
.argus-pb-hero-faq .argus-pb-intro{
  max-width:760px;
}

/* Search + category nav */
.argus-faq-tools{
  padding:32px 0 30px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.argus-faq-tools-inner{
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);
  gap:34px;
  align-items:end;
}
.argus-faq-search-wrap label{
  display:block;
  margin:0 0 8px;
  color:var(--navy);
  font-weight:850;
}
.argus-faq-search-control{
  height:54px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 16px;
  border:1px solid #cfd6dc;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 18px rgba(20,35,50,.04);
}
.argus-faq-search-control:focus-within{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(173,41,49,.10);
}
.argus-faq-search-control > span{
  color:#788694;
  font-size:1.25rem;
  line-height:1;
}
.argus-faq-search-control input{
  width:100%;
  border:0;
  outline:0;
  box-shadow:none;
  background:transparent;
  color:var(--navy);
  font:inherit;
}
.argus-faq-search-wrap > small{
  display:block;
  margin-top:8px;
  color:var(--muted);
}
.argus-faq-categories{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.argus-faq-categories a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#f7f8f9;
  color:#44586a;
  font-size:.78rem;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
}
.argus-faq-categories a:hover{
  border-color:#c5cdd4;
  background:#fff;
  color:var(--accent-dark);
}
.argus-faq-categories a span{
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#7a8793;
  font-size:.68rem;
}

/* FAQ content */
.argus-faq-content{
  padding:64px 0 78px;
  background:var(--grey-100);
}
.argus-faq-group{
  max-width:960px;
  margin:0 auto 52px;
  scroll-margin-top:120px;
}
.argus-faq-group:last-of-type{
  margin-bottom:30px;
}
.argus-faq-group-head{
  margin-bottom:16px;
}
.argus-faq-group-head h2{
  margin:.35rem 0 0;
  color:var(--navy);
  font-size:clamp(1.8rem,3vw,2.45rem);
  line-height:1.1;
  letter-spacing:-.03em;
}
.argus-faq-list{
  border-top:1px solid #d8dde1;
}
.argus-faq-item{
  border-bottom:1px solid #d8dde1;
  background:transparent;
}
.argus-faq-item summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:1fr 30px;
  gap:20px;
  align-items:center;
  padding:20px 4px;
  color:var(--navy);
  font-size:1.02rem;
  font-weight:850;
  line-height:1.42;
}
.argus-faq-item summary::-webkit-details-marker{
  display:none;
}
.argus-faq-toggle{
  position:relative;
  width:24px;
  height:24px;
}
.argus-faq-toggle:before,
.argus-faq-toggle:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:2px;
  border-radius:2px;
  background:var(--accent);
  transform:translate(-50%,-50%);
  transition:transform .2s ease,opacity .2s ease;
}
.argus-faq-toggle:after{
  transform:translate(-50%,-50%) rotate(90deg);
}
.argus-faq-item[open] .argus-faq-toggle:after{
  opacity:0;
  transform:translate(-50%,-50%) rotate(0);
}
.argus-faq-answer{
  max-width:820px;
  padding:0 48px 22px 4px;
  color:#536373;
  line-height:1.72;
}
.argus-faq-answer p{
  margin:.2rem 0 .85rem;
}
.argus-faq-answer p:last-child{
  margin-bottom:0;
}
.argus-faq-answer a{
  color:var(--accent-dark,var(--accent));
  font-weight:750;
}
.argus-faq-item[hidden],
.argus-faq-group[hidden]{
  display:none !important;
}
.argus-faq-no-results{
  max-width:960px;
  margin:0 auto 30px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  text-align:center;
}
.argus-faq-no-results strong{
  display:block;
  color:var(--navy);
  font-size:1.1rem;
}
.argus-faq-no-results p{
  margin:6px 0 0;
  color:var(--muted);
}
.argus-faq-current-note{
  max-width:960px;
  margin:8px auto 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  padding:22px 24px;
  border:1px solid #e0d6d6;
  border-radius:16px;
  background:#fff;
}
.argus-faq-current-note strong{
  color:var(--navy);
}
.argus-faq-current-note p{
  max-width:680px;
  margin:5px 0 0;
  color:var(--muted);
  line-height:1.6;
}

@media(max-width:900px){
  .argus-faq-tools-inner{
    grid-template-columns:1fr;
    gap:20px;
  }
  .argus-faq-categories{
    justify-content:flex-start;
  }
}
@media(max-width:650px){
  .argus-pb-hero-faq .argus-pb-hero-inner{
    padding:40px 0 36px;
  }
  .argus-faq-tools{
    padding:24px 0 22px;
  }
  .argus-faq-categories{
    flex-wrap:nowrap;
    overflow:auto;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .argus-faq-categories::-webkit-scrollbar{
    display:none;
  }
  .argus-faq-categories a{
    flex:0 0 auto;
  }
  .argus-faq-content{
    padding:44px 0 58px;
  }
  .argus-faq-group{
    margin-bottom:40px;
  }
  .argus-faq-item summary{
    padding:18px 0;
    font-size:.98rem;
  }
  .argus-faq-answer{
    padding:0 34px 20px 0;
  }
  .argus-faq-current-note{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   ARGUS V1.71 — Priority organic/search/meta service pages
   ========================================================= */
.argus-priority-trust{display:grid;gap:18px}
.argus-priority-credentials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.argus-priority-credentials>div{padding:17px 18px;border:1px solid var(--line);border-radius:13px;background:#fff}
.argus-priority-credentials strong{display:block;color:var(--navy);font-size:.94rem;line-height:1.35;margin-bottom:5px}
.argus-priority-credentials span{display:block;color:var(--muted);font-size:.86rem;line-height:1.55}
.argus-priority-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.argus-priority-fact{padding:16px;border-radius:12px;background:#f7f8f9;border:1px solid #e4e7ea}
.argus-priority-fact strong{display:block;color:var(--accent-dark,var(--accent));font-size:.86rem;margin-bottom:5px}
.argus-priority-fact span{display:block;color:#586979;font-size:.8rem;line-height:1.48}
.argus-priority-disclosure{padding:14px 16px;border-left:3px solid var(--accent);border-radius:0 9px 9px 0;background:#fbf7f7;color:#5d6975;font-size:.78rem;line-height:1.55}
.argus-priority-disclosure strong{color:var(--navy)}
.argus-priority-disclosure a{color:var(--accent-dark,var(--accent));font-weight:800}
@media(min-width:1001px){.argus-priority-start{gap:10px}.argus-priority-start small{display:none}.argus-priority-call{min-height:54px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#fff}.argus-layout-service #professional-guidance.argus-pb-section{padding-top:34px;padding-bottom:38px}}
@media(max-width:980px){.argus-priority-credentials{grid-template-columns:1fr}.argus-priority-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.argus-priority-facts{grid-template-columns:1fr}.argus-priority-credentials>div,.argus-priority-fact{padding:15px}}


/* =========================================================
   ARGUS V1.72 — Sponsorship inline desktop form + page-aware header CTA
   ========================================================= */

.argus-priority-desktop-form{display:none}

@media(min-width:1001px){
  .argus-pb-hero-service-inline .argus-pb-hero-inner{
    grid-template-columns:minmax(0,1fr) minmax(390px,470px) !important;
    gap:48px !important;
    align-items:start;
    min-height:0 !important;
    padding-top:46px !important;
    padding-bottom:50px !important;
  }

  .argus-pb-hero-service-inline .argus-pb-hero-copy{
    max-width:760px !important;
    padding-top:14px !important;
  }

  .argus-pb-hero-service-inline .argus-pb-intro{
    max-width:720px;
  }

  .argus-priority-desktop-form{
    display:block !important;
  }

  .argus-priority-desktop-form .hero-lead-card{
    margin:0;
    max-width:none;
    padding:26px 26px 22px;
    border-radius:18px;
    border:1px solid #e3e6e9;
    box-shadow:0 16px 44px rgba(20,35,50,.09);
  }

  .argus-priority-desktop-form .hero-lead-card h2{
    font-size:1.7rem;
    line-height:1.08;
    margin-bottom:16px;
  }

  .argus-priority-desktop-form .lead-form,
  .argus-priority-desktop-form .form-grid{
    gap:12px;
  }

  .argus-priority-desktop-form input,
  .argus-priority-desktop-form select{
    min-height:46px;
  }

  .argus-priority-desktop-form textarea,
  .argus-priority-desktop-form .field-message{
    display:none !important;
  }

  .argus-priority-desktop-form button[type="submit"]{
    min-height:50px;
  }

  .argus-priority-mobile-form{
    display:none !important;
  }
}

@media(max-width:1000px){
  .argus-priority-desktop-form{display:none !important}
  .argus-priority-mobile-form{display:block !important}
}


/* =========================================================
   ARGUS V1.73 — Tied service forms
   ========================================================= */

/* Native hidden attribute must always win over generic field layout rules. */
.lead-form .field[hidden]{
  display:none !important;
}

/* Short service forms no longer need the visual height reserved for
   service/message questions. */
.argus-layout-service .hero-lead-card .lead-form{
  align-content:start;
}

@media(min-width:1001px){
  .argus-priority-desktop-form .hero-lead-card{
    padding-bottom:20px;
  }
}


/* =========================================================
   ARGUS V1.74 — Refined service consultation modal
   ========================================================= */

/* Service-context modal is intentionally smaller than the generic modal. */
.consult-form-modal.is-service-context{
  width:min(100%,620px);
  border-radius:20px;
  overflow:hidden;
}

.consult-form-modal.is-service-context .consult-modal-head{
  padding:28px 30px 20px;
  border-bottom:1px solid #edf0f2;
}

.consult-form-modal.is-service-context .consult-modal-head .eyebrow{
  margin-bottom:9px;
}

.consult-form-modal.is-service-context .consult-modal-head h2{
  margin:0 50px 8px 0;
  font-size:clamp(1.75rem,3vw,2.25rem);
  line-height:1.08;
}

.consult-modal-context{
  margin:0;
  max-width:510px;
  color:#60707f;
  font-size:.9rem;
  line-height:1.55;
}

.consult-modal-context strong{
  color:var(--navy);
  font-weight:850;
}

/* The modal itself is already the card: remove the nested "card inside card". */
.consult-form-modal.is-service-context .modal-form-wrap{
  padding:24px 30px 26px;
}

.consult-form-modal.is-service-context .modal-form-wrap .hero-lead-card{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

.consult-form-modal.is-service-context .modal-form-wrap .hero-lead-card:before{
  display:none;
}

.consult-form-modal.is-service-context .lead-form{
  gap:13px;
}

.consult-form-modal.is-service-context .form-row{
  gap:12px;
}

.consult-form-modal.is-service-context .field{
  gap:6px;
}

.consult-form-modal.is-service-context .field label{
  font-size:.78rem;
}

.consult-form-modal.is-service-context .field input{
  min-height:50px;
  border-radius:10px;
  background:#fff;
}

.consult-form-modal.is-service-context .lead-submit{
  min-height:52px;
  margin-top:2px;
  border-radius:10px;
  font-size:.96rem;
}

.consult-form-modal.is-service-context .lead-privacy{
  margin:2px auto 0;
  max-width:500px;
  font-size:.69rem;
  line-height:1.45;
  text-align:center;
  color:#84909b;
}

.consult-form-modal.is-service-context .lead-alt{
  margin:17px 0 0;
  padding-top:16px;
  border-top:1px solid #edf0f2;
  text-align:center;
  font-size:.82rem;
}

.consult-form-modal.is-service-context .modal-close{
  top:18px;
  right:18px;
  width:38px;
  height:38px;
  border-color:#e6e9ec;
}

/* A short service modal should not need a visible internal scrollbar on
   normal desktop screens. */
@media(min-width:701px){
  .consult-form-modal.is-service-context{
    max-height:min(88vh,650px);
  }
}

@media(max-width:700px){
  .consult-form-modal.is-service-context{
    width:min(100%,560px) !important;
    border-radius:16px !important;
  }

  .consult-form-modal.is-service-context .consult-modal-head{
    padding:23px 18px 17px !important;
  }

  .consult-form-modal.is-service-context .consult-modal-head h2{
    margin-right:42px;
    font-size:1.72rem;
  }

  .consult-form-modal.is-service-context .modal-form-wrap{
    padding:18px !important;
  }

  .consult-form-modal.is-service-context .form-row{
    grid-template-columns:1fr;
  }

  .consult-form-modal.is-service-context .lead-alt{
    margin-top:15px;
  }
}


/* =========================================================
   ARGUS V1.75 — Consultation modal / mobile navigation layering
   ========================================================= */

/* Mobile drawer uses z-index 150. Consultation dialogs must always sit above
   navigation even during the drawer's closing transition. */
#consult-modal.modal-backdrop{
  z-index:220;
}

/* Prevent a closing drawer/backdrop from intercepting a tap while the
   consultation modal is becoming active. */
#mobile-drawer:not(.is-open),
#mobile-drawer-backdrop:not(.is-open){
  pointer-events:none;
}

#mobile-drawer.is-open,
#mobile-drawer-backdrop.is-open{
  pointer-events:auto;
}


/* =========================================================
   ARGUS V1.76 — Privacy / Legal policy pages
   ========================================================= */

.argus-pb-hero-legal .argus-pb-hero-inner{
  min-height:0;
  grid-template-columns:minmax(0,900px);
  gap:0;
  padding:52px 0 46px;
}

.argus-pb-hero-legal .argus-pb-hero-copy{
  max-width:880px;
}

.argus-pb-hero-legal .argus-pb-hero-copy h1{
  max-width:850px;
  font-size:clamp(2.7rem,4.5vw,4.3rem);
}

.argus-pb-hero-legal .argus-pb-intro{
  max-width:780px;
}

@media(min-width:1001px){
  .argus-layout-legal .argus-pb-section{
    padding-top:48px;
    padding-bottom:48px;
  }

  .argus-layout-legal #policy-set.argus-pb-section{
    padding-top:34px;
    padding-bottom:34px;
  }
}

.argus-layout-legal .argus-pb-copy{
  max-width:940px;
}

.argus-layout-legal .argus-pb-copy p,
.argus-layout-legal .argus-pb-copy li{
  color:#536373;
  line-height:1.72;
}

.argus-layout-legal .argus-pb-copy h3{
  color:var(--navy);
  margin-top:24px;
}

.argus-layout-legal .argus-pb-copy code{
  padding:2px 6px;
  border-radius:5px;
  background:#f0f2f4;
  color:#33485a;
  font-size:.9em;
}

/* Cross-policy navigation */
.argus-policy-nav ul{
  list-style:none !important;
  padding:0 !important;
  margin:22px 0 0 !important;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.argus-policy-nav li{
  margin:0 !important;
}

.argus-policy-link{
  display:block;
  min-height:100%;
  padding:16px 17px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  text-decoration:none;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.argus-policy-link:hover{
  transform:translateY(-1px);
  border-color:#c8d0d7;
  box-shadow:0 8px 22px rgba(20,35,50,.06);
}

.argus-policy-link.is-current{
  border-color:#dfb9bc;
  background:#fbf5f5;
}

.argus-policy-link strong{
  display:block;
  color:var(--navy);
  margin-bottom:4px;
  font-size:.94rem;
}

.argus-policy-link.is-current strong{
  color:var(--accent-dark,var(--accent));
}

.argus-policy-link span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.48;
}

/* Cookie category summary */
.argus-cookie-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:22px 0 0;
}

.argus-cookie-category-grid > div{
  padding:18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.argus-cookie-category-grid strong{
  display:block;
  color:var(--navy);
  margin-bottom:6px;
}

.argus-cookie-category-grid span{
  display:block;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.58;
}

/* Legal/policy pages are informational, so the footer begins directly
   after the page instead of showing the generic immigration CTA. */
.argus-layout-legal + .cta{
  display:none;
}

@media(max-width:760px){
  .argus-pb-hero-legal .argus-pb-hero-inner{
    padding:38px 0 34px;
  }

  .argus-policy-nav ul,
  .argus-cookie-category-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   ARGUS V1.77 — Footer social media icons
   ========================================================= */

.footer-address{
  font-size:.84rem;
}

.footer-social{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:24px;
}

.footer-social-link{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  border:1px solid #d5dbe0;
  border-radius:50%;
  background:#fff;
  color:#5d6d7c;
  text-decoration:none;
  transition:
    color .18s ease,
    border-color .18s ease,
    background .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.footer-social-link svg{
  width:17px;
  height:17px;
  display:block;
  fill:currentColor;
}

.footer-social-link:hover,
.footer-social-link:focus-visible{
  color:#fff;
  background:var(--accent);
  border-color:var(--accent);
  transform:translateY(-2px);
  box-shadow:0 7px 18px rgba(173,41,49,.18);
  outline:0;
}

.footer-social-link:focus-visible{
  box-shadow:0 0 0 3px rgba(173,41,49,.14),0 7px 18px rgba(173,41,49,.18);
}

@media(max-width:760px){
  .footer-social{
    margin-top:20px;
  }

  .footer-social-link{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
}


/* =========================================================
   ARGUS V1.79 — Microsoft Bookings modal + Thank You page
   ========================================================= */

.argus-bookings-backdrop{
  z-index:230;
}

.argus-bookings-modal{
  position:relative;
  width:min(96vw,880px);
  max-height:92vh;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
  box-shadow:0 28px 80px rgba(15,35,55,.22);
}

.argus-bookings-head{
  padding:22px 26px 15px;
  border-bottom:1px solid #edf0f2;
}

.argus-bookings-head h2{
  margin:.35rem 45px 5px 0;
  color:var(--navy);
  font-size:clamp(1.55rem,2.4vw,2rem);
  line-height:1.08;
}

.argus-bookings-head p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}

.argus-bookings-embed{
  min-width:320px;
  height:min(720px,72vh);
  background:#fff;
}

.argus-bookings-embed > div,
.argus-bookings-embed iframe{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
}

.argus-bookings-loading,
.argus-bookings-fallback{
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:14px;
  padding:34px;
  text-align:center;
}

.argus-bookings-loading[hidden],
.argus-bookings-fallback[hidden]{
  display:none !important;
}

.argus-bookings-spinner{
  width:34px;
  height:34px;
  border:3px solid #e2e6e9;
  border-top-color:var(--accent);
  border-radius:50%;
  animation:argusMicrosoft BookingsSpin .8s linear infinite;
}

@keyframes argusMicrosoft BookingsSpin{
  to{transform:rotate(360deg)}
}

.argus-bookings-fallback strong{
  color:var(--navy);
  font-size:1.2rem;
}

.argus-bookings-fallback p{
  max-width:430px;
  margin:0;
  color:var(--muted);
}

.argus-thankyou-page{
  min-height:58vh;
  padding:84px 0 92px;
  display:flex;
  align-items:center;
  background:linear-gradient(180deg,#f7f9fa 0%,#fff 100%);
}

.argus-thankyou-card{
  max-width:760px;
  margin:0 auto;
  padding:46px 48px;
  border:1px solid #e1e6e9;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 50px rgba(20,35,50,.08);
  text-align:center;
}

.argus-thankyou-icon{
  width:54px;
  height:54px;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf8ef;
  color:#1f7a36;
  font-size:1.45rem;
  font-weight:900;
}

.argus-thankyou-card h1{
  margin:.45rem 0 12px;
  color:var(--navy);
  font-size:clamp(2.2rem,4vw,3.7rem);
  letter-spacing:-.04em;
  line-height:1.04;
}

.argus-thankyou-copy{
  max-width:620px;
  margin:0 auto;
  color:#5c6d7c;
  font-size:1.04rem;
  line-height:1.7;
}

.argus-thankyou-service{
  margin:22px auto 0;
  padding:14px 18px;
  max-width:470px;
  border:1px solid #e4e7ea;
  border-radius:12px;
  background:#f7f8f9;
}

.argus-thankyou-service span{
  display:block;
  color:#7b8792;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.argus-thankyou-service strong{
  display:block;
  margin-top:4px;
  color:var(--navy);
}

.argus-thankyou-note{
  margin:18px auto 0;
  color:#6c7883;
  font-size:.88rem;
}

.argus-thankyou-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:28px;
}

.argus-thankyou-help{
  margin:22px 0 0;
  color:#7b8792;
  font-size:.84rem;
}

.argus-thankyou-help a{
  color:var(--accent-dark,var(--accent));
  font-weight:800;
}

@media(max-width:700px){
  .argus-bookings-modal{
    width:100vw;
    height:100dvh;
    max-height:100dvh;
    border-radius:0;
  }

  .argus-bookings-head{
    padding:18px 18px 12px;
  }

  .argus-bookings-embed{
    height:calc(100dvh - 108px);
  }

  .argus-thankyou-page{
    padding:52px 0 64px;
  }

  .argus-thankyou-card{
    padding:34px 20px;
    border-radius:16px;
  }
}

@media(prefers-reduced-motion:reduce){
  .argus-bookings-spinner{
    animation:none;
  }
}


/* =========================================================
   ARGUS V1.81 — Correct Book vs Call Back CTA placement
   ========================================================= */

@media(min-width:1001px){
  .argus-pb-hero-service-inline .argus-inline-booking-start{
    display:flex;
    margin-top:26px;
  }
}

/* Header and mobile navigation remain call-back actions. */
.nav-actions .open-consult-modal,
.drawer-actions .open-consult-modal{
  white-space:nowrap;
}


/* =========================================================
   ARGUS V1.82 — Inline Microsoft Bookings on paid landing pages
   ========================================================= */

.argus-ad-inline-calendar{
  display:none;
}

@media(min-width:1001px){
  /* All three approved ad pages become a balanced two-column hero. */
  .argus-layout-service .argus-pb-hero-service:has(.argus-ad-inline-calendar) .argus-pb-hero-inner{
    grid-template-columns:minmax(0,1fr) minmax(430px,520px) !important;
    gap:46px !important;
    align-items:start;
    min-height:0 !important;
    padding-top:44px !important;
    padding-bottom:48px !important;
  }

  .argus-layout-service .argus-pb-hero-service:has(.argus-ad-inline-calendar) .argus-pb-hero-copy{
    max-width:760px !important;
    padding-top:12px !important;
  }

  .argus-ad-inline-calendar{
    display:block !important;
    grid-column:2;
    grid-row:1;
  }

  /* Existing mobile form and old compact desktop form are hidden when the
     inline calendar owns the desktop right column. */
  .argus-pb-hero-service:has(.argus-ad-inline-calendar) .argus-priority-desktop-form,
  .argus-pb-hero-service:has(.argus-ad-inline-calendar) .argus-service-mobile-form{
    display:none !important;
  }

  .argus-inline-calendar-card{
    position:relative;
    overflow:hidden;
    min-height:590px;
    border:1px solid #e1e5e8;
    border-radius:20px;
    background:#fff;
    box-shadow:0 18px 52px rgba(20,35,50,.09);
  }

  .argus-inline-calendar-head{
    padding:22px 24px 16px;
    border-bottom:1px solid #edf0f2;
  }

  .argus-inline-calendar-head h2{
    margin:.4rem 0 5px;
    color:var(--navy);
    font-size:1.55rem;
    line-height:1.08;
  }

  .argus-inline-calendar-head p{
    margin:0;
    color:var(--muted);
    font-size:.86rem;
  }

  .argus-inline-calendar-embed{
    height:520px;
    overflow:hidden;
  }

  .argus-inline-calendar-embed > div,
  .argus-inline-calendar-embed iframe{
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
  }

  .argus-inline-calendar-loading,
  .argus-inline-calendar-fallback{
    min-height:500px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:14px;
    padding:28px;
    text-align:center;
  }

  .argus-inline-calendar-loading[hidden],
  .argus-inline-calendar-fallback[hidden]{
    display:none !important;
  }

  .argus-inline-calendar-fallback strong{
    color:var(--navy);
    font-size:1.1rem;
  }

  .argus-inline-calendar-fallback p{
    max-width:360px;
    margin:0;
    color:var(--muted);
    line-height:1.55;
  }

  /* The Book button remains on the left in the old Start Here position. */
  .argus-inline-booking-start{
    margin-top:26px;
  }
}

@media(max-width:1000px){
  .argus-ad-inline-calendar{
    display:none !important;
  }

  /* Restore the existing mobile form behavior. */
  .argus-pb-hero-service .argus-service-mobile-form{
    display:block !important;
  }
}


/* =========================================================
   ARGUS V1.86 — LeadConnector-backed booking
   ========================================================= */

@media(min-width:1001px){
  .argus-booking-card{
    min-height:0 !important;
    overflow:hidden;
  }

  .argus-booking-date-tabs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    padding:18px 20px 8px;
  }

  .argus-booking-date{
    min-height:54px;
    padding:8px 10px;
    border:1px solid #dfe4e8;
    border-radius:10px;
    background:#fff;
    color:var(--navy);
    font:inherit;
    font-size:.82rem;
    font-weight:750;
    cursor:pointer;
    transition:.16s ease;
  }

  .argus-booking-date:hover,
  .argus-booking-date.is-active{
    border-color:var(--accent);
    color:var(--accent-dark,var(--accent));
    background:#fbf4f4;
  }

  .argus-booking-times-wrap{
    min-height:185px;
    padding:12px 20px 18px;
  }

  .argus-booking-times{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .argus-booking-time{
    min-height:42px;
    padding:8px 10px;
    border:1px solid #dfe4e8;
    border-radius:9px;
    background:#fff;
    color:#33485a;
    font:inherit;
    font-size:.84rem;
    font-weight:750;
    cursor:pointer;
  }

  .argus-booking-time:hover,
  .argus-booking-time.is-active{
    color:#fff;
    background:var(--accent);
    border-color:var(--accent);
  }

  .argus-booking-loading{
    min-height:150px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    color:#647482;
    font-size:.86rem;
  }

  .argus-booking-loading[hidden],
  .argus-booking-empty[hidden],
  .argus-booking-form[hidden],
  .argus-booking-error[hidden],
  .argus-inline-calendar-fallback[hidden]{
    display:none !important;
  }

  .argus-booking-empty{
    padding:28px 15px;
    border:1px dashed #d8dde1;
    border-radius:10px;
    color:#6a7782;
    text-align:center;
    line-height:1.55;
  }

  .argus-booking-form{
    padding:18px 20px 20px;
    border-top:1px solid #edf0f2;
    background:#fafbfb;
  }

  .argus-booking-selected{
    margin-bottom:14px;
    padding:11px 13px;
    border-radius:9px;
    background:#eef5f8;
    color:var(--navy);
    font-size:.9rem;
    font-weight:800;
  }

  .argus-booking-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .argus-booking-form .field{
    margin-bottom:10px;
  }

  .argus-booking-form label{
    display:block;
    margin-bottom:5px;
    color:#354b5d;
    font-size:.76rem;
    font-weight:800;
  }

  .argus-booking-form input{
    width:100%;
    min-height:42px;
    padding:9px 11px;
    border:1px solid #ccd4da;
    border-radius:8px;
    background:#fff;
    font:inherit;
  }

  .argus-booking-form input:focus{
    border-color:var(--accent);
    outline:3px solid rgba(173,41,49,.10);
  }

  .argus-booking-submit{
    width:100%;
    margin-top:3px;
  }

  .argus-booking-error{
    margin:0 20px 20px;
    padding:11px 13px;
    border:1px solid #efc9c9;
    border-radius:9px;
    background:#fff3f3;
    color:#93222a;
    font-size:.84rem;
    line-height:1.5;
  }

  .argus-inline-calendar-fallback{
    min-height:280px !important;
  }
}

.argus-bookings-spinner{
  width:28px;
  height:28px;
  display:inline-block;
  border:3px solid #e1e6e9;
  border-top-color:var(--accent);
  border-radius:50%;
  animation:argusBookingsSpin .8s linear infinite;
}

@keyframes argusBookingsSpin{
  to{transform:rotate(360deg)}
}

.argus-lead-status.status-booked{
  background:#e7f7ec;
  color:#146c2e;
}

@media(max-width:1000px){
  .argus-ad-inline-calendar{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .argus-bookings-spinner{
    animation:none;
  }
}


/* =========================================================
   ARGUS V1.85 — Progressive booking widget + mobile calendar
   ========================================================= */

/* Booking step shell */
.argus-booking-step{
  border-top:1px solid #edf0f2;
  background:#fff;
}

.argus-booking-step:first-of-type{
  border-top:0;
}

.argus-booking-step-head{
  min-height:66px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:13px 20px;
}

.argus-booking-step-number{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid #d8dee3;
  border-radius:50%;
  background:#fff;
  color:#667785;
  font-size:.78rem;
  font-weight:850;
}

.argus-booking-step-copy{
  min-width:0;
}

.argus-booking-step-copy strong{
  display:block;
  color:var(--navy);
  font-size:.9rem;
  line-height:1.2;
}

.argus-booking-step-copy span{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:#72808c;
  font-size:.78rem;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.argus-booking-step.is-active .argus-booking-step-number{
  color:#fff;
  background:var(--accent);
  border-color:var(--accent);
}

.argus-booking-step.is-complete .argus-booking-step-number{
  color:#18703a;
  background:#e9f7ee;
  border-color:#c4e6cf;
}

.argus-booking-step.is-complete .argus-booking-step-number{
  font-size:0;
}

.argus-booking-step.is-complete .argus-booking-step-number::before{
  content:"✓";
  font-size:.9rem;
}

.argus-booking-step.is-locked{
  background:#fbfcfc;
}

.argus-booking-step.is-locked .argus-booking-step-number{
  opacity:.65;
}

.argus-booking-change{
  padding:5px 0;
  border:0;
  background:transparent;
  color:var(--accent);
  font:inherit;
  font-size:.76rem;
  font-weight:800;
  cursor:pointer;
}

.argus-booking-change:hover,
.argus-booking-change:focus-visible{
  text-decoration:underline;
}

.argus-booking-step-panel[hidden]{
  display:none !important;
}

/* Desktop progressive booking */
@media(min-width:1001px){
  .argus-booking-date-tabs{
    padding-top:8px !important;
  }

  .argus-booking-times-wrap{
    min-height:0 !important;
    padding-top:8px !important;
  }

  .argus-booking-form{
    border-top:0 !important;
    padding-top:8px !important;
  }
}

/* Mobile / tablet:
   Ad landing pages now show the same booking widget instead of the lead form. */
@media(max-width:1000px){
  .argus-pb-hero-service:has(.argus-ad-inline-calendar) .argus-pb-hero-inner{
    display:block !important;
  }

  .argus-pb-hero-service:has(.argus-ad-inline-calendar) .argus-pb-hero-copy{
    max-width:none !important;
  }

  .argus-ad-inline-calendar{
    display:block !important;
    width:100%;
    margin-top:28px;
  }

  .argus-pb-hero-service:has(.argus-ad-inline-calendar) .argus-service-mobile-form,
  .argus-pb-hero-service:has(.argus-ad-inline-calendar) .argus-priority-desktop-form{
    display:none !important;
  }

  .argus-inline-calendar-card{
    min-height:0 !important;
    overflow:hidden;
    border:1px solid #e0e5e8;
    border-radius:16px;
    background:#fff;
    box-shadow:0 12px 34px rgba(20,35,50,.08);
  }

  .argus-inline-calendar-head{
    padding:18px 17px 14px;
  }

  .argus-inline-calendar-head h2{
    margin:.35rem 0 5px;
    font-size:1.3rem;
  }

  .argus-inline-calendar-head p{
    margin:0;
    font-size:.8rem;
  }

  .argus-booking-step-head{
    min-height:62px;
    grid-template-columns:31px minmax(0,1fr) auto;
    gap:9px;
    padding:11px 15px;
  }

  .argus-booking-step-number{
    width:28px;
    height:28px;
  }

  .argus-booking-step-copy strong{
    font-size:.86rem;
  }

  .argus-booking-step-copy span{
    font-size:.74rem;
  }

  .argus-booking-date-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:7px 15px 16px;
  }

  .argus-booking-date{
    min-height:48px;
    padding:7px 8px;
    border:1px solid #dfe4e8;
    border-radius:9px;
    background:#fff;
    color:var(--navy);
    font:inherit;
    font-size:.78rem;
    font-weight:750;
  }

  .argus-booking-date.is-active{
    border-color:var(--accent);
    color:var(--accent);
    background:#fbf4f4;
  }

  .argus-booking-times-wrap{
    min-height:0;
    padding:7px 15px 16px;
  }

  .argus-booking-times{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .argus-booking-time{
    min-height:43px;
    padding:7px 8px;
    border:1px solid #dfe4e8;
    border-radius:9px;
    background:#fff;
    color:#33485a;
    font:inherit;
    font-size:.8rem;
    font-weight:750;
  }

  .argus-booking-time.is-active{
    color:#fff;
    background:var(--accent);
    border-color:var(--accent);
  }

  .argus-booking-loading{
    min-height:105px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    color:#647482;
    font-size:.8rem;
  }

  .argus-booking-empty{
    padding:20px 12px;
    border:1px dashed #d8dde1;
    border-radius:9px;
    color:#6a7782;
    text-align:center;
    font-size:.8rem;
    line-height:1.5;
  }

  .argus-booking-form{
    padding:9px 15px 17px;
    background:#fafbfb;
  }

  .argus-booking-form-grid{
    grid-template-columns:1fr;
    gap:0;
  }

  .argus-booking-selected{
    margin-bottom:12px;
    padding:10px 11px;
    font-size:.82rem;
  }

  .argus-booking-form input{
    min-height:44px;
    font-size:16px; /* avoids iOS zoom */
  }

  .argus-booking-submit{
    min-height:46px;
  }

  .argus-booking-error{
    margin:0 15px 15px;
  }

  .argus-inline-calendar-fallback{
    min-height:230px !important;
    padding:24px 16px !important;
  }

  /* The hero Book button scrolls directly to the visible mobile widget. */
  .argus-inline-booking-start{
    display:flex !important;
    margin-top:22px;
  }
}

@media(max-width:420px){
  .argus-booking-date-tabs,
  .argus-booking-times{
    grid-template-columns:1fr 1fr;
  }

  .argus-booking-step-head{
    padding-left:13px;
    padding-right:13px;
  }
}


/* =========================================================
   ARGUS V1.88 — Booking contact validation
   ========================================================= */

.argus-booking-field-error{
  display:block;
  margin-top:5px;
  color:#9f1e27;
  font-size:.73rem;
  font-weight:650;
  line-height:1.35;
}

.argus-booking-field-error[hidden]{
  display:none !important;
}

.argus-booking-field.has-error input,
.argus-booking-field input[aria-invalid="true"]{
  border-color:#b4232c !important;
  box-shadow:0 0 0 3px rgba(180,35,44,.09);
}

.argus-booking-field.has-error label{
  color:#8f1f26;
}


/* =========================================================
   ARGUS V1.89 — Booking loader hidden-state fix
   ========================================================= */

/*
 * Mobile/desktop booking layout rules set .argus-booking-loading to display:flex.
 * Explicitly force native [hidden] state to win so the availability spinner
 * disappears as soon as the slot request resolves.
 */
.argus-booking-loading[hidden],
.argus-booking-empty[hidden],
.argus-booking-error[hidden],
.argus-booking-step-panel[hidden],
.argus-inline-calendar-fallback[hidden]{
  display:none !important;
}


/* =========================================================
   ARGUS V1.90 — LeadConnector phone / country-code guidance
   ========================================================= */

.argus-booking-field-help{
  display:block;
  margin-top:5px;
  color:#74818c;
  font-size:.71rem;
  line-height:1.35;
}

.argus-booking-field.has-error .argus-booking-field-help{
  color:#7f5960;
}


/* =========================================================
   ARGUS V1.91 — Booking contact row alignment
   ========================================================= */

.argus-booking-form-grid > .field{
  align-self:start;
}

.argus-booking-form-grid > .field > input{
  display:block;
}

.argus-booking-field-error{
  min-height:0;
}


/* =========================================================
   ARGUS V1.92 — Country-aware phone input
   ========================================================= */

.argus-booking-form .iti{
  width:100%;
  display:block;
}

.argus-booking-form .iti input[type="tel"]{
  width:100%;
}

.argus-booking-form .iti__country-container{
  z-index:4;
}

.argus-booking-form .iti__dropdown-content{
  z-index:10020;
  max-width:min(360px,calc(100vw - 40px));
  border-color:#d8dee3;
  box-shadow:0 12px 34px rgba(20,35,50,.14);
}

.argus-booking-form .iti__search-input{
  min-height:40px;
  font-size:15px;
}

.argus-booking-field.has-error .iti input,
.argus-booking-field .iti input[aria-invalid="true"]{
  border-color:#b4232c !important;
  box-shadow:0 0 0 3px rgba(180,35,44,.09);
}

@media(max-width:1000px){
  .argus-booking-form .iti__dropdown-content{
    max-width:calc(100vw - 30px);
  }
}
\n\n/* =========================================================\n   ARGUS V1.93 — Reliable country-aware phone control\n   ========================================================= */\n\n.argus-booking-form .iti{\n  width:100%;\n}\n\n.argus-booking-form .iti__selected-country{\n  min-height:42px;\n}\n\n.argus-booking-form .iti__selected-dial-code{\n  color:#34495a;\n  font-weight:700;\n}\n\n@media(max-width:1000px){\n  .argus-booking-form .iti__selected-country{\n    min-height:44px;\n  }\n}\n

/* =========================================================
   ARGUS V1.94 — Booking valid-state indicators
   ========================================================= */

.argus-booking-field{
  position:relative;
}

.argus-booking-field input{
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.argus-booking-field.has-valid input,
.argus-booking-field.has-valid .iti input{
  border-color:#28a745 !important;
  box-shadow:0 0 0 3px rgba(40,167,69,.10);
}

.argus-booking-field.has-valid::after{
  content:'✓';
  position:absolute;
  right:14px;
  top:43px;
  width:22px;
  height:22px;
  border-radius:999px;
  background:#28a745;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
  box-shadow:0 6px 14px rgba(40,167,69,.18);
  pointer-events:none;
  z-index:3;
}

.argus-booking-field.has-valid input[type="email"]{
  padding-right:44px;
}

.argus-booking-field.has-valid .iti input[type="tel"]{
  padding-right:44px !important;
}

.argus-booking-field.has-valid label{
  color:#1f6b34;
}

@media(max-width:640px){
  .argus-booking-field.has-valid::after{
    top:41px;
    right:12px;
    width:20px;
    height:20px;
    font-size:.76rem;
  }
}


/* =========================================================
   ARGUS V1.95 — Booking confirmation date/time summary
   ========================================================= */

.argus-thankyou-summary{
  max-width:470px;
  margin:22px auto 0;
  overflow:hidden;
  border:1px solid #e4e7ea;
  border-radius:12px;
  background:#f7f8f9;
}

.argus-thankyou-summary-item{
  padding:14px 18px;
}

.argus-thankyou-summary-item + .argus-thankyou-summary-item{
  border-top:1px solid #e4e7ea;
}

.argus-thankyou-summary-item span{
  display:block;
  color:#7b8792;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.argus-thankyou-summary-item strong{
  display:block;
  margin-top:4px;
  color:var(--navy);
}

.argus-thankyou-appointment b{
  display:block;
  margin-top:2px;
  color:var(--accent-dark,var(--accent));
  font-size:1.08rem;
}

.argus-thankyou-appointment small{
  display:block;
  margin-top:2px;
  color:#75828d;
  font-size:.76rem;
}


/* =========================================================
   ARGUS V1.96 — Mobile contact-form spacing + phone precision
   ========================================================= */

/* Keep a deliberate gap between the Email field (including a validation
   message) and the primary booking action. */
.argus-booking-form > .argus-booking-field[data-booking-field="email"]{
  margin-bottom:16px;
}

.argus-booking-form > .argus-booking-field[data-booking-field="email"].has-error{
  margin-bottom:18px;
}

.argus-booking-submit{
  margin-top:0 !important;
}

@media(max-width:1000px){
  .argus-booking-form > .argus-booking-field[data-booking-field="email"]{
    margin-bottom:18px;
  }

  .argus-booking-form > .argus-booking-field[data-booking-field="email"].has-error{
    margin-bottom:20px;
  }

  .argus-booking-submit{
    display:block;
    width:100%;
    margin-top:0 !important;
  }
}


/* =========================================================
   ARGUS V1.98 — Compact mobile Google Review cards
   ========================================================= */

.review-footer-link-only{
  justify-content:flex-end !important;
}

@media(max-width:720px){
  .reviews-section{
    padding-top:48px !important;
    padding-bottom:48px !important;
  }

  .reviews-head{
    margin-bottom:10px !important;
  }

  .reviews-viewport{
    padding-top:5px !important;
    padding-bottom:5px !important;
  }

  .review-slide{
    min-height:0 !important;
    padding:14px 15px !important;
    border-radius:13px !important;
  }

  .review-card-top{
    gap:8px !important;
    margin-bottom:8px !important;
  }

  .review-avatar,
  .review-author-link{
    width:30px !important;
    height:30px !important;
  }

  .reviewer{
    font-size:.79rem !important;
  }

  .review-meta{
    margin-top:1px;
    font-size:.64rem !important;
  }

  .review-google-logo{
    width:34px !important;
  }

  .review-slide .stars{
    margin-bottom:6px !important;
    font-size:.72rem !important;
  }

  .review-slide blockquote{
    font-size:.79rem !important;
    line-height:1.38 !important;
    -webkit-line-clamp:5 !important;
  }

  .review-footer{
    margin-top:9px !important;
    padding-top:8px !important;
    font-size:.64rem !important;
  }

  .reviews-controls{
    margin-top:10px !important;
  }

  .carousel-arrow{
    width:38px;
    height:38px;
  }

  .carousel-pause{
    padding:5px;
    font-size:.7rem;
  }
}


/* =========================================================
   ARGUS V2.02 — Full-width mobile Google review card alignment
   ========================================================= */

@media(max-width:720px){
  .reviews-carousel{
    width:100%;
    max-width:100%;
  }

  /*
   * Earlier versions used negative viewport margins plus padding. That made
   * JS clientWidth slightly larger than the actual track content width and
   * could clip the right edge of a review card on phones.
   */
  .reviews-viewport{
    width:100%;
    max-width:100%;
    margin:0 !important;
    padding:4px !important;
    box-sizing:border-box;
    overflow:hidden;
  }

  .reviews-track{
    gap:10px !important;
    width:100%;
    align-items:stretch;
  }

  .review-slide{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:100% !important;
    box-sizing:border-box;
  }

  .reviews-section .container{
    overflow:visible;
  }
}

@media(max-width:420px){
  .reviews-viewport{
    padding-left:3px !important;
    padding-right:3px !important;
  }

  .reviews-track{
    gap:8px !important;
  }

  .review-slide{
    padding-left:13px !important;
    padding-right:13px !important;
  }
}


/* =========================================================
   ARGUS V2.06 — Request a Call Back validation
   ========================================================= */

.lead-form .iti{
  width:100%;
  display:block;
}

.lead-form .iti input[type="tel"]{
  width:100%;
}

.lead-form .iti__country-container{
  z-index:5;
}

.lead-form .iti__dropdown-content{
  z-index:10050;
  max-width:min(360px,calc(100vw - 40px));
  border-color:#d8dee3;
  box-shadow:0 12px 34px rgba(20,35,50,.14);
}

.argus-callback-field{
  position:relative;
}

.argus-callback-field-error{
  display:block;
  margin-top:5px;
  color:#9f1e27;
  font-size:.73rem;
  font-weight:650;
  line-height:1.35;
}

.argus-callback-field-error[hidden]{
  display:none !important;
}

.argus-callback-field.has-error input,
.argus-callback-field.has-error .iti input,
.argus-callback-field input[aria-invalid="true"]{
  border-color:#b4232c !important;
  box-shadow:0 0 0 3px rgba(180,35,44,.09);
}

.argus-callback-field.has-error label{
  color:#8f1f26;
}

.argus-callback-field.has-valid input,
.argus-callback-field.has-valid .iti input{
  border-color:#28a745 !important;
  box-shadow:0 0 0 3px rgba(40,167,69,.10);
}

.argus-callback-field.has-valid label{
  color:#1f6b34;
}

.argus-callback-field.has-valid::after{
  content:'✓';
  position:absolute;
  right:13px;
  top:41px;
  width:21px;
  height:21px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#28a745;
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  line-height:1;
  pointer-events:none;
  z-index:6;
}

.argus-callback-field.has-valid input[type="email"]{
  padding-right:43px;
}

.argus-callback-field.has-valid .iti input[type="tel"]{
  padding-right:43px !important;
}

@media(max-width:720px){
  .lead-form .iti__dropdown-content{
    max-width:calc(100vw - 30px);
  }

  .argus-callback-field.has-valid::after{
    top:40px;
    right:11px;
    width:20px;
    height:20px;
  }
}


/* =========================================================
   ARGUS V2.07 — Consultation modal full-content visibility
   ========================================================= */

/*
 * V1.74 used overflow:hidden for the compact service modal. The country-aware
 * phone input and validation added later increased form height, which could
 * clip the privacy / alternate-contact content on common laptop viewports.
 */
.consult-form-modal.is-service-context{
  overflow-x:hidden !important;
  overflow-y:auto !important;
  max-height:min(calc(100dvh - 52px),760px) !important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

/* Slightly tighter vertical rhythm keeps the entire service callback flow
   visible on typical desktop/laptop screens without making the form feel dense. */
@media(min-width:701px){
  #consult-modal.modal-backdrop{
    padding:14px 20px;
  }

  .consult-form-modal.is-service-context .consult-modal-head{
    padding:22px 28px 15px !important;
  }

  .consult-form-modal.is-service-context .consult-modal-head .eyebrow{
    margin-bottom:6px;
  }

  .consult-form-modal.is-service-context .consult-modal-head h2{
    margin-bottom:6px;
    font-size:clamp(1.7rem,2.7vw,2.15rem);
  }

  .consult-form-modal.is-service-context .consult-modal-context{
    font-size:.86rem;
    line-height:1.45;
  }

  .consult-form-modal.is-service-context .modal-form-wrap{
    padding:18px 28px 20px !important;
  }

  .consult-form-modal.is-service-context .lead-form{
    gap:10px;
  }

  .consult-form-modal.is-service-context .form-row{
    gap:10px;
  }

  .consult-form-modal.is-service-context .field{
    gap:5px;
  }

  .consult-form-modal.is-service-context .field input{
    min-height:46px;
  }

  .consult-form-modal.is-service-context .lead-submit{
    min-height:48px;
    margin-top:1px;
  }

  .consult-form-modal.is-service-context .lead-privacy{
    margin-top:0;
    line-height:1.35;
  }

  .consult-form-modal.is-service-context .lead-alt{
    margin-top:12px;
    padding-top:12px;
  }
}

/* Mobile/tablet: always keep the close button and remaining content reachable. */
@media(max-width:700px){
  #consult-modal.modal-backdrop{
    align-items:flex-start;
    padding:10px;
    overflow-y:auto;
  }

  .consult-form-modal.is-service-context{
    max-height:calc(100dvh - 20px) !important;
    margin:auto 0;
  }
}

/* WordPress admin bar reduces the usable viewport while previewing logged in. */
body.admin-bar .consult-form-modal.is-service-context{
  max-height:min(calc(100dvh - 84px),760px) !important;
}

@media(max-width:782px){
  body.admin-bar .consult-form-modal.is-service-context{
    max-height:calc(100dvh - 66px) !important;
  }
}


/* =========================================================
   ARGUS V2.12 — Accessibility refinements
   ========================================================= */
.skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:10000;
  padding:11px 16px;
  border-radius:8px;
  background:#fff;
  color:var(--navy);
  font-weight:800;
  box-shadow:0 10px 30px rgba(28,36,44,.2);
  transform:translateY(-180%);
  transition:transform .15s ease;
}
.skip-link:focus{
  transform:translateY(0);
}


/* =========================================================
   ARGUS V2.13 — Larger desktop RCIC portrait
   Bring the portrait's visual top closer to the profile heading while
   preserving the grounded, bottom-aligned composition.
   ========================================================= */
@media (min-width:1101px){
  #about .profile-grid{
    grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr) !important;
    min-height:610px !important;
    column-gap:44px !important;
  }

  #about .argus-profile-photo{
    height:610px !important;
    min-height:610px !important;
    align-self:end !important;
    overflow:visible !important;
  }

  #about .argus-profile-photo img{
    width:auto !important;
    height:auto !important;
    max-width:118% !important;
    max-height:610px !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:scale(1.12);
    transform-origin:center bottom;
  }
}

/* =========================================================
   ARGUS V2.14 — RCIC portrait/top-copy alignment
   Scale from the bottom anchor so the consultant's hairline aligns
   with the eyebrow label without increasing section height.
   ========================================================= */
@media (min-width:1101px){
  #about .argus-profile-photo{
    overflow:visible !important;
  }

  #about .argus-profile-photo img{
    transform:scale(1.12) !important;
    transform-origin:center bottom !important;
  }
}


/* V2.18 — Google Review assignment status */
.argus-review-assignment-card{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:18px 20px;margin:18px 0;box-shadow:0 1px 1px rgba(0,0,0,.02)}
.argus-review-assignment-heading{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;margin-bottom:14px}
.argus-review-assignment-heading h2{margin:0 0 4px}.argus-review-assignment-heading p{margin:0;color:#50575e}.argus-review-assignment-legend{font-size:12px;color:#50575e;white-space:nowrap}
.argus-review-assignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.argus-review-assignment-item{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;border:1px solid #dcdcde;border-left:4px solid #d63638;border-radius:6px;padding:9px 10px;background:#fff}
.argus-review-assignment-item.is-complete{border-left-color:#00a32a;background:#f6fff8}.argus-review-assignment-item strong{font-size:14px}.argus-review-assignment-item small{grid-column:1/-1;color:#646970}.argus-review-assignment-name{font-weight:600}
@media(max-width:782px){.argus-review-assignment-heading{display:block}.argus-review-assignment-legend{display:block;margin-top:8px;white-space:normal}}

    @media (max-width:380px){
      .nav{gap:6px}
      .nav-actions{gap:5px}
      .nav-actions .btn,
      .mobile-toggle{width:38px;height:38px;min-width:38px;min-height:38px}
      .logo-fallback{font-size:1.4rem}
    }


/* =========================================================
   ARGUS V2.26 — Mobile header CTA icon clarity + attention
   Logo → Call Now → Request Call Back → Menu.
   ========================================================= */
@media (max-width:1040px){
  .site-header .nav-actions .argus-header-action{
    position:relative;
    overflow:visible;
    border-width:1.5px;
    will-change:transform,box-shadow;
  }

  .site-header .nav-actions .argus-header-call{
    color:var(--accent);
    border-color:rgba(164,44,47,.55);
    background:#fff;
    box-shadow:0 0 0 0 rgba(164,44,47,.18),0 5px 14px rgba(164,44,47,.10);
    animation:argusHeaderCallAttention 3.4s ease-in-out infinite;
  }

  .site-header .nav-actions .argus-header-callback{
    color:#fff;
    border-color:var(--accent);
    background:var(--accent);
    box-shadow:0 0 0 0 rgba(164,44,47,.22),0 6px 16px rgba(164,44,47,.20);
    animation:argusHeaderCallbackAttention 3.4s ease-in-out .45s infinite;
  }

  .site-header .nav-actions .argus-nav-action-icon svg{
    width:22px;
    height:22px;
    stroke-width:2.15;
  }

  .site-header .nav-actions .argus-header-call::after,
  .site-header .nav-actions .argus-header-callback::after{
    content:"";
    position:absolute;
    inset:-3px;
    border-radius:12px;
    border:1px solid rgba(164,44,47,.20);
    opacity:0;
    pointer-events:none;
    animation:argusHeaderIconRing 3.4s ease-out infinite;
  }

  .site-header .nav-actions .argus-header-callback::after{
    animation-delay:.45s;
  }

  @keyframes argusHeaderCallAttention{
    0%,45%,100%{transform:translateX(0) rotate(0);box-shadow:0 0 0 0 rgba(164,44,47,.16),0 5px 14px rgba(164,44,47,.10)}
    8%{box-shadow:0 0 0 6px rgba(164,44,47,0),0 8px 18px rgba(164,44,47,.18)}
    49%{transform:translateX(-1px) rotate(-2deg)}
    52%{transform:translateX(2px) rotate(2.5deg)}
    55%{transform:translateX(-2px) rotate(-2deg)}
    58%{transform:translateX(1px) rotate(1deg)}
    61%{transform:translateX(0) rotate(0)}
  }

  @keyframes argusHeaderCallbackAttention{
    0%,45%,100%{transform:translateX(0) rotate(0);box-shadow:0 0 0 0 rgba(164,44,47,.20),0 6px 16px rgba(164,44,47,.20)}
    8%{box-shadow:0 0 0 7px rgba(164,44,47,0),0 9px 20px rgba(164,44,47,.28)}
    49%{transform:translateX(1px) rotate(2deg)}
    52%{transform:translateX(-2px) rotate(-2.5deg)}
    55%{transform:translateX(2px) rotate(2deg)}
    58%{transform:translateX(-1px) rotate(-1deg)}
    61%{transform:translateX(0) rotate(0)}
  }

  @keyframes argusHeaderIconRing{
    0%,4%{opacity:0;transform:scale(.92)}
    10%{opacity:.7;transform:scale(1)}
    22%{opacity:0;transform:scale(1.16)}
    100%{opacity:0;transform:scale(1.16)}
  }
}

@media (prefers-reduced-motion:reduce){
  .site-header .nav-actions .argus-header-action,
  .site-header .nav-actions .argus-header-action::after{
    animation:none !important;
    transform:none !important;
  }
}


/* =========================================================
   ARGUS V2.27 — reCAPTCHA v3 badge cleanup
   Google permits hiding the floating badge when branding is
   kept visible in the protected user flow.
   ========================================================= */
.grecaptcha-badge{
  visibility:hidden !important;
}

.argus-recaptcha-disclosure{
  margin:5px 0 0;
  color:var(--muted);
  font-size:.58rem;
  line-height:1.28;
  opacity:.82;
}

.argus-recaptcha-disclosure a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
}

.argus-recaptcha-disclosure a:hover,
.argus-recaptcha-disclosure a:focus-visible{
  color:var(--navy);
}


/* =========================================================
   ARGUS V2.30 — Progressive consultation form reveal
   ========================================================= */
.argus-progressive-followup,
.argus-progressive-actions{
  display:grid;
  gap:13px;
}

.argus-progressive-followup[hidden],
.argus-progressive-actions[hidden]{
  display:none !important;
}

.argus-progressive-enabled.is-contact-ready .argus-progressive-followup,
.argus-progressive-enabled.is-contact-ready .argus-progressive-actions{
  animation:argusFormReveal .24s ease-out both;
}

@keyframes argusFormReveal{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:700px){
  .argus-recaptcha-disclosure{
    font-size:.56rem;
    line-height:1.22;
    margin-top:4px;
  }
}

@media(prefers-reduced-motion:reduce){
  .argus-progressive-enabled.is-contact-ready .argus-progressive-followup,
  .argus-progressive-enabled.is-contact-ready .argus-progressive-actions{
    animation:none !important;
  }
}


/* =========================================================
   ARGUS V2.31 — Consistent service-aware callback forms
   ========================================================= */
.lead-form[data-service-mode="locked"] .service-field select,
.consult-form-modal.is-service-context .service-field select{
  background:#f5f7f9;
  color:var(--navy);
  border-color:#d9e0e7;
  font-weight:800;
  opacity:1;
  cursor:not-allowed;
  -webkit-text-fill-color:var(--navy);
}

.consult-form-modal.is-service-context .service-field label::after{
  content:" (selected for this page)";
  color:var(--muted);
  font-size:.78em;
  font-weight:600;
}


/* =========================================================
   ARGUS V2.32 — Consultation modal visual cleanup
   Keep the animated attention treatment on the modal shell,
   not on the unpadded inner form wrapper.
   ========================================================= */

/* The modal is the visual card. Do not draw a second animated box around
   the form content inside it. */
.consult-form-modal.is-service-context{
  border:1px solid rgba(173,41,49,.24);
  box-shadow:0 26px 80px rgba(6,22,36,.24);
  animation:argusConsultationSpotlight 2.35s ease-in-out infinite;
}

.consult-form-modal.is-service-context .hero-lead-card{
  animation:none !important;
  box-shadow:none !important;
  border:0 !important;
  background:transparent !important;
}

.consult-form-modal.is-service-context .modal-form-wrap{
  padding:22px 30px 24px;
  background:#fff;
}

.consult-form-modal.is-service-context .lead-form{
  gap:15px;
}

.consult-form-modal.is-service-context .form-row{
  gap:14px;
}

.consult-form-modal.is-service-context .field{
  gap:7px;
}

.consult-form-modal.is-service-context .field label{
  color:var(--navy);
  font-size:.8rem;
  line-height:1.2;
  font-weight:850;
}

.consult-form-modal.is-service-context .field input,
.consult-form-modal.is-service-context .field select,
.consult-form-modal.is-service-context .field textarea{
  border-color:#d4dce4;
  background:#fff;
}

.consult-form-modal.is-service-context .field input{
  min-height:52px;
  padding:12px 14px;
}

/* The first progressive step should collapse to its actual content height. */
.consult-form-modal.is-service-context .argus-progressive-enabled:not(.is-contact-ready){
  align-content:start;
}

.consult-form-modal.is-service-context .argus-progressive-enabled:not(.is-contact-ready) + .lead-alt{
  margin-top:18px;
}

.consult-form-modal.is-service-context .lead-alt{
  padding-top:15px;
  border-top:1px solid #edf0f2;
  color:#72808d;
}

.consult-form-modal.is-service-context .lead-alt a{
  color:var(--accent-dark);
  font-weight:850;
}

/* Once step two opens, keep a clear visual rhythm without creating a nested box. */
.consult-form-modal.is-service-context .argus-progressive-enabled.is-contact-ready .argus-progressive-followup{
  margin-top:2px;
  padding-top:15px;
  border-top:1px solid #edf0f2;
}

.consult-form-modal.is-service-context .argus-progressive-enabled.is-contact-ready .argus-progressive-actions{
  margin-top:2px;
}

@media(max-width:700px){
  .consult-form-modal.is-service-context .modal-form-wrap{
    padding:18px 18px 20px !important;
  }

  .consult-form-modal.is-service-context .lead-form{
    gap:13px;
  }

  .consult-form-modal.is-service-context .field input{
    min-height:50px;
  }
}

@media(prefers-reduced-motion:reduce){
  .consult-form-modal.is-service-context{
    animation:none !important;
  }
}


/* =========================================================
   ARGUS V2.35 — One consultation modal UI everywhere
   Header, bottom CTA and Start Here now share the same generic modal shell.
   Service context changes only the explanatory line and locked service field.
   ========================================================= */

/* Service-prefilled modal keeps the standard generic dimensions/card UI. */
.consult-form-modal.has-service-context{
  width:min(100%,690px) !important;
  max-height:min(90vh,820px) !important;
  overflow:auto !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.55) !important;
  box-shadow:0 30px 90px rgba(6,22,36,.28) !important;
  animation:none !important;
}

.consult-form-modal.has-service-context .consult-modal-head{
  padding:34px 34px 22px !important;
  border-bottom:1px solid var(--line) !important;
}

.consult-form-modal.has-service-context .consult-modal-head .eyebrow{
  margin-bottom:0 !important;
}

.consult-form-modal.has-service-context .consult-modal-head h2{
  margin:.5rem 48px .5rem 0 !important;
  font-size:clamp(1.8rem,4vw,2.7rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
}

.consult-form-modal.has-service-context .consult-modal-context{
  margin:0 !important;
  max-width:560px !important;
  color:var(--muted) !important;
  font-size:.9rem !important;
  line-height:1.5 !important;
}

.consult-form-modal.has-service-context .modal-form-wrap{
  padding:24px 34px 30px !important;
  background:transparent !important;
}

/* Restore the same framed lead-card look used by the generic callback form. */
.consult-form-modal.has-service-context .modal-form-wrap .hero-lead-card{
  padding:28px 30px 24px !important;
  border:1px solid rgba(173,41,49,.34) !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 12px 34px rgba(18,34,58,.08) !important;
  overflow:hidden !important;
}

.consult-form-modal.has-service-context .modal-form-wrap .hero-lead-card:before{
  display:block !important;
}

.consult-form-modal.has-service-context .lead-form{
  gap:13px !important;
}

.consult-form-modal.has-service-context .form-row{
  gap:12px !important;
}

.consult-form-modal.has-service-context .field{
  gap:6px !important;
}

.consult-form-modal.has-service-context .field label{
  font-size:.78rem !important;
}

.consult-form-modal.has-service-context .field input{
  min-height:50px !important;
  border-radius:10px !important;
  background:#fff !important;
}

/* The service question remains visible after progressive reveal, but locked. */
.consult-form-modal.has-service-context .service-field select{
  background:#f5f7f9 !important;
  color:var(--navy) !important;
  border-color:#d9e0e7 !important;
  font-weight:800 !important;
  opacity:1 !important;
  cursor:not-allowed !important;
  -webkit-text-fill-color:var(--navy) !important;
}

.consult-form-modal.has-service-context .service-field label::after{
  content:" (selected for this page)";
  color:var(--muted);
  font-size:.78em;
  font-weight:600;
}

.consult-form-modal.has-service-context .lead-alt{
  margin-top:16px !important;
  padding-top:0 !important;
  border-top:0 !important;
  text-align:center !important;
}

@media(max-width:700px){
  .consult-form-modal.has-service-context{
    width:min(100%,690px) !important;
    max-height:calc(100dvh - 20px) !important;
    border-radius:18px !important;
  }

  .consult-form-modal.has-service-context .consult-modal-head{
    padding:24px 20px 18px !important;
  }

  .consult-form-modal.has-service-context .consult-modal-head h2{
    margin-right:42px !important;
    font-size:clamp(1.75rem,8vw,2.2rem) !important;
  }

  .consult-form-modal.has-service-context .modal-form-wrap{
    padding:20px 18px 24px !important;
  }

  .consult-form-modal.has-service-context .modal-form-wrap .hero-lead-card{
    padding:22px 16px 20px !important;
    border-radius:18px !important;
  }

  .consult-form-modal.has-service-context .form-row{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   ARGUS V2.36 — Service-form simplification + footer back to top
   ========================================================= */
.argus-site-top-anchor{
  position:absolute;
  top:0;
  left:0;
  width:1px;
  height:1px;
  pointer-events:none;
}

.footer-back-to-top{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
  color:var(--accent);
  font-size:.88rem;
  font-weight:800;
  white-space:nowrap;
}

.footer-back-to-top span{
  font-size:1rem;
  line-height:1;
  transition:transform .18s ease;
}

.footer-back-to-top:hover span,
.footer-back-to-top:focus-visible span{
  transform:translateY(-2px);
}

@media (max-width:720px){
  .footer-back-to-top{
    margin-left:0;
    margin-top:12px;
  }
}

@media (prefers-reduced-motion:reduce){
  .footer-back-to-top span{
    transition:none;
  }
}


/* =========================================================
   ARGUS V2.37 — Footer back-to-top row + legal strip
   ========================================================= */
.footer-back-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  padding:0 0 24px;
}

.footer-back-row .footer-back-to-top{
  margin:0;
  color:var(--accent);
  font-size:.88rem;
  font-weight:900;
  letter-spacing:.01em;
}

footer .footer-bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,auto);
  align-items:center;
  gap:28px;
  padding-top:24px;
}

.footer-copyright{
  min-width:0;
}

.footer-disclaimer{
  justify-self:end;
  max-width:560px;
  text-align:right;
  color:#5f6f82;
  line-height:1.45;
}

@media (max-width:720px){
  .footer-back-row{
    padding-bottom:18px;
  }

  footer .footer-bottom{
    grid-template-columns:1fr;
    gap:8px;
    padding-top:18px;
  }

  .footer-disclaimer{
    justify-self:start;
    text-align:left;
    max-width:none;
  }
}


/* =========================================================
   ARGUS V2.39 — Homepage reCAPTCHA disclosure sizing
   The generic .hero p rule is intentionally large for hero copy;
   keep the legal reCAPTCHA disclosure compact like other forms.
   ========================================================= */
.hero .hero-lead-card .argus-recaptcha-disclosure{
  font-size:.58rem !important;
  line-height:1.28 !important;
  margin:5px 0 0 !important;
  max-width:none !important;
  color:var(--muted) !important;
  opacity:.82;
}

@media(max-width:700px){
  .hero .hero-lead-card .argus-recaptcha-disclosure{
    font-size:.56rem !important;
    line-height:1.22 !important;
    margin-top:4px !important;
  }
}


/* =========================================================
   ARGUS V2.41 — Unified compact compliance text
   Keep consent and reCAPTCHA disclosures identical, centered
   and compact across all forms on desktop and mobile.
   ========================================================= */
.lead-form .lead-privacy,
.lead-form .argus-recaptcha-disclosure,
.hero .hero-lead-card .lead-privacy,
.hero .hero-lead-card .argus-recaptcha-disclosure,
.consult-form-modal .lead-privacy,
.consult-form-modal .argus-recaptcha-disclosure,
.argus-booking-form .lead-privacy,
.argus-booking-form .argus-recaptcha-disclosure{
  font-size:.56rem !important;
  line-height:1.24 !important;
  text-align:center !important;
  color:#7f8993 !important;
  max-width:94% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  letter-spacing:0 !important;
}

.lead-form .lead-privacy{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.lead-form .argus-recaptcha-disclosure,
.hero .hero-lead-card .argus-recaptcha-disclosure,
.consult-form-modal .argus-recaptcha-disclosure,
.argus-booking-form .argus-recaptcha-disclosure{
  margin-top:3px !important;
  margin-bottom:0 !important;
  opacity:.82 !important;
}

.lead-form .lead-privacy a,
.lead-form .argus-recaptcha-disclosure a,
.hero .hero-lead-card .lead-privacy a,
.hero .hero-lead-card .argus-recaptcha-disclosure a,
.consult-form-modal .lead-privacy a,
.consult-form-modal .argus-recaptcha-disclosure a,
.argus-booking-form .lead-privacy a,
.argus-booking-form .argus-recaptcha-disclosure a{
  font-size:inherit !important;
  line-height:inherit !important;
}

@media(max-width:700px){
  .lead-form .lead-privacy,
  .lead-form .argus-recaptcha-disclosure,
  .hero .hero-lead-card .lead-privacy,
  .hero .hero-lead-card .argus-recaptcha-disclosure,
  .consult-form-modal .lead-privacy,
  .consult-form-modal .argus-recaptcha-disclosure,
  .argus-booking-form .lead-privacy,
  .argus-booking-form .argus-recaptcha-disclosure{
    font-size:.56rem !important;
    line-height:1.24 !important;
    text-align:center !important;
    max-width:96% !important;
  }
}


/* ARGUS V2.45 — Center booking-form compliance text. */
.argus-booking-form .argus-recaptcha-disclosure,
.argus-booking-form .lead-privacy{
  width:100%;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}


/* =========================================================
   ARGUS V2.46 — Callback-form conversion cleanup
   - Keep submit visible from the first view
   - Hide secondary legal copy until contact details unlock step two
   - Remove alternate in-form phone CTA (handled in PHP)
   - Compact modal controls on mobile
   ========================================================= */
.argus-progressive-enabled:not(.is-contact-ready) .argus-progressive-actions .lead-privacy,
.argus-progressive-enabled:not(.is-contact-ready) .argus-progressive-actions .argus-recaptcha-disclosure{
  display:none !important;
}

/* V2.47: the callback CTA stays visually active even while client-side
   validation prevents an incomplete request from being submitted. */
.lead-submit:disabled,
.lead-submit[aria-disabled="true"]{
  opacity:1;
  cursor:wait;
}

.argus-progressive-enabled .argus-progressive-actions{
  display:grid !important;
}

.argus-progressive-inline-error{
  margin:0 0 2px !important;
  font-size:.76rem;
  line-height:1.35;
}

@media(max-width:700px){
  #consult-modal .argus-progressive-enabled .argus-progressive-actions{
    display:grid !important;
    gap:7px !important;
    margin-top:2px !important;
  }

  #consult-modal .argus-progressive-enabled .lead-submit{
    display:inline-flex !important;
    width:100% !important;
    min-height:44px !important;
    align-items:center;
    justify-content:center;
    opacity:1 !important;
  }

  #consult-modal .argus-progressive-inline-error{
    font-size:.7rem;
    margin-bottom:0 !important;
  }
}

@media(max-width:700px){
  #consult-modal.modal-backdrop{
    padding:8px !important;
  }

  #consult-modal .consult-modal{
    max-height:calc(100dvh - 16px) !important;
    border-radius:16px !important;
  }

  #consult-modal .consult-modal-head,
  #consult-modal .consult-form-modal.has-service-context .consult-modal-head{
    padding:17px 16px 12px !important;
  }

  #consult-modal .consult-modal-head .eyebrow{
    margin-bottom:4px !important;
    font-size:.68rem !important;
    letter-spacing:.12em !important;
  }

  #consult-modal .consult-modal-head h2,
  #consult-modal .consult-form-modal.has-service-context .consult-modal-head h2{
    margin:3px 40px 4px 0 !important;
    font-size:1.55rem !important;
    line-height:1.08 !important;
  }

  #consult-modal .consult-modal-context,
  #consult-modal .consult-form-modal.has-service-context .consult-modal-context{
    font-size:.76rem !important;
    line-height:1.34 !important;
  }

  #consult-modal .modal-form-wrap,
  #consult-modal .consult-form-modal.has-service-context .modal-form-wrap{
    padding:12px !important;
  }

  #consult-modal .modal-form-wrap .hero-lead-card,
  #consult-modal .consult-form-modal.has-service-context .modal-form-wrap .hero-lead-card{
    padding:15px 12px 13px !important;
    border-radius:14px !important;
  }

  #consult-modal .lead-form,
  #consult-modal .consult-form-modal.has-service-context .lead-form{
    gap:9px !important;
  }

  #consult-modal .form-row,
  #consult-modal .consult-form-modal.has-service-context .form-row{
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  #consult-modal .field,
  #consult-modal .consult-form-modal.has-service-context .field{
    gap:4px !important;
  }

  #consult-modal .field label,
  #consult-modal .consult-form-modal.has-service-context .field label{
    font-size:.72rem !important;
    line-height:1.18 !important;
  }

  #consult-modal .field input,
  #consult-modal .field select,
  #consult-modal .field textarea,
  #consult-modal .consult-form-modal.has-service-context .field input,
  #consult-modal .consult-form-modal.has-service-context .field select,
  #consult-modal .consult-form-modal.has-service-context .field textarea{
    font-size:.9rem !important;
    border-radius:9px !important;
    padding:9px 10px !important;
  }

  #consult-modal .field input,
  #consult-modal .field select,
  #consult-modal .consult-form-modal.has-service-context .field input,
  #consult-modal .consult-form-modal.has-service-context .field select{
    min-height:42px !important;
  }

  #consult-modal .field textarea,
  #consult-modal .consult-form-modal.has-service-context .field textarea{
    min-height:72px !important;
  }

  #consult-modal .lead-submit{
    min-height:44px !important;
    margin-top:0 !important;
    font-size:.9rem !important;
  }

  #consult-modal .argus-progressive-enabled.is-contact-ready .argus-progressive-followup{
    padding-top:10px !important;
    margin-top:0 !important;
  }
}


/* =========================================================
   ARGUS V2.48 — Mobile modal international-phone alignment
   Preserve the intl-tel-input country/dial-code gutter after the
   compact mobile form rules so flag / +1 never overlap the number.
   ========================================================= */
@media(max-width:700px){
  #consult-modal .lead-form .iti{
    width:100% !important;
    display:block !important;
  }

  #consult-modal .lead-form .iti input[type="tel"]{
    width:100% !important;
    min-height:42px !important;
    padding-left:94px !important;
    padding-right:12px !important;
    text-indent:0 !important;
    box-sizing:border-box !important;
  }

  #consult-modal .lead-form .iti__country-container{
    left:0 !important;
    right:auto !important;
    height:100% !important;
    max-width:88px !important;
    z-index:6 !important;
  }

  #consult-modal .lead-form .iti__selected-country{
    min-height:42px !important;
    height:100% !important;
    padding:0 8px 0 11px !important;
    display:flex !important;
    align-items:center !important;
    gap:4px !important;
  }

  #consult-modal .lead-form .iti__selected-dial-code{
    margin-left:2px !important;
    font-size:.88rem !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  #consult-modal .lead-form .iti__selected-country-primary{
    display:flex !important;
    align-items:center !important;
    gap:4px !important;
  }
}

/* =========================================================
   ARGUS V2.58 — COOKIE ACTION ALIGNMENT + MOBILE RESOURCES PAGINATION
   ========================================================= */
@media (min-width:1041px){
  .cookie-banner{
    width:min(calc(100% - 32px),1040px);
  }
  .cookie-copy{
    flex:1 1 auto;
    min-width:0;
    max-width:none;
  }
  .cookie-actions{
    flex:0 0 auto;
    flex-wrap:nowrap;
    white-space:nowrap;
  }
}

/* WordPress pagination also uses .nav-links; keep it visible on mobile. */
@media (max-width:1040px){
  .argus-pagination .nav-links{
    display:flex !important;
  }
}

@media (max-width:520px){
  .argus-pagination .nav-links{
    flex-wrap:nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 2px 8px;
    margin-inline:-2px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .argus-pagination .nav-links::-webkit-scrollbar{
    display:none;
  }
  .argus-pagination .page-numbers{
    flex:0 0 auto;
  }
}
