/* Safety Consistent Services Ltd — site styles */
:root{
  --navy:#0F2A44;--navy-2:#163A5C;--ink:#182230;--ink-soft:#3f4a58;--muted:#6b7684;
  --line:#e3e8ee;--bg-soft:#f4f6f9;--amber:#E8A317;--amber-dark:#c98a0b;--white:#fff;
  --head:'Manrope','Inter',Arial,sans-serif;--sans:'Inter',Arial,sans-serif;
  --r:10px;--shadow:0 10px 30px rgba(15,42,68,.10);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--navy);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.narrow{max-width:820px}
h1,h2,h3,h4{font-family:var(--head);line-height:1.15;letter-spacing:-.01em;color:var(--navy)}
h1{font-size:clamp(34px,5vw,56px);font-weight:800}
h2{font-size:clamp(26px,3.2vw,36px);font-weight:800;margin-bottom:16px}
h3{font-size:20px;font-weight:700;margin-bottom:8px}
p{margin-bottom:14px;color:var(--ink-soft)}
.lead{font-size:18px;color:var(--ink-soft)}
.kicker{display:inline-block;font-family:var(--head);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-dark);margin-bottom:10px}
section{padding:80px 0}
.soft{background:var(--bg-soft)}
.btn{display:inline-block;padding:13px 26px;border-radius:6px;font-family:var(--head);font-weight:700;font-size:15px;text-decoration:none;transition:.15s;border:2px solid transparent}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-amber{background:var(--amber);color:var(--navy)}
.btn-amber:hover{background:var(--amber-dark)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2)}
.btn-line{border-color:#fff;color:#fff}
.btn-line:hover{background:rgba(255,255,255,.12)}
.btn-line-navy{border-color:var(--navy);color:var(--navy)}
.btn-line-navy:hover{background:var(--navy);color:#fff}

/* top bar */
.topbar{background:var(--navy);color:#c9d6e4;font-size:13.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:16px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:600}
.topbar span{opacity:.85}

/* nav */
header.site{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand:hover{text-decoration:none}
.brand .mark{width:42px;height:42px;border-radius:8px;background:var(--navy);display:grid;place-items:center;flex:none}
.brand .mark svg{width:26px;height:26px}
.brand .name{font-family:var(--head);font-weight:800;color:var(--navy);font-size:17px;line-height:1.1}
.brand .name small{display:block;font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.menu{display:flex;gap:28px;align-items:center;list-style:none}
.menu a{font-family:var(--head);font-weight:700;font-size:15px;color:var(--ink);padding:8px 0;border-bottom:2px solid transparent}
.menu a:hover,.menu a.on{border-color:var(--amber);text-decoration:none}
.menu .cta{background:var(--navy);color:#fff;padding:11px 20px;border-radius:6px;border:0}
.menu .cta:hover{background:var(--navy-2)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:6px;padding:8px 10px;font:inherit;cursor:pointer}
@media (max-width:860px){
  .burger{display:block}
  .menu{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 16px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .menu.open{display:flex}
  .menu li{border-bottom:1px solid var(--line)}
  .menu a{display:block;padding:14px 0;border:0}
  .menu .cta{margin-top:12px;text-align:center}
}

/* hero */
.hero{position:relative;color:#fff;min-height:620px;display:flex;align-items:center;background:var(--navy)}
.hero .bg{position:absolute;inset:0;background:url(hero.jpg) center/cover no-repeat}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,42,68,.92) 0%,rgba(15,42,68,.75) 45%,rgba(15,42,68,.25) 100%)}
.hero .wrap{position:relative;padding-top:90px;padding-bottom:90px}
.hero h1{color:#fff;max-width:14ch;margin-bottom:18px}
.hero p{color:#dbe4ee;max-width:56ch;font-size:18px;margin-bottom:28px}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap}
.hero .facts{display:flex;gap:28px;flex-wrap:wrap;margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,.25);font-size:14px;color:#c9d6e4}
.hero .facts b{display:block;color:#fff;font-family:var(--head);font-size:15px}

/* page banner */
.banner{background:var(--navy);color:#fff;padding:64px 0 56px;position:relative;overflow:hidden}
.banner.img{min-height:360px;display:flex;align-items:flex-end}
.banner .bg{position:absolute;inset:0;background:center/cover no-repeat;opacity:.35}
.banner .wrap{position:relative}
.banner h1{color:#fff;margin-bottom:10px}
.banner p{color:#dbe4ee;max-width:60ch;font-size:18px;margin:0}
.crumbs{font-size:13px;color:#b5c4d4;margin-bottom:16px}
.crumbs a{color:#fff}

/* grids */
.grid{display:grid;gap:28px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* service tiles */
.tile{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:var(--navy);color:#fff;min-height:300px;box-shadow:var(--shadow);text-decoration:none}
.tile:hover{text-decoration:none}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.tile:hover img{transform:scale(1.04)}
.tile .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,42,68,0) 30%,rgba(15,42,68,.92) 100%)}
.tile .tx{position:absolute;left:0;right:0;bottom:0;padding:24px}
.tile h3{color:#fff;margin-bottom:6px}
.tile p{color:#dbe4ee;font-size:14.5px;margin:0}
.tile .go{display:inline-block;margin-top:10px;color:var(--amber);font-weight:700;font-size:14px}

/* cards */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.card .ico{width:44px;height:44px;border-radius:8px;background:#fff4dc;color:var(--amber-dark);display:grid;place-items:center;margin-bottom:16px}
.card .ico svg{width:22px;height:22px}
.card p{font-size:15px;margin:0}
.card ul{padding-left:18px;font-size:15px;color:var(--ink-soft)}
.card li{margin-bottom:6px}

/* split */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.split img{border-radius:var(--r);box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover;width:100%}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:32px}}
.checks{list-style:none;margin:16px 0 24px}
.checks li{position:relative;padding-left:30px;margin-bottom:10px;color:var(--ink-soft)}
.checks li::before{content:"";position:absolute;left:0;top:7px;width:18px;height:18px;border-radius:50%;background:var(--amber);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/14px no-repeat,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude}

/* fact strip */
.facts-strip{background:var(--navy);color:#fff;padding:36px 0}
.facts-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.facts-strip b{display:block;font-family:var(--head);font-size:15px;color:var(--amber)}
.facts-strip span{font-size:14.5px;color:#dbe4ee}
@media (max-width:860px){.facts-strip .wrap{grid-template-columns:repeat(2,1fr)}}

/* detail list sections */
.svc{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding:48px 0;border-top:1px solid var(--line)}
.svc:first-of-type{border-top:0}
.svc img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:var(--shadow)}
.svc ul{padding-left:20px;color:var(--ink-soft);margin-bottom:14px}
.svc li{margin-bottom:6px}
@media (max-width:860px){.svc{grid-template-columns:1fr;gap:24px}}

/* steps */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.step{counter-increment:s;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.step::before{content:counter(s,decimal-leading-zero);font-family:var(--head);font-weight:800;font-size:28px;color:var(--amber);display:block;margin-bottom:8px}
.step p{font-size:15px;margin:0}
@media (max-width:960px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.steps{grid-template-columns:1fr}}

/* note box */
.note{border-left:4px solid var(--amber);background:#fff8e8;padding:16px 20px;border-radius:0 8px 8px 0;font-size:15px;margin:20px 0}
.note p{margin:0}

/* cta band */
.cta-band{background:var(--navy);color:#fff;padding:64px 0}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta-band h2{color:#fff;margin-bottom:6px}
.cta-band p{color:#dbe4ee;margin:0}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.dl dt{font-family:var(--head);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:18px}
.dl dd{color:var(--ink);font-size:16px}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:620px){form .row{grid-template-columns:1fr}}
label{display:block;font-family:var(--head);font-weight:700;font-size:13.5px;margin:14px 0 6px;color:var(--ink)}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid #c9d2dc;border-radius:6px;font:inherit;font-size:15px;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:var(--amber)}
textarea{min-height:140px;resize:vertical}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-soft);margin:16px 0}
.consent input{width:auto;margin-top:5px}

/* legal pages */
.legal{padding:64px 0 96px}
.legal h1{margin-bottom:6px}
.legal .updated{color:var(--muted);font-size:14px;margin-bottom:36px}
.legal h2{font-size:24px;margin:36px 0 10px}
.legal h3{font-size:18px;margin:22px 0 6px}
.legal ul,.legal ol{padding-left:22px;margin-bottom:14px;color:var(--ink-soft)}
.legal li{margin-bottom:6px}
.legal table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14.5px}
.legal th,.legal td{text-align:left;padding:10px 14px;border:1px solid var(--line);vertical-align:top}
.legal th{font-family:var(--head);background:var(--bg-soft)}

/* footer */
footer.site{background:#0b1f33;color:#b5c4d4;padding:64px 0 28px;font-size:14.5px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:40px}
@media (max-width:860px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){footer .cols{grid-template-columns:1fr}}
footer h4{color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
footer ul{list-style:none}
footer li{margin-bottom:8px}
footer a{color:#dbe4ee}
footer .brand .name{color:#fff}
footer .brand .name small{color:#8fa3b8}
footer .brand .mark{background:var(--navy-2);border:1px solid rgba(255,255,255,.15)}
footer .legal-line{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;font-size:13px;color:#8fa3b8;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer .legal-line a{color:#b5c4d4}

/* mobile tuning */
@media (max-width:620px){
  body{font-size:15.5px}
  section{padding:56px 0}
  .wrap{padding:0 18px}
  .topbar .wrap{justify-content:center;text-align:center;font-size:13px}
  .topbar .wrap span:first-child{display:none}
  .nav{height:68px}
  .menu{top:68px}
  .brand .name{font-size:15.5px}
  .brand .name small{font-size:10.5px}
  .hero{min-height:0}
  .hero .wrap{padding-top:64px;padding-bottom:56px}
  .hero h1{max-width:none}
  .hero p{font-size:16.5px}
  .hero .actions .btn{width:100%;text-align:center}
  .hero .facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}
  .banner{padding:48px 0 40px}
  .banner.img{min-height:280px}
  .banner p{font-size:16.5px}
  .tile{min-height:240px}
  .cta-band .btn,.contact-grid .btn{width:100%;text-align:center}
  .btn{padding:14px 22px}
  .legal{padding:40px 0 64px}
  .legal table{display:block;overflow-x:auto}
}

/* cookie banner */
#cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 12px 40px rgba(0,0,0,.22);padding:18px 20px;display:none;max-width:980px;margin:0 auto}
#cookie-bar .in{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
#cookie-bar p{font-size:14px;margin:0;max-width:72ch;color:var(--ink-soft)}
#cookie-bar .btn{padding:10px 20px;font-size:14px}
