:root{
    --petrol:#013B4B;
    --petrol-deep:#002F3D;
    --petrol-700:#0A4456;
    --orange:#DC552C;
    --orange-bright:#E8531F;
    --cream:#F1F6F8;
    --line:rgba(255,255,255,.12);
    --muted:rgba(255,255,255,.72);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Inter',system-ui,sans-serif;color:#fff;background:var(--petrol);line-height:1.6;-webkit-font-smoothing:antialiased}
  h1,h2,h3,h4{font-family:'Roboto Slab',Georgia,serif;font-weight:700;line-height:1.12;letter-spacing:-.01em}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px}
  .eyebrow{font-family:'Inter',sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:18px}
  a{color:inherit;text-decoration:none}
  .btn{display:inline-flex;align-items:center;gap:9px;background:var(--orange);color:#fff;font-weight:600;font-size:.95rem;padding:14px 26px;border-radius:10px;transition:.2s;border:none;cursor:pointer}
  .btn:hover{background:var(--orange-bright);transform:translateY(-1px)}
  .btn-ghost{background:transparent;border:1px solid var(--line);color:#fff}
  .btn-ghost:hover{background:rgba(255,255,255,.06)}

  /* ANIMATION */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
  .reveal.in{opacity:1;transform:none}
  .card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
  .card:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(0,0,0,.22)}
  .sec-light .card:hover{box-shadow:0 18px 44px rgba(1,59,75,.14)}
  .banner,.splitimg{transition:transform .5s ease,box-shadow .4s ease}
  .banner:hover,.splitimg:hover{transform:scale(1.012)}
  .icon{transition:transform .3s ease}
  .card:hover .icon{transform:scale(1.08) rotate(-3deg)}
  .flow .step{transition:transform .25s ease,box-shadow .25s ease}
  .flow .step:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.2)}
  @keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
  .chart .col{transform:scaleY(0);transform-origin:bottom;transition:transform .9s cubic-bezier(.22,.61,.36,1)}
  .chartcard.in .col{transform:scaleY(1)}
  .chartcard.in .bar:nth-child(2) .col{transition-delay:.1s}
  .chartcard.in .bar:nth-child(3) .col{transition-delay:.22s}
  .chartcard.in .bar:nth-child(4) .col{transition-delay:.34s}
  .btn{transition:background .2s,transform .2s,box-shadow .2s}
  .btn:hover{box-shadow:0 10px 26px rgba(220,85,44,.35)}
  @media(prefers-reduced-motion:reduce){
    .reveal{opacity:1!important;transform:none!important;transition:none!important}
    .chart .col{transform:scaleY(1)!important}
    *{animation:none!important}
  }

  /* NAV */
  header{position:sticky;top:0;z-index:50;background:rgba(1,59,75,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  nav{display:flex;align-items:center;justify-content:space-between;height:72px}
  .mark{display:inline-flex;align-items:center}
  .logo{height:15px;display:block}
  @media(max-width:600px){.logo{height:11px}}
  .navlinks{display:flex;gap:30px;font-size:.93rem;font-weight:500}
  .navlinks a{color:var(--muted);transition:.15s;position:relative}
  .navlinks a:hover{color:#fff}
  .navlinks a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--orange);transition:width .25s ease}
  .navlinks a:hover::after{width:100%}
  .navright{display:flex;align-items:center;gap:20px}
  .navright .signin{font-size:.9rem;color:var(--muted)}
  @media(max-width:880px){.navlinks,.navright .signin{display:none}}

  /* HERO */
  .hero{position:relative;background:linear-gradient(90deg,rgba(0,47,61,.90) 0%,rgba(0,47,61,.62) 46%,rgba(1,59,75,.28) 100%),url('/assets/img/hero.jpg') center/cover no-repeat;overflow:hidden}
  .hero .wrap{position:relative;z-index:2;padding:96px 28px 104px;max-width:1180px}
  .hero h1{font-size:clamp(2.5rem,5.4vw,4rem);max-width:15ch;margin-bottom:22px}
  .hero p.lead{font-size:1.18rem;color:var(--muted);max-width:52ch;margin-bottom:34px}
  .hero .cta{display:flex;gap:14px;flex-wrap:wrap}
  .trust{display:flex;gap:34px;flex-wrap:wrap;margin-top:54px;padding-top:30px;border-top:1px solid var(--line)}
  .trust div{font-size:.9rem;color:var(--muted)}
  .trust b{display:block;font-family:'Roboto Slab',serif;font-size:1.7rem;color:#fff;font-weight:700}
  @keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
  .hero .eyebrow{animation:fadeUp .7s .05s both}
  .hero h1{animation:fadeUp .8s .16s both}
  .hero p.lead{animation:fadeUp .8s .30s both}
  .hero .cta{animation:fadeUp .8s .44s both}
  .hero .trust div{animation:fadeUp .8s .58s both}

  /* SECTION BASES */
  section{padding:92px 0}
  .sec-light{background:var(--cream);color:var(--petrol-deep)}
  .sec-light .eyebrow{color:var(--orange)}
  .sec-light h2{color:var(--petrol-deep)}
  .sec-light p.sub{color:#3f5560}
  h2.big{font-size:clamp(2rem,3.6vw,2.85rem);margin-bottom:18px;max-width:20ch}
  p.sub{font-size:1.08rem;max-width:62ch;color:var(--muted);margin-bottom:48px}

  /* CARDS */
  .grid{display:grid;gap:22px}
  .g4{grid-template-columns:repeat(4,1fr)}
  .g3{grid-template-columns:repeat(3,1fr)}
  .g2{grid-template-columns:repeat(2,1fr)}
  @media(max-width:980px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:1fr}.g2{grid-template-columns:1fr}}
  @media(max-width:560px){.g4{grid-template-columns:1fr}}
  .card{position:relative;background:var(--petrol-700);border:1px solid var(--line);border-radius:16px;padding:30px 26px;overflow:hidden}
  .sec-light .card{background:#fff;border:1px solid #dde7eb;box-shadow:0 1px 2px rgba(0,0,0,.03)}
  .icon{width:54px;height:54px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;margin-bottom:22px}
  .icon svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:2}
  .card h3{font-size:1.22rem;margin-bottom:10px}
  .card p{font-size:.95rem;color:var(--muted)}
  .sec-light .card p{color:#46606b}
  .ghostnum{position:absolute;top:20px;right:24px;font-family:'Roboto Slab',serif;font-size:2.4rem;font-weight:800;color:rgba(255,255,255,.07)}
  .sec-light .ghostnum{color:rgba(1,59,75,.07)}

  /* SPLIT */
  .split{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
  @media(max-width:900px){.split{grid-template-columns:1fr;gap:34px}}
  .steps li{list-style:none;display:flex;gap:16px;padding:16px 0;border-top:1px solid #dde7eb}
  .steps .num{flex:none;width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;font-weight:700;font-family:'Roboto Slab',serif;display:flex;align-items:center;justify-content:center;font-size:.95rem}
  .steps b{display:block;color:var(--petrol-deep)}
  .steps span{font-size:.95rem;color:#46606b}

  /* CHART */
  .chartcard{background:#fff;border:1px solid #dde7eb;border-radius:16px;padding:32px}
  .chart{display:flex;align-items:flex-end;gap:18px;height:240px;margin-top:14px}
  .bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}
  .bar .col{width:100%;background:var(--petrol);border-radius:7px 7px 0 0;min-height:8px}
  .bar.hot .col{background:var(--orange)}
  .bar .val{font-family:'Roboto Slab',serif;font-weight:700;font-size:.9rem;color:var(--petrol-deep)}
  .bar .lab{font-size:.82rem;color:#46606b}
  .pill{display:inline-block;background:var(--petrol-deep);color:#fff;border-radius:12px;padding:18px 22px;margin-top:26px}
  .pill b{font-family:'Roboto Slab',serif;font-size:1.25rem;display:block}
  .pill span{font-size:.88rem;color:var(--muted)}

  /* PROCESS ROW */
  .flow{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:20px}
  @media(max-width:900px){.flow{grid-template-columns:repeat(2,1fr)}}
  .flow .step{background:var(--petrol-700);border:1px solid var(--line);border-radius:14px;padding:24px 20px}
  .flow .n{font-family:'Roboto Slab',serif;color:var(--orange);font-weight:800;font-size:1.4rem;margin-bottom:8px}
  .flow b{display:block;margin-bottom:6px;color:#fff}
  .flow span{font-size:.88rem;color:var(--muted)}

  /* IMAGERY */
  .banner{width:100%;height:360px;border-radius:18px;background-size:cover;background-position:center;margin-bottom:46px;box-shadow:0 14px 44px rgba(0,0,0,.16)}
  @media(max-width:600px){.banner{height:230px}}
  .splitimg{min-height:360px;border-radius:16px;background-size:cover;background-position:center;box-shadow:0 14px 44px rgba(0,0,0,.16)}
  @media(max-width:900px){.splitimg{min-height:240px}}
  .imgband{position:relative;min-height:460px;display:flex;align-items:center;background-size:cover;background-position:center}
  .imgband::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,47,61,.88) 0%,rgba(0,47,61,.6) 50%,rgba(1,59,75,.35) 100%)}
  .imgband .wrap{position:relative;z-index:2}
  .imgband h2{max-width:18ch}

  /* CONTACT */
  .formwrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
  @media(max-width:900px){.formwrap{grid-template-columns:1fr}}
  .field{margin-bottom:16px}
  .field label{display:block;font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:6px}
  .field input,.field textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:9px;padding:12px 14px;color:#fff;font-family:inherit;font-size:.95rem}
  .field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.4)}
  .note{font-size:.8rem;color:var(--muted);margin-top:10px}
  .formstatus{font-size:.86rem;margin-top:12px;min-height:1em}
  .formstatus.ok{color:#7CD9A0}
  .formstatus.err{color:#ff9b8a}
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .contactinfo p{color:var(--muted);margin-bottom:8px;font-size:.98rem}
  .contactinfo b{color:#fff}

  /* FOOTER */
  footer{background:var(--petrol-deep);padding:54px 0 30px;border-top:1px solid var(--line)}
  .fcols{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;margin-bottom:34px}
  footer a{color:var(--muted);font-size:.92rem;display:block;margin-bottom:8px}
  footer a:hover{color:#fff}
  .fbottom{border-top:1px solid var(--line);padding-top:20px;font-size:.84rem;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
  .demobadge{position:fixed;bottom:16px;right:16px;z-index:99;background:var(--orange);color:#fff;font-size:.78rem;font-weight:600;padding:8px 14px;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.3)}

  /* COOKIE CONSENT */
  .cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:130;background:var(--petrol-deep);border-top:1px solid var(--line);padding:18px 0;transform:translateY(120%);transition:transform .45s cubic-bezier(.22,.61,.36,1);box-shadow:0 -10px 40px rgba(0,0,0,.3)}
  .cookiebar.show{transform:none}
  .cookie-inner{max-width:1180px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
  .cookie-inner p{font-size:.9rem;color:var(--muted);max-width:62ch;margin:0}
  .cookie-inner a{color:var(--orange);text-decoration:underline}
  .cookie-btns{display:flex;gap:10px;flex-wrap:wrap}
  .cookiebar .btn{padding:11px 20px;font-size:.9rem}
  @media(max-width:600px){.cookie-inner{flex-direction:column;align-items:flex-start}.cookie-btns{width:100%}.cookie-btns .btn{flex:1;justify-content:center}}

/* INNER PAGE HELPERS */
.lead{font-size:1.15rem;color:var(--muted);max-width:60ch}
.sec-light .lead{color:#3f5560}
.pagehead{background:radial-gradient(120% 120% at 85% 0%,#0A4456 0%,var(--petrol) 55%,var(--petrol-deep) 100%);padding:78px 0 60px;border-bottom:1px solid var(--line)}
.pagehead h1{font-size:clamp(2.1rem,4.4vw,3.2rem);max-width:18ch;margin-bottom:18px}
.cta-band{background:var(--petrol-deep);text-align:center}
.cta-band h2{margin:0 auto 20px;max-width:22ch}
.cta-band .eyebrow{margin-bottom:14px}
.prose{max-width:80ch}
.prose p{color:#46606b;margin-bottom:16px}
.prose strong{color:var(--petrol-deep)}
.prose h3{margin:26px 0 10px;color:var(--petrol-deep)}
.prose ul{margin:0 0 16px 20px;color:#46606b}
.prose ul li{margin-bottom:6px}
.prose table{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:.92rem}
.prose th,.prose td{border:1px solid #dde7eb;padding:10px 12px;text-align:left;vertical-align:top;color:#46606b}
.prose th{background:#e8eef1;color:var(--petrol-deep);font-weight:700}
.prose code{background:#e8eef1;border-radius:4px;padding:1px 5px;font-size:.86em}


.checks{list-style:none;margin:22px 0 0;padding:0}
.checks li{position:relative;padding-left:28px;margin-bottom:12px;color:var(--muted)}
.checks li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--orange);font-weight:800}
.sec-light .checks li{color:#46606b}
