/* Production visual refinement for the 082026 public website.
   Functional behavior and customer-facing wording remain unchanged. */

:root {
  --radius-control: 4px;
  --hairline: rgba(17,26,39,.12);
  --hairline-strong: rgba(17,26,39,.20);
  --paper-raised: #faf9f6;
  --section-neutral: #eeece6;
}

body { background: var(--paper); }

/* Header */
.site-header {
  background: rgba(245,243,238,.97);
  border-bottom: 1px solid var(--hairline);
  box-shadow: none;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.nav-shell { min-height: 76px; gap: 24px; }
.brand { gap: 11px; }
.brand-logo { width: 42px; height: 42px; }
.brand-copy strong { font-size: 17px; letter-spacing: -.025em; }
.brand-copy small { font-size: 9px; letter-spacing: .13em; }
.desktop-nav { gap: clamp(17px,1.8vw,28px); }
.desktop-nav a, .mobile-nav a { color: var(--ink-2); font-size: 12px; font-weight: 600; }
.nav-actions {
  display: grid;
  grid-template-columns: auto auto auto;
  align-items: stretch;
  gap: 8px;
}
.language-picker {
  display: flex;
  align-items: stretch;
  margin: 0;
}
.language-picker select, .button { border-radius: var(--radius-control); box-sizing: border-box; }
.language-picker select {
  min-width: 124px; height: 44px; min-height: 44px; padding-inline: 13px 32px;
  border-color: var(--hairline-strong); background: rgba(255,255,255,.34); font-weight: 650;
  line-height: 1.2;
}
.nav-actions .button {
  height: 44px;
  min-height: 44px;
  padding-inline: 18px;
  white-space: nowrap;
}
.button {
  min-height: 42px; padding-inline: 17px; gap: 12px; font-size: 12px; box-shadow: none;
  transition: background-color .16s ease,border-color .16s ease,color .16s ease;
}
.button:hover { transform: none; }
.button-primary:hover { background: var(--red-dark); border-color: var(--red-dark); box-shadow: none; }
.button-dark { background: var(--ink-2); border-color: var(--ink-2); }
.button-dark:hover { background: var(--ink); border-color: var(--ink); box-shadow: none; }
.button-ghost { background: transparent; border-color: var(--hairline-strong); }
.button-ghost:hover { background: rgba(255,255,255,.58); border-color: rgba(17,26,39,.30); }
.button-secondary {
  color: var(--ink-2);
  background: rgba(255,255,255,.56);
  border-color: var(--hairline-strong);
}
.button-secondary:visited { color: var(--ink-2); }
.button-secondary:hover {
  color: var(--ink);
  background: rgba(255,255,255,.88);
  border-color: rgba(17,26,39,.34);
}
.button-large { min-height: 50px; padding-inline: 21px; }

/* Hero */
.hero { min-height: 0; padding: clamp(70px,7vw,94px) 0 clamp(62px,6vw,82px); }
.hero::before, .hero-watermark { display: none; }
.hero-grid {
  grid-template-columns: minmax(0,1.12fr) minmax(340px,.74fr);
  gap: clamp(52px,6.4vw,92px); align-items: center;
}
.hero h1 {
  max-width: 720px; margin: 20px 0 24px;
  font-size: clamp(46px,4.9vw,70px); line-height: 1.01; letter-spacing: -.047em;
  overflow-wrap: normal;
}
.hero h1 em { color: var(--red-dark); }
.hero-lede { max-width: 620px; font-size: clamp(16px,1.3vw,18px); line-height: 1.72; color: #4b5662; }
.hero-actions { margin-top: 30px; gap: 12px; align-items: stretch; }
.hero-actions .button-large {
  min-height: 50px;
  height: 50px;
  padding-inline: 22px;
}
.hero-secondary-cta {
  min-width: 174px;
  justify-content: space-between;
}
.hero-secondary-cta > span:last-child { font-size: 14px; line-height: 1; }
.hero-proof { margin-top: 34px; padding-top: 18px; gap: 10px 22px; font-size: 11.5px; }

.quote-preview {
  padding: clamp(23px,2.4vw,28px); border: 1px solid var(--hairline); border-top: 2px solid var(--red);
  border-radius: 6px; box-shadow: 0 14px 34px rgba(17,26,39,.07);
}
.quote-preview-top { gap: 16px; padding-bottom: 18px; }
.quote-preview h2 { font-family: Georgia,'Times New Roman',serif; font-size: clamp(20px,1.8vw,24px); font-weight: 500; }
.live-pill { padding: 0; border-radius: 0; background: transparent; color: var(--muted); font-size: 9px; }
.live-pill i { display: none; }
.preview-form { gap: 0; padding: 12px 0 8px; }
.preview-static-field { gap: 4px; padding: 12px 0; border-bottom: 1px solid rgba(17,26,39,.09); }
.preview-static-field > span { font-size: 9px; letter-spacing: .09em; }
.preview-static-field > strong {
  min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent;
  font-size: 13px; line-height: 1.45;
}
.form-pair { grid-template-columns: minmax(0,1fr) 28px minmax(0,1fr); gap: 12px; }
.form-pair.equal { grid-template-columns: 1fr 1.55fr; gap: 18px; }
.swap-button { height: auto; align-self: center; border: 0; background: transparent; color: var(--muted); font-size: 13px; }
.preview-total { padding: 18px 0; border-top: 0; }
.preview-total div { font-size: 11px; }
.preview-total strong { font-size: 22px; }

/* Use cases and section rhythm */
.service-strip { min-height: 60px; background: #efede7; border-color: rgba(17,26,39,.10); }
.strip-inner { padding-block: 14px; }
.strip-inner > div { gap: 10px 22px; font-size: 15px; }
.section { padding: clamp(82px,7vw,108px) 0; }
.section-heading { margin-bottom: clamp(36px,4vw,48px); }
.split-heading, .dark-heading { grid-template-columns: minmax(145px,.34fr) minmax(0,1fr); gap: 34px; }
.section-index, .kicker, .micro-label { font-size: 9.5px; }
.split-heading h2, .dark-heading h2, .faq-grid h2, .cta-section h2 {
  font-size: clamp(34px,3.8vw,52px); line-height: 1.06; letter-spacing: -.038em; overflow-wrap: normal;
}
.split-heading p { max-width: 660px; font-size: 15px; line-height: 1.74; }

/* Services: restrained comparison rather than SaaS cards */
.service-grid { gap: 0; border: 1px solid var(--hairline); background: var(--paper-raised); }
.service-card, .service-card:last-child {
  min-height: 430px; padding: 30px 28px 28px; border: 0; border-right: 1px solid var(--hairline);
  border-radius: 0; background: transparent; box-shadow: none;
}
.service-card:last-child { border-right: 0; }
.service-card.featured { background: rgba(255,255,255,.64); border-top: 2px solid var(--red); }
.service-card:hover { transform: none; background: rgba(255,255,255,.76); box-shadow: none; }
.card-number { top: 22px; right: 24px; color: #818b95; }
.service-icon { width: 34px; height: 34px; margin: 38px 0 24px; border-radius: 0; background: transparent; place-items: start; }
.service-icon svg { width: 30px; height: 30px; stroke-width: 1.35; }
.service-card h3 { font-size: clamp(22px,2vw,26px); line-height: 1.16; }
.service-card p { font-size: 13.5px; line-height: 1.68; }
.service-card ul { margin-top: 20px; gap: 9px; font-size: 12.5px; line-height: 1.52; }
.electronic-certification-availability {
  --electronic-certification-align-offset:0px;
  display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px;
  margin:calc(18px + var(--electronic-certification-align-offset)) 0 20px;
  padding:12px 14px; border:1px solid var(--hairline); background:#f7f8f7;
}
.electronic-certification-mark {
  display:grid; place-items:center; width:18px; height:18px; margin-top:1px;
  border:1px solid #7c8a86; border-radius:50%; color:#273343;
}
.electronic-certification-mark svg {
  display:block; width:11px; height:11px; overflow:visible;
}
.electronic-certification-mark path {
  fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;
}
.electronic-certification-availability strong,
.electronic-certification-availability span,
.electronic-certification-availability small { display:block; }
.electronic-certification-availability strong { margin-bottom:4px; color:#273343; font-size:11px; }
.electronic-certification-availability span { color:#4e5a66; font-size:11px; line-height:1.5; }
.electronic-certification-availability small { margin-top:5px; color:#6a747d; font-size:9.5px; line-height:1.45; }
.electronic-price-line { margin-top:4px !important; }
.service-cta { padding-top: 15px; font-size: 10.5px; }
.scope-note { max-width: 920px; margin-top: 16px; font-size: 11.5px; }

/* Pricing: current principal prices from the active controlled catalogue */
.pricing-section { background: var(--section-neutral); }
.core-pricing-panel {
  border:1px solid var(--hairline); border-top:2px solid var(--red);
  background:rgba(255,255,255,.78);
}
.core-pricing-head {
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:18px 22px; border-bottom:1px solid var(--hairline);
}
.core-pricing-head span,.core-pricing-head b {
  color:#52606d; font-size:9.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
}
.core-pricing-head b { color:var(--ink); }
.core-pricing-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.core-price-card {
  min-width:0; min-height:230px; display:flex; flex-direction:column; padding:24px;
  border-right:1px solid var(--hairline); border-bottom:0; background:#fff;
}
.core-price-card:last-child { border-right:0; }
.core-price-card.featured { background:#fff; box-shadow:none; }
.core-price-card > span {
  color:#76818c; font-size:9px; font-weight:800; letter-spacing:.08em;
}
.core-price-card h3 {
  margin:24px 0 0; color:var(--ink); font:500 21px/1.2 Georgia,'Times New Roman',serif;
}
.core-price-card p { margin:12px 0 0; color:#66717c; font-size:11.5px; line-height:1.55; }
.core-price-card > strong {
  margin-top:auto; padding-top:24px; color:var(--ink); font:500 clamp(24px,2.4vw,31px)/1.1 Georgia,'Times New Roman',serif;
}
.core-price-card > strong small { font:700 10.5px/1.2 Arial,sans-serif; color:#68737f; }
.core-price-card > small {
  margin-top:10px; color:#66717c; font-size:10.5px; line-height:1.5;
}
.core-price-service-copy { margin-top:48px; }
.core-price-service-copy .certified-heading,
.core-price-service-copy > h3 { margin:0; }
.core-price-service-copy p { margin:12px 0 0; }
.core-price-service-value { margin-top:24px; }
.core-price-service-value > strong {
  display:block; margin:0; padding:0; color:var(--ink);
  font:500 clamp(24px,2.4vw,31px)/1.1 Georgia,'Times New Roman',serif;
}
.core-price-service-value > strong small {
  font:700 10.5px/1.2 Arial,sans-serif; color:#68737f;
}
.core-price-service-value > small {
  display:block; margin-top:10px; color:#66717c; font-size:10.5px; line-height:1.5;
}
@media (min-width:681px) {
  .service-price-card .core-price-service-copy { min-height:108px; }
  .service-price-card .core-price-service-copy .certified-heading,
  .service-price-card .core-price-service-copy > h3 { min-height:76px; }
}
.core-price-card.compact { min-height:190px; }
.core-price-unavailable { color:#8a929a !important; }
.delivery-price-card > h3 { margin-top:48px; }
.delivery-price-card dl { margin:auto 0 0; }
.delivery-price-card dl div {
  display:flex; align-items:baseline; justify-content:space-between; gap:18px;
  padding:9px 0; border-top:1px solid var(--hairline);
}
.delivery-price-card dt { color:#596571; font-size:11px; }
.delivery-price-card dd { margin:0; color:var(--ink); font-size:12px; font-weight:750; text-align:right; }
.pricing-vat-note {
  margin:0; padding:16px 22px; border-top:1px solid var(--hairline);
  color:#53606c; font-size:11.5px; line-height:1.55;
}
.pricing-footnote {
  margin:0; padding:16px 22px 18px; border-top:1px solid var(--hairline); background:#f7f5f1;
  color:#66717c; font-size:11px; line-height:1.62;
}
.pricing-footnote > span { margin-right:6px; color:var(--red-dark); font-weight:800; }
.pricing-unavailable { padding:30px 24px; }
.pricing-unavailable strong { color:var(--ink); font-size:15px; }
.pricing-unavailable p { max-width:720px; margin:8px 0 0; color:#66717c; font-size:12.5px; line-height:1.6; }

/* Delivery and contact: grouped by separators, not nested boxes */
.delivery-overview { margin-top: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.delivery-heading { margin-bottom: 26px; }
.delivery-heading h3, .public-contact-panel h3 { font-size: clamp(26px,2.7vw,34px); }
.delivery-heading p { font-size: 13.5px; line-height: 1.68; }
.delivery-grid { gap: 0; border: 1px solid var(--hairline); background: var(--paper-raised); }
.delivery-grid article, .delivery-grid article:last-child {
  min-height: 225px; padding: 24px; border: 0; border-right: 1px solid var(--hairline);
  border-radius: 0; background: transparent;
}
.delivery-grid article:last-child { border-right: 0; }
.delivery-grid h4 { margin-top: 22px; font-size: 15px; }
.delivery-grid p, .delivery-grid small { font-size: 12px; }
.public-contact-panel {
  margin-top: 34px; padding: 26px 0 0; border: 0; border-top: 1px solid var(--hairline);
  border-radius: 0; background: transparent; box-shadow: none;
}
.public-contact-grid { gap: 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.public-contact-grid article { padding: 18px 22px; border: 0; border-right: 1px solid var(--hairline); border-radius: 0; background: transparent; }
.public-contact-grid article:last-child { border-right: 0; }
.public-contact-grid strong { font-size: 9.5px; }
.public-contact-grid span { font-size: 13px; }
.public-contact-grid small { font-size: 11.5px; line-height: 1.5; }

/* Portal access: returning client + new order first, staff second */
#portal-access { padding: clamp(70px,6vw,88px) 0; background: #efede7; }
#portal-access .public-contact-panel { margin: 0; padding: 0; border: 0; }
#portal-access .public-contact-panel > div:first-child { max-width: 720px; margin-bottom: 26px; }
#portal-access .public-contact-panel h3 { max-width: 660px; margin-bottom: 0; font-size: clamp(28px,3vw,38px); }
#portal-access .public-contact-grid {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(220px,.68fr);
  border: 1px solid var(--hairline); background: rgba(255,255,255,.56);
}
#portal-access .public-contact-grid article {
  min-height: 208px; padding: 24px; display: flex; flex-direction: column; gap: 12px;
  border: 0; border-right: 1px solid var(--hairline); background: transparent; box-shadow: none;
}
#portal-access .public-contact-grid article:first-child { order: 1; border-top: 2px solid var(--ink-2); }
#portal-access .public-contact-grid article:nth-child(3) { order: 2; border-top: 2px solid var(--red); }
#portal-access .public-contact-grid article:nth-child(2) { order: 3; border-right: 0; background: rgba(17,26,39,.025); }
#portal-access .public-contact-grid article > strong {
  color: var(--ink); font-family: Georgia,'Times New Roman',serif; font-size: 21px; font-weight: 500;
  line-height: 1.25; text-transform: none; letter-spacing: -.02em;
}
#portal-access .public-contact-grid article > small { min-height: 52px; font-size: 12.5px; line-height: 1.58; }
#portal-access .public-contact-grid article .button { width: 100%; min-height: 46px; margin-top: auto; justify-content: space-between; }
#portal-access .public-contact-grid article:nth-child(2) > strong { font-family: inherit; font-size: 13px; font-weight: 700; }
#portal-access .public-contact-grid article:nth-child(2) .button {
  min-height: 40px; background: transparent; border-color: var(--hairline-strong); font-size: 11px;
}

/* Process: sequence and typography instead of decorative symbols */
.section-dark { background: #f5f3ee; }
.process-grid { gap: 0; border: 0; border-top: 1px solid var(--hairline-strong); }
.process-grid article {
  min-height: 245px; padding: 26px 24px 24px 0; border: 0; border-right: 1px solid var(--hairline); background: transparent;
}
.process-grid article:not(:first-child) { padding-left: 24px; }
.process-grid article:last-child { border-right: 0; }
.process-grid article:hover { transform: none; background: transparent; box-shadow: none; }
.process-grid article > span { color: var(--red-dark); font-size: 10px; font-weight: 800; }
.process-symbol { display: none; }
.process-grid h3 { margin-top: 54px; font-size: 24px; }
.process-grid p { max-width: 250px; font-size: 13px; line-height: 1.68; }


/* Certified translation definition: hover/focus on desktop, tap on touch */
.certified-heading { display:flex; align-items:flex-start; gap:9px; min-width:0; }
.estimator-service-label { display:flex !important; align-items:center; gap:7px; }
.certified-heading h3 { min-width:0; margin-right:0; }
.certification-info { position:relative; display:inline-flex; flex:0 0 auto; margin-top:0; }
.certification-info-trigger {
  display:inline-grid; place-items:center; width:20px; height:20px; min-width:20px; padding:0;
  border:1px solid var(--hairline-strong); border-radius:50%; background:#fff; color:var(--ink-2);
  font:800 11px/1 Arial,sans-serif; cursor:pointer;
}
.certification-info-trigger:hover,.certification-info-trigger:focus-visible { border-color:var(--red); color:var(--red-dark); outline:none; }
.core-price-card > .certified-heading { margin-top:48px; align-items:flex-start; }
.core-price-card .certified-heading h3 { margin:0; }
.core-price-card .certified-heading .certification-info { margin-top:0; }
.footer-service-row { display:flex; align-items:flex-start; gap:6px; }
.footer-service-row > .item { min-width:0; }
.footer-service-row .certification-info { margin-top:0; }
.footer-service-row .certification-info-trigger {
  width:16px; height:16px; min-width:16px; font-size:9px;
}
.certification-info-popover {
  position:absolute; z-index:40; top:28px; left:0; width:min(340px,calc(100vw - 40px)); padding:14px 15px;
  border:1px solid var(--hairline-strong); border-top:3px solid var(--red); background:#fff;
  box-shadow:0 14px 34px rgba(17,26,39,.14); color:#53606c; font-size:11.5px; line-height:1.55;
  opacity:0; visibility:hidden; transform:translateY(-3px); transition:opacity .14s ease,transform .14s ease,visibility .14s;
}
.certification-info-popover strong { display:block; margin-bottom:7px; color:var(--ink); font-size:12px; }
.certification-info-popover > span { display:block; }
.certification-info-popover a { display:inline-block; margin-top:9px; color:var(--red-dark); font-weight:800; text-decoration:none; }
.certification-info:hover .certification-info-popover,
.certification-info:focus-within .certification-info-popover,
.certification-info.is-open .certification-info-popover { opacity:1; visibility:visible; transform:none; }
@media (max-width:680px) {
  .certification-info-popover { position:fixed; left:14px; right:14px; top:auto; bottom:18px; width:auto; max-width:none; }
}

/* Legal + FAQ */
.authority-section { background: #fff; }
.legal-heading { margin-bottom: 34px; }
.legal-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto auto auto; align-items:stretch; column-gap:18px; row-gap:0; }
.legal-card {
  --legal-card-accent: var(--ink-2);
  position:relative; min-width:0; display:grid; grid-row:span 4; grid-template-rows:subgrid; padding:28px;
  border:1px solid var(--hairline); background:#fff; overflow:hidden;
}
.legal-card::before { content:''; position:absolute; inset:0 0 auto; height:4px; background:var(--legal-card-accent); }
.legal-card-head { min-height:116px; }
.legal-card-badge {
  display:inline-flex; align-items:center; min-height:24px; margin-bottom:16px; padding:4px 8px;
  border:1px solid var(--hairline-strong); background:var(--section-neutral); color:#5e6974;
  font-size:9.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
}
.legal-card h3 { max-width:500px; margin:0; color:var(--ink); font:500 clamp(23px,2.35vw,30px)/1.13 Georgia,serif; }
.legal-card-body { margin:20px 0 0; color:#56616c; font-size:13.5px; line-height:1.72; }
.legal-effect { margin:24px 0 0; padding:17px 18px; border-left:3px solid var(--legal-card-accent); background:#f7f5f1; }
.legal-effect > span,.legal-reference > span {
  display:block; margin-bottom:7px; color:#6a7480; font-size:9px; font-weight:800;
  letter-spacing:.09em; text-transform:uppercase;
}
.legal-effect p { margin:0; color:#35414d; font-size:12.8px; line-height:1.68; }
.legal-card-footer {
  display:grid; grid-template-columns:1fr; align-items:start; gap:14px;
  margin-top:24px; padding-top:20px; border-top:1px solid var(--hairline);
}
.legal-reference { min-width:0; }
.legal-reference > span { margin-bottom:8px; color:var(--red-dark); }
.legal-reference strong { display:block; max-width:540px; color:#24303c; font-size:12px; line-height:1.55; font-weight:720; }
.legal-regulation-link {
  display:inline-flex; width:max-content; max-width:100%; align-items:center; justify-content:space-between; gap:16px;
  min-height:42px; padding:10px 13px; border:1px solid var(--red-dark); background:#fff;
  color:var(--red-dark); font-size:10.5px; font-weight:800; line-height:1.25; text-decoration:none;
}
.legal-regulation-link:hover { background:#fff4f3; }
.legal-regulation-link:focus-visible { outline:3px solid rgba(214,63,69,.22); outline-offset:2px; }
.legal-card-international .legal-regulation-link { border-color:var(--red-dark); color:var(--red-dark); }
.legal-card-international .legal-regulation-link:hover { background:#fff4f3; }
.legal-note {
  max-width:none; margin:22px 0 0; padding:13px 15px;
  border-left:3px solid var(--ink-2); background:#f7f5f1;
  color:#53606c; font-size:12.5px; line-height:1.62;
}
@supports not (grid-template-rows: subgrid) {
  @media (min-width:861px) {
    .legal-card { display:flex; flex-direction:column; }
    .legal-card-body { min-height:132px; }
    .legal-effect { min-height:158px; }
  }
}

.faq-section { background: var(--section-neutral); }
.faq-grid { gap: clamp(48px,6vw,82px); }
.faq-grid > div:first-child p { max-width: 390px; font-size: 14px; line-height: 1.7; }
.accordion { border-top: 1px solid var(--hairline-strong); }
.accordion details { padding-inline: 0; border-bottom: 1px solid var(--hairline); border-radius: 0; background: transparent; }
.accordion summary { min-height: 70px; font-size: 14.5px; font-weight: 650; }
.accordion details p { margin-right: 48px; color: #56616c; font-size: 13.5px; line-height: 1.72; }

/* Closing CTA + footer */
.cta-section { padding: clamp(58px,5.5vw,72px) 0; background: var(--red-dark); }
.cta-section h2 { max-width: 680px; }
.cta-inner .button-light:hover { box-shadow: none; background: #f8f7f4; }
.site-footer { padding: 62px 0 24px; background: #e9e7e1; border-top-color: var(--hairline); }
.footer-grid { grid-template-columns: minmax(230px,1.35fr) repeat(4,minmax(110px,.65fr)); gap: 28px 32px; }
.footer-grid strong { font-size: 10px; }
.footer-grid a, .footer-grid span.item { font-size: 12.5px; }

.footer-bottom { margin-top: 46px; border-top-color: var(--hairline); font-size: 10.5px; }
.reveal { animation-duration: .4s; }
@keyframes reveal { from { opacity: 0; transform: translateY(8px); } }

/* 1024-ish compact desktop */
@media (max-width:1080px) {
  .nav-shell { min-height: 72px; }
  .mobile-nav { justify-content: flex-start; padding: 0 0 12px; gap: 10px 22px; }
  .hero-grid { grid-template-columns: minmax(0,1fr) minmax(320px,.74fr); gap: 42px; }
  .hero h1 { font-size: clamp(44px,5.7vw,62px); }
  .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-card, .service-card:last-child { min-height: 410px; border: 0; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
  .service-card:nth-child(2) { border-right: 0; }
  .service-card:last-child { grid-column: 1/-1; min-height: 0; border-right: 0; border-bottom: 0; }
  .core-pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .core-price-card { border-right:1px solid var(--hairline); border-bottom:1px solid var(--hairline); }
  .core-price-card:nth-child(2n) { border-right:0; }
  .core-price-card:nth-last-child(-n+2) { border-bottom:0; }
  #portal-access .public-contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #portal-access .public-contact-grid article:nth-child(2) { grid-column: 1/-1; min-height: 0; border-top: 1px solid var(--hairline); }
  #portal-access .public-contact-grid article:nth-child(3) { border-right: 0; }
  .footer-grid { grid-template-columns: minmax(230px,1.3fr) repeat(2,minmax(150px,1fr)); }
}

/* 768-ish tablet portrait */
@media (max-width:860px) {
  .legal-cards { grid-template-columns:1fr; }
  .legal-card-head { min-height:0; }
  .hero { padding-top: 58px; }
  .hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .hero-copy { max-width: 720px; }
  .quote-preview { max-width: 650px; box-shadow: 0 12px 28px rgba(17,26,39,.06); }
  .split-heading, .dark-heading { grid-template-columns: minmax(120px,.28fr) minmax(0,1fr); }
  .delivery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .delivery-grid article:nth-child(2) { border-right: 0; }
  .delivery-grid article:last-child { grid-column: 1/-1; border-top: 1px solid var(--hairline); }
  .public-contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-contact-grid article:nth-child(2) { border-right: 0; }
  .public-contact-grid article:last-child { grid-column: 1/-1; border-top: 1px solid var(--hairline); }
  .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .process-grid article, .process-grid article:not(:first-child) { min-height: 220px; padding: 24px; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
  .process-grid article:nth-child(2n) { border-right: 0; }
  .process-grid article:nth-last-child(-n+2) { border-bottom: 0; }
  .process-grid h3 { margin-top: 40px; }
}

/* 390-ish mobile */
@media (max-width:680px) {
  .legal-card { padding:22px 20px; }
  .legal-card h3 { font-size:24px; }
  .legal-card-footer { grid-template-columns:1fr; align-items:start; }
  .legal-regulation-link { width:100%; }
  :root { --shell: min(100% - 28px,1180px); }
  .nav-shell { gap: 9px; padding-block: 10px 11px; }
  .brand-logo { width: 38px; height: 38px; }
  .brand-copy strong { font-size: 15px; }
  .nav-actions { grid-template-columns: minmax(92px,.9fr) minmax(0,1fr) minmax(0,1.15fr); }
  .language-picker { min-width: 0; }
  .language-picker select { width: 100%; min-width: 0; padding-inline: 9px 26px; }
  .nav-actions .button, .language-picker select { min-height: 40px; height: 40px; }
  .hero-actions .button-large { min-height: 48px; height: 48px; }
  .hero-actions .button { flex: 0 1 auto; }
  .mobile-nav { overflow-x: auto; flex-wrap: nowrap; gap: 0 20px; padding: 8px 0 2px; border-top: 1px solid var(--hairline); scrollbar-width: none; }
  .mobile-nav::-webkit-scrollbar { display: none; }
  .mobile-nav a { flex: 0 0 auto; font-size: 11.5px; }
  .hero { padding: 46px 0 54px; }
  .hero h1 { font-size: clamp(38px,11.7vw,50px); line-height: 1.02; }
  .hero-lede { font-size: 15.5px; }
  .hero-actions { margin-top: 26px; }
  .quote-preview { padding: 20px 18px; border-radius: 4px; box-shadow: 0 10px 24px rgba(17,26,39,.055); }
  .form-pair, .form-pair.equal { grid-template-columns: 1fr; gap: 0; }
  .swap-button { display: none; }
  .section { padding: 66px 0; }
  .split-heading, .dark-heading { grid-template-columns: 1fr; gap: 18px; }
  .split-heading h2, .dark-heading h2, .faq-grid h2 { font-size: clamp(31px,9vw,40px); }
  .service-grid { grid-template-columns: 1fr; }
  .service-card, .service-card:last-child, .service-card:nth-child(2) { grid-column: auto; min-height: 0; padding: 22px 20px 24px; border: 0; border-bottom: 1px solid var(--hairline); }
  .service-card:last-child { border-bottom: 0; }
  .service-icon { margin: 34px 0 20px; }
  .core-pricing-grid { grid-template-columns:1fr; }
  .core-price-card,.core-price-card.compact { min-height:0; padding:21px 20px; border-right:0 !important; border-bottom:1px solid var(--hairline) !important; }
  .core-price-card:last-child { border-bottom:0 !important; }
  .core-price-card h3 { margin-top:18px; font-size:20px; }
  .core-price-card > strong { margin-top:20px; padding-top:0; }
  .core-price-service-copy { margin-top:18px; min-height:0 !important; }
  .core-price-service-copy .certified-heading,
  .core-price-service-copy > h3 { min-height:0 !important; }
  .core-price-service-copy > h3 { margin:0; }
  .core-price-service-value { margin-top:20px; }
  .core-pricing-head,.pricing-vat-note,.pricing-footnote { padding-inline:20px; }
  .delivery-heading { grid-template-columns: 1fr; }
  .delivery-grid, .public-contact-grid { grid-template-columns: 1fr; padding-inline: 18px; }
  .delivery-grid article, .delivery-grid article:last-child, .delivery-grid article:nth-child(2),
  .public-contact-grid article, .public-contact-grid article:last-child, .public-contact-grid article:nth-child(2) {
    grid-column: auto; min-height: 0; padding: 19px 0; border: 0; border-bottom: 1px solid var(--hairline);
  }
  .delivery-grid article:last-child, .public-contact-grid article:last-child { border-bottom: 0; }
  #portal-access { padding: 58px 0; }
  #portal-access .public-contact-grid { grid-template-columns: 1fr; padding: 0; }
  #portal-access .public-contact-grid article, #portal-access .public-contact-grid article:nth-child(2), #portal-access .public-contact-grid article:nth-child(3) {
    grid-column: auto; min-height: 0; padding: 20px; border: 0; border-bottom: 1px solid var(--hairline);
  }
  #portal-access .public-contact-grid article:first-child, #portal-access .public-contact-grid article:nth-child(3) { border-top: 0; }
  #portal-access .public-contact-grid article:nth-child(2) { border-bottom: 0; }
  #portal-access .public-contact-grid article > small { min-height: 0; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid article, .process-grid article:not(:first-child), .process-grid article:nth-child(2n), .process-grid article:nth-last-child(-n+2) {
    min-height: 0; padding: 22px 0; border: 0; border-bottom: 1px solid var(--hairline);
  }
  .process-grid article:last-child { border-bottom: 0; }
  .process-grid h3 { margin-top: 24px; }
  .process-grid p { max-width: none; }
  .legal-table td { padding: 17px; font-size: 13px; }
  .legal-note { font-size: 11px; }
  .accordion summary { min-height: 66px; font-size: 14px; }
  .accordion details p { margin-right: 26px; font-size: 13px; }
  .footer-grid { gap: 30px 24px; }
}

@media (max-width:440px) {
  :root { --shell: min(100% - 24px,1180px); }
  .nav-actions { grid-template-columns: minmax(88px,.9fr) 1fr; }
  .nav-actions .button-primary { grid-column: 1/-1; width: 100%; }
  .hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .hero-actions .button { width: 100%; }
  .hero-secondary-cta { min-width: 0; }
  .hero h1 { font-size: clamp(36px,11.4vw,46px); }
  .hero-proof { font-size: 11px; }
  #portal-access .public-contact-panel h3 { font-size: 28px; }
  .footer-grid { grid-template-columns: 1fr; }
}

.certification-info-popover strong{text-transform:none!important;letter-spacing:normal!important;font-weight:650!important;font-size:.72rem!important;line-height:1.35!important}
.certification-info-popover > span{text-transform:none!important;letter-spacing:normal!important;font-weight:400!important}
.certification-info-popover a{text-transform:none!important;letter-spacing:normal!important;font-weight:650!important}
