
:root{--n:#0b1e3f;--g:#b08d57;--c:#f8f5f0;--t:#1a2233}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,sans-serif;color:var(--t);line-height:1.6}
a{color:inherit;text-decoration:none}
.w{max-width:1200px;margin:auto;padding:0 24px}
h1,h2,h3.s{font-family:'Cormorant Garamond',serif;color:var(--n);line-height:1.1}
em{color:var(--g);font-style:normal}
header{position:sticky;top:0;z-index:50;background:#fff;padding:14px 24px}
nav{max-width:1250px;margin:auto;border:1.5px solid var(--n);border-radius:40px;display:flex;align-items:center;justify-content:space-between;padding:10px 28px;gap:16px;background:#fff}
.logo b{font-size:30px;font-weight:700;color:var(--n);letter-spacing:-2px;display:block;line-height:1}.logo small{font-size:8px;letter-spacing:1.5px;color:var(--n)}
.links{display:flex;gap:34px;font-size:15px;font-weight:500;align-items:center}
.links a{transition:.2s}.links a:hover{color:var(--g)}
.dd{position:relative}.dd>div{display:none;position:absolute;top:100%;left:-10px;background:#fff;border:1px solid #e4ddd0;border-radius:12px;padding:8px;min-width:230px;box-shadow:0 10px 30px #0b1e3f22}
.dd:hover>div{display:block}.dd>div a{display:block;padding:9px 14px;border-radius:8px}.dd>div a:hover{background:var(--c)}
.btn{display:inline-block;background:var(--n);color:#fff;border:2px solid var(--n);padding:11px 28px;border-radius:30px;font-weight:600;cursor:pointer;font-size:15px;transition:.25s;font-family:inherit}
.btn:hover{background:var(--g);border-color:var(--g);transform:translateY(-2px);box-shadow:0 8px 18px #b08d5744}
.btn.gold{background:var(--g);border-color:var(--g)}.btn.gold:hover{background:var(--n);border-color:var(--n)}
.btn.out{background:transparent;color:#fff;border-color:#fff8}.btn.out:hover{background:#fff;color:var(--n)}
#bg{display:none;background:none;border:0;font-size:26px;cursor:pointer}
.hero{background:linear-gradient(105deg,#0b1e3f 45%,#16345f 70%,#c07a2e 130%);color:#fff;padding:90px 0}
.hero h1{color:#fff;font-size:clamp(38px,6vw,68px)}.hero small{color:var(--g);letter-spacing:2px;font-weight:600;display:block;margin-bottom:8px}
.hero p{max-width:620px;margin-top:18px;opacity:.9;font-size:18px}.hero .row{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}
.hero.lt{background:linear-gradient(90deg,#f8f5f0 55%,#dfe6ee);color:var(--t)}.hero.lt h1{color:var(--n)}.hero.lt p{opacity:1}
.sec{padding:64px 0}.alt{background:var(--c)}
.tag{color:var(--g);font-weight:600;letter-spacing:1.5px;font-size:14px;margin-bottom:6px}
.h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4.5vw,52px);color:var(--n);font-weight:700;line-height:1.1;margin-bottom:10px}
.sub{font-size:18px;margin-bottom:34px}
.grid{display:grid;gap:22px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}.g6{grid-template-columns:repeat(6,1fr)}
.card{background:var(--c);border-radius:14px;padding:26px;box-shadow:0 4px 14px #0b1e3f14;transition:.3s}
.alt .card{background:#fff}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 30px #0b1e3f26}
.card h3{font-size:19px;color:var(--n);margin:8px 0}.card p{font-size:15px}.card .n{color:var(--g);font-weight:600}
.ic{width:52px;height:52px;border-radius:50%;background:var(--n);color:#fff;display:grid;place-items:center;font-size:22px}
.steps .st{text-align:center;position:relative}.st .no{color:var(--g);font-size:30px;font-family:'Cormorant Garamond',serif;font-weight:700;text-align:left}
.st .circ{width:104px;height:104px;border:2px solid var(--g);border-radius:50%;margin:6px auto 14px;display:grid;place-items:center;transition:.3s}
.st:hover .circ{background:var(--g);transform:scale(1.07)}.st .ic{width:70px;height:70px;font-size:28px}
.st h3{font-size:17px;color:var(--n)}.st p{font-size:13px}
.tile{border-radius:12px;overflow:hidden;background:#f2e2c8;text-align:center;font-weight:600;color:var(--n);transition:.3s}
.tile:hover{transform:translateY(-5px)}.tile i{display:block;height:110px;background:linear-gradient(135deg,#16345f,#c07a2e)}.tile span{display:block;padding:18px 8px}
.box{border:1px solid #444;padding:20px;display:flex;gap:16px;align-items:flex-start;transition:.3s}.box:hover{border-color:var(--g);box-shadow:0 6px 18px #0b1e3f1f}
.box h3{font-size:20px;color:var(--n)}.box p{font-size:15px}
.stat{padding:20px}.stat b{font-family:'Cormorant Garamond',serif;font-size:46px;color:var(--n);display:block}
.band{background:linear-gradient(120deg,#0b1e3f,#1b3a66);color:#fff;padding:64px 0}.band .h2{color:#fff}
.sector{background:linear-gradient(135deg,#0b1e3f,#1d3f6e);color:#fff;border-radius:14px;padding:30px;transition:.3s}
.sector:hover{transform:translateY(-6px);box-shadow:0 14px 30px #0b1e3f44}.sector h3{font-size:20px}.sector b{font-size:40px;color:var(--g);display:block;font-family:'Cormorant Garamond',serif}
.badges{display:flex;justify-content:space-around;flex-wrap:wrap;gap:20px;padding:34px 0;font-weight:600;color:var(--n)}.badges div{transition:.25s}.badges div:hover{color:var(--g);transform:translateY(-3px)}
.form{background:var(--c);border-radius:18px;padding:40px;margin-bottom:64px}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:22px auto 0}.fg .f{grid-column:1/-1}
label{font-weight:600;font-size:15px;display:block;margin-bottom:6px;color:var(--n)}label i{color:#d33;font-style:normal}
input,select,textarea{width:100%;padding:14px 16px;border:1px solid #bbb;border-radius:10px;font:inherit;background:#fff;transition:.2s}
input:hover,select:hover,textarea:hover{border-color:var(--g)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px #b08d5733}
.bad{border-color:#d33!important}textarea{min-height:110px;resize:vertical}
.ph{display:flex;gap:8px}.ph select{width:90px;flex:none}
.ok{display:none;background:#e8f5e9;color:#1b5e20;padding:16px;border-radius:10px;text-align:center;margin-top:18px;grid-column:1/-1;font-weight:600}
footer{background:var(--n);color:#fff;padding:50px 0 20px}footer .grid{grid-template-columns:1.2fr 1fr 1.4fr 1.2fr 1fr;align-items:start}
footer h4{font-size:20px;margin-bottom:12px;font-weight:500}footer a,footer p{display:block;margin-bottom:10px;font-size:15px;transition:.2s}footer a:hover{color:var(--g);padding-left:4px}
footer .logo b,footer .logo small{color:#fff}footer .logo b{font-size:56px}.cp{text-align:right;font-size:13px;margin-top:20px;opacity:.8}
.pg{display:none}.pg.on{display:block}
.radio{display:flex;gap:24px}.radio label{display:flex;gap:8px;align-items:center;font-weight:500;margin:0}.radio input{width:auto}
@media(max-width:900px){.links{display:none;position:absolute;top:84px;left:24px;right:24px;background:#fff;flex-direction:column;padding:20px;border:1px solid #ddd;border-radius:18px}.links.open{display:flex}#bg{display:block}
.g3,.g4,.g5,.g6,.g2,footer .grid{grid-template-columns:1fr 1fr}.fg{grid-template-columns:1fr}.form{padding:22px}.nb{display:none}}
@media(max-width:560px){.g3,.g4,.g5,.g6,.g2,footer .grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.links a.act{color:var(--g)}
.logo img{height:50px;display:block}footer .logo img{height:120px}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center}.split img{width:100%;height:340px;object-fit:cover;border-radius:12px}.hero.lt{padding:50px 0}
.pic{width:100%;height:300px;object-fit:cover;border-radius:14px;display:block}.pic2{width:100%;display:block}.pic3{width:100%;height:230px;object-fit:cover;border-radius:10px;margin-bottom:14px}
.tile{overflow:hidden}.tile img{width:100%;height:110px;object-fit:cover;display:block;transition:.4s}.tile:hover img{transform:scale(1.08)}
@media(max-width:900px){.split{grid-template-columns:1fr}.split img{height:240px}}

.hero.dk{background:#0b1e3f;padding:50px 0}
.hub{position:relative;padding:34px 0}.hub::before,.hub::after{content:"";position:absolute;top:50%;border-top:2px dashed var(--g)}
.hub::before{left:-22px;right:calc(50% + 126px)}.hub::after{right:-22px;left:calc(50% + 126px)}
.orb{width:210px;height:210px;margin:auto;position:relative}.orb i{position:absolute;border-radius:50%}
.r1{inset:0;border:3px dashed var(--n);animation:spin 18s linear infinite}
.r1::after{content:"";position:absolute;top:-8px;left:50%;margin-left:-7px;width:14px;height:14px;border-radius:50%;background:var(--g)}
.r2{inset:-18px;border:2px dotted var(--g);animation:spin 28s linear infinite reverse}
.orb span{position:absolute;inset:16px;border-radius:50%;background:var(--n);display:grid;place-items:center;box-shadow:0 10px 30px #0b1e3f55}.orb span img{width:68%}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.hub::before,.hub::after{display:none}}
@media(prefers-reduced-motion:reduce){.orb i{animation:none!important}}

footer .logo{display:block;margin-top:8px}footer .logo img{height:64px;width:auto}
.hero.dk{position:relative;overflow:hidden;padding:90px 0}.hero.dk .w{position:relative;z-index:1}.hero.dk p{max-width:460px}
.hero.dk .bgi{position:absolute;right:0;top:0;bottom:0;width:62%;background-size:cover;background-position:center 30%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%)}
.mvc{background:#fff;padding:8px 26px}.mv{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid #eee7da}.mv:last-child{border:0}
.mi{width:52px;height:52px;border-radius:50%;background:#f3e9d7;color:var(--g);display:grid;place-items:center;flex:none;transition:.3s}.mv:hover .mi{background:var(--g);color:#fff}
.mv h3{font-size:17px;color:var(--n);margin:0 0 2px}.mv p{font-size:14px;color:#4a5568}
.cbox{border-radius:26px;padding:44px;color:#fff;box-shadow:0 14px 40px #0b1e3f33}.cbox .h2{color:#fff}.cbox .form{color:var(--t)}
@media(max-width:900px){.cbox{padding:24px}.hero.dk .bgi{width:100%;opacity:.35}}

.hero.lt{position:relative;overflow:hidden;padding:80px 0}.hero.lt .w,.hero.dk .w{position:relative;z-index:1}
.hero.dk h1,.hero.lt h1{font-size:clamp(32px,4.4vw,58px);max-width:560px}.hero.lt p{max-width:480px}
.hero.lt .bgi{position:absolute;right:0;top:0;bottom:0;width:55%;background-size:cover;background-position:center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%);mask-image:linear-gradient(90deg,transparent,#000 35%)}
.hero .note{position:absolute;right:40px;bottom:22px;color:var(--g);text-align:right;max-width:250px;font-size:14px;line-height:1.4;z-index:1}
.soc{display:flex;gap:12px;flex-wrap:wrap}.soc a{width:40px;height:40px;border-radius:50%;border:1.5px solid #ffffff77;display:grid;place-items:center;font-weight:700;font-size:16px;margin:0;transition:.25s}
.soc a:hover{background:var(--g);border-color:var(--g);color:#fff;transform:translateY(-3px);padding:0}
@media(max-width:900px){.hero.lt .bgi{width:100%;opacity:.3}.hero .note{display:none}}
@media(min-width:901px){footer .grid{grid-template-columns:1fr 1fr 1.4fr 1.2fr 1.4fr}.soc{flex-wrap:nowrap;gap:8px}.soc a{width:36px;height:36px;font-size:15px}}

.ic2{width:68px;height:68px;border-radius:50%;background:#f6ecd8;border:2px solid var(--g);color:var(--n);display:grid;place-items:center;margin-bottom:8px;transition:.3s;box-shadow:0 6px 16px #b08d5744}
.ic2 svg{width:34px;height:34px}.card:hover .ic2{background:var(--n);border-color:var(--n);color:#fff}
.bgs{align-items:stretch;gap:0}.bd{flex:1;min-width:180px;text-align:center;padding:10px 20px;border-left:1.5px solid #cfc6b4}.bd:first-child{border:0}
.bd svg{width:64px;height:64px;color:var(--n);display:block;margin:0 auto 12px;stroke-width:1.5;transition:.25s}.bd span{font-size:19px;font-weight:600;color:var(--n);transition:.25s}
.bd:hover svg,.bd:hover span{color:var(--g)}
.steps .st .no{height:44px;line-height:44px}
.steps .st:not(:last-child)::after{content:"";position:absolute;top:101px;left:calc(50% + 60px);width:calc(100% - 103px);border-top:2px solid var(--g)}
.steps .st:not(:last-child)::before{content:"";position:absolute;top:95px;left:calc(150% - 43px);border-left:11px solid var(--g);border-top:7px solid transparent;border-bottom:7px solid transparent}
@media(max-width:900px){.steps .st::before,.steps .st::after{display:none}}
@media(max-width:560px){.bd{border:0;min-width:45%}}
.ic2{width:74px;height:74px}.ic2 svg{width:38px;height:38px}

.sector.s3{min-height:240px;display:flex;flex-direction:column;justify-content:flex-end}.sector.s3 small{opacity:.9;font-size:15px}
.gmap{grid-template-columns:1.4fr 1fr}@media(max-width:900px){.gmap{grid-template-columns:1fr}}
.gmap{grid-template-columns:1.25fr 1fr}.gmap .stat{padding:14px}.gmap .stat b{font-size:clamp(26px,2.6vw,34px);line-height:1.15;margin-bottom:6px}
@media(max-width:900px){.gmap{grid-template-columns:1fr}}
.ph select{width:165px}@media(max-width:560px){.ph select{width:130px}}
.ph select{width:195px}

/* Hide step numbers only on the Home page's How We Work cards */
body[data-page="home"] .sec .grid.g3 .card .n {
  display: none;
}

/* =========================================
   BOE MOBILE RESPONSIVE IMPROVEMENTS
   Desktop layout remains unchanged
========================================= */

@media (max-width: 560px) {

  /* Prevent horizontal overflow */
  html,
  body {
    width: 100%;
    overflow-x: hidden;
  }

  .w {
    width: 100%;
    max-width: 100%;
    padding-left: 18px;
    padding-right: 18px;
    box-sizing: border-box;
  }

  /* Header and logo */
  header nav {
  padding: 5px 14px;
  gap: 8px;
  min-height: 0;
}

  header .logo img {
  width: auto;
  max-width: 110px;
  height: 32px;
  object-fit: contain;
  display: block;
}

  #bg {
    flex-shrink: 0;
  }

  header .btn.nb {
    padding: 9px 12px;
    font-size: 12px;
    white-space: nowrap;
  }

  /* Homepage hero section */
  body[data-page="home"] .hero {
    padding: 64px 0 !important;
    min-height: auto;
    box-sizing: border-box;
  }

  .hero .w {
    position: relative;
    z-index: 2;
  }

  .hero small {
    font-size: 10px;
    line-height: 1.6;
    letter-spacing: 1px;
  }

  .hero h1 {
    font-size: clamp(32px, 8vw, 42px);
    line-height: 1.12;
    overflow-wrap: break-word;
    margin-top: 14px;
  }

  .hero p {
    font-size: 15px;
    line-height: 1.7;
    max-width: 100%;
    margin-top: 16px;
  }

  /* Background image stays behind the text */
  .hero .bgi {
    z-index: 0;
    max-width: 100%;
    opacity: 0.22;
    background-position: center;
    background-size: cover;
    pointer-events: none;
  }

  /* Hero buttons stack vertically */
  .hero .row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    margin-top: 24px;
  }

  .hero .row .btn {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    white-space: normal;
    padding: 13px 12px;
    font-size: 13px;
  }

  /* General headings and paragraphs */
  .h2 {
    font-size: clamp(27px, 7vw, 34px) !important;
    line-height: 1.2;
    overflow-wrap: break-word;
  }

  .sub {
    font-size: 14px;
    line-height: 1.7;
  }

  /* Section spacing */
  .sec {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .band {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  /* Single-column cards on small screens */
  .grid.g2,
  .grid.g3,
  .grid.g4,
  .grid.g5,
  .grid.g6 {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .card {
    min-width: 0;
    box-sizing: border-box;
    overflow-wrap: break-word;
  }

  .card h3 {
    font-size: 19px;
    line-height: 1.4;
  }

  .card p {
    font-size: 14px;
    line-height: 1.7;
  }

  /* Images fit their containers */
  .pic,
  .pic2,
  .pic3,
  .tile img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
  }

  /* Sector cards */
  .sector {
    min-height: 190px;
    box-sizing: border-box;
    padding: 20px;
  }

  .sector h3 {
    font-size: 20px;
    line-height: 1.35;
  }

  .sector b {
    font-size: 25px;
  }

  /* Contact section */
  .cbox {
    padding: 22px 14px;
    box-sizing: border-box;
    background-position: center;
  }

  .cbox .h2 {
    font-size: 38px !important;
  }

  .form {
    width: 100%;
    max-width: 100%;
    padding: 22px 16px;
    box-sizing: border-box;
  }

  .fg {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px;
  }

  .fg input,
  .fg select,
  .fg textarea,
  .ph {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .form .btn {
    max-width: 100%;
    padding: 13px 24px !important;
    font-size: 15px !important;
  }
  /* Mobile CAPTCHA alignment */
  .form .cf-turnstile {
    max-width: 100%;
    box-sizing: border-box;
  }

  .form .cf-turnstile iframe {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
  /* Footer */
  footer .grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  footer .logo img {
    max-width: 175px;
  }

  /* Keep content inside the screen */
  img,
  svg {
    max-width: 100%;
  }
}
