:root{
      --blue:#075f9f;
      --blue-dark:#064a79;
      --red:#9b123f;
      --ink:#142230;
      --muted:#687684;
      --line:#dbe3e8;
      --soft:#f5f8fa;
      --white:#fff;
      --max:1240px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:"Manrope",sans-serif;
      color:var(--ink);
      background:#fff;
      line-height:1.55;
    }
    img{max-width:100%;display:block}
    a{text-decoration:none;color:inherit}
    button,input,select,textarea{font:inherit}
    .wrap{width:min(var(--max),calc(100% - 48px));margin:0 auto}

    .topline{
      height:6px;
      background:linear-gradient(90deg,var(--blue) 0 72%,var(--red) 72% 100%);
    }

    header{
      border-bottom:1px solid var(--line);
      background:#fff;
      position:sticky;top:0;z-index:50;
    }
    .header-inner{
      min-height:94px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:34px;
    }
    .brand img{width:325px}
    .nav{
      display:flex;
      align-items:center;
      gap:28px;
      font-size:.95rem;
      font-weight:700;
    }
    .nav a{position:relative}
    .nav a:after{
      content:"";
      position:absolute;left:0;right:100%;bottom:-8px;height:2px;
      background:var(--red);transition:.2s;
    }
    .nav a:hover:after{right:0}
    .header-contact{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .phone{
      font-weight:800;
      color:var(--blue);
      font-size:1rem;
      white-space:nowrap;
    }
    .cta{
      display:inline-flex;align-items:center;justify-content:center;gap:9px;
      min-height:48px;padding:0 18px;border:1px solid var(--red);
      color:#fff;background:var(--red);font-weight:800;
      transition:.18s;
    }
    .cta:hover{background:#7f0f34;border-color:#7f0f34}
    .menu-btn{display:none;border:0;background:none;font-size:1.4rem;color:var(--blue)}

    .hero{
      min-height:690px;
      display:grid;
      grid-template-columns:1.1fr .9fr;
      border-bottom:1px solid var(--line);
    }
    .hero-copy{
      padding:88px max(24px,calc((100vw - var(--max))/2)) 78px;
      padding-right:72px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      background:#fff;
    }
    .kicker{
      color:var(--red);
      text-transform:uppercase;
      letter-spacing:.12em;
      font-size:.76rem;
      font-weight:800;
      margin-bottom:20px;
    }
    h1,h2,h3{margin:0}
    h1{
      font-family:"Source Serif 4",serif;
      font-size:clamp(3.3rem,6.2vw,6.4rem);
      line-height:.95;
      letter-spacing:-.045em;
      max-width:780px;
      margin-bottom:28px;
    }
    .hero-copy .intro{
      font-size:1.22rem;
      color:#445463;
      max-width:670px;
      margin-bottom:28px;
    }
    .hero-proof{
      display:flex;gap:36px;flex-wrap:wrap;
      padding-top:26px;border-top:1px solid var(--line);
      max-width:700px;
    }
    .hero-proof strong{
      display:block;color:var(--blue);font-size:1.25rem;margin-bottom:2px
    }
    .hero-proof span{font-size:.88rem;color:var(--muted)}

    .hero-intake{
      background:var(--blue);
      color:#fff;
      padding:70px 54px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .step-label{
      font-size:.75rem;
      letter-spacing:.13em;
      text-transform:uppercase;
      font-weight:800;
      opacity:.8;
      margin-bottom:14px;
    }
    .hero-intake h2{
      font-family:"Source Serif 4",serif;
      font-size:clamp(2.3rem,3.5vw,4.1rem);
      line-height:1.02;
      margin-bottom:14px;
    }
    .hero-intake>p{color:#dce9f2;margin:0 0 28px;max-width:540px}

    .choices{
      border-top:1px solid rgba(255,255,255,.22);
    }
    .choice{
      width:100%;
      appearance:none;
      border:0;
      border-bottom:1px solid rgba(255,255,255,.22);
      background:transparent;
      color:#fff;
      min-height:82px;
      padding:0;
      display:grid;
      grid-template-columns:54px 1fr 34px;
      align-items:center;
      text-align:left;
      cursor:pointer;
      transition:.18s;
    }
    .choice:hover,.choice.active{background:rgba(255,255,255,.08);padding-left:10px}
    .choice .num{
      font-size:.82rem;
      opacity:.7;
      font-weight:700;
    }
    .choice .text{
      font-size:1.05rem;
      font-weight:800;
    }
    .choice i{justify-self:end}

    .selected-box{
      display:none;
      margin-top:24px;
      background:#fff;
      color:var(--ink);
      padding:20px;
    }
    .selected-box.show{display:block}
    .selected-box strong{display:block;color:var(--red);margin-bottom:6px}
    .selected-box p{margin:0 0 14px;color:var(--muted);font-size:.9rem}
    .selected-box a{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--blue);
      font-weight:800;
    }

    .statement{
      padding:95px 0;
      background:#fff;
    }
    .statement-grid{
      display:grid;
      grid-template-columns:.8fr 1.2fr;
      gap:80px;
      align-items:start;
    }
    .statement h2{
      font-family:"Source Serif 4",serif;
      font-size:clamp(2.5rem,4.2vw,4.5rem);
      line-height:1.03;
      letter-spacing:-.03em;
    }
    .statement-copy{
      border-left:1px solid var(--line);
      padding-left:54px;
    }
    .statement-copy p{
      font-size:1.1rem;
      color:#475766;
      margin:0 0 22px;
    }
    .statement-copy p:last-child{margin-bottom:0}
    .statement-copy strong{color:var(--ink)}

    .types{
      background:var(--soft);
      padding:90px 0;
    }
    .section-head{
      display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:36px;
    }
    .section-head h2{
      font-family:"Source Serif 4",serif;
      font-size:clamp(2.4rem,4vw,4rem);
      line-height:1;
      max-width:720px;
    }
    .section-head p{
      max-width:430px;
      color:var(--muted);
      margin:0;
    }

    .type-list{border-top:1px solid #cfd9df}
    .type-row{
      display:grid;
      grid-template-columns:72px 1.1fr 1.6fr 34px;
      gap:20px;
      align-items:center;
      min-height:118px;
      border-bottom:1px solid #cfd9df;
      transition:.16s;
    }
    .type-row:hover{background:#fff;padding-left:12px;padding-right:12px}
    .type-row .icon{
      width:48px;height:48px;
      display:grid;place-items:center;
      color:var(--blue);font-size:1.25rem;
      border:1px solid #bfd1dc;
    }
    .type-row h3{
      font-size:1.05rem;
      color:var(--ink);
    }
    .type-row p{
      margin:0;color:var(--muted);font-size:.95rem;
    }
    .type-row .arrow{color:var(--red)}

    .intake{
      padding:100px 0;
      background:#fff;
    }
    .intake-grid{
      display:grid;
      grid-template-columns:.78fr 1.22fr;
      gap:70px;
      align-items:start;
    }
    .intake-copy h2{
      font-family:"Source Serif 4",serif;
      font-size:clamp(2.5rem,4vw,4.3rem);
      line-height:1.03;
      margin-bottom:22px;
    }
    .intake-copy p{color:var(--muted);font-size:1.05rem}
    .contact-points{margin-top:34px;border-top:1px solid var(--line)}
    .contact-point{
      display:flex;align-items:center;justify-content:space-between;
      padding:16px 0;border-bottom:1px solid var(--line);
      font-weight:800;
    }
    .contact-point span{color:var(--muted);font-weight:600;font-size:.9rem}
    .form{
      border-top:4px solid var(--red);
      padding-top:26px;
    }
    .form-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }
    .field{display:flex;flex-direction:column;gap:7px}
    .field.full{grid-column:1/-1}
    label{font-size:.86rem;font-weight:800}
    input,select,textarea{
      border:0;
      border-bottom:1px solid #bfcbd3;
      border-radius:0;
      background:transparent;
      padding:13px 2px;
      outline:none;
      color:var(--ink);
    }
    input:focus,select:focus,textarea:focus{border-bottom-color:var(--blue)}
    textarea{min-height:120px;resize:vertical}
    .privacy{
      display:flex;gap:10px;align-items:flex-start;
      color:var(--muted);font-size:.82rem;margin:22px 0;
    }
    .privacy input{width:auto;margin-top:3px}
    .submit{
      min-height:54px;
      padding:0 22px;
      border:0;background:var(--red);color:#fff;
      font-weight:800;cursor:pointer;
    }

    .band{
      background:var(--blue-dark);color:#fff;
      padding:56px 0;
    }
    .band-inner{
      display:flex;justify-content:space-between;gap:40px;align-items:center;
    }
    .band h3{
      font-family:"Source Serif 4",serif;
      font-size:clamp(1.8rem,3vw,3rem);
      max-width:760px;
    }
    .band a{
      display:inline-flex;align-items:center;gap:10px;
      border-bottom:1px solid rgba(255,255,255,.5);
      padding-bottom:4px;font-weight:800;
      white-space:nowrap;
    }

    footer{
      padding:62px 0 26px;
      background:#fff;
      border-top:1px solid var(--line);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.3fr 1fr 1fr 1fr;
      gap:50px;
    }
    .footer-brand img{width:280px;margin-bottom:16px}
    .footer-brand p{color:var(--muted);max-width:330px}
    footer h4{font-size:.9rem;margin:0 0 14px;color:var(--ink)}
    footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
    footer li,footer a{font-size:.9rem;color:#5f6e7a}
    footer a:hover{color:var(--blue)}
    .socials{display:flex;gap:14px;margin-top:20px}
    .socials a{font-size:1.1rem;color:var(--blue)}
    .footer-bottom{
      border-top:1px solid var(--line);
      margin-top:44px;
      padding-top:20px;
      display:flex;justify-content:space-between;gap:20px;
      color:#84919c;font-size:.8rem;
    }

    .whatsapp{
      position:fixed;
      right:20px;bottom:20px;
      width:56px;height:56px;
      border-radius:50%;
      display:grid;place-items:center;
      background:#25d366;color:#fff;
      font-size:1.55rem;
      box-shadow:0 10px 28px rgba(0,0,0,.18);
      z-index:60;
    }

    @media(max-width:1080px){
      .nav{display:none}
      .menu-btn{display:block}
      .header-contact .phone{display:none}
      .hero{grid-template-columns:1fr}
      .hero-copy{padding:70px 40px}
      .hero-intake{padding:60px 40px}
      .statement-grid,.intake-grid{grid-template-columns:1fr;gap:48px}
      .statement-copy{border-left:0;border-top:1px solid var(--line);padding:34px 0 0}
      .footer-grid{grid-template-columns:1fr 1fr}
    }

    @media(max-width:720px){
      .wrap{width:min(100% - 28px,var(--max))}
      .header-inner{min-height:76px}
      .brand img{width:245px}
      .header-contact .cta{display:none}
      .hero-copy{padding:52px 20px}
      h1{font-size:3.15rem}
      .hero-intake{padding:46px 20px}
      .hero-intake h2{font-size:2.45rem}
      .section-head{display:block}
      .section-head p{margin-top:18px}
      .type-row{
        grid-template-columns:54px 1fr 24px;
        gap:14px;
        padding:20px 0;
      }
      .type-row p{grid-column:2/4;margin-top:-8px}
      .form-grid{grid-template-columns:1fr}
      .field.full{grid-column:auto}
      .band-inner{display:block}
      .band a{margin-top:22px}
      .footer-grid{grid-template-columns:1fr}
      .footer-bottom{flex-direction:column}
      .hero-proof{gap:18px}
    }

    /* ==========================================================
       HERO RIGHT: IMAGE SLIDER
       Left side of the hero remains exactly as in the V2 package.
       ========================================================== */
    .hero-intake.hero-slider{
      position:relative;
      padding:0;
      background:#0b2335;
      overflow:hidden;
      min-width:0;
      min-height:690px;
    }

    .hero-slides{
      position:relative;
      width:100%;
      height:100%;
      min-height:690px;
    }

    .hero-slide{
      position:absolute;
      inset:0;
      opacity:0;
      visibility:hidden;
      transform:scale(1.015);
      transition:opacity .55s ease, visibility .55s ease, transform .8s ease;
      overflow:hidden;
    }

    .hero-slide.active{
      opacity:1;
      visibility:visible;
      transform:scale(1);
      z-index:2;
    }

    .hero-slide > img{
      width:100%;
      height:100%;
      min-height:690px;
      object-fit:cover;
      object-position:center;
    }

    .hero-slide-shade{
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg,rgba(5,24,38,.18) 0%,rgba(5,24,38,.02) 38%,rgba(5,24,38,.30) 68%,rgba(5,24,38,.55) 100%);
      pointer-events:none;
    }

    .hero-slide-top{
      position:absolute;
      top:34px;
      right:34px;
      z-index:4;
      color:#fff;
      font-size:.76rem;
      font-weight:800;
      letter-spacing:.12em;
      background:rgba(6,33,51,.38);
      border:1px solid rgba(255,255,255,.38);
      padding:9px 12px;
      backdrop-filter:blur(6px);
    }

    .hero-slide-band{
      position:absolute;
      left:0;
      right:0;
      bottom:0;
      z-index:4;
      min-height:190px;
      padding:30px 34px 32px;
      background:rgba(7,95,159,.96);
      border-top:5px solid var(--red);
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:24px;
      align-items:end;
    }

    .hero-slide-band small{
      display:block;
      color:#d8e9f3;
      font-size:.72rem;
      text-transform:uppercase;
      letter-spacing:.12em;
      font-weight:800;
      margin-bottom:7px;
    }

    .hero-slide-band h2{
      font-family:"Source Serif 4",serif;
      color:#fff;
      font-size:clamp(2rem,3.2vw,3.65rem);
      line-height:.95;
      margin:0 0 9px;
    }

    .hero-slide-band p{
      color:#e1edf4;
      margin:0;
      font-size:.92rem;
      max-width:420px;
    }

    .hero-slide-cta{
      border:0;
      border-bottom:1px solid rgba(255,255,255,.65);
      background:transparent;
      color:#fff;
      padding:0 0 5px;
      font-size:.87rem;
      font-weight:800;
      cursor:pointer;
      white-space:nowrap;
    }

    .hero-slide-cta i{margin-left:7px}

    .hero-slider-controls{
      position:absolute;
      left:28px;
      right:28px;
      bottom:214px;
      z-index:8;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      pointer-events:none;
    }

    .hero-slider-dots,
    .hero-slider-arrows{
      display:flex;
      align-items:center;
      gap:8px;
      pointer-events:auto;
    }

    .hero-slider-dot{
      width:28px;
      height:3px;
      border:0;
      padding:0;
      background:rgba(255,255,255,.5);
      cursor:pointer;
      transition:.2s;
    }

    .hero-slider-dot.active{
      width:48px;
      background:#fff;
    }

    .hero-slider-arrows button{
      width:46px;
      height:46px;
      display:grid;
      place-items:center;
      border:1px solid rgba(255,255,255,.58);
      background:rgba(4,30,47,.28);
      color:#fff;
      cursor:pointer;
      backdrop-filter:blur(6px);
      transition:.18s;
    }

    .hero-slider-arrows button:hover{
      background:var(--red);
      border-color:var(--red);
    }

    /* Tablet: hero becomes stacked, slider remains image-led and usable */
    @media(max-width:1080px){
      .hero-intake.hero-slider,
      .hero-slides{
        min-height:610px;
      }

      .hero-slide > img{
        min-height:610px;
      }

      .hero-slide-band{
        min-height:175px;
        padding:27px 40px 28px;
      }

      .hero-slider-controls{
        left:40px;
        right:40px;
        bottom:198px;
      }
    }

    /* Mobile */
    @media(max-width:720px){
      .hero-intake.hero-slider,
      .hero-slides{
        min-height:520px;
      }

      .hero-slide > img{
        min-height:520px;
      }

      .hero-slide-top{
        top:18px;
        right:16px;
        padding:7px 9px;
        font-size:.66rem;
      }

      .hero-slide-band{
        min-height:195px;
        padding:24px 18px 22px;
        grid-template-columns:1fr;
        gap:14px;
        align-content:end;
      }

      .hero-slide-band h2{
        font-size:2.15rem;
      }

      .hero-slide-band p{
        font-size:.84rem;
      }

      .hero-slide-cta{
        justify-self:start;
        font-size:.82rem;
      }

      .hero-slider-controls{
        left:16px;
        right:16px;
        bottom:216px;
      }

      .hero-slider-dot{
        width:18px;
      }

      .hero-slider-dot.active{
        width:34px;
      }

      .hero-slider-arrows button{
        width:40px;
        height:40px;
      }
    }

    @media(max-width:430px){
      .hero-intake.hero-slider,
      .hero-slides,
      .hero-slide > img{
        min-height:500px;
      }

      .hero-slide-band{
        min-height:205px;
      }

      .hero-slider-controls{
        bottom:226px;
      }

      .hero-slider-arrows{
        gap:5px;
      }

      .hero-slider-arrows button{
        width:38px;
        height:38px;
      }
    }

/* Shared header / language / mobile navigation */
.lang-switch{position:relative}
.lang-switch-btn{border:0;background:transparent;color:var(--ink);font-weight:800;cursor:pointer;padding:8px 0;display:flex;align-items:center;gap:7px}
.lang-switch-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:160px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 32px rgba(15,40,58,.12);padding:6px;display:none;z-index:100}
.lang-switch.open .lang-switch-menu{display:block}
.lang-switch-menu a{display:block;padding:9px 10px;font-size:.88rem;font-weight:700}
.lang-switch-menu a:hover{background:var(--soft);color:var(--blue)}
.mobile-nav{display:none;position:fixed;inset:82px 0 0 0;background:#fff;z-index:49;padding:26px 24px;overflow:auto;border-top:1px solid var(--line)}
.mobile-nav.open{display:block}
.mobile-nav a{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);font-size:1.05rem;font-weight:800}
.mobile-nav .mobile-contact{margin-top:26px;display:grid;gap:10px}
.mobile-nav .mobile-contact a{border:0;padding:4px 0;color:var(--blue)}
.mobile-lang{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.mobile-lang strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
body.menu-open{overflow:hidden}
.form-message{margin:0 0 20px;padding:14px 16px;border-left:4px solid var(--blue);background:var(--soft);font-size:.9rem}
.form-message.success{border-color:#18865f;background:#eef8f4}
.form-message.error{border-color:var(--red);background:#fbf1f4}
.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
.cms-page{padding:80px 0}.cms-page .content{max-width:850px}.cms-page .content h1{font-size:clamp(2.5rem,5vw,5rem)}
@media(max-width:1080px){.lang-switch{display:none}.mobile-nav{top:76px}}


/* === V9 HERO COPY UPDATE ===
   Only the left hero text/CTA area is changed.
   Existing right slider and the rest of the homepage remain untouched.
*/
.hero-copy .hero-title-colored{
    margin:0 0 24px;
    padding:0;
    font-family:"DM Serif Display", Georgia, serif;
    line-height:1.02;
    letter-spacing:-.025em;
    font-weight:400;
}
.hero-copy .hero-title-colored::after{display:none!important}
.hero-title-colored span{display:block}
.hero-title-blue{
    color:#08639d;
    font-size:58px;
    font-weight:400;
}
.hero-title-burgundy{
    color:#a70d3b;
    font-size:50px;
    font-weight:400;
    margin-top:2px;
}
.hero-copy .hero-intro-new{
    max-width:620px;
    margin:0 0 28px;
    color:#526979;
    font-size:16px;
    line-height:1.58;
}
.hero-cta-new{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    align-items:center;
}
.hero-cta-new a{
    min-height:50px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
    border-radius:2px;
    transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.hero-cta-primary{
    color:#fff;
    background:#a70d3b;
    border:2px solid #a70d3b;
}
.hero-cta-primary:hover{
    color:#fff;
    background:#870a31;
    border-color:#870a31;
}
.hero-cta-secondary{
    color:#08639d;
    background:#fff;
    border:2px solid #08639d;
}
.hero-cta-secondary:hover{
    color:#fff;
    background:#08639d;
}
@media(max-width:900px){
    .hero-title-blue{font-size:50px}
    .hero-title-burgundy{font-size:43px}
}
@media(max-width:600px){
    .hero-title-blue{font-size:41px}
    .hero-title-burgundy{font-size:35px;line-height:1.06}
    .hero-copy .hero-intro-new{font-size:14px}
    .hero-cta-new{flex-direction:column;align-items:stretch}
    .hero-cta-new a{width:100%}
}


/* === HERO V2 proportion correction === */
.hero-copy{
    padding-top:54px !important;
    padding-bottom:48px !important;
}
.hero-copy .kicker{
    margin-bottom:22px !important;
    font-size:12px !important;
}
.hero-copy .hero-title-colored{
    margin:0 0 27px !important;
    line-height:.98 !important;
}
.hero-title-blue{
    font-size:68px !important;
    line-height:.98 !important;
}
.hero-title-burgundy{
    margin-top:5px !important;
    font-size:58px !important;
    line-height:1.02 !important;
}
.hero-copy .hero-intro-new{
    max-width:650px !important;
    margin-bottom:27px !important;
    font-size:17px !important;
    line-height:1.62 !important;
}
.hero-cta-new{
    gap:14px !important;
    margin-bottom:30px !important;
}
.hero-cta-new a{
    min-height:54px !important;
    padding:0 25px !important;
    font-size:14px !important;
}
.hero-copy .hero-proof{
    display:grid !important;
    margin-top:0 !important;
    padding-top:23px !important;
    border-top:1px solid #d9e2e8 !important;
}
@media(max-width:1100px){
    .hero-title-blue{font-size:58px !important}
    .hero-title-burgundy{font-size:49px !important}
}
@media(max-width:700px){
    .hero-copy{padding-top:38px !important;padding-bottom:34px !important}
    .hero-title-blue{font-size:46px !important}
    .hero-title-burgundy{font-size:39px !important}
    .hero-copy .hero-intro-new{font-size:15px !important}
    .hero-cta-new{margin-bottom:25px !important}
}


/* === HERO V3: statistics always horizontal on desktop === */
.hero-copy .hero-proof{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    column-gap:34px !important;
    row-gap:0 !important;
    align-items:start !important;
    width:100% !important;
}
.hero-copy .hero-proof > *{
    min-width:0 !important;
    margin:0 !important;
}
@media (max-width:700px){
    .hero-copy .hero-proof{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
        column-gap:12px !important;
    }
}


/* === HERO V4: larger headline === */
.hero-title-blue{
    font-size:78px !important;
}
.hero-title-burgundy{
    font-size:67px !important;
}

@media(max-width:1100px){
    .hero-title-blue{font-size:68px !important}
    .hero-title-burgundy{font-size:58px !important}
}

@media(max-width:700px){
    .hero-title-blue{font-size:50px !important}
    .hero-title-burgundy{font-size:43px !important}
}


/* WordPress theme bridge */
:root{--blue:#075f9f;--burgundy:#ad0d3c;--ink:#10202e;--muted:#617181;--line:#d7e0e6}
*{box-sizing:border-box}
body{margin:0}
img{max-width:100%;height:auto}
.rs-header-logo img{display:block}
.rs-wp-content{background:#fff}
.rs-elementor-content:empty{display:none}
.rs-elementor-content > *:first-child{margin-top:0}
.rs-footer-widget .widget{margin:0}
.rs-footer-widget .widget-title{font-size:.9rem;margin:0 0 14px;color:var(--ink)}
.rs-footer-widget ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.rs-footer-widget a{color:#5f6e7a;text-decoration:none}
.rs-footer-widget a:hover{color:var(--blue)}
.footer-bottom-menu{display:flex;gap:18px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.footer-bottom-menu a{font-size:.82rem;color:#6a7884;text-decoration:none}
.footer-bottom-menu a:hover{color:var(--blue)}
.footer-bottom-left{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.custom-logo-link{display:block}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Homepage fixed sections */
.rs-statement{padding:72px 0;background:#fff}
.rs-statement-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px}
.rs-statement-grid>div:last-child{border-left:1px solid var(--line);padding-left:54px}
.rs-statement h2,.rs-types h2{font-family:"Source Serif 4",Georgia,serif;color:var(--ink)}
.rs-statement h2{font-size:4rem;line-height:.98;margin:24px 0 0}
.rs-statement p{font-size:1rem;line-height:1.65;color:#405365;margin:0 0 20px}
.rs-types{padding:72px 0;background:#f3f7f9}
.rs-section-head{display:grid;grid-template-columns:1.4fr .8fr;gap:50px;align-items:end;border-bottom:1px solid #cad7df;padding-bottom:28px}
.rs-section-head h2{font-size:3.4rem;line-height:1;margin:0}
.rs-section-head p{margin:0;color:#657889;line-height:1.55}
.rs-type-row{display:grid;grid-template-columns:64px 1.1fr 1.6fr 30px;gap:28px;align-items:center;padding:34px 0;border-bottom:1px solid #cad7df;text-decoration:none;color:inherit}
.rs-type-row .icon{width:48px;height:48px;border:1px solid #bfd0dc;display:grid;place-items:center;color:var(--blue)}
.rs-type-row h3{font-size:1rem;margin:0;color:#061523}
.rs-type-row p{margin:0;color:#667a8b;font-size:.9rem}
.rs-type-row .arrow{color:var(--burgundy);justify-self:end}
.rs-type-row:hover h3{color:var(--blue)}
.rs-elementor-content{width:100%}

/* Keep hero stats in one row */
.hero-copy .hero-proof{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:34px!important;row-gap:0!important}
.hero-copy .hero-proof>div{min-width:0!important}

/* Header Customizer values are output inline in wp_head. */
@media(max-width:900px){
  .rs-statement-grid,.rs-section-head{grid-template-columns:1fr}
  .rs-statement-grid>div:last-child{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:30px}
  .rs-type-row{grid-template-columns:54px 1fr 30px}
  .rs-type-row p{grid-column:2/4}
}
@media(max-width:600px){
  .rs-statement h2{font-size:2.8rem}
  .rs-section-head h2{font-size:2.6rem}
  .rs-type-row{gap:14px}
  .footer-bottom-menu{gap:10px}
}


/* === V1.1 fixes === */
.rs-type-row{transition:background .22s ease,transform .22s ease,padding .22s ease,box-shadow .22s ease!important}
.rs-type-row:hover{background:#fff!important;padding-left:14px!important;padding-right:14px!important;transform:translateY(-2px);box-shadow:0 8px 28px rgba(8,57,89,.06)}
.rs-type-row:hover .icon{background:#fff;border-color:var(--blue)}
.rs-type-row:hover .arrow{transform:translateX(5px)}
.rs-type-row .arrow{transition:transform .22s ease}
.rs-socials-always{margin-top:18px}
.rs-lang-dropdown{position:relative}
.rs-lang-current{background:transparent;border:0;cursor:pointer;font:inherit;color:inherit;display:flex;align-items:center;gap:6px;padding:8px 4px}
.rs-flag{font-size:18px;line-height:1}
.rs-lang-menu{display:none;position:absolute;top:100%;right:0;min-width:110px;background:#fff;border:1px solid #d9e2e8;box-shadow:0 12px 30px rgba(0,0,0,.10);z-index:9999;padding:6px}
.rs-lang-dropdown:hover .rs-lang-menu,.rs-lang-dropdown:focus-within .rs-lang-menu{display:block}
.rs-lang-menu a{display:flex;align-items:center;gap:9px;padding:8px 10px;color:#10202e;text-decoration:none;white-space:nowrap}
.rs-lang-menu a:hover{background:#f2f6f8;color:var(--blue)}


/* === V1.2 desktop + mobile submenu === */
.nav > li,
.nav .menu-item{
    position:relative;
}
.nav .sub-menu{
    position:absolute;
    top:100%;
    left:0;
    z-index:1000;
    min-width:235px;
    margin:0;
    padding:10px 0;
    list-style:none;
    background:#fff;
    border-top:3px solid var(--burgundy);
    box-shadow:0 14px 35px rgba(16,32,46,.14);
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.nav .menu-item-has-children:hover > .sub-menu,
.nav .menu-item-has-children:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.nav .sub-menu li{
    display:block;
    width:100%;
}
.nav .sub-menu a{
    display:block;
    width:100%;
    padding:11px 18px;
    white-space:nowrap;
    color:#10202e;
    text-decoration:none;
}
.nav .sub-menu a:hover{
    background:#f3f7f9;
    color:var(--blue);
}
.nav .sub-menu .sub-menu{
    top:-10px;
    left:100%;
}
.nav .menu-item-has-children > a::after{
    content:"\f107";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:10px;
    margin-left:7px;
}

/* Mobile menu keeps hierarchy visible and touch-friendly */
.mobile-nav ul{
    list-style:none;
    padding:0;
    margin:0;
}
.mobile-nav .sub-menu{
    display:block;
    position:static;
    margin:4px 0 7px 15px;
    padding-left:14px;
    border-left:2px solid #d9e3e9;
}
.mobile-nav .sub-menu a{
    font-size:.94em;
    padding-top:8px;
    padding-bottom:8px;
}
.mobile-nav .menu-item-has-children > a::after{
    content:"\f107";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:10px;
    margin-left:8px;
}

/* Situaties hover restored/enhanced */
.rs-type-row{
    transition:background-color .22s ease, transform .22s ease, box-shadow .22s ease, padding-left .22s ease, padding-right .22s ease;
}
.rs-type-row .icon,
.rs-type-row .arrow{
    transition:transform .22s ease, background-color .22s ease, color .22s ease;
}
.rs-type-row:hover{
    background:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 28px rgba(16,32,46,.055);
    padding-left:16px;
    padding-right:16px;
}
.rs-type-row:hover .icon{
    background:#fff;
    transform:scale(1.04);
}
.rs-type-row:hover .arrow{
    transform:translateX(6px);
}

@media(max-width:900px){
    .nav .sub-menu{display:none}
    .rs-type-row:hover{
        padding-left:10px;
        padding-right:10px;
    }
}


/* === V1.3 submenu indicator alignment fix === */
.nav .menu-item-has-children > a{
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
}
.nav .menu-item-has-children > a::after{
    content:"\f107" !important;
    display:inline-block !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    margin:1px 0 0 0 !important;
    padding:0 !important;
    line-height:1 !important;
    vertical-align:middle !important;
    transform:none !important;
    font-family:"Font Awesome 6 Free" !important;
    font-weight:900 !important;
    font-size:10px !important;
}

/* The mobile hierarchy already makes the submenu obvious;
   keep the chevron next to the label instead of on a separate line. */
.mobile-nav .menu-item-has-children > a{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
}
.mobile-nav .menu-item-has-children > a::after{
    position:static !important;
    margin:1px 0 0 0 !important;
    line-height:1 !important;
}


/* === V1.4 submenu chevron: same visual language as language selector === */
.nav .menu-item-has-children > a{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
}
.nav .menu-item-has-children > a::after{
    content:"" !important;
    display:inline-block !important;
    position:static !important;
    width:8px !important;
    height:8px !important;
    margin:-4px 1px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    border-right:2px solid #071724 !important;
    border-bottom:2px solid #071724 !important;
    background:transparent !important;
    transform:rotate(45deg) !important;
    font-family:inherit !important;
    line-height:1 !important;
    flex:0 0 8px !important;
}
.nav .menu-item-has-children:hover > a::after,
.nav .menu-item-has-children:focus-within > a::after{
    border-color:var(--blue) !important;
}

/* Same clean chevron treatment on mobile */
.mobile-nav .menu-item-has-children > a{
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
}
.mobile-nav .menu-item-has-children > a::after{
    content:"" !important;
    display:inline-block !important;
    position:static !important;
    width:8px !important;
    height:8px !important;
    margin:-4px 0 0 0 !important;
    border-right:2px solid currentColor !important;
    border-bottom:2px solid currentColor !important;
    transform:rotate(45deg) !important;
    flex:0 0 8px !important;
}


/* === V1.5 header alignment / adjustable logo / phone icon === */
.site-logo,
.custom-logo-link{
    flex:0 0 auto;
}
.custom-logo-link img,
.site-logo img,
.custom-logo{
    width:var(--rs-logo-width,285px) !important;
    max-width:100% !important;
    height:auto !important;
    object-fit:contain;
}

.site-header .header-inner,
.site-header .wrap,
.header-inner{
    display:flex;
    align-items:center;
}

/* Push the whole navigation/action group to the right */
.main-nav,
.header-nav,
.site-header nav{
    margin-left:auto;
}
.nav{
    justify-content:flex-end;
}

/* Language stays visually with the phone/action area */
.header-actions,
.header-right,
.header-tools{
    margin-left:22px;
    display:flex;
    align-items:center;
    gap:18px;
}
.rs-phone-icon{
    margin-right:7px;
    font-size:.92em;
    color:var(--blue);
}

/* Fallback when phone link uses a generic class */
a[href^="tel:"]{
    display:inline-flex;
    align-items:center;
}
a[href^="tel:"]::before{
    content:"\f095";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    margin-right:7px;
    font-size:.9em;
    color:var(--blue);
}
/* Avoid double icon if markup already contains one */
a[href^="tel:"]:has(.rs-phone-icon)::before{
    display:none;
}

@media(max-width:1100px){
    :root{--rs-logo-width:min(var(--rs-logo-width),240px);}
    .header-actions,
    .header-right,
    .header-tools{gap:12px;margin-left:14px;}
}
@media(max-width:900px){
    .custom-logo-link img,
    .site-logo img,
    .custom-logo{
        width:min(var(--rs-logo-width,285px),220px) !important;
    }
    .main-nav,
    .header-nav,
    .site-header nav{
        margin-left:auto;
    }
}
@media(max-width:520px){
    .custom-logo-link img,
    .site-logo img,
    .custom-logo{
        width:min(var(--rs-logo-width,285px),185px) !important;
    }
}


/* === V1.6 header fix: language + phone together on the right === */
.header-contact{
    margin-left:auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    flex:0 0 auto;
}
.header-right-tools{
    display:flex;
    align-items:center;
    gap:20px;
    white-space:nowrap;
}
.header-right-tools .lang-switch{
    display:block;
    position:relative;
}
.header-right-tools .phone{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--blue);
    font-weight:800;
    text-decoration:none;
}
.header-right-tools .phone::before{
    content:none !important;
    display:none !important;
}
.header-right-tools .rs-phone-icon{
    margin:0 !important;
    color:var(--blue);
    font-size:.92em;
}
.header-right-tools .rs-lang-menu{
    right:0;
    left:auto;
}

/* Main menu ends before the right-side tools. */
.site-header .nav{
    margin-left:auto;
    margin-right:26px;
    justify-content:flex-end;
}

/* Neutralize the older generic telephone pseudo icon. */
.site-header a[href^="tel:"]::before{
    content:none !important;
    display:none !important;
}

@media(max-width:1080px){
    /* Keep language visible next to phone as requested. */
    .header-right-tools .lang-switch{
        display:block !important;
    }
    .site-header .nav{
        margin-right:14px;
    }
    .header-right-tools{
        gap:13px;
    }
}
@media(max-width:900px){
    .site-header .nav{
        display:none;
    }
    .header-contact{
        gap:10px;
    }
    .header-right-tools{
        margin-left:auto;
        gap:10px;
    }
    .header-right-tools .phone span{
        display:none;
    }
    .header-right-tools .phone{
        width:38px;
        height:38px;
        justify-content:center;
        border:1px solid var(--line);
    }
    .header-right-tools .rs-phone-icon{
        font-size:1rem;
    }
}
@media(max-width:520px){
    .header-contact .cta{
        display:none;
    }
}


/* === V1.7 pages: theme-generated page title hidden ===
   Elementor headings/content remain untouched. */
body.page .page-hero > h1,
body.page .page-header > h1.page-title,
body.page main > .wrap > h1.page-title,
body.page .entry-header > h1.entry-title{
    display:none !important;
}


/* === V1.8 standard forms ===
   Uniform styling for Elementor, CF7, WPForms and normal theme forms. */
:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) select,
:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) textarea{
    display:block;
    width:100%;
    max-width:100%;
    min-height:42px;
    padding:10px 16px !important;
    margin:0;
    border:1px solid #777 !important;
    border-radius:3px !important;
    background:#fff !important;
    color:#10202e !important;
    font-family:inherit;
    font-size:16px;
    line-height:1.35;
    box-shadow:none !important;
    outline:none;
    transition:border-color .18s ease, box-shadow .18s ease;
}

:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) textarea{
    min-height:190px;
    resize:vertical;
}

:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) input:focus,
:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) select:focus,
:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) textarea:focus{
    border-color:var(--blue) !important;
    box-shadow:0 0 0 2px rgba(0,96,157,.10) !important;
}

:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) input::placeholder,
:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) textarea::placeholder{
    color:#6f7c86;
    opacity:1;
}

:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) button[type="submit"],
:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) input[type="submit"]{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:12px 28px !important;
    border:1px solid var(--burgundy) !important;
    border-radius:3px !important;
    background:var(--burgundy) !important;
    color:#fff !important;
    font-family:inherit;
    font-size:16px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    box-shadow:none !important;
    transition:background .18s ease, transform .18s ease;
}
:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) button[type="submit"]:hover,
:where(
  .elementor-widget-form,
  .wpcf7,
  .wpforms-container,
  .rs-form,
  .entry-content form
) input[type="submit"]:hover{
    filter:brightness(.92);
    transform:translateY(-1px);
}

/* Reasonable vertical rhythm when the form plugin does not provide it. */
.entry-content form p,
.wpcf7 form p{
    margin:0 0 15px;
}
