
:root{--navy:#101d35;--navy2:#192b49;--ink:#17243a;--muted:#63718a;--line:#dce4ef;--pale:#f5f8fc;--copper:#e5a56d;--blue:#2858c8;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff}a{color:inherit}button{font:inherit}.wrap{max-width:1180px;margin:auto;padding:0 24px}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:12px;z-index:99;background:white;padding:10px}.topline{background:#0a1428;color:#c9d6eb;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:7px}.header{background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.head{min-height:73px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:1.15rem;font-weight:800;letter-spacing:.08em;color:var(--navy)}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border:2px solid var(--copper);border-radius:9px;color:var(--navy);font-weight:900}.brand small{display:block;font-size:.56rem;letter-spacing:.2em;color:var(--muted);line-height:1}nav{display:flex;gap:25px;align-items:center}nav a{text-decoration:none;font-size:.88rem;font-weight:650}nav a:hover,nav a:focus-visible{color:var(--blue)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:white!important;border-radius:7px;padding:11px 17px;font-size:.85rem;font-weight:750;text-decoration:none;border:0}.nav-cta:hover,.btn:hover{background:#1945af}.menu{display:none}.hero{background:radial-gradient(circle at 65% 0%,#2b446b 0%,var(--navy) 58%);color:white;padding:72px 0 78px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:60px}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--copper);margin:0 0 17px}.hero h1{font-size:clamp(2.7rem,5vw,4.8rem);letter-spacing:-.055em;line-height:1.06;max-width:650px;margin:0 0 22px}.hero p.lead{font-size:1.12rem;color:#d3ddeb;max-width:610px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:29px 0}.btn.secondary{background:transparent;border:1px solid #a8bbd7}.hero-points{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}.hero-points span{border:1px solid #526687;border-radius:5px;padding:11px 17px;min-width:160px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:.72rem;font-weight:650;color:#dce5f2}.hero-media{position:relative;aspect-ratio:1.02;border-radius:18px;overflow:hidden;background:#26364b;box-shadow:0 22px 60px #07101e77}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease}.hero-slide.active{opacity:1}.hero-caption{position:absolute;bottom:0;left:0;right:0;padding:22px 25px;background:linear-gradient(transparent,#07101edb);font-size:.83rem;z-index:2}.dots{position:absolute;right:17px;bottom:20px;z-index:3;display:flex;gap:7px}.dots button{border:0;width:8px;height:8px;background:#fff8;border-radius:50%;padding:0;cursor:pointer}.dots button.active{background:white;width:23px;border-radius:6px}.section{padding:76px 0}.section.alt{background:var(--pale)}.section h2{font-size:clamp(1.85rem,3vw,2.7rem);line-height:1.16;letter-spacing:-.035em;margin:0 0 18px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.intro-copy p{margin:0 0 17px;color:#47556d}.feature-stack{display:grid;gap:12px}.feature{border:1px solid var(--line);background:#fff;border-radius:10px;padding:18px 20px}.feature strong{display:block}.feature span{color:var(--muted);font-size:.9rem}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-head p{max-width:700px;color:var(--muted);margin:0}.directory-controls{display:flex;gap:8px}.round{width:35px;height:35px;border:1px solid #cad6e7;border-radius:50%;background:white;color:var(--navy);cursor:pointer}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{position:relative;display:flex;flex-direction:column;min-height:218px;padding:23px;border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:0 4px 18px #14234207;transition:transform .25s,box-shadow .25s,border-color .25s}.card:hover,.card:focus-within,.card.is-active{transform:translateY(-3px);border-color:#a8bddd;box-shadow:0 14px 30px #14234216}.card-top{display:flex;gap:13px;align-items:flex-start}.card-num{display:grid;place-items:center;flex:none;background:#eaf0fb;color:#204b9b;width:34px;height:34px;border-radius:8px;font-size:.85rem;font-weight:800}.card h3{font-size:1.15rem;line-height:1.3;margin:4px 0 12px}.card p{margin:0 0 20px;color:#607086;font-size:.91rem}.card a{margin-top:auto;color:#2256bc;text-decoration:none;font-size:.86rem;font-weight:800}.card a:hover{text-decoration:underline}.directory-timer{height:4px;background:#dce6f8;border-radius:4px;margin:27px 0 0;overflow:hidden}.directory-timer>span{display:block;background:var(--blue);height:100%;width:0}.directory-note{font-size:.76rem;color:#78859b;margin:9px 0 0}.client-section{padding:38px 0 52px}.client-section h2{font-size:1.15rem;margin:0}.client-section p{font-size:.78rem;color:var(--muted);margin:4px 0 24px}.marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}.marquee-track{display:flex;width:max-content;gap:14px;animation:marquee 30s linear infinite}.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}.brand-logo{display:block;width:330px;height:auto;max-height:72px;object-fit:contain}.footer .brand-logo{width:330px;max-height:90px}@media(max-width:700px){.brand-logo{width:170px;max-height:44px}}.logo-placeholder{width:188px;height:73px;flex:none;border:1px dashed #aebbd0;background:#f8fafc;border-radius:9px;display:grid;place-items:center;text-align:center;color:#718097;font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.brand-logo{display:block;width:330px;height:auto;max-height:72px;object-fit:contain}.footer .brand-logo{width:330px;max-height:90px}@media(max-width:700px){.brand-logo{width:170px;max-height:44px}}.logo-placeholder span{display:block;font-size:.53rem;font-weight:500;letter-spacing:.05em}@keyframes marquee{to{transform:translateX(-50%)}}.contact{background:var(--navy);color:#fff;padding:65px 0}.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.9fr);gap:28px;align-items:start}.contact p{color:#d1ddef}.contact .note{border:1px solid #6a7d9c;border-radius:10px;padding:20px}.contact .note strong{color:white}.footer{background:#0a1428;color:#aab8d1;padding:27px 0;font-size:.78rem}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.service-hero{background:var(--navy);color:#fff;padding:68px 0}.service-hero h1{font-size:clamp(2.3rem,4vw,4rem);line-height:1.1;letter-spacing:-.04em;margin:0 0 16px}.service-hero p{color:#d5dfec;max-width:700px}.crumb{font-size:.78rem;color:#acc0dd;margin-bottom:24px}.service-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:60px}.service-body h2{font-size:1.6rem;line-height:1.2;margin:0 0 13px}.service-body p{color:#546278;margin:0 0 28px}.aside{background:#f2f6fb;border:1px solid var(--line);border-radius:12px;padding:22px;height:max-content}.aside h3{margin-top:0}.aside ul{padding-left:19px;color:#526176;font-size:.9rem}.back{display:inline-block;margin-top:20px;color:#2456bd;font-weight:700;text-decoration:none}@media(max-width:800px){nav{display:none;position:absolute;top:73px;left:0;right:0;padding:20px 24px;background:#fff;box-shadow:0 20px 30px #14234222;flex-direction:column;align-items:flex-start}nav.open{display:flex}.menu{display:block;border:1px solid var(--line);border-radius:6px;background:white;padding:7px 11px}.hero-grid,.intro-grid,.contact-grid,.service-body{grid-template-columns:1fr;gap:32px}.hero{padding:50px 0}.hero-media{aspect-ratio:1.35}.section{padding:56px 0}.cards{grid-template-columns:1fr}.card{min-height:190px}.section-head{align-items:start}.directory-controls{flex:none}}@media(max-width:480px){.wrap{padding:0 18px}.hero h1{font-size:2.6rem}.hero-media{aspect-ratio:1.08}.section-head{display:block}.directory-controls{margin-top:15px}.topline{font-size:.62rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide,.card{transition:none}.marquee-track{animation:none}.marquee{overflow:auto;mask-image:none}}

/* Featured service carousel above the directory */
.featured-carousel{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 5px 18px #1423420a}.featured-panels{min-height:305px}.featured-panel{padding:30px 36px 36px}.featured-panel[hidden]{display:none}.featured-kicker{display:block;color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}.featured-panel h3{font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.2;margin:0 0 14px;letter-spacing:-.025em}.featured-panel p{color:#546278;margin:0 0 13px;max-width:1050px}.featured-panel .btn{margin-top:10px}.featured-footer{height:49px;background:#f2f6fc;position:relative;padding-top:35px;container-type:inline-size}.featured-progress{height:5px;background:#d8e1ef;overflow:hidden}.featured-progress span{display:block;height:100%;width:0;background:var(--navy);transition:width .1s linear}.extend-time{position:absolute;left:0;top:2px;transform:translate3d(12px,0,0);white-space:nowrap;background:var(--blue);color:#fff;border:0;border-radius:999px;padding:6px 15px;line-height:1.25;font-size:.76rem;font-weight:750;cursor:pointer;box-shadow:0 4px 12px #2653b02b}.extend-time:hover,.extend-time:focus-visible{background:#173f9d}.featured-note{color:#687890;font-size:.76rem;margin:10px 0 26px}.directory-label{font-size:1rem;color:#273b5a;margin:20px 0 15px}@media(max-width:800px){.featured-panels{min-height:365px}.featured-panel{padding:24px 22px 30px}}@media(max-width:480px){.featured-panels{min-height:470px}.featured-panel p{font-size:.9rem}.featured-panel h3{font-size:1.4rem}}@media(prefers-reduced-motion:reduce){.featured-progress span{transition:none}}



/* Inspection Services navigation dropdown (v143). */
.head>nav{height:73px}
.nav-services{position:relative;align-self:stretch;display:flex;align-items:center;gap:2px}
.services-trigger{display:inline-flex;align-items:center;height:100%;white-space:nowrap}
.services-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:32px;padding:0;border:0;border-radius:5px;background:transparent;color:#607086;cursor:pointer}
.services-toggle:hover,.services-toggle:focus-visible{background:#f2f6fc;color:var(--blue)}
.services-toggle span{display:inline-block;font-size:.72rem;line-height:1;transition:transform .18s ease}
.nav-services.is-open .services-toggle span{transform:rotate(180deg)}
.services-menu{position:absolute;top:100%;left:0;min-width:285px;max-width:min(340px,calc(100vw - 36px));padding:9px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 42px #14234224;display:none;z-index:60}
.services-menu a{display:block;padding:10px 11px;border-radius:7px;line-height:1.25;font-size:.82rem;white-space:normal;text-decoration:none}
.services-menu a:hover,.services-menu a:focus-visible{background:#f2f6fc;color:var(--blue);text-decoration:none}
.nav-services.is-open .services-menu{display:block}
@media(max-width:800px){
  .head>nav{height:auto}
  nav .nav-services{width:100%;height:auto;align-self:auto;flex-wrap:wrap;align-items:center;gap:0}
  nav .nav-services .services-trigger{padding:8px 0}
  nav .nav-services .services-toggle{margin-left:5px;width:36px;height:36px;border:1px solid var(--line);border-radius:6px}
  nav .nav-services .services-menu{position:static;order:3;flex:0 0 100%;width:100%;min-width:0;max-width:none;margin:5px 0 7px;padding:7px 0 4px 14px;border:0;border-left:2px solid #dbe5f5;border-radius:0;box-shadow:none;background:#fff}
  nav .nav-services.is-open .services-menu{display:block}
}

/* Requested stronger card lift. The Read More link remains a separate action. */
.card[data-service-index]{cursor:pointer}
.card[data-service-index]:hover,.card[data-service-index]:focus-visible,.card[data-service-index]:focus-within,.card[data-service-index].is-active{transform:translateY(-8px) scale(1.015);border-color:#8faad2;box-shadow:0 24px 48px #14234224}
.card[data-service-index]:focus-visible{outline:3px solid #8fb3f2;outline-offset:3px}
.card[data-service-index] a{cursor:pointer}



/* Timer pill: three separate movement stages.
   app.js sets data-timer-stage and the pill's left position; the anchor lives here.
   0-33%   left 0% -> 33%   anchor translateX(0%)
   at 33%  stop, reset and re-anchor to translateX(-50%)
   33-66%  left 33% -> 66%
   at 66%  stop, reset and re-anchor to translateX(-100%)
   66-100% left 66% -> 100%
   The full cycle stays 20s; clicking the pill or a service tab restarts it. */
.featured-footer{--timer-line-top:35px}
/* left uses the same 0.1s linear transition as the timer line, so the pill stays attached to its edge;
   the stage re-anchors (transform) are instant. */
.featured-footer .extend-time{left:0;right:auto;top:auto;bottom:16px;transition:left .1s linear;will-change:left}
.featured-footer .extend-time[data-timer-stage="left"]{transform:translateX(0%)}
.featured-footer .extend-time[data-timer-stage="centre"]{transform:translateX(-50%)}
.featured-footer .extend-time[data-timer-stage="right"]{transform:translateX(-100%)}
@media(prefers-reduced-motion:reduce){.featured-footer .extend-time{transition:none}}


/* v12: colourful 3D service icons for cards 1–8 */
.card-top{align-items:flex-start}
.card-icon{
  flex:0 0 56px;
  width:56px;
  height:56px;
  display:inline-grid;
  place-items:center;
  margin-top:-4px;
}
.card-icon img{
  display:block;
  width:56px;
  height:56px;
  object-fit:contain;
  filter:drop-shadow(0 5px 7px rgba(20,45,85,.18));
}

/* Working-note update: light blue background for the three process cards only. */
.feature-stack .feature{background:#eef6ff;}


/* v13: running service ticker above header */
.service-ticker{background:#0a1428;color:#d7e3f5;overflow:hidden;white-space:nowrap;border-bottom:1px solid #1d2d49}
.ticker-track{display:flex;width:max-content;gap:0;animation:serviceTicker 34s linear infinite}
.ticker-track span{display:inline-flex;align-items:center;gap:8px;padding:7px 18px;font-size:.72rem;letter-spacing:.02em;border-right:1px solid #32415b}
.ticker-track b{font-size:.55rem;color:#67b7ff}
.service-ticker:hover .ticker-track{animation-play-state:paused}
@keyframes serviceTicker{to{transform:translateX(-50%)}}
.nav-icon{display:inline-block;margin-right:6px;color:#2858c8;font-weight:900}

/* v13: two additional service cards use the same visual treatment */
.card:not([data-service-index]):hover,.card:not([data-service-index]):focus-within{transform:translateY(-8px) scale(1.015);border-color:#8faad2;box-shadow:0 24px 48px #14234224}

/* v13: pill-shaped service-directory return link */
.back-pill{display:inline-flex;align-items:center;justify-content:center;background:#2858c8;color:#fff!important;border-radius:999px;padding:10px 17px;margin-top:24px;text-decoration:none;box-shadow:0 6px 16px #2858c82b}
.service-return-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:0}
.service-return-actions .back-pill{margin-top:24px}
@media (max-width:600px){.service-return-actions{flex-direction:column;align-items:flex-start}.service-return-actions .back-pill{margin-top:12px}}
.back-pill:hover,.back-pill:focus-visible{background:#1945af;text-decoration:none}

/* v13: expanded footer */
.footer{padding:0;background:#0a1428;color:#b9c7dc}
.footer-grid{display:grid;grid-template-columns:1.15fr 1.35fr 1fr 1.1fr .8fr;gap:34px;padding-top:44px;padding-bottom:38px}
.footer h3{color:#fff;margin:0 0 12px;font-size:.9rem}
.footer a{display:block;color:#c8d5e8;text-decoration:none;margin:5px 0}
.footer a:hover{text-decoration:underline;color:#fff}
.footer address{font-style:normal;line-height:1.7}
.footer-brand-link{color:#fff!important;margin-bottom:0!important}
.footer-brand p{max-width:220px;line-height:1.55;margin-top:-10px}
.social-icons{display:flex;gap:9px;margin-top:12px}.social-icons span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#173356;color:#fff;font-weight:800}
.small-note{font-size:.7rem;color:#8190a8;line-height:1.45}
.footer-bottom{border-top:1px solid #1d2d49;padding:14px 0;color:#8fa0ba;font-size:.74rem}

/* v13: legal / information pages */
.legal-copy{max-width:900px}.legal-copy h2{font-size:1.55rem;margin:30px 0 10px}.legal-copy h2:first-child{margin-top:0}.legal-copy p{color:#526176}.legal-copy a{color:#2456bd}
.info-hero{padding:54px 0}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

@media(max-width:980px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.ticker-track span{padding:6px 14px}.footer-grid{grid-template-columns:1fr}.nav-icon{margin-right:5px}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.service-ticker{overflow:auto}}

/* Company trust / verification panel */
.company-trust-card{position:relative;overflow:visible}
.company-verify-link{position:relative;display:inline-block;color:#fff;text-decoration:none;font-size:1.08rem;font-weight:850;letter-spacing:.01em;padding:7px 11px;border-radius:8px;background:linear-gradient(180deg,#24436d 0%,#132744 100%);border:1px solid #6f89ad;box-shadow:0 5px 0 #09162a,0 9px 18px #06112655;text-shadow:0 1px 0 #0008;transition:transform .18s ease,box-shadow .18s ease}
.company-verify-link:hover,.company-verify-link:focus-visible{transform:translateY(-2px);box-shadow:0 7px 0 #09162a,0 13px 22px #06112666;color:#fff}
.company-verify-link::after{content:attr(data-tooltip);position:absolute;left:0;bottom:calc(100% + 10px);width:max-content;max-width:300px;padding:8px 10px;border-radius:7px;background:#fff;color:#14233b;font-size:.72rem;font-weight:700;line-height:1.35;box-shadow:0 8px 24px #06112635;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease;z-index:5}
.company-verify-link:hover::after,.company-verify-link:focus-visible::after{opacity:1;transform:translateY(0)}
.company-identifiers{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 4px}
.company-identifiers span{display:inline-flex;gap:5px;align-items:center;padding:6px 9px;border-radius:7px;background:#ffffff12;border:1px solid #ffffff22;color:#dbe7f7;font-size:.78rem}
@media(max-width:480px){.company-verify-link::after{max-width:240px;white-space:normal}.company-identifiers{display:grid}}


/* v20: rebalanced Independent checks for international trade section only */
.about-reworked > .eyebrow{margin-bottom:10px}
.about-reworked > h2{
  margin:0 0 22px;
  white-space:nowrap;
  font-size:clamp(1.85rem,3vw,2.7rem);
}
.process-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:30px;
}
.process-card{
  border:1px solid #cfe0f4;
  background:#eef6ff;
  border-radius:10px;
  padding:16px 18px;
  min-height:92px;
}
.process-card strong{display:block;margin-bottom:4px;color:var(--ink)}
.process-card span{display:block;color:var(--muted);font-size:.9rem;line-height:1.45}
.trade-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:54px;
  align-items:start;
}
.trade-column p{margin:0 0 17px;color:#47556d}
.trade-column h3{font-size:1.12rem;line-height:1.3;margin:24px 0 8px;color:var(--ink)}
.trade-column h3:first-of-type{margin-top:24px}
@media(max-width:900px){
  .about-reworked > h2{white-space:normal}
  .process-row{grid-template-columns:1fr}
  .trade-columns{grid-template-columns:1fr;gap:0}
}

/* Approved visual updates only */
.hero .eyebrow{font-size:0.95rem}
.hero h1{font-size:clamp(3.2rem,5vw,4.8rem)}
main > section:not(.hero) h2{font-size:clamp(2rem,3vw,2.8rem)}
.extend-time{display:inline-flex;align-items:center;gap:8px;border-radius:10px;padding:8px 18px;background:linear-gradient(90deg,#2858c8 0%,#06b6d4 38%,#22c55e 68%,#f59e0b 100%);color:#fff}
.extend-time::before{content:"🚢";font-size:1rem}
.return-directory{display:inline-flex;align-items:center;gap:10px;background:#2858c8;color:white;text-decoration:none;padding:16px 34px;border-radius:999px;font-weight:700;margin:35px 0}

/* Kamienica Poland carousel caption */
.hero-caption { background:#fff; color:#111; padding:10px; text-align:center; }


/* Carousel window size adjustment only */
.hero-media {
  width: min(100%, 500px);
}

.hero-slide {
  width: 100%;
  height: auto;
  object-fit: cover;
}


/* Hero carousel balanced enlargement only */
.hero-media {
  width: min(100%, 560px);
  max-height: 520px;
}

.hero-slide {
  width: 100%;
  height: 520px;
  object-fit: cover;
}

@media (max-width: 900px) {
  .hero-media {
    width: 100%;
    max-height: none;
  }

  .hero-slide {
    height: auto;
  }
}


/* Contact section compact layout adjustment only */
.contact-section,
.contact-cta,
.enquiry-section {
  padding-top: 35px;
  padding-bottom: 35px;
}

.contact-section h2,
.contact-cta h2,
.enquiry-section h2 {
  font-size: clamp(32px, 3vw, 44px);
  line-height: 1.12;
}

.contact-section .container,
.contact-cta .container,
.enquiry-section .container {
  gap: 24px;
}

.contact-section p,
.contact-cta p,
.enquiry-section p {
  margin-bottom: 16px;
}


/* Strong blue contact section height reduction only */
.contact-section,
.contact-cta,
.enquiry-section {
  padding-top: 20px;
  padding-bottom: 20px;
  min-height: auto;
}

.contact-section h2,
.contact-cta h2,
.enquiry-section h2 {
  font-size: clamp(28px, 2.5vw, 38px);
  line-height: 1.15;
  margin-bottom: 14px;
}

.contact-section p,
.contact-cta p,
.enquiry-section p {
  margin-bottom: 12px;
}

/* Contact section left content frame alignment and blue area height reduction */
.contact-section,
.contact-cta,
.enquiry-section {
  padding-top: 12px;
  padding-bottom: 12px;
}

.contact-section .container,
.contact-cta .container,
.enquiry-section .container {
  align-items: center;
}

.contact-section .contact-copy,
.contact-cta .contact-copy,
.enquiry-section .contact-copy {
  max-width: 360px;
}

.contact-section h2,
.contact-cta h2,
.enquiry-section h2 {
  font-size: clamp(26px, 2.2vw, 34px);
  margin-top: 0;
  margin-bottom: 12px;
}

.contact-section p,
.contact-cta p,
.enquiry-section p {
  margin-top: 0;
  margin-bottom: 10px;
}

.contact-section .contact-copy,
.contact-cta .contact-copy,
.enquiry-section .contact-copy {
  padding: 0;
}


/* Dark-blue contact section parent container height reduction only */
.contact-section,
.contact-cta,
.enquiry-section {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  min-height: unset !important;
  height: auto !important;
}


/* Actual contact parent container fix - reduce blue background height */
.contact {
  padding: 25px 0 !important;
  min-height: auto !important;
}

.contact-grid {
  gap: 20px !important;
  align-items: center !important;
}

.contact-copy {
  max-width: 360px !important;
}

.contact h2 {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

.contact p {
  margin-bottom: 10px !important;
}

.contact-actions {
  margin-top: 12px !important;
}


/* Hero/CTA section wrapper height reduction only */
.contact {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  min-height: auto !important;
}

.contact .container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}


/* Footer brand block - root cause fix: control the actual footer wrapper */
.footer-brand {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}

.footer-brand .brand {
  display:block;
  line-height:0;
}

.footer-brand .brand-logo {
  width:430px;
  max-height:105px;
  height:auto;
  object-fit:contain;
}

.footer-brand {
  gap:18px;
  transform:translateX(-60px);
}

.footer-brand .brand-logo {
  width:460px;
  max-height:115px;
}

.footer-brand p {
  margin:0;
  max-width:220px;
  line-height:1.45;
  padding-top:4px;
}


/* Exact running ticker sticky fix - service-ticker only */
.service-ticker {
  position: sticky;
  top: 0;
  z-index: 100;
}

/* Keep existing header below ticker when scrolling */
.header {
  top: 36px;
  z-index: 90;
}

/* Sticky ticker gap coverage fix - exact service-ticker only */
.service-ticker {
  position: sticky;
  top: 0;
  z-index: 999;
  min-height: 34px;
  background: #0a1428;
  isolation: isolate;
}

/* Prevent content showing through below sticky ticker */
.service-ticker::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: #0a1428;
}







/* v53: actual gap fix — root cause was a height mismatch, not stacking/z-index.
   .header sticks at top:36px, but .service-ticker's own box (padding + font
   line-height on .ticker-track span) only renders ~32-33px tall (~30-31px
   under the 800px breakpoint's smaller padding). That few-pixel shortfall is
   what exposes page content underneath. Fixing it by forcing the ticker's
   box to the exact 36px the header already assumes, at every width, so the
   ticker's own background always fully covers that band. */
.service-ticker {
  height: 36px;
  display: flex;
  align-items: center;
}

/* Header CTA: shipping-container artwork button.
   Replaces the previous text + outline styling; the label lives in the image alt text. */
.nav-cta{display:inline-block;flex:none;position:relative;padding:0;border:0;border-radius:0;background:none;line-height:0;overflow:visible;transition:transform .2s ease,filter .2s ease;}
.nav-cta:before,.nav-cta:after{content:none;}
.nav-cta:hover{background:none;transform:translateY(-1px);filter:brightness(.92);}
.nav-cta:focus-visible{outline:3px solid #9db8ee;outline-offset:3px;border-radius:6px;}
.nav-cta img{display:block;width:172px;height:auto;}
@media(prefers-reduced-motion:reduce){.nav-cta{transition:none;}.nav-cta:hover{transform:none;}}

/* Consultation modal (from google-sheet-consultation-connected package) */
.consult-modal{display:none;position:fixed;inset:0;z-index:9999}
.consult-modal.open{display:flex;align-items:center;justify-content:center}
.consult-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.consult-box{position:relative;background:#fff;width:min(560px,92vw);padding:36px;border-radius:24px;border:1px solid #dce4ef;z-index:2;max-height:92vh;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;outline:none}
.consult-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px}
.consult-box input,.consult-box select,.consult-box textarea{width:100%;padding:14px;margin:8px 0;border:1px solid #dce4ef;border-radius:12px;font-size:16px}
.consult-box button[type=submit]{width:100%;padding:16px;background:#071525;color:white;border:0;border-radius:14px;font-weight:700}
.consult-label{color:#2858c8;font-weight:700}
.consult-hours{color:#e57d00;font-weight:600}
.consult-box .consult-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consult-status{margin:8px 0 0;min-height:1.4em;font-size:.92rem;font-weight:600}
.consult-status.is-success{color:#1a7f3c}
.consult-status.is-error{color:#c0392b}
.consult-box button[type=submit]:disabled{opacity:.65;cursor:progress}
.consult-note{margin:12px 0 0;font-size:.78rem;color:#63718a}
.consult-note a{color:#2858c8}
@media(max-width:600px){.consult-box{padding:26px 20px}.consult-box h2{font-size:1.35rem;margin:6px 0 10px}.consult-hours{font-size:.88rem;margin:0 0 6px}.consult-box input,.consult-box select,.consult-box textarea{padding:12px;margin:6px 0}.consult-box textarea{height:84px}}

.expertise-section{padding-bottom:42px}

/* Key Expertise cards */
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.expertise-card{min-height:120px;padding:18px 24px;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;transition:transform .3s ease,box-shadow .3s ease}
.expertise-card h3{margin:0;text-transform:uppercase;color:#9d2026;font-size:1.35rem;line-height:1.25}
.expertise-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 28px rgba(0,0,0,.12)}
.expertise-card.green{background:#eaf7ee}.expertise-card.blue{background:#eaf3fa}.expertise-card.amber{background:#fff6dd}.expertise-card.steel{background:#f1f3f5}.expertise-card.purple{background:#f3eefa}.expertise-card.red{background:#fceded}
@media(max-width:800px){.expertise-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.expertise-grid{grid-template-columns:1fr}}

/* Transparent pricing additions */
.card-price{display:inline-flex;align-items:center;margin-top:10px;padding:5px 9px;border-radius:999px;background:#edf3ff;color:var(--blue);font-size:.78rem;font-weight:800;line-height:1.1;white-space:nowrap}.pricing-hero{background:radial-gradient(circle at 65% 0%,#2b446b 0%,var(--navy) 58%);color:#fff;padding:58px 0 62px}.pricing-hero h1{font-size:clamp(2.4rem,5vw,4.2rem);letter-spacing:-.05em;line-height:1.05;margin:0 0 18px}.pricing-hero p:not(.eyebrow){max-width:760px;color:#d3ddeb;font-size:1.08rem}.pricing-hero .pricing-hero-qualification{margin-top:8px;color:#fff;font-size:.96rem;font-weight:700}.pricing-section{background:#f6f8fc}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.price-card{background:#fff;border:1px solid #dce4ef;border-radius:16px;padding:26px;box-shadow:0 10px 24px rgba(22,42,74,.06);display:flex;flex-direction:column;min-height:100%}.price-card-top{display:flex;align-items:flex-start;gap:13px}.price-num{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:10px;background:#eaf1ff;color:var(--blue);font-weight:850}.price-kicker{margin:0 0 5px;color:var(--copper);font-size:.65rem;font-weight:850;letter-spacing:.16em}.price-card h2{margin:4px 0 12px;font-size:1.15rem;line-height:1.3;font-weight:700;letter-spacing:0}.price-value{display:inline-flex;align-self:flex-start;margin:22px 0 12px;padding:8px 12px;border-radius:8px;background:#eaf1ff;color:var(--blue);font-size:1.15rem;font-weight:850}.price-card>p{color:#60718b}.price-card .price-note{font-size:.82rem;line-height:1.55;margin-top:auto;padding-top:10px}.price-card-actions{margin-top:24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.price-discuss{display:inline-block;margin-top:0;color:var(--blue);font-weight:750;text-decoration:none;font-size:.88rem}.pricing-qualification{margin-top:34px;padding:30px;border:1px solid #cbd8ea;border-radius:16px;background:#eaf3ff}.pricing-qualification h2{margin:0 0 12px}.pricing-qualification p{max-width:900px;color:#526680}.pricing-qualification .btn{margin-top:8px}@media(max-width:820px){.pricing-grid{grid-template-columns:1fr}.pricing-hero{padding:44px 0 48px}.price-card{padding:22px}}


/* v87: Match Pricing card service titles to Home card title settings exactly. */
.pricing-grid .price-card .price-card-top h2{font-size:1.15rem!important;line-height:1.3!important;font-weight:700!important;letter-spacing:0!important;margin:4px 0 12px!important;}

/* v72 accessibility refinements */
.section .eyebrow, .pricing-section .eyebrow { color:#8f5428; }
.featured-note, .directory-note { color:#526680; }

/* v91: Make the hero carousel slider visibly compact and colourful. */
.dots{gap:4px;align-items:center;}
.dots button{position:relative;width:26px;height:24px;background:transparent!important;border:0;border-radius:0;padding:0;cursor:pointer;}
.dots button::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;transform:translate(-50%,-50%);background:linear-gradient(135deg,#36c5f0,#2858c8,#9b5de5);border-radius:50%;}
.dots button.active::before{width:20px;height:7px;background:linear-gradient(90deg,#36c5f0,#2858c8,#9b5de5,#e85d9e);border-radius:999px;}

/* v92: Reduce section whitespace and align the three process cards with the Key Expertise card treatment. */
.expertise-section{padding-top:42px;padding-bottom:18px}
.about-reworked{padding-top:24px}
/* v93: Compact the six Key Expertise cards while retaining their existing colour scheme. */
.expertise-card{min-height:96px;padding:14px 18px;border:1px solid rgba(0,0,0,.08)}
.process-card{border-radius:0;padding:12px 16px;min-height:68px;border:1px solid rgba(0,0,0,.08)}

/* v94: Round-edge outlined treatment for all nine capability/process boxes and reduce home-page section whitespace. */
#expertise.expertise-section{
  padding-top:30px;
  padding-bottom:10px;
}
#expertise .expertise-card{
  border:1px solid #cfd9e6;
  border-radius:12px;
}
#about.about-reworked{
  padding-top:14px;
}
#about .process-card{
  border:1px solid #cfd9e6;
  border-radius:12px;
}

/* v95: Expandable explanations for the six Key Expertise cards. */
.expertise-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.expertise-card h3{width:100%}
.expertise-details{width:100%;margin-top:10px}
.expertise-details summary{display:inline-block;cursor:pointer;color:var(--blue);font-size:.82rem;font-weight:800;line-height:1.2;list-style:none;text-decoration:none}
.expertise-details summary::-webkit-details-marker{display:none}
.expertise-details summary::after{content:' ↓';font-size:.75em}
.expertise-details[open] summary::after{content:' ↑'}
.expertise-expanded{margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.10);color:#526680;font-size:.82rem;line-height:1.55}
.expertise-expanded p{margin:0 0 9px}
.expertise-expanded p:last-child{margin-bottom:0}
@media(max-width:520px){.expertise-details{margin-top:8px}.expertise-expanded{font-size:.8rem}}


/* v96: Reduce only the vertical gap between Key Expertise and Independent checks sections. */
#expertise.expertise-section{padding-bottom:0;}
#about.about-reworked{padding-top:0;}

/* v97: Remove the parent section top padding that was still creating the large gap above Independent checks. */
#about{padding-top:0;}

/* v98: Safely enlarge the homepage hero carousel within the existing hero layout. */
.hero-grid{
  grid-template-columns:1fr 1.1fr;
  gap:40px;
}
.hero-media{
  width:100%;
  max-width:580px;
  max-height:540px;
}
.hero-slide{
  width:100%;
  height:540px;
  object-fit:cover;
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:32px;}
  .hero-media{width:100%;max-width:none;max-height:none;}
  .hero-slide{height:auto;}
}

/* v99: Extend homepage hero carousel vertically to align its top with the top of the first hero heading line. Width, carousel behaviour and other settings remain unchanged. */
.hero-media{
  height:590px;
  max-height:590px;
}
.hero-slide{
  height:590px;
}
@media (max-width:900px){
  .hero-media{
    height:auto;
    max-height:none;
  }
  .hero-slide{
    height:auto;
  }
}

/* v101: Root-cause spacing correction - remove oversized section spacer gaps only. */
.client-section{
  padding-top:8px;
  padding-bottom:40px;
}
#services.directory{
  padding-top:28px;
}
#services.directory .section-head{
  margin-bottom:18px;
}
#services.directory .directory-label{
  margin-top:10px;
}


/* v102: structural vertical rhythm correction - only targeted section wrappers */
.client-section {
  padding-top: 0;
  padding-bottom: 28px;
}

.section.alt.directory {
  padding-top: 28px;
  padding-bottom: 50px;
}

.section.alt.directory .section-head {
  margin-bottom: 14px;
}

/* keep internal carousel/card spacing unchanged */
.section.alt.directory .featured-carousel,
.section.alt.directory .directory-timer,
.section.alt.directory .cards {
  margin-top: initial;
}

/* v103 structural spacing correction */
.client-section{padding-top:18px;padding-bottom:52px}
.directory.section{padding-top:34px}

/* v104: structural container spacing correction - reduce empty gap before Inspection Services only */
#about.about-reworked {
  padding-bottom: 18px;
}
#services.directory.section.alt {
  padding-top: 12px;
}
#services.directory.section.alt .section-head {
  margin-top: 0;
}


/* Mobile horizontal overflow correction.
   overflow-x:hidden on its own is what causes fixed-position elements
   (like the consultation modal) to drift sideways while scrolling on
   WebKit-based mobile browsers (Safari, and Chrome/Edge on iOS, which
   use the same engine). overflow-x:clip avoids creating that scrolling
   box in the first place; the `hidden` line stays first as a fallback
   for browsers that don't yet support `clip`. */
html, body {
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

img, svg, video, canvas {
  max-width: 100%;
}

@media (max-width: 700px) {
  .wrap {
    max-width: 100%;
    overflow-x: hidden;
  }

  .brand-logo,
  .footer .brand-logo {
    max-width: 100%;
    height: auto;
  }

  .footer,
  .footer * {
    min-width: 0;
  }
}


/* v111: mobile footer logo overflow correction */
@media(max-width:700px){
  .footer-brand{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .footer .brand-logo{
    width:100%;
    max-width:330px;
    height:auto;
    max-height:none;
    object-fit:contain;
    object-position:left center;
  }
  .footer-brand p{
    max-width:100%;
    margin-top:14px;
    overflow-wrap:anywhere;
  }
}

/* Footer logo block alignment correction */
.footer-brand{
  text-align:center;
}
.footer-brand-link{
  display:flex;
  justify-content:center;
  align-items:center;
}
.footer .brand-logo{
  max-width:100%;
  height:auto;
}
.footer-brand p{
  max-width:330px;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:700px){
  .footer-brand{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .footer-brand-link{
    width:100%;
  }
  .footer .brand-logo{
    width:min(330px, 90vw);
  }
  .footer-brand p{
    width:100%;
    max-width:330px;
  }
}


/* AOS isolated footer logo mobile containment fix
   Scope: footer brand block only.
   Does not modify shared image/layout/carousel/service/pricing rules. */
@media (max-width:700px){
  .footer-brand{
    transform:none;
    width:100%;
    max-width:100%;
    overflow:hidden;
    align-items:center;
    text-align:center;
  }

  .footer-brand-link{
    width:100%;
    justify-content:center;
  }

  .footer .brand-logo{
    width:100%;
    max-width:260px;
    height:auto;
    max-height:none;
    object-fit:contain;
    display:block;
    margin:0 auto;
  }

  .footer-brand p{
    width:100%;
    max-width:260px;
    margin:12px auto 0;
    text-align:center;
    overflow-wrap:normal;
  }
}


/* AOS consultation component root fix - scoped only to booking modal */
.consult-box,
.consult-box input,
.consult-box select,
.consult-box textarea{
  box-sizing:border-box;
}

@media(max-width:700px){
  .consult-modal.open{
    overflow:hidden;
  }

  .consult-box{
    width:calc(100vw - 32px);
    max-width:560px;
  }

  .consult-box input,
  .consult-box select,
  .consult-box textarea{
    max-width:100%;
  }
}

/* Give the "Inspection requirement" / "Select time slot" dropdowns a
   consistent grey fill defined in our own CSS (rather than leaning on
   native browser styling, which varies by device). */
.consult-box select{
  -webkit-appearance:none;
  appearance:none;
  background:#eef1f6 url('data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 14 14%27%3E%3Cpath d=%27M2 5l5 5 5-5%27 fill=%27none%27 stroke=%27%2363718a%27 stroke-width=%271.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E') no-repeat right 16px center;
  background-size:14px;
  border:0;
  color:#17243a;
  padding-right:42px;
}

/* The date field: -webkit-appearance:none gives us full control of the
   box (so it can match the grey fill below), while explicitly keeping
   the native calendar-picker-indicator visible and untouched — that
   icon is Safari's actual tap target for opening the picker, and
   without appearance:none it renders too small/low-contrast to see
   against the grey fill, even though it's still technically there and
   clickable. Giving it real size + right alignment makes it read as a
   proper icon, the same way the dropdowns show their chevron. */
.consult-box input[name="date"]{
  -webkit-appearance:none;
  appearance:none;
  background:#eef1f6 url('data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 14 14%27%3E%3Cpath d=%27M2 5l5 5 5-5%27 fill=%27none%27 stroke=%27%2363718a%27 stroke-width=%271.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E') no-repeat right 16px center;
  background-size:14px;
  border:0;
  color:#17243a;
  -webkit-text-fill-color:#17243a;
  padding-right:42px;
}

.consult-box input[name="date"]::-webkit-calendar-picker-indicator{
  opacity:1;
  filter:none;
  padding:6px;
  margin-right:2px;
}


.consult-date-label{
  display:block;
  margin:8px 0 2px;
  font-size:1rem;
  font-weight:700;
  color:#17243a;
}

/* Lock background scroll while the consultation modal is open.
   Prevents the page behind the fixed modal from scrolling/rubber-banding,
   which is what was making the modal drift sideways on iOS Safari when
   combined with the site-wide `overflow-x:hidden` on html/body above. */
body.consult-lock{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  overflow:hidden;
}

/* v124: Founder profile and linked carousel caption. */
.hero-caption{min-height:72px;padding:10px 12px 30px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:12px;row-gap:3px;line-height:1.4}
.hero-caption a{color:#2459b5;font-weight:700;text-decoration:underline;white-space:nowrap}
.hero-media .dots{bottom:7px;right:0;left:0;justify-content:center;gap:2px}
.hero-slide.founder-slide{height:calc(100% - 72px);object-fit:contain;background:#000}
.founder-profile{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.founder-portrait{margin:0;background:#fff;border:1px solid #dce4ed;border-radius:18px;overflow:hidden}
.founder-portrait img{display:block;width:100%;height:auto;background:#000}
.founder-portrait figcaption{padding:18px;text-align:center}
.founder-portrait figcaption strong,.founder-portrait figcaption span{display:block}
.founder-portrait figcaption span{margin-top:4px;color:#596779}
.founder-introduction p:not(.eyebrow){color:#4b596b;line-height:1.8;margin:0 0 20px}
@media(max-width:700px){.founder-profile{grid-template-columns:1fr}.founder-portrait{max-width:420px;width:100%;margin-inline:auto}}

/* Saved About layout: top-aligned portrait and balanced biography columns. */
.founder-profile{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
.founder-portrait{width:100%;max-width:420px;justify-self:start}
.founder-biography{grid-column:1/-1;columns:2;column-gap:clamp(28px,5vw,72px);column-fill:balance}
.founder-biography p{color:#4b596b;line-height:1.8;margin:0 0 20px;orphans:3;widows:3}
@media(max-width:700px){.founder-profile{grid-template-columns:1fr}.founder-biography{columns:1}.founder-portrait{justify-self:center}}

/* Carousel images retain their full frame above a compact caption. */
.hero-media{--caption-height:58px}
.hero-media .hero-slide,.hero-media .hero-slide.founder-slide{inset:0 0 auto;width:100%;height:calc(100% - var(--caption-height));object-fit:contain;object-position:center;background:#0b1525}
.hero-media .hero-caption{height:var(--caption-height);min-height:0;box-sizing:border-box;padding:4px 10px 32px;line-height:1.3;font-size:.83rem}
.hero-media .dots{bottom:3px}
@media(max-width:380px){.hero-media{--caption-height:66px}.hero-media .hero-caption{column-gap:8px;font-size:.78rem}}

/* Last four landscape slides meet the caption without a lower blue gap. */
.hero-media .hero-slide.landscape-slide{object-position:center bottom}

/* Consistent square image canvas for all nine slides; caption outside image. */
.hero-media{height:auto;max-height:none;aspect-ratio:auto;display:grid;grid-template-columns:minmax(0,1fr)}
.hero-media::before{content:"";display:block;aspect-ratio:1;grid-area:1/1}
.hero-media .hero-slide,.hero-media .hero-slide.founder-slide{height:calc(100% - var(--caption-height));object-fit:cover;object-position:center bottom}
.hero-media .hero-slide.founder-slide{object-position:center center}
.hero-media .hero-slide.landscape-slide{object-position:center center}
.hero-media .hero-caption{position:relative;inset:auto;grid-area:2/1;width:100%}

/* Keep the trucks fully framed in the two right-weighted landscape photos. */
.hero-media .hero-slide:nth-of-type(7),.hero-media .hero-slide:nth-of-type(9){object-position:right center}

/* v129: Compact inner-page introductions; homepage hero stays unchanged. */
.service-hero,.pricing-hero{padding-top:32px;padding-bottom:32px}
.service-hero .wrap>p:last-child,.pricing-hero .wrap>p:last-child{margin-bottom:0}

/* Homepage starts each ticker loop with the live-video offer. */
.service-ticker .ticker-track .ticker-video-highlight{background:#2454d8;color:#fff;font-weight:750;border:1px solid #7182a4;border-radius:999px;padding:3px 16px;margin:2px 12px;letter-spacing:.025em}


/* Compact WhatsApp announcement strip shared by hero areas */
.home-live-video-highlight{
 background:#2454b8;
 color:#fff;
 padding:10px 18px;
 border-radius:8px;
 font-weight:600;
 line-height:1.35;
 max-width:780px;
 margin:24px auto 0;
 text-align:center;
}
@media(max-width:700px){
 .home-live-video-highlight{
  padding:10px 14px;
 }
}

/* Ticker starting position correction - service ticker only */
.service-ticker .ticker-track {
  transform: translateX(0);
}


/* v140: approved UK Inspection navigation and buyer/service page components */
.header .brand-logo{width:235px;max-height:62px}
.header nav{gap:12px;flex-wrap:nowrap}
.header nav>a{font-size:.77rem;white-space:nowrap}
.header nav .nav-icon{margin-right:4px;font-size:.82rem}
/* v144: restore the approved industrial shipping-container CTA artwork. */
.header .nav-cta{display:inline-block!important;flex:none;position:relative;padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:inherit!important;line-height:0!important;text-decoration:none;white-space:nowrap;box-shadow:none!important;overflow:visible;transition:transform .2s ease,filter .2s ease}
.header .nav-cta:before,.header .nav-cta:after{content:none!important}
.header .nav-cta img{display:block;width:172px;max-width:100%;height:auto}
.header .nav-cta:hover{background:none!important;transform:translateY(-1px);filter:brightness(.94)}
.header .nav-cta:focus-visible{outline:3px solid #9db8ee;outline-offset:3px;border-radius:5px}
@media(max-width:800px){.header .nav-cta{display:inline-block!important}}
@media(prefers-reduced-motion:reduce){.header .nav-cta{transition:none}.header .nav-cta:hover{transform:none}}
@media(max-width:1100px){.header nav{gap:8px}.header nav>a{font-size:.72rem}.header .brand-logo{width:205px}}
@media(max-width:800px){.header .brand-logo{width:170px;max-height:48px}.header nav{gap:8px;flex-wrap:wrap}.header nav>a{font-size:.88rem;white-space:normal}.header .nav-cta{display:inline-flex!important}}
.service-ticker .ticker-video-highlight{background:#2454d8;color:#fff;font-weight:750;border:1px solid #7182a4;border-radius:999px;padding:3px 16px;margin:2px 12px;letter-spacing:.025em}
.buyer-card-grid{margin-top:26px}
.buyer-card-grid .directory-card,.buyer-service-card{min-height:190px}
.service-pill{display:inline-flex;align-self:flex-start;align-items:center;background:#eaf1ff;color:#214c9b;border:1px solid #d5e2f7;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:850;line-height:1.25;margin:0 0 12px}
.buyer-service-card .card-icon{margin-bottom:8px}
.buyer-service-card .service-pill{margin-bottom:10px}
.buyer-service-card p,.directory-card p{color:#607086;font-size:.91rem;margin:0 0 18px}
.buyer-service-card>a,.directory-card>a{margin-top:auto;color:#2256bc;text-decoration:none;font-size:.86rem;font-weight:800}
.notice-panel{background:#eef6ff;border:1px solid #cbdcf2;border-radius:13px;padding:22px 24px;margin:0 0 28px;color:#263b5a}
.notice-panel h2{margin:0 0 10px;font-size:1.35rem}
.notice-panel p{margin:0 0 12px;color:#526680}
.notice-panel a{color:#2456bd;font-weight:800;text-decoration:none}
.warning-panel{background:#fff8e8;border-color:#ead7a8}
.warning-panel h2{color:#6e4a14}
.psic-copy h2{margin-top:30px}
.psic-copy h2:first-of-type{margin-top:28px}
.psic-copy h3{margin:20px 0 8px;font-size:1.08rem;color:#213653}
.psic-copy p{color:#526176}
.port-list{columns:2;column-gap:40px;padding-left:22px;color:#526176}
.port-list li{break-inside:avoid;margin:0 0 7px}
.source-note{margin-top:28px;padding-top:18px;border-top:1px solid #dce4ef;font-size:.9rem}
.source-note a{color:#2456bd;font-weight:800}
.form-section-title{font-size:1rem;margin:18px 0 8px;color:#1b2b45}
.consult-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
.consult-form-grid label{display:block;font-size:.8rem;font-weight:700;color:#42536d}
.consult-form-grid .form-full{grid-column:1/-1}
.consult-form-grid input,.consult-form-grid select,.consult-form-grid textarea{margin:5px 0 9px!important}
.service-choice-fieldset{border:1px solid #dce4ef;border-radius:12px;padding:13px 14px;margin:14px 0}
.service-choice-fieldset legend{padding:0 6px;font-size:.82rem;font-weight:800;color:#263b5a}
.service-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}
.service-choice-grid label{display:flex;align-items:flex-start;gap:7px;font-size:.78rem;font-weight:650;color:#42536d;line-height:1.35}
.service-choice-grid input,.privacy-ack input{width:auto!important;margin:2px 0 0!important;flex:none}
.privacy-ack{display:flex;align-items:flex-start;gap:9px;margin:16px 0 10px;font-size:.78rem;color:#42536d;line-height:1.45}
.privacy-ack a{color:#2456bd;font-weight:800}
.consult-box{width:min(720px,94vw);padding:30px}
.consult-box .consult-hours{font-size:.9rem;color:#607086;font-weight:500}
.consult-box .consult-note{font-size:.76rem}
@media(max-width:600px){.consult-form-grid,.service-choice-grid{grid-template-columns:1fr}.consult-box{padding:24px 18px}.port-list{columns:1}.header .head{gap:10px}}

/* v140: two static buyer-audience cards; restrained flag colours are confined to these cards. */
.buyer-audience-card{position:relative;overflow:hidden;min-height:218px;padding-top:27px}
.buyer-audience-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px}
.india-audience-card::before{background:linear-gradient(90deg,#E88932 0 33.33%,#FFFFFF 33.33% 66.66%,#16834A 66.66% 100%)}
.europe-audience-card::before{background:linear-gradient(90deg,#164A9B 0 72%,#E7BD43 72% 100%)}


/* v145: clear keyboard and agent focus feedback without changing layout. */
.dots button:focus-visible{outline:2px solid #fff;outline-offset:3px}
#consultForm:tool-form-active{outline:2px dashed #2858c8;outline-offset:4px}
#consultForm button[type=submit]:tool-submit-active{outline:3px solid #e57d00;outline-offset:3px}

/* v146: separate card actions and adequately sized carousel targets. */
.card-select{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit;background:transparent;cursor:pointer}
.card-select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.card[data-service-index] a{position:relative;z-index:1;min-height:24px}

/* v147: optional analytics preferences, outside document flow. */
.analytics-consent{position:fixed;bottom:0;left:0;right:0;z-index:90;background:#fff;color:var(--ink);border-top:1px solid var(--line);box-shadow:0 -4px 20px #101d3520;padding:14px 24px;display:flex;align-items:center;justify-content:center;gap:20px;font-size:.88rem}
.analytics-consent p{margin:0;max-width:740px}.analytics-consent a{color:var(--blue)}
.analytics-consent>div{display:flex;gap:10px;flex-shrink:0}
.analytics-consent button{min-height:44px;border:1px solid var(--blue);border-radius:7px;background:#fff;color:var(--blue);padding:9px 14px;cursor:pointer;font-weight:700}
.analytics-settings{margin-left:16px;border:0;background:transparent;color:inherit;text-decoration:underline;min-height:32px;cursor:pointer;font:inherit}
@media(max-width:700px){.analytics-consent{flex-direction:column;align-items:stretch;gap:10px;padding:12px 18px}.analytics-consent>div{flex-wrap:wrap}.analytics-consent button{flex:1}.analytics-settings{margin-left:0;display:block}}
