/* September update. Extends the approved design, without replacing it. */
:root {
  --section-accent: #7fd5ff;
  --section-card-bg: rgba(255,255,255,.052);
  --section-card-border: rgba(160,211,255,.38);
}
section[id] { scroll-margin-top: 90px; }
[hidden] { display:none !important; }
.nav-menu { min-width:0; }
@media (min-width: 781px) {
  .nav { justify-content:space-between; }
  .nav-menu { margin-left:0; gap:clamp(16px,1.7vw,25px); }
  .nav-menu a { font-size:.94rem; }
  .lang-switch { position:static; margin-left:auto; flex-shrink:0; }
}
@media (min-width:781px) and (max-width:1030px) {
  .nav-menu { gap:13px; }
  .nav-menu a { font-size:.8rem; }
  .lang-switch button { padding:6px 7px; }
}
.authorized-grid { grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr); }
.authorized-partner-panel { width:min(100%,350px); }
.authorized-brand-list { row-gap:9px; column-gap:18px; }
.authorized-brand-list li { font-size:.88rem; }
.authorized-brand-card .brand-fallback { display:block !important; color:#2b266b; font-size:1.2rem; font-weight:800; }
.authorized-marquee:hover .authorized-marquee-track { animation-play-state:paused; }
.service-grid .service-card img { height:285px; }
.service-grid .service-card:nth-child(3) img { object-fit:cover; }
.service-grid .service-card { display:flex; flex-direction:column; }
.service-body { flex:1; }
.service-detail-link { display:inline-block; color:var(--blue-700); font-weight:750; font-size:.92rem; margin-top:13px; }
.service-detail-link:hover, .price-downloads a:hover, .package-enquiry:hover { text-decoration:underline; }
.package-body { display:flex; flex-direction:column; flex:1; }
.package-card { display:flex; flex-direction:column; }
.package-body h3 { min-height:2.45em; }
.package-price { margin-bottom:0; }
.price-reference { font-size:.78rem !important; line-height:1.5 !important; font-weight:400 !important; letter-spacing:0 !important; text-transform:none !important; color:var(--muted) !important; margin:12px 0 0 !important; }
.package-body .price-reference { margin:12px 0 18px !important; }
.package-enquiry { color:var(--blue-700); font-size:.86rem; font-weight:750; margin-top:auto; }
.price-copy .price-reference { margin:-3px 0 18px !important; }
.price-hero .price-reference { color:rgba(255,255,255,.83) !important; font-size:.82rem !important; }
.price-panel > strong { font-size:clamp(2.25rem,4vw,3.8rem); line-height:1.12; }
.price-panel > strong small { font-size:.43em; white-space:nowrap; letter-spacing:-.01em; }
.price-card > strong { line-height:1.2; }
.price-card > strong small { font-size:.39em; white-space:nowrap; letter-spacing:0; }
.price-card .price-reference { margin:8px 0 16px !important; }
.service-vat-note { margin:22px 0 0; color:var(--blue-900); font-weight:650; font-size:.92rem; line-height:1.6; }
.price-downloads { display:flex; gap:13px; align-items:center; flex-wrap:wrap; margin-top:19px; color:var(--muted); font-size:.81rem; }
.price-downloads a { text-decoration:underline; text-underline-offset:3px; }
.drilling-section {
  color:var(--white); overflow:hidden;
  background:radial-gradient(circle at 12% 16%,rgba(29,155,240,.15),transparent 27%),radial-gradient(circle at 88% 72%,rgba(17,117,209,.20),transparent 32%),linear-gradient(135deg,#041044,#082863 58%,#0b3d70 100%);
}
.drilling-grid { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:center; }
.drilling-section .eyebrow { color:var(--section-accent); }
.drilling-copy h2 { margin:0 0 20px; color:#fff; font-size:clamp(2.2rem,4.2vw,3.65rem); line-height:1.04; letter-spacing:-.045em; }
.drilling-copy p { color:rgba(255,255,255,.84); font-size:1.02rem; line-height:1.7; }
.drilling-copy .drilling-lead { font-size:1.22rem; font-weight:700; color:#fff; line-height:1.5; }
.drilling-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 18px; margin:24px 0 0; padding:0; list-style:none; }
.drilling-features li { color:#fff; font-size:.91rem; font-weight:650; display:flex; gap:8px; }
.drilling-features li::before { content:'✓'; color:var(--section-accent); font-weight:850; }
.drilling-figure { margin:0; align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.drilling-figure img { width:100%; min-height:325px; max-height:435px; aspect-ratio:4/3; height:auto; object-fit:cover; object-position:52% 50%; border:1px solid var(--section-card-border); border-radius:var(--radius); box-shadow:var(--shadow); }
.drilling-figure figcaption { font-size:.74rem; color:rgba(255,255,255,.65); margin-top:8px; }
.drilling-detail-grid { display:grid; grid-template-columns:1.06fr .94fr; gap:24px; margin-top:34px; }
.drilling-detail-card { background:var(--section-card-bg); border:1px solid var(--section-card-border); border-radius:var(--radius); padding:28px; display:flex; flex-direction:column; }
.drilling-detail-card h3 { font-size:1.4rem; line-height:1.2; color:#fff; letter-spacing:-.025em; margin:0 0 15px; }
.drilling-detail-card p { color:rgba(255,255,255,.84); line-height:1.7; font-size:.98rem; }
.drilling-detail-card .eyebrow { font-size:.76rem; color:var(--section-accent); margin-bottom:13px; }
.drilling-detail-card .service-action-link { display:inline-block; margin-top:auto; font-size:.95rem; }
.drilling-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:auto; padding-top:5px; }
.drilling-actions .btn { font-size:.87rem; padding:12px 17px; }
.drilling-safety { font-size:.78rem; line-height:1.6; color:rgba(255,255,255,.65); margin:21px 0 0; }
.price-archive h1 { white-space:normal; font-size:clamp(2rem,5vw,3rem); }
.price-archive .download-link { display:inline-block; text-decoration:underline; color:var(--blue-700); margin-bottom:22px; font-weight:750; }
.price-archive ul a { text-decoration:underline; color:var(--blue-700); }
.price-archive ul { padding-left:20px; }
.price-archive li { overflow-wrap:anywhere; }
a:focus-visible, button:focus-visible { outline:3px solid var(--blue-500); outline-offset:4px; }
@media (max-width:1080px) and (min-width:901px) {
  .authorized-grid { grid-template-columns:minmax(0,1fr) 300px; gap:24px; }
  .authorized-copy h2 { font-size:clamp(1.85rem,3.1vw,2.5rem); }
  .authorized-partner-panel { padding:20px; }
  .authorized-brand-list li { font-size:.8rem; }
}
@media (max-width:900px) {
  .authorized-grid,.drilling-grid,.drilling-detail-grid { grid-template-columns:1fr; gap:26px; }
  .authorized-partner-panel { width:min(100%,520px); justify-self:start; }
  .drilling-figure img { max-height:410px; min-height:260px; }
}
@media (max-width:780px) {
  .nav { min-height:66px; }
  .nav-menu a { padding:9px 12px; }
  .nav-menu-legal { display:flex !important; position:static !important; box-shadow:none !important; border:0 !important; background:transparent !important; flex-direction:row !important; padding:0 !important; }
  .nav-menu-legal a { font-size:.8rem; padding:0; }
  .lang-switch { margin-left:auto; }
}
@media (max-width:620px) {
  .service-grid .service-card img { height:235px; }
  .package-body h3 { min-height:0; }
  .price-reference { font-size:.77rem !important; }
  .drilling-copy h2 { font-size:2.45rem; }
  .drilling-copy .drilling-lead { font-size:1.1rem; }
  .drilling-copy p,.drilling-detail-card p { font-size:.96rem; }
  .drilling-detail-card { padding:22px; }
  .drilling-actions { flex-direction:column; align-items:stretch; }
  .drilling-detail-grid { gap:18px; margin-top:26px; }
  .drilling-features { grid-template-columns:1fr; gap:9px; }
  .drilling-figure img { min-height:225px; }
  .price-downloads { gap:10px; font-size:.8rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .authorized-marquee-track,.brand-marquee-track { animation:none !important; transform:none !important; }
  .authorized-marquee,.brand-marquee { overflow-x:auto; mask-image:none; -webkit-mask-image:none; }
  .authorized-marquee-group[aria-hidden='true'],.brand-marquee-group[aria-hidden='true'] { display:none !important; }
}
.legal-card h1, .legal-card h2, .legal-card p, .legal-card li { overflow-wrap:anywhere; }
@media (max-width:620px) { .legal-card h1 { font-size:clamp(1.9rem,8vw,2.4rem); line-height:1.1; hyphens:auto; } }
