/* =====================================================================
   S. K. Agency, Round 32 layer: type, spacing, quiet motion.
   Loaded AFTER r31.css. r31.css is never edited; everything here overrides it.
   Type: one modular clamp scale (360 to 1200px), tracking tightens with size,
   one 12px caps label voice, numerals set by role. Open Sans 400/600/700 only.
   Spacing: 4px rhythm tokens for sections, heads, grids, cards, prose, footer.
   Motion: opacity plus the individual translate and scale properties only
   (never the transform shorthand, so r31 transform:none!important rules stay
   intact). Reveals exist only under html.r32-js, which r32.js adds after it has
   confirmed IntersectionObserver and no reduced-motion preference, and only on
   elements that were below the fold at load. Scroll-driven image motion sits
   inside @supports and starts at the identity frame (LCP unchanged).
   No immersive patterns (Round 18): no pinning, snapping, count-up or loops.
   ===================================================================== */

:root{
  /* Type scale: linear clamp from 360px to 1200px, whole pixels at both ends */
  --fs-display:clamp(33px,2.26vw + 24.86px,52px);
  --fs-h1:clamp(26px,1.9vw + 19.14px,42px);
  --fs-h2-section:clamp(27px,1.07vw + 23.14px,36px);
  --fs-h2:clamp(23px,.83vw + 20px,30px);
  --fs-h3:clamp(19px,.24vw + 18.14px,21px);
  --fs-stat:clamp(34px,1.67vw + 28px,48px);
  --fs-fig:clamp(19px,.36vw + 17.71px,22px);
  --fs-intro:clamp(19px,.36vw + 17.71px,22px);
  --fs-lead:clamp(18px,.24vw + 17.14px,20px);
  --fs-body:clamp(16px,.12vw + 15.57px,17px);
  --fs-data:15px;--fs-small:14px;--fs-micro:13px;--fs-label:12px;
  --lh-body:1.7;--measure:68ch;
  --tr-display:-.026em;--tr-h1:-.022em;--tr-h2s:-.02em;--tr-h2:-.015em;--tr-h3:-.008em;--tr-label:.09em;
  /* Spacing: 4px base */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--s9:48px;--s10:56px;--s11:64px;--s12:80px;--s13:96px;
  --section-y:clamp(56px,4.76vw + 38.86px,96px);
  --band-gap:clamp(40px,2.86vw + 29.71px,64px);
  --head-gap:clamp(28px,2.38vw + 19.43px,48px);
  --grid-gap:clamp(12px,1.43vw + 6.86px,24px);
  --card-pad:clamp(20px,.48vw + 18.29px,24px);
  --h2-above:clamp(40px,1.9vw + 33.14px,56px);
  /* Motion: one easing (same curve as r31 --ease) */
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --d-ui:200ms;--d-reveal:560ms;--d-reveal-lg:640ms;
}
@media (max-width:767.98px){:root{--lh-body:1.65}}

/* ---------- Type: global ---------- */
html{font-synthesis-weight:none}
body{font-kerning:normal}

/* Display and headings */
.r31-hero h1{font:700 var(--fs-display)/1.06 var(--f);letter-spacing:var(--tr-display);margin:0 0 var(--s5)}
.breadcum h1{font:700 var(--fs-h1)/1.1 var(--f);letter-spacing:var(--tr-h1)}
.main .expertise h2.title,.main .expertise h1.title,.sk-agency h2.title,.r31-reviews h2,.affiliation h2.title{
  font:700 var(--fs-h2-section)/1.14 var(--f);letter-spacing:var(--tr-h2s);color:var(--sk-ink)}
.r31-prose > h2,.disclaimer-content h2.f-sm-bold,.privacy-content h2,.overview h2.f-sm-bold,
.services [data-sk="svc"],.container-dimnsn h2,.container-dimnsn .title{
  font-size:var(--fs-h2)!important;line-height:1.2!important;letter-spacing:var(--tr-h2)!important}
.r31-prose h3,.privacy-content h3.sk-h3-policy{font:700 var(--fs-h3)/1.3 var(--f)!important;letter-spacing:var(--tr-h3)}
.services [data-sk="svc-first"]{font:600 var(--fs-h3)/1.4 var(--f)!important;letter-spacing:var(--tr-h3)}
.contact .get-in-touch h2{font:700 var(--fs-h2)/1.2 var(--f);letter-spacing:var(--tr-h2)}
.container-dimnsn .comparisonTable strong{font:700 var(--fs-h3)/1.3 var(--f)!important;letter-spacing:var(--tr-h3)}

/* Lead and reading text */
.r31-hero__lead{font:400 var(--fs-lead)/1.55 var(--f);letter-spacing:-.003em;margin:0 0 var(--s7)}
.sk-agency .sk-intro{font:600 var(--fs-intro)/1.45 var(--f)!important;letter-spacing:-.005em}
.r31-prose p,.r31-prose li,.privacy-content p,.overview p,.sk-agency .info-box p,
.services .card-body p,.services .card-body li{font-weight:400;font-size:var(--fs-body);line-height:var(--lh-body)}
.main .expertise .sub-title,.affiliation .sub-title,.affiliation .sk-subtitle,.r31-reviews__sum{
  font-weight:400!important;font-size:var(--fs-body)!important;line-height:1.6!important;max-width:58ch;text-wrap:balance}
.r31-prose{overflow-wrap:break-word}
.r31-prose blockquote{font:400 var(--fs-body)/1.65 var(--f)}

/* Figures */
.couting .count-box .sk-stat{font:700 var(--fs-stat)/1 var(--f);letter-spacing:-.03em}
.couting .count-box .plus{font-size:calc(var(--fs-stat) * .62)}
.r31-proof b{font:700 var(--fs-fig)/1.2 var(--f);letter-spacing:-.012em}
.r31-proof span,.r31-review figcaption,.r31-lane-n,.r31-talk-hours,.r31-talk-addr{font-size:var(--fs-small);letter-spacing:.003em}
.r31-talk-phone{font-size:clamp(22px,.24vw + 21.14px,24px)}

/* Card and tile titles */
.expertise .wrapp .caption p{font:700 clamp(16px,.24vw + 15.14px,18px)/1.35 var(--f)!important;letter-spacing:-.005em}
.r31-lane-v{font:700 clamp(17px,.12vw + 16.57px,18px)/1.35 var(--f)}
.address .address_top h2{font:700 17px/1.35 var(--f)!important;letter-spacing:-.003em}

/* Numerals by role. Kept after every font shorthand above (and in r31), because
   the shorthand resets font-variant-numeric to normal. */
.couting .count-box .sk-stat,.r31-proof b{font-variant-numeric:lining-nums proportional-nums}
.r31-strip-hours,header .hdr-value,header a.hdr-value,.r31-lane-v,.r31-foot-reg li,.r31-reg dd,.r31-talk-phone{font-variant-numeric:tabular-nums lining-nums}

/* One label voice: 12px, 700, caps, +.09em */
.r31-label,.r31-reg dt,.r31-lane-t,.sk-loc-facts b,.services .right_service h2,.r31-table-wrap th{
  font-size:var(--fs-label)!important;font-weight:700!important;line-height:1.3!important;letter-spacing:var(--tr-label)!important;text-transform:uppercase}
footer .column h2{font:700 var(--fs-label)/1.3 var(--f)!important;letter-spacing:var(--tr-label)}
@media (min-width:768px){.hdr-label{letter-spacing:var(--tr-label)}}

/* Header contact values: legacy bundle sets line-height:.2 on these links, which made them overlap their labels */
.main-header .contact-info ul li .hdr-value{line-height:1.3}

/* Small print */
.r31-foot-reg li,footer .btm-strip p,footer .btm-strip a,body .sk-groupbar p{font-size:var(--fs-micro);letter-spacing:.005em}
/* Running text never below 16px on phones (r31 sets 15px!important on these) */
@media (max-width:767.98px){.team_intro p{font-size:16px!important;line-height:1.65!important}}
@media (max-width:767.98px){footer .footer p,.address .address_body .address_main,.address .address_body .address_main a{font-size:16px!important;line-height:1.6!important}}

/* Links: underline always kept; colour fade only */
.r31-prose a:not(.r31-btn):not(.btn):not(.p):not(.s){text-underline-offset:.18em;text-decoration-skip-ink:auto;
  transition:color var(--d-ui) var(--ease-out),text-decoration-color var(--d-ui) var(--ease-out)}
.sk-agency .info-box p a:not(.btn):not(.r31-btn),.overview p a:not(.btn):not(.r31-btn),.services .card-body p a:not(.btn):not(.r31-btn){
  color:var(--sk-teal);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-skip-ink:auto;
  text-decoration-color:rgba(0,103,104,.4);transition:color var(--d-ui) var(--ease-out),text-decoration-color var(--d-ui) var(--ease-out)}
.sk-agency .info-box p a:not(.btn):not(.r31-btn):hover,.overview p a:not(.btn):not(.r31-btn):hover,.services .card-body p a:not(.btn):not(.r31-btn):hover{
  color:var(--sk-teal-dark);text-decoration-color:currentColor}

/* Review quotes: every quote opens with a curly mark (transform adds &ldquo;), hang it */
.r31-review blockquote{text-indent:-.42em}

/* ---------- Spacing ---------- */
/* Gutters: one 16px value below 768, the same as r31's hero and proof card
   (header excluded so the logo and burger do not move) */
@media (max-width:767.98px){.container:not(header .container){padding-left:16px;padding-right:16px}}

/* Homepage sections */
.expertise,.sk-agency,.r31-reviews,.affiliation{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.main .couting{padding:calc(var(--section-y) * .75) 0}
.main .expertise h2.title,.r31-reviews h2,.affiliation h2.title{margin:0}
.main .expertise .sub-title,.affiliation .sub-title,.affiliation .sk-subtitle{margin:var(--s3) auto var(--head-gap)!important}
.r31-reviews__sum{margin:var(--s3) auto var(--head-gap)}
.sk-agency > h2.title{margin:0 0 var(--head-gap)}
.r31-tiles,.r31-reviews__grid,.r31-lanes{gap:var(--grid-gap)}
@media (min-width:992px){.r31-tiles > :last-child:nth-child(3n+1) .img-box{flex-basis:calc((100% - 2 * var(--grid-gap)) / 3 + 1px)}}
.r31-review{padding:var(--card-pad);gap:var(--s3)}
@media (min-width:992px){.r31-review{padding:var(--s7)}}
.r31-reviews__more{margin-top:var(--s7)}
.r31-proof a{padding:var(--s5) var(--s6)}
@media (max-width:767.98px){.r31-proof a{padding:var(--s4) var(--s3)}.affiliation .container{gap:var(--s3)}}

/* Title band and band-to-content */
.breadcum .breadcum_container{gap:var(--s3);padding-top:var(--s7);padding-bottom:var(--s8)}
@media (max-width:767.98px){.breadcum .breadcum_container{gap:var(--s2);padding-top:var(--s6);padding-bottom:28px}}
.disclaimer-content,.privacy-content{padding:var(--band-gap) 0 var(--section-y)}
.overview{padding:var(--band-gap) 0 var(--s6)}
.services{padding:var(--band-gap) 0 var(--section-y)}
.r31-fastlane{padding-top:var(--band-gap)}

/* Prose rhythm: paragraph gap = .75 of a body line */
.r31-prose p{margin:0 0 calc(var(--fs-body) * var(--lh-body) * .75)}
.r31-prose > h2,.disclaimer-content h2.f-sm-bold{margin:var(--h2-above) 0 var(--s4)}
.r31-prose h3{margin:var(--s7) 0 var(--s2)}
.privacy-content h3.sk-h3-policy{margin:var(--s7) 0 var(--s2)!important}
.r31-prose > h2 + h3{margin-top:var(--s4)}
.r31-prose ul,.r31-prose ol{margin:0 0 var(--s6)}
.r31-prose li{margin-bottom:var(--s2)}
.r31-prose blockquote{margin:var(--s7) 0!important}
.r31-table-wrap{margin-bottom:var(--s7)}
@media (max-width:767.98px){
  .r31-prose > h2,.disclaimer-content h2.f-sm-bold{margin-bottom:var(--s3)}
  .r31-table-wrap{margin-bottom:var(--s6)}
}

/* Rail */
.r31-rail{gap:var(--s5)}
.r31-card{padding:var(--card-pad)}
@media (max-width:991.98px){.r31-rail{margin-top:var(--s9);gap:var(--s3)}}

/* Footer */
footer .footer{padding:var(--s11) 0 var(--s8)}
.r31-foot-reg{margin-top:var(--s6)}
footer .btm-strip,body .sk-groupbar{padding:var(--s4) 0}
@media (max-width:575.98px){footer .footer{padding:var(--s9) 0 var(--s7)}}

/* ---------- Motion ---------- */
/* Reveals: hidden state needs html.r32-js AND motion allowed (CSS alone never hides) */
@media (prefers-reduced-motion:no-preference){
  html.r32-js [data-r32]{transition:opacity var(--d-reveal) var(--ease-out) var(--r32-d,0ms),translate var(--d-reveal) var(--ease-out) var(--r32-d,0ms)}
  html.r32-js [data-r32]:not(.r32-in){opacity:0;translate:0 var(--r32-y,16px)}
  html.r32-js .r31-tiles > [data-r32]{--r32-y:20px;transition-duration:var(--d-reveal-lg)}
  html.r32-js :is(h2,.sub-title,.sk-subtitle,.r31-reviews__sum,.r31-reviews__more)[data-r32],
  html.r32-js .couting [data-r32]{--r32-y:12px}
  html.r32-js .affiliation .image_item[data-r32]{--r32-y:0px}
  html.r32-js [data-r32].r32-now{transition:none}
}
html.r32-done [data-r32]{opacity:1!important;translate:none!important;transition:none!important}

/* Scroll-driven image motion: progressive, static r31 image without support.
   Hero and band start at scale 1 and grow only while leaving (exit range), so the
   first frame and LCP match r31.
   view() binds to the nearest scroll container, and overflow:hidden makes one, so
   the clipping boxes switch to overflow:clip (same clip, not a scroller) and the
   timelines track the page. view(block 0px) ignores html scroll-padding, so the
   range does not shift with --hdr-live and scroll 0 is the identity frame. */
@supports (animation-timeline:view()) and (scale:1){
  .r31-hero,.breadcum,.breadcum .parallax-container,.expertise .wrapp,.expertise .img-box{overflow:clip}
  @media (prefers-reduced-motion:no-preference){
    .r31-hero__img{transform-origin:70% 100%;animation:r32-grow linear both;animation-timeline:view(block 0px);animation-range:exit 0% exit 100%}
    .breadcum img{transform-origin:50% 100%;
      animation:r32-grow linear both;animation-timeline:view(block 0px);animation-range:exit 0% exit 100%}
    .expertise .wrapp img{animation:r32-settle linear both;animation-timeline:view(block 0px);animation-range:entry 0% cover 40%}
  }
}
@keyframes r32-grow{from{scale:1}to{scale:1.05}}
@keyframes r32-settle{from{scale:1.05}to{scale:1}}

/* Header compaction: legacy .shrink geometry kept; the soft shadow becomes an
   opacity-faded layer. r32.js toggles header.r32-scrolled with hysteresis. */
header::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px;pointer-events:none;
  background:linear-gradient(rgba(2,32,33,.10),rgba(2,32,33,0));opacity:0;transition:opacity var(--d-ui) var(--ease-out)}
header.r32-scrolled::after{opacity:1}
@media (min-width:768px){header.shrink{box-shadow:0 1px 0 var(--sk-line)}}

/* Reading progress: long .r31-prose pages only, a 2px line just under the header,
   clear of the nav row's active and hover underline. Teal on the white page (6.4:1);
   the fill stays at 0 until the title band has scrolled away. */
.r32-progress{position:absolute;left:0;right:0;top:100%;height:2px;z-index:3;pointer-events:none}
.r32-progress[hidden]{display:none}
.r32-progress span{display:block;height:100%;background:var(--sk-teal);transform:scaleX(0);transform-origin:0 50%}

/* Talk card lifts once the register has scrolled past (desktop, sticky case only) */
@media (min-width:992px) and (min-height:761px){
  .r31-rail > .r31-talk::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:var(--sh-float);
    opacity:0;pointer-events:none;transition:opacity 250ms var(--ease-out)}
  .r31-rail > .r31-talk.r32-stuck::after{opacity:1}
}

/* Desktop dropdown entrance: works for .show (display toggle); closing is instant */
@media (min-width:768px) and (prefers-reduced-motion:no-preference){
  header .navbar-nav .dropdown-menu{transition:opacity 180ms var(--ease-out),translate 180ms var(--ease-out)}
  @starting-style{header .navbar-nav .dropdown-menu{opacity:0;translate:0 -6px}}
}

/* Arrow nudge on hover or keyboard focus */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .r31-more::after,.expertise .wrapp .btn::after{display:inline-block;transition:translate var(--d-ui) var(--ease-out)}
  .r31-more:hover::after,.r31-more:focus-visible::after,
  .expertise a:hover .wrapp .btn::after,.expertise a:focus-visible .wrapp .btn::after{translate:3px 0}
}

/* ---------- Kill switches ---------- */
@media (prefers-reduced-motion:reduce){
  html [data-r32]{opacity:1!important;translate:none!important;transition:none!important}
  .r31-hero__img,.breadcum img,.expertise .wrapp img,header .navbar-nav .dropdown-menu{animation:none!important;scale:none!important}
  .r31-more::after,.expertise .wrapp .btn::after{translate:none!important}
  header::after,.r31-rail > .r31-talk::after{transition:none!important}
}
@media print{
  html [data-r32],html.r32-js [data-r32]{opacity:1!important;translate:none!important;transition:none!important}
  .r32-progress,header::after,.r31-rail > .r31-talk::after{display:none!important}
  .r31-hero__img,.breadcum img,.expertise .wrapp img{animation:none!important;scale:none!important}
}

/* ---------- Careers apply form (career.php), rebuilt 3 Nov 2026 ----------
   Stock image column replaced by a deep-teal panel (markup in career.php);
   same card language as the contact form. Labels and validation JS untouched. */
.apply_form{padding:var(--section-y) 0;background:var(--sk-paper);box-shadow:none!important}
.apply_form > .container > h2.f-sm-bold{font:700 var(--fs-h2-section)/1.14 var(--f)!important;letter-spacing:var(--tr-h2s);color:var(--sk-ink)!important;margin:0 0 var(--head-gap)!important;padding:0!important;text-align:left}
.apply_form .form_div{background:#fff;border:1px solid var(--sk-line);border-radius:var(--sk-r-lg);overflow:hidden;box-shadow:0 1px 2px rgba(2,32,33,.04),0 12px 32px rgba(2,32,33,.06)!important;padding:0!important}
.apply_form > .container{box-shadow:none!important;background:transparent!important}
.apply_form .form_div > .row{margin:0}
.apply_form .form_div > .row > [class*="col-"]{padding:0}
.sk-apply-panel{background:var(--sk-teal-deep);color:var(--sk-on-dark);padding:var(--s8) var(--s7)!important;display:flex;flex-direction:column;gap:var(--s5)}
.sk-apply-panel .r31-label{color:var(--sk-on-dark-accent);margin:0}
.sk-apply-roles{list-style:none;margin:0;padding:0}
.sk-apply-roles li{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3) 0;border-top:1px solid var(--sk-line-dark);font:600 var(--fs-body)/1.45 var(--f);color:#fff}
.sk-apply-roles li:last-child{border-bottom:1px solid var(--sk-line-dark)}
.sk-apply-roles li::before{content:"";flex:none;width:6px;height:6px;margin-top:.6em;border-radius:50%;background:var(--sk-on-dark-accent)}
.sk-apply-panel .sk-apply-note{margin:auto 0 0;font-size:var(--fs-small);line-height:1.6;color:var(--sk-on-dark)}
.sk-apply-panel .sk-apply-note a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:.18em;text-decoration-color:rgba(255,255,255,.5)}
.sk-apply-panel .sk-apply-note a:hover{text-decoration-color:#fff}
.sk-apply-panel a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.apply_form .form_section{padding:var(--s8) var(--s7)!important}
.apply_form .sk-form-note{font-size:var(--fs-body)!important;line-height:1.6!important;color:var(--sk-body)!important;margin:0 0 var(--s4)!important}
.apply_form .req{color:var(--sk-error)}
.apply_form label.hide_label1:not(.hide_label){position:static;display:block;margin:0 0 var(--s2);font:600 var(--fs-small)/1.3 var(--f);color:var(--sk-ink)}
.apply_form #cf-resume{display:block;width:100%;height:auto!important;padding:var(--s4)!important;background:var(--sk-paper)!important;border:1.5px dashed #9fb0b0!important;border-radius:var(--sk-r-card)!important;box-shadow:none!important;font:400 15px/1.4 var(--f);color:var(--sk-muted);cursor:pointer;transition:border-color var(--d-ui) var(--ease-out),background-color var(--d-ui) var(--ease-out)}
.apply_form #cf-resume:hover{border-color:var(--sk-teal)!important;background:var(--sk-tint)!important}
.apply_form #cf-resume:focus-visible{outline:3px solid var(--sk-teal-bright);outline-offset:2px}
.apply_form #cf-resume::file-selector-button{font:600 15px/1 var(--f);color:var(--sk-teal);background:#fff;border:1.5px solid var(--sk-teal);border-radius:var(--sk-r-ctl);padding:11px 18px;margin-right:var(--s4);cursor:pointer;transition:background-color var(--d-ui) var(--ease-out),color var(--d-ui) var(--ease-out)}
.apply_form #cf-resume:hover::file-selector-button{background:var(--sk-teal);color:#fff}
.apply_form .sk-hint{display:block;margin-top:var(--s2);font-size:var(--fs-small)!important;line-height:1.4;color:var(--sk-muted)!important}
.apply_form .form-group:has(.g-recaptcha){display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4);margin:var(--s6) 0 0;clear:both}
.apply_form .form-group:has(.g-recaptcha) .g-recaptcha,.apply_form .form-group:has(.g-recaptcha) .submit_btn{float:none!important;margin:0!important}
.apply_form .form-group:has(.g-recaptcha) .submit_btn{min-height:52px;padding:0 28px;font-size:16px}
.apply_form .form-group:has(.g-recaptcha) .sk-cap-err{flex-basis:100%;margin:0}
@media (max-width:767.98px){
  .sk-apply-panel{order:2;padding:var(--s7) var(--s5)!important}
  .apply_form .form_section{padding:var(--s7) var(--s5)!important}
  .apply_form .form-group:has(.g-recaptcha) .submit_btn{width:100%;justify-content:center}
}

/* =====================================================================
   Round 33 (3 Nov 2026): legacy components found in the screenshot pass,
   brought into the Round 31/32 card language.
   ===================================================================== */

/* About: credentials + call rail replaces the sticky logo artwork (transform) */
.overview .row > .r33-about-rail{position:static!important;top:auto!important}
@media (min-width:992px){
  .overview .row{display:grid;grid-template-columns:minmax(0,1fr) 280px;column-gap:48px;align-items:stretch;margin:0}
  .overview .row > [class*="col-"]{max-width:none;flex:none;width:auto;padding:0}
  .overview_left > *{max-width:var(--measure)}
  .r33-about-rail .r31-rail{height:100%}
}
@media (min-width:1200px){.overview .row{grid-template-columns:minmax(0,1fr) 320px;column-gap:72px}}
@media (max-width:991.98px){.overview .row > .r33-about-rail{flex:0 0 100%;max-width:100%}}

/* About: certificates as a static logo grid (was an arrow carousel over a photo) */
.r33-certs{padding:var(--section-y) 0;background:var(--sk-paper)}
.r33-certs h2{font:700 var(--fs-h2-section)/1.14 var(--f)!important;letter-spacing:var(--tr-h2s);color:var(--sk-ink)!important;text-align:center;margin:0 0 var(--head-gap)!important}
.r33-cert-grid{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gap);max-width:960px}
.r33-cert-grid li{display:grid;place-items:center;aspect-ratio:16/10;padding:var(--s5);background:#fff;border:1px solid var(--sk-line);border-radius:var(--sk-r-card)}
.r33-cert-grid img{width:100%;height:auto;max-height:100%;object-fit:contain}
@media (max-width:767.98px){.r33-cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* About: values as four cards */
.safety_quality{padding:var(--section-y) 0}
.safety_quality h2.f-sm-bold{font:700 var(--fs-h2-section)/1.14 var(--f)!important;letter-spacing:var(--tr-h2s);color:var(--sk-ink)!important;margin:0 0 var(--head-gap)!important;padding:0!important}
.safety_quality h2::before,.safety_quality h2::after,.r33-value h3::before,.r33-value h3::after{content:none!important;display:none!important}
.r33-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gap)}
.r33-value{padding:var(--card-pad);background:#fff;border:1px solid var(--sk-line);border-top:3px solid var(--sk-teal);border-radius:var(--sk-r-card)}
.r33-value h3.sk-value{font:700 var(--fs-h3)/1.3 var(--f)!important;letter-spacing:var(--tr-h3);color:var(--sk-ink)!important;margin:0 0 var(--s3)!important;padding:0!important}
.r33-value p{font-size:var(--fs-body)!important;line-height:1.6!important;color:var(--sk-body)!important;margin:0!important;padding:0!important}
@media (max-width:991.98px){.r33-values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:575.98px){.r33-values{grid-template-columns:1fr}}

/* Services: the tab title reads as a heading on desktop (the accordion stays on phones) */
@media (min-width:768px){
  .services .tab-pane > .card{border:0;background:none}
  .services .tab-pane .card-header{background:none!important;border:0!important;padding:0!important;margin:0 0 var(--s5)}
  .services .tab-pane .card-header .btn-link{display:block;width:100%;padding:0;font:700 var(--fs-h2)/1.2 var(--f)!important;letter-spacing:var(--tr-h2);color:var(--sk-ink)!important;text-decoration:none!important;text-align:left;white-space:normal;pointer-events:none;cursor:default;box-shadow:none!important}
  .services .tab-pane .card-header .btn-link i{display:none!important}
}

/* Our Work gallery: hover overlay instead of a stray grey square */
.image_gallery{padding:var(--s6) 0 var(--section-y)!important}
.image_gallery .row > [class*="col-"]{margin-bottom:var(--grid-gap)}
.image_gallery .img-box{position:relative;border-radius:var(--sk-r-card);overflow:hidden}
.image_gallery .img-box a{display:block;position:relative}
.image_gallery .img-box img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.image_gallery .overlay{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;margin:0!important;display:grid!important;place-items:center;background:rgba(12,45,46,.45)!important;border-radius:0!important;opacity:0!important;transition:opacity var(--d-ui) var(--ease-out)}
.image_gallery a:hover .overlay,.image_gallery a:focus-visible .overlay{opacity:1!important}
.image_gallery .overlay span{opacity:1!important;color:#fff!important;font-size:28px;transform:none!important}

/* Team: bios aligned with the names, rounded photos, quieter role line */
.team_member .ig_box img{display:block;border-radius:var(--sk-r-card)}
.team_member p{padding-left:0!important;margin-left:0!important;color:var(--sk-body)}
.team_intro .bottom h3.sk-h3-role{font:600 var(--fs-small)/1.4 var(--f)!important;letter-spacing:.02em;color:var(--sk-teal)!important;margin:var(--s1) 0 var(--s4)!important;padding:0!important}

/* Tracking: carrier links as tappable chips in two cards */
.tracking{padding:var(--s6) 0 var(--section-y)!important}
.tracking .content{padding:var(--s7)!important;margin-bottom:var(--grid-gap);background:#fff;border:1px solid var(--sk-line);border-radius:var(--sk-r-lg)}
.tracking .trk_title{margin:0 0 var(--s5)!important}
.tracking .trk_title h2{font:700 var(--fs-label)/1.3 var(--f)!important;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--sk-teal)!important;margin:0!important}
.tracking .trk_title_line{display:none!important}
.tracking .trk_list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--s2);margin:0!important;padding:0!important;columns:auto!important}
.tracking .trk_list li{width:auto!important;float:none!important;margin:0!important;padding:0!important}
.tracking .trk_list li::before,.tracking .trk_list a::before{content:none!important;display:none!important}
.tracking .trk_list a{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:48px;padding:var(--s3) var(--s4)!important;background:#fff;border:1px solid var(--sk-line);border-radius:var(--sk-r-ctl);font:600 15px/1.3 var(--f)!important;color:var(--sk-ink)!important;text-decoration:none!important;transition:border-color var(--d-ui) var(--ease-out),background-color var(--d-ui) var(--ease-out)}
.tracking .trk_list a::after{content:"\2197";flex:none;color:var(--sk-teal);font-weight:400}
.tracking .trk_list a:hover,.tracking .trk_list a:focus-visible{border-color:var(--sk-teal);background:var(--sk-tint)}

/* Unit converters: real inputs and buttons */
.convertions{padding:var(--s6) 0 var(--section-y)!important}
.convertions input[type="text"],.convertions select{width:100%!important;min-width:72px;height:44px!important;padding:0 10px!important;background:#fff!important;border:1px solid #9fb0b0!important;border-radius:var(--sk-r-ctl)!important;box-shadow:none!important;font:400 16px/1 var(--f)!important;color:var(--sk-ink)!important}
.convertions input[type="text"]:focus,.convertions select:focus{outline:none;border-color:var(--sk-teal)!important;box-shadow:0 0 0 3px rgba(15,132,116,.2)!important}
.convertions .buttn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px!important;margin:var(--s3) var(--s1) var(--s1)!important;background:var(--sk-teal)!important;border:1.5px solid var(--sk-teal)!important;border-radius:var(--sk-r-ctl)!important;font:600 15px/1 var(--f)!important;color:#fff!important;cursor:pointer;transition:background-color var(--d-ui) var(--ease-out),color var(--d-ui) var(--ease-out)}
.convertions input[type="reset"].buttn{background:#fff!important;color:var(--sk-teal)!important}
.convertions .buttn:hover{background:var(--sk-teal-dark)!important;border-color:var(--sk-teal-dark)!important;color:#fff!important}

/* Container dimensions: left-aligned category headings, image and title in one row */
.comparisonTable p.textR{text-align:left!important;margin:var(--s9) 0 var(--s4)!important}
.comparisonTable p.textR strong{font:700 var(--fs-h2)/1.2 var(--f)!important;letter-spacing:var(--tr-h2);text-transform:none!important;color:var(--sk-ink)!important}
.comparisonTable .tableContainer td.tdContainer{width:200px!important;padding:0 var(--s5) var(--s4) 0!important;text-align:left!important;vertical-align:middle}
.comparisonTable .tdContainer img{width:180px;height:auto;border-radius:var(--sk-r-card);background:var(--sk-paper)}
.comparisonTable .tdContainer + td{width:auto!important;text-align:left!important}
.comparisonTable .tdContainer + td b{font:700 var(--fs-h3)/1.3 var(--f)!important;color:var(--sk-ink)}

/* Downloads: three clean cards (markup rebuilt) */
.download_main{padding:var(--s6) 0 var(--section-y)!important}
.r33-dl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap);align-items:start}
.r33-dl-card{padding:var(--card-pad);background:#fff;border:1px solid var(--sk-line);border-radius:var(--sk-r-lg)}
.r33-dl-card h2{display:flex;align-items:center;gap:var(--s3);margin:0 0 var(--s3)!important;padding:0 0 var(--s4)!important;border-bottom:1px solid var(--sk-line);font:700 var(--fs-h3)/1.3 var(--f)!important;color:var(--sk-ink)!important}
.r33-dl-card h2 [class^="icon-"]{position:static!important;flex:none;display:grid;place-items:center;width:40px;height:40px;margin:0!important;background:var(--sk-tint);border-radius:10px;font-size:20px;color:var(--sk-teal)}
.r33-dl-card ul{list-style:none;margin:0;padding:0}
.r33-dl-card li{margin:0;padding:0}
.r33-dl-card li::before{content:none!important}
.r33-dl-card a{display:flex;align-items:center;gap:var(--s3);min-height:48px;padding:var(--s2) var(--s3);margin:0 calc(var(--s3) * -1);border-radius:var(--sk-r-ctl);font:600 15px/1.35 var(--f);color:var(--sk-ink)!important;text-decoration:none!important;transition:background-color var(--d-ui) var(--ease-out)}
.r33-dl-card a:hover,.r33-dl-card a:focus-visible{background:var(--sk-tint)}
.r33-dl-name{flex:1}
.r33-dl-type{flex:none;padding:4px 6px;border:1px solid var(--sk-line);border-radius:4px;font:700 11px/1 var(--f);letter-spacing:.06em;color:var(--sk-muted)}
.r33-dl-card a [class^="icon-"],.r33-dl-go{position:static!important;flex:none;font-size:16px;color:var(--sk-teal)}
@media (max-width:991.98px){.r33-dl-grid{grid-template-columns:1fr 1fr}}
@media (max-width:575.98px){.r33-dl-grid{grid-template-columns:1fr}}

/* Sitemap: four clean columns, no mixed bullets */
.sitemap-content{padding:0 0 var(--section-y)!important}
.sitemap-content .row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s7);margin:0}
.sitemap-content .row > [class*="col-"]{max-width:none;flex:none;width:auto;padding:0}
.sitemap-content ul{list-style:none!important;margin:0!important;padding:0!important}
.sitemap-content li{margin:0!important;padding:0!important;list-style:none!important}
.sitemap-content li::before{content:none!important;display:none!important}
.sitemap-content .row > div > ul > li:has(> ul){margin-bottom:var(--s6)!important;font:700 var(--fs-label)/1.3 var(--f);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--sk-teal)}
.sitemap-content li ul{margin-top:var(--s3)!important}
.sitemap-content a{display:inline-block;padding:5px 0;font:400 15px/1.4 var(--f);letter-spacing:0;text-transform:none;color:var(--sk-ink)!important;text-decoration:none}
.sitemap-content a:hover,.sitemap-content a:focus-visible{color:var(--sk-teal)!important;text-decoration:underline}
@media (max-width:767.98px){.sitemap-content .row{grid-template-columns:1fr 1fr}}

/* 404 (markup rebuilt) */
.r33-404{padding:var(--section-y) 0;text-align:center}
.r33-404-code{margin:0 0 var(--s3)!important;font:700 clamp(72px,8vw,120px)/1 var(--f);letter-spacing:-.04em;color:#cfe3e3}
.r33-404 h2{margin:0 0 var(--s3);font:700 var(--fs-h2-section)/1.14 var(--f);letter-spacing:var(--tr-h2s);color:var(--sk-ink)}
.r33-404 p:not(.r33-404-code){max-width:52ch;margin:0 auto var(--s6);font-size:var(--fs-body);line-height:1.6;color:var(--sk-body)}
.r33-404-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s3)}

/* Round 33 follow-ups: services tab title at heading size; gallery corner square and dark wash removed */
.services .card-body h2[data-sk],.services [data-sk="svc-first"]{font:700 var(--fs-h2)/1.2 var(--f)!important;letter-spacing:var(--tr-h2)!important;color:var(--sk-ink)!important;margin:0 0 var(--s5)!important}
.image_gallery .img-box::after,.image_gallery .light_img::before{content:none!important;display:none!important}
.r33-404 p.r33-404-code{font:700 clamp(72px,8vw,120px)/1 var(--f)!important;letter-spacing:-.04em!important;color:#a9cfcd!important;margin:0 0 var(--s3)!important}

/* Round 33 phone fixes: services accordion in brand teal without a repeated title; converters as label/input pairs */
@media (max-width:767.98px){
  .services .tab-pane > .card{border:0!important;background:none!important;margin-bottom:var(--s2)}
  .services .tab-pane .card-header{padding:0!important;border:0!important;background:none!important}
  .services .tab-pane .card-header .btn-link{display:flex!important;align-items:center;justify-content:space-between;gap:var(--s3);width:100%;min-height:52px;padding:var(--s3) var(--s4)!important;background:var(--sk-teal-deep)!important;border:0!important;border-radius:var(--sk-r-ctl)!important;font:600 16px/1.35 var(--f)!important;color:#fff!important;text-align:left;text-decoration:none!important;white-space:normal;box-shadow:none!important}
  .services .tab-pane .card-header .btn-link i{color:var(--sk-on-dark-accent)}
  .services .card-body h2[data-sk]{display:none!important}
  .services .tab-pane .card-body{padding:var(--s4) 0 var(--s5)!important}
  .convertions .r31-table-wrap{overflow:visible!important}
  .convertions .r31-table-wrap > table{display:block!important;width:100%!important;min-width:0!important}
  .convertions .r31-table-wrap > table > tbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:var(--s3);row-gap:var(--s2);align-items:center;padding:var(--s4)}
  .convertions .r31-table-wrap > table > tbody > tr{display:contents}
  .convertions .r31-table-wrap > table > tbody > tr > td{display:block;width:auto!important;padding:0!important;border:0!important;background:none!important;text-align:left!important}
  .convertions .r31-table-wrap > table > tbody > tr:first-child > td{grid-column:1/-1;order:0;padding-bottom:var(--s2)!important}
  .convertions .r31-table-wrap > table > tbody > tr:last-child > td{grid-column:1/-1;order:99}
  .convertions .r31-table-wrap > table > tbody > tr:last-child > td > div{display:flex;justify-content:center;gap:var(--s2)}
  .convertions .r31-table-wrap > table > tbody > tr:nth-child(2) > td:nth-child(1){order:2}.convertions .r31-table-wrap > table > tbody > tr:nth-child(3) > td:nth-child(1){order:3}
  .convertions .r31-table-wrap > table > tbody > tr:nth-child(2) > td:nth-child(2){order:4}.convertions .r31-table-wrap > table > tbody > tr:nth-child(3) > td:nth-child(2){order:5}
  .convertions .r31-table-wrap > table > tbody > tr:nth-child(2) > td:nth-child(3){order:6}.convertions .r31-table-wrap > table > tbody > tr:nth-child(3) > td:nth-child(3){order:7}
  .convertions .r31-table-wrap > table > tbody > tr:nth-child(2) > td:nth-child(4){order:8}.convertions .r31-table-wrap > table > tbody > tr:nth-child(3) > td:nth-child(4){order:9}
  .convertions .r31-table-wrap > table > tbody > tr:nth-child(2) > td:nth-child(5){order:10}.convertions .r31-table-wrap > table > tbody > tr:nth-child(3) > td:nth-child(5){order:11}
  .convertions .r31-table-wrap > table > tbody > tr:nth-child(2) > td:nth-child(6){order:12}.convertions .r31-table-wrap > table > tbody > tr:nth-child(3) > td:nth-child(6){order:13}
  .convertions .r31-table-wrap > table > tbody > tr:nth-child(2) > td:nth-child(7){order:14}.convertions .r31-table-wrap > table > tbody > tr:nth-child(3) > td:nth-child(7){order:15}
  .convertions .r31-table-wrap > table > tbody > tr:nth-child(2) > td:nth-child(8){order:16}.convertions .r31-table-wrap > table > tbody > tr:nth-child(3) > td:nth-child(8){order:17}
}
/* Round 34: phone screenshot pass (3 Nov 2026) */
/* Inline phone links inside sentences stay inline (legacy mobile rule made them padded blocks) */
p a[href^="tel:"]:not([class]),li a[href^="tel:"]:not([class]){display:inline!important;padding:0!important}
/* Tracking and converter sections no longer stack their top spacing onto the intro above */
.disclaimer-content + .tracking,.disclaimer-content + .convertions{margin-top:0!important;padding-top:0!important}
.team_intro p{color:var(--sk-body)!important}
/* Contact office cards: one icon per row, aligned to the text */
.address .address_body{display:grid!important;grid-template-columns:20px minmax(0,1fr);column-gap:var(--s3);row-gap:var(--s4);align-items:start}
.address .address_body > .clear,.address .address_body > .icon1,.address .address_body > img{display:none!important}
.address .address_body > .icon{grid-column:1;float:none!important;position:static!important;margin:3px 0 0!important;padding:0!important;width:auto!important;height:auto!important;font-size:16px;line-height:1}
.address .address_body > .address_main{grid-column:2;float:none!important;width:auto!important;margin:0!important;padding:0!important}
.address .address_body .address_main p{margin:0!important;padding:0!important}
.address .address_body .address_main p + p{margin-top:var(--s2)!important}
.address .address_body .address_main a[href^="tel:"],.address .address_body .address_main a[href^="mailto:"]{display:inline-block;padding:2px 0!important}
.contact .get-in-touch .sk-h3-label{font:700 var(--fs-label)/1.3 var(--f)!important;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--sk-on-dark-accent)!important;margin:var(--s6) 0 var(--s3)!important}
.contact .get-in-touch .scl-icon{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;margin:0 var(--s2) 0 0!important;padding:0!important;border:1px solid var(--sk-line-dark);border-radius:50%;color:#fff!important;transition:background-color var(--d-ui) var(--ease-out)}
.contact .get-in-touch .scl-icon:hover{background:rgba(255,255,255,.08)}
/* Footer legal links: spaced links instead of pipe separators */
footer .btm-strip .r34-legal{display:inline-flex;flex-wrap:wrap;gap:var(--s1) var(--s4);margin-left:var(--s2);vertical-align:baseline}
footer .btm-strip .right-div a:has(> i){display:inline-flex!important;align-items:center;justify-content:center;width:40px;height:40px;padding:0!important}
@media (max-width:991.98px){
  .r31-layout .r31-prose > :first-child{margin-top:0!important}
}
@media (max-width:767.98px){
  /* Footer: link lists in two columns, so the footer is about half as tall */
  footer .footer .container{gap:var(--s7)!important}
  footer .footer .column:nth-child(2),footer .footer .column:nth-child(3),footer .footer .column:nth-child(4){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s4);align-items:start}
  footer .footer .column:nth-child(n+2):nth-child(-n+4) > h2{grid-column:1/-1}
  footer .footer .column:nth-child(n+2):nth-child(-n+4) > a{display:block;padding:7px 0!important;margin:0!important;line-height:1.35!important}
  footer .btm-strip .left-div p{text-align:center}
  body:has(#sk-actionbar) footer .btm-strip{padding-bottom:88px!important}
  footer .btm-strip .r34-legal{display:flex;justify-content:center;margin:var(--s2) 0 0;gap:0 var(--s4)}
  footer .btm-strip .r34-legal a{display:inline-block;padding:6px 0!important}
  footer .btm-strip .right-div{display:flex;justify-content:center;gap:var(--s2)}
  footer .btm-strip .right-div a:has(> i){width:44px;height:44px}
  /* Services tab text at body size */
  .services .card-body p,.services .card-body li{font-size:var(--fs-body)!important;line-height:1.65!important}
  /* Location page actions stack full width */
  .sk-loc-cta{display:grid!important;grid-template-columns:1fr;gap:var(--s2)}
  .sk-loc-cta a{display:flex!important;width:100%;justify-content:center;text-align:center;margin:0!important}
  /* Tracking carriers two per row */
  .tracking .trk_list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tracking .trk_list a{padding:var(--s2) var(--s3)!important;font-size:14px!important}
  .tracking .wrapper .content{padding:var(--s4)!important}
  /* Our Work gallery two per row */
  .image_gallery .row{margin-left:-6px;margin-right:-6px}
  .image_gallery .row > [class*="col-"]{flex:0 0 50%;max-width:50%;padding-left:6px;padding-right:6px;margin-bottom:12px}
  .image_gallery .img-box img{aspect-ratio:1/1}
  /* Contact form card padding and full-width send button */
  .contact .form-div{padding:var(--s6) var(--s5)!important}
  .contact .form-div .submit_btn{width:100%;min-height:52px;justify-content:center}
  /* Incoterms tables become stacked rows: code and name, then when risk passes */
  .r31-page-incoterms .r31-table-wrap{overflow:visible!important}
  .r31-page-incoterms .r31-table-wrap > table{display:block!important;min-width:0!important}
  .r31-page-incoterms .r31-table-wrap thead{display:none!important}
  .r31-page-incoterms .r31-table-wrap tbody{display:block}
  .r31-page-incoterms .r31-table-wrap tbody tr{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--s3);row-gap:var(--s1);padding:var(--s4);border-top:1px solid var(--sk-line)}
  .r31-page-incoterms .r31-table-wrap tbody tr:first-child{border-top:0}
  .r31-page-incoterms .r31-table-wrap tbody td{display:block;position:static!important;padding:0!important;border:0!important;background:none!important;font-size:15px!important;line-height:1.5!important}
  .r31-page-incoterms .r31-table-wrap tbody td:nth-child(1){font-weight:700!important;color:var(--sk-teal-deep)!important}
  .r31-page-incoterms .r31-table-wrap tbody td:nth-child(2){font-weight:600!important;color:var(--sk-ink)!important}
  .r31-page-incoterms .r31-table-wrap tbody td:nth-child(3){grid-column:1/-1;color:var(--sk-body)!important}
  /* Container dimensions: picture beside title, table fits the screen without sideways scroll */
  .container-dimnsn .table-responsive{overflow:visible!important}
  .container-dimnsn .comparisonTable > table,.container-dimnsn .comparisonTable > table > tbody,.container-dimnsn .comparisonTable > table > tbody > tr,.container-dimnsn .comparisonTable > table > tbody > tr > td{display:block!important;width:100%!important;min-width:0!important;padding:0!important}
  .container-dimnsn table.tableContainer,.container-dimnsn table.tableContainer > tbody{display:block!important;width:100%!important;min-width:0!important}
  .container-dimnsn table.tableContainer > tbody > tr:first-child{display:flex!important;align-items:center;gap:var(--s4)}
  .container-dimnsn .comparisonTable .tableContainer td.tdContainer{display:block;flex:none;width:112px!important;padding:0!important}
  .container-dimnsn .comparisonTable .tdContainer img{width:112px}
  .container-dimnsn .comparisonTable .tdContainer + td{display:block;flex:1;padding:0!important}
  .container-dimnsn table.tableContainer > tbody > tr:nth-child(2),.container-dimnsn table.tableContainer > tbody > tr:nth-child(2) > td{display:block!important;width:100%!important;padding:var(--s4) 0 0!important}
  .container-dimnsn .ContainerInstruction .r31-table-wrap{overflow-x:auto!important}
  .container-dimnsn .ContainerInstruction .r31-table-wrap > table{min-width:0!important;width:100%!important}
  .container-dimnsn .ContainerInstruction .r31-table-wrap td,.container-dimnsn .ContainerInstruction .r31-table-wrap th{padding:10px 8px!important;font-size:14px!important;position:static!important}
  .container-dimnsn .ContainerInstruction .r31-table-wrap th{font-size:11px!important;letter-spacing:.05em!important}
  .container-dimnsn .comparisonTable p.textR{margin:var(--s8) 0 var(--s4)!important}
}
@media (max-width:767.98px){.contact .form-div .submit_btn{margin:var(--s2) 0 0!important}}
