/* PTOL brand refinement | 2026
   Intentionally loaded last to preserve the existing Porto framework and inner-page components.
*/
:root { --ptol-red:#c41420; --ptol-red-dark:#a90f1a; --ptol-ink:#162636; --ptol-muted:#536273; --ptol-pale:#f4f7f9; --ptol-border:#e3e9ed; }
html {scroll-behavior:smooth}
body {color:var(--ptol-ink);background:#fff;-webkit-font-smoothing:antialiased}
img {max-width:100%}
::selection {background:#e6b0b5;color:#152536}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {outline:3px solid #f3b145!important;outline-offset:3px}
#header .header-body {background:#fff;box-shadow:0 2px 16px rgba(19,37,55,.09)!important}
#header .header-top {background:#9e111a!important;border:0!important}
#header .header-top .nav-item a {color:#fff!important;text-decoration:none}
#header .header-top .nav-item a:hover {text-decoration:underline}
#header .header-logo img {object-fit:contain}
#header .header-nav-main nav > ul > li > a {font-size:13px!important;font-weight:650!important;letter-spacing:.01em;white-space:nowrap;color:var(--ptol-ink)!important}
#header .header-nav-main nav > ul > li > a:hover,#header .header-nav-main nav > ul > li.open > a {color:var(--ptol-red)!important}
#header .header-nav-main .dropdown-menu {border-radius:8px!important;border:1px solid var(--ptol-border)!important;box-shadow:0 16px 35px rgba(14,32,49,.16)!important;padding:9px!important;min-width:250px}
#header .header-nav-main .dropdown-menu a {border-radius:5px!important;font-size:13px!important;white-space:normal;line-height:1.45;padding:9px 12px}
#header .header-nav-main .dropdown-menu a:hover {background:#fcebed!important;color:var(--ptol-red-dark)!important}
.ptol-eyebrow {display:inline-flex;align-items:center;font-size:12px;font-weight:750;letter-spacing:.15em;line-height:1.6;color:var(--ptol-red);text-transform:uppercase;margin-bottom:18px}
.ptol-eyebrow-light {color:#ffe1e3}
.ptol-eyebrow .fa-circle {font-size:8px}
.ptol-section {padding:100px 0}
.ptol-section-title {font-size:clamp(30px,3.25vw,46px)!important;line-height:1.19!important;font-weight:750!important;letter-spacing:-.035em;color:var(--ptol-ink);margin:0 0 25px}
.ptol-section p {font-size:15.5px;line-height:1.86;color:var(--ptol-muted)}
.ptol-section .ptol-lead {font-weight:550;color:#27394a;font-size:18px;line-height:1.75}
.ptol-subtle {font-size:16px!important;line-height:1.75!important;color:#5b6979!important}
.ptol-button {display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:49px;padding:12px 25px;border-radius:5px;font-size:13px;font-weight:750;letter-spacing:.025em;text-decoration:none!important;transition:transform .2s,background .2s,border-color .2s,color .2s,box-shadow .2s}
.ptol-button:hover {transform:translateY(-2px)}
.ptol-button-primary {background:var(--ptol-red);color:#fff!important;box-shadow:0 10px 26px rgba(196,20,32,.25)}
.ptol-button-primary:hover {background:#a20c17;color:#fff!important}
.ptol-button-dark {background:var(--ptol-ink);color:#fff!important}
.ptol-button-dark:hover {background:#2c465d;color:#fff!important}
.ptol-button-white {background:#fff;color:var(--ptol-ink)!important}
.ptol-button-white:hover {background:#f3f4f6;color:var(--ptol-ink)!important}
.ptol-button-outline {border:1px solid rgba(255,255,255,.76);background:rgba(255,255,255,.07);color:#fff!important}
.ptol-button-outline:hover {background:#fff;color:var(--ptol-ink)!important}
.ptol-text-link {color:var(--ptol-ink);font-size:14px;font-weight:700;text-decoration:none}
.ptol-text-link:hover {color:var(--ptol-red)}
/* Hero video still has a poster for reduced-motion, mobile and browsers without autoplay. */
.ptol-hero {height:min(76vh,760px)!important;min-height:575px;position:relative;isolation:isolate;background-color:#101e2a;background-size:cover;background-position:center center;overflow:hidden;padding:0!important}
.ptol-hero-shade {position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(10,26,40,.88) 0%,rgba(11,27,39,.73) 46%,rgba(13,30,43,.30) 100%)}
.ptol-hero-foreground {z-index:3}
.ptol-hero h1 {color:#fff!important;font-weight:750!important;line-height:1.13!important;letter-spacing:-.045em!important;font-size:clamp(38px,4.55vw,68px)!important;max-width:920px;margin:0 0 22px}
.ptol-hero-lead {color:#eef3f6!important;font-size:clamp(16px,1.42vw,20px)!important;line-height:1.7;max-width:650px;margin-bottom:30px}
.ptol-hero-bottom {position:absolute;bottom:27px;left:12px;display:flex;align-items:center;gap:10px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;opacity:.92}
.ptol-hero-dot {display:inline-block;height:8px;width:8px;flex:0 0 8px;border-radius:50%;background:#ef4350;box-shadow:0 0 0 5px rgba(239,67,80,.2)}
/* Two-image collage */
.ptol-about {background:#fff}
.ptol-photo-collage {position:relative;min-height:465px;padding:0 67px 42px 0}
.ptol-photo-collage img {display:block;object-fit:cover;border-radius:10px;box-shadow:0 16px 40px rgba(21,37,53,.14)}
.ptol-photo-main {width:87%;height:375px}
.ptol-photo-secondary {position:absolute;right:0;bottom:0;width:50%;height:255px;border:7px solid #fff}
.ptol-photo-caption {position:absolute;left:22px;bottom:10px;min-width:180px;padding:17px 22px;border-radius:7px;background:var(--ptol-red);box-shadow:0 12px 22px rgba(104,4,15,.2);color:#fff;display:grid;gap:2px}
.ptol-photo-caption strong {font-size:21px;font-weight:750;color:#fff}
.ptol-photo-caption span {font-size:12px;color:#fff}
/* Key facts */
.ptol-capability-band {background:#152736;padding:28px 0;border-top:3px solid var(--ptol-red)}
.ptol-metric {display:flex;align-items:center;gap:14px;min-height:57px;color:#fff}
.ptol-metric>i {color:#f0a7ad;font-size:26px;width:38px;text-align:center}
.ptol-metric strong {display:block;color:#fff;font-size:17px;line-height:1.35;font-weight:750}
.ptol-metric span {display:block;color:#cad5dd;font-size:12px;margin-top:3px;line-height:1.4}
/* Six equally sized service cards */
.ptol-services-section {background:var(--ptol-pale)}
.ptol-service-card {display:flex;flex-direction:column;min-height:100%;background:#fff;border:1px solid #e4eaf0;border-radius:9px;overflow:hidden;text-decoration:none!important;color:var(--ptol-ink)!important;box-shadow:0 5px 17px rgba(20,39,56,.04);transition:box-shadow .25s,transform .25s}
.ptol-service-card:hover {transform:translateY(-5px);box-shadow:0 16px 33px rgba(20,39,56,.13)}
.ptol-service-image {height:217px;overflow:hidden;background:#dbe2e7}
.ptol-service-image img {width:100%;height:100%;object-fit:cover;transition:transform .35s}
.ptol-service-card:hover .ptol-service-image img {transform:scale(1.045)}
.ptol-service-body {padding:23px 25px 25px;display:flex;flex-direction:column;flex:1}
.ptol-service-number {font-size:10px;letter-spacing:.12em;font-weight:750;color:var(--ptol-red);margin-bottom:10px}
.ptol-service-body h3 {font-size:19px!important;line-height:1.35!important;font-weight:750!important;color:var(--ptol-ink)!important;margin:0 0 23px}
.ptol-service-link {display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:12px;color:var(--ptol-red);font-weight:750}
/* Why PTOL tiles */
.ptol-advantage {background:#fff}
.ptol-advantage-card {height:100%;padding:30px 30px 28px;border:1px solid var(--ptol-border);background:#fff;border-radius:9px;transition:box-shadow .25s,border-color .25s}
.ptol-advantage-card:hover {border-color:#ecc6c8;box-shadow:0 15px 35px rgba(21,36,52,.08)}
.ptol-feature-icon {display:flex;align-items:center;justify-content:center;border-radius:8px;width:53px;height:53px;background:#fceced;color:var(--ptol-red);font-size:22px;margin-bottom:23px}
.ptol-advantage-card h3 {font-size:18px!important;font-weight:750!important;line-height:1.4!important;color:var(--ptol-ink)!important;margin:0 0 11px}
.ptol-advantage-card p {margin-bottom:0;line-height:1.75;font-size:14px}
.ptol-advantage-card a {display:inline-block;color:var(--ptol-red);font-weight:700;font-size:13px;margin-top:15px;text-decoration:none}
.ptol-advantage-card a:hover {text-decoration:underline}
/* Client logo strip */
.ptol-clients-section {padding:61px 0 70px!important;background:var(--ptol-pale)!important;overflow:hidden}
.ptol-clients-section h2 {font-size:28px!important;color:var(--ptol-ink)!important;font-weight:750!important;margin-bottom:20px}
.ptol-clients-section .marquee-container {overflow:hidden}
.ptol-clients-section .marquee .px-5 {display:flex;align-items:center;justify-content:center;width:164px;min-height:90px;padding:12px 20px!important;margin-right:11px;background:#fff;border:1px solid var(--ptol-border);border-radius:7px}
.ptol-clients-section .marquee img {max-width:125px!important;max-height:58px;object-fit:contain;filter:grayscale(.15)}
.ptol-last-cta {padding:72px 0;background:linear-gradient(110deg,#a7101b,#c41d2b);color:#fff}
.ptol-last-cta h2 {font-size:clamp(27px,3vw,39px)!important;font-weight:750!important;letter-spacing:-.03em;color:#fff!important;line-height:1.25!important;margin:0 0 12px}
.ptol-last-cta p {color:#fce9eb;font-size:16px;margin:0}
/* Shared interior pages: polish without changing their information architecture. */
.main > section.video:not(.ptol-hero) {background-position:center!important;min-height:250px}
.main > section.video:not(.ptol-hero) h1 {font-size:clamp(30px,3.4vw,48px)!important;text-shadow:0 2px 18px rgba(0,0,0,.3);line-height:1.25!important}
.main > section.video:not(.ptol-hero) .breadcrumb {margin-top:10px}
.main .card.card-border {border-radius:8px!important;overflow:hidden}
.main .card.card-border .card-body {height:100%}
.main .card.card-border h4 {line-height:1.3}
.main .card.card-border p {line-height:1.7}
#footer {background:#122330!important;padding-top:54px!important}
#footer h4 {font-size:16px!important;letter-spacing:.01em}
#footer .list li {line-height:1.85}
#footer .list a {font-size:13px;text-decoration:none}
#footer .list a:hover {color:#ff9da4!important}
#footer p {line-height:1.75}
#footer .ptol-footer-era {display:inline-flex;gap:10px;align-items:center;padding:10px 0 3px;color:#d9e5ed}
#footer .ptol-footer-era strong {font-size:20px;color:#fff}
/* Tablet and mobile */
@media(max-width:1199px){
 #header .header-nav-main nav > ul > li > a {font-size:12px!important}
 .ptol-section {padding:78px 0}
 .ptol-photo-collage {min-height:410px}
 .ptol-photo-main {height:325px}
 .ptol-photo-secondary {height:220px}
}
@media(max-width:991px){
 #header .header-top .ptol-top-hours {display:none!important}
 .ptol-hero {height:auto!important;min-height:560px}
 .ptol-hero h1 {font-size:clamp(37px,5.5vw,57px)!important}
 .ptol-photo-collage {max-width:670px;margin:auto}
 .ptol-metric {justify-content:center;text-align:left}
 #header .header-nav-main .dropdown-menu {box-shadow:none!important;border:0!important;padding:5px 0!important}
 #header .header-nav-main nav > ul > li > a {font-size:14px!important;white-space:normal}
}
@media(max-width:575px){
 .ptol-section {padding:64px 0}
 .ptol-section-title {font-size:31px!important}
 .ptol-hero {min-height:600px}
 .ptol-hero-shade {background:linear-gradient(90deg,rgba(9,25,36,.89),rgba(9,25,36,.62))}
 .ptol-hero .container {padding:0 21px}
 .ptol-hero h1 {font-size:37px!important;line-height:1.16!important}
 .ptol-hero-lead {font-size:16px!important}
 .ptol-hero .ptol-eyebrow {font-size:10px;letter-spacing:.095em}
 .ptol-hero-actions {gap:10px!important}
 .ptol-hero-actions .ptol-button {width:100%}
 .ptol-hero-bottom {left:21px;bottom:23px;font-size:9px;letter-spacing:.07em}
 .ptol-photo-collage {padding:0 30px 35px 0;min-height:320px}
 .ptol-photo-main {height:275px;width:92%}
 .ptol-photo-secondary {height:175px;width:48%;border-width:5px}
 .ptol-photo-caption {left:12px;bottom:9px;padding:10px 15px;min-width:145px}
 .ptol-photo-caption strong {font-size:17px}
 .ptol-metric {display:block;text-align:center;padding:0 4px}
 .ptol-metric>i {display:block;width:auto;margin:0 auto 11px;font-size:24px}
 .ptol-metric strong {font-size:14px}
 .ptol-metric span {font-size:11px}
 .ptol-capability-band {padding:26px 0}
 .ptol-service-image {height:215px}
 .ptol-service-body {padding:21px}
 .ptol-advantage-card {padding:25px}
 .ptol-last-cta {padding:57px 0}
 #header .header-top .nav-item a {font-size:11px!important}
}
@media(prefers-reduced-motion:reduce){
 html {scroll-behavior:auto}
 .ptol-button,.ptol-service-card,.ptol-service-image img,.ptol-advantage-card {transition:none!important;transform:none!important}
}

/* Final layout constraints and responsive hero corrections */
.ptol-section > .container, .ptol-capability-band > .container, .ptol-last-cta > .container, .ptol-hero > .container {max-width:1200px!important;padding-left:22px!important;padding-right:22px!important}
.ptol-hero {background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
.ptol-hero-foreground {position:relative!important;height:100%!important;min-height:inherit}
.ptol-hero-bottom {bottom:23px!important;left:22px!important}
#footer img[src*="navLogo"] {background:#fff;border-radius:6px;padding:7px;height:auto!important;max-width:134px}
@media(max-width:575px){
 .ptol-hero-foreground {min-height:600px}
 .ptol-hero-bottom {bottom:21px!important;left:22px!important;right:18px;line-height:1.55}
 .ptol-hero-actions {margin-bottom:45px}
 .ptol-hero .row {padding-bottom:60px}
}

/* ================================================================
   PTOL motion & editorial polish (2026). Vanilla JS enhancement;
   without JavaScript, all content remains visible and usable.
   ================================================================ */

/* Progressive (native) cross-document page transitions, supported browsers only. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: .19s ease-in both ptol-page-out; }
::view-transition-new(root) { animation: .32s ease-out both ptol-page-in; }
@keyframes ptol-page-out { to { opacity: .72; } }
@keyframes ptol-page-in { from { opacity: .76; } to { opacity: 1; } }

/* Thin and useful reading progress on long corporate information pages. */
.ptol-reading-progress { position:fixed;top:0;left:0;right:0;height:3px;z-index:11000;pointer-events:none; }
.ptol-reading-progress > span { display:block;width:100%;height:100%;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,#e32a36,#f6a1a7); }

/* Cinematic but restrained first-impression typography. */
@keyframes ptol-hero-enter { from {opacity:0;transform:translate3d(0,21px,0);} to {opacity:1;transform:translate3d(0,0,0);} }
.ptol-hero .ptol-eyebrow {animation:ptol-hero-enter .64s cubic-bezier(.19,1,.3,1) .10s both;}
.ptol-hero h1 {animation:ptol-hero-enter .78s cubic-bezier(.19,1,.3,1) .23s both;}
.ptol-hero .ptol-hero-lead {animation:ptol-hero-enter .72s cubic-bezier(.19,1,.3,1) .37s both;}
.ptol-hero .ptol-hero-actions {animation:ptol-hero-enter .70s cubic-bezier(.19,1,.3,1) .51s both;}
.ptol-hero-bottom {animation:ptol-hero-enter .76s ease-out .68s both;}
.ptol-scroll-cue {position:absolute;right:22px;bottom:24px;z-index:5;color:#fff!important;display:inline-flex;align-items:center;gap:14px;text-decoration:none!important;font-size:10px;font-weight:750;letter-spacing:.14em;animation:ptol-hero-enter .72s ease-out .7s both;}
.ptol-scroll-cue i {font-size:12px;animation:ptol-scroll-nudge 2.9s ease-in-out infinite;}
.ptol-scroll-cue:hover {color:#ffd5d8!important;}
@keyframes ptol-scroll-nudge {0%,68%,100% {transform:translateY(0)} 78% {transform:translateY(5px)} 88% {transform:translateY(0)}}
@keyframes ptol-ring { 0% {box-shadow:0 0 0 0 rgba(239,67,80,.52)} 70%,100% {box-shadow:0 0 0 11px rgba(239,67,80,0)} }
.ptol-hero-dot {animation:ptol-ring 3.1s ease-out infinite;}

/* Animate only elements explicitly registered by JS once scrolled into view. */
html.ptol-motion-ready .ptol-reveal:not(.ptol-in-view) {opacity:0;transform:translate3d(0,23px,0);}
html.ptol-motion-ready .ptol-reveal {transition:opacity .75s ease,transform .75s cubic-bezier(.16,1,.3,1);transition-delay:var(--ptol-stagger,0ms);}
html.ptol-motion-ready .ptol-reveal.ptol-in-view {opacity:1;transform:translate3d(0,0,0);}
/* Keep hover motion on cards even after reveal animations. */
html.ptol-motion-ready .ptol-service-card.ptol-in-view:hover {transform:translateY(-7px);transition:transform .28s ease,box-shadow .28s ease;transition-delay:0ms;}
html.ptol-motion-ready .ptol-advantage-card.ptol-in-view:hover {transform:translateY(-4px);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;transition-delay:0ms;}
.ptol-service-card, .ptol-advantage-card {will-change:auto;}

/* Navigation and controls communicate hover/focus without distracting effects. */
@media (min-width:992px) {
 #header .header-nav-main nav > ul > li > a {position:relative;}
 #header .header-nav-main nav > ul > li > a:before {content:"";position:absolute;bottom:10px;left:12px;right:12px;height:2px;border-radius:2px;background:var(--ptol-red);transform:scaleX(0);transform-origin:left;transition:transform .24s ease;}
 #header .header-nav-main nav > ul > li > a:hover:before, #header .header-nav-main nav > ul > li > a:focus-visible:before, #header .header-nav-main nav > ul > li > a.ptol-nav-active:before, #header .header-nav-main nav > ul > li.ptol-nav-parent-active > a:before {transform:scaleX(1);}
}
#header .header-nav-main .dropdown-menu {transition:opacity .22s ease,transform .22s ease;}
#header .header-nav-main nav > ul > li > a.ptol-nav-active,#header .header-nav-main nav > ul > li.ptol-nav-parent-active > a {color:var(--ptol-red)!important;}
.ptol-button i, .ptol-service-link i, .ptol-story-secondary i {transition:transform .24s ease;}
.ptol-button:hover i, .ptol-button:focus-visible i, .ptol-service-card:hover .ptol-service-link i, .ptol-service-card:focus-visible .ptol-service-link i, .ptol-story-secondary:hover i {transform:translateX(4px);}
.ptol-service-card {position:relative;}
.ptol-service-card:after {position:absolute;bottom:0;left:0;right:0;content:"";height:3px;background:var(--ptol-red);transform:scaleX(0);transform-origin:left;transition:transform .36s cubic-bezier(.16,1,.3,1);}
.ptol-service-card:hover:after,.ptol-service-card:focus-visible:after {transform:scaleX(1);}
.ptol-service-card:hover .ptol-service-image img, .ptol-service-card:focus-visible .ptol-service-image img {transform:scale(1.07);}
.ptol-advantage-card {position:relative;overflow:hidden;}
.ptol-advantage-card:before {content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--ptol-red);transform:scaleX(0);transform-origin:left;transition:transform .36s ease;}
.ptol-advantage-card:hover:before,.ptol-advantage-card:focus-within:before {transform:scaleX(1);}
.ptol-advantage-card:hover .ptol-feature-icon {background:var(--ptol-red);color:#fff;transform:translateY(-2px);}
.ptol-feature-icon {transition:background .25s ease,color .25s ease,transform .25s ease;}
.ptol-photo-collage img {transition:transform .65s cubic-bezier(.16,1,.3,1),box-shadow .65s ease;}
.ptol-photo-collage:hover .ptol-photo-main {transform:translateY(-5px);box-shadow:0 22px 42px rgba(21,37,53,.19);}
.ptol-photo-collage:hover .ptol-photo-secondary {transform:translateY(3px);}

/* Immersive real-world terminal image + editorial copy band. */
.ptol-terminal-story {padding:50px 0 88px;background:#fff;}
.ptol-terminal-story .container {max-width:1200px!important;padding-left:22px!important;padding-right:22px!important;}
.ptol-terminal-story-grid {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:430px;overflow:hidden;background:#152a3c;border-radius:12px;box-shadow:0 26px 55px rgba(18,38,55,.13);}
.ptol-story-image {position:relative;overflow:hidden;min-height:430px;background:#233a4a;}
.ptol-story-image img {display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform 1.05s cubic-bezier(.16,1,.3,1);}
.ptol-terminal-story-grid:hover .ptol-story-image img {transform:scale(1.045);}
.ptol-story-image:after {content:"";position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(14,33,49,.7),transparent);pointer-events:none;}
.ptol-story-image-label {position:absolute;left:30px;bottom:29px;z-index:1;display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:750;font-size:11px;letter-spacing:.115em;text-shadow:0 1px 10px #162636;}
.ptol-story-image-label i {color:#ff6972;font-size:8px;}
.ptol-story-copy {padding:53px clamp(32px,4.2vw,66px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;isolation:isolate;background:radial-gradient(circle at 95% 0%,rgba(255,255,255,.075),transparent 46%),#172c3f;}
.ptol-story-copy:before {content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:var(--ptol-red);}
.ptol-story-copy h2 {font-size:clamp(27px,2.9vw,42px)!important;line-height:1.18!important;letter-spacing:-.035em;font-weight:750!important;color:#fff!important;margin:0 0 20px;}
.ptol-story-copy p {color:#d7e4ed!important;line-height:1.8!important;font-size:15px!important;margin:0;}
.ptol-story-rule {height:1px;background:rgba(255,255,255,.22);width:100%;margin:28px 0 25px;}
.ptol-story-secondary {display:inline-flex;align-items:center;color:#fff!important;text-decoration:none!important;font-weight:650;font-size:13px;margin-top:21px;}
.ptol-story-secondary:hover {color:#ffd9dd!important;}

/* Avoid distracting animated hover effects on touch-first devices. */
@media (hover:none) { .ptol-photo-collage:hover .ptol-photo-main,.ptol-photo-collage:hover .ptol-photo-secondary,.ptol-terminal-story-grid:hover .ptol-story-image img {transform:none;} }
@media (max-width:991px) {
 .ptol-scroll-cue {display:none;}
 .ptol-terminal-story {padding:25px 0 65px;}
 .ptol-terminal-story-grid {grid-template-columns:1fr;}
 .ptol-story-image {min-height:340px;max-height:460px;}
 .ptol-story-copy {padding:43px 40px;}
 .ptol-story-copy:before {top:0;bottom:auto;width:100%;height:4px;}
}
@media (max-width:575px) {
 .ptol-terminal-story {padding:15px 0 57px;}
 .ptol-story-image {min-height:260px;height:280px;}
 .ptol-story-image-label {font-size:9px;left:17px;bottom:18px;letter-spacing:.065em;}
 .ptol-story-copy {padding:33px 24px 38px;}
 .ptol-story-copy h2 {font-size:29px!important;}
 .ptol-story-copy p {font-size:14px!important;}
 .ptol-story-rule {margin:23px 0;}
}
/* Accessibility and performance: deliberately no decorative motion for users
   asking for reduced animation (or print). Site remains legible if JS fails. */
@media (prefers-reduced-motion:reduce) {
 @view-transition {navigation:none;}
 ::view-transition-old(root),::view-transition-new(root) {animation:none!important;}
 html {scroll-behavior:auto!important;}
 html.ptol-motion-ready .ptol-reveal {opacity:1!important;transform:none!important;transition:none!important;}
 .ptol-hero .ptol-eyebrow,.ptol-hero h1,.ptol-hero .ptol-hero-lead,.ptol-hero .ptol-hero-actions,.ptol-hero-bottom,.ptol-scroll-cue,.ptol-hero-dot,.ptol-scroll-cue i {animation:none!important;}
 .ptol-service-card:after,.ptol-advantage-card:before {transition:none!important;}
 .ptol-story-image img,.ptol-feature-icon,.ptol-photo-collage img,.ptol-button i,.ptol-service-link i,.ptol-story-secondary i {transition:none!important;}
 .ptol-hero video,.ptol-hero .video-background {visibility:hidden!important;}
 .ptol-clients-section .js-marquee-wrapper,.ptol-clients-section .js-marquee {animation:none!important;transform:none!important;}
}
@media print {
 .ptol-reading-progress,.ptol-scroll-cue {display:none!important;}
 html.ptol-motion-ready .ptol-reveal {opacity:1!important;transform:none!important;}
}


/* Management corrections & ISO presentation | October 2026 */
.ptol-inner-hero{position:relative;isolation:isolate;min-height:340px;padding:70px 0 65px;background-image:var(--ptol-inner-bg);background-position:center;background-size:cover;background-color:#193249;display:flex;align-items:center}
.ptol-inner-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(11,30,46,.91),rgba(18,40,56,.65))}
.ptol-inner-hero-content{z-index:1}
.ptol-inner-back{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.12em;font-size:10px;color:#fff!important;opacity:.8;margin-bottom:25px;text-decoration:none!important}
.ptol-inner-hero .ptol-eyebrow{display:block;margin:0 0 10px}
.ptol-inner-hero h1{color:#fff!important;font-size:clamp(37px,4.4vw,59px)!important;line-height:1.12!important;font-weight:750!important;letter-spacing:-.035em;max-width:850px;margin:0 0 13px}
.ptol-inner-hero p{color:#e3ebf0!important;max-width:690px;font-size:17px;line-height:1.7;margin:0}
.ptol-content-section{padding:85px 0}
.ptol-content-soft{background:#f4f7f9}
.ptol-content-narrow{max-width:850px;margin:auto}
.ptol-content-split{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(34px,5vw,78px);align-items:center}
.ptol-content-reverse .ptol-content-copy{order:2}
.ptol-content-copy{min-width:0}
.ptol-content-copy p,.ptol-content-narrow p,.ptol-content-heading>p{font-size:15.5px;line-height:1.91;color:#536273;margin-bottom:18px}
.ptol-content-copy p:first-of-type,.ptol-content-narrow p:first-of-type{font-size:17px;color:#2d4050}
.ptol-content-image{height:420px;max-height:500px;overflow:hidden;border-radius:13px;background:#d9e2e8;box-shadow:0 17px 44px rgba(19,41,59,.13)}
.ptol-content-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.ptol-content-image:hover img{transform:scale(1.045)}
.ptol-content-heading{max-width:820px;margin:0 0 32px}
.ptol-content-heading .ptol-section-title{margin-bottom:14px!important}
.ptol-content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.ptol-content-grid.ptol-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ptol-content-card{padding:28px 29px 25px;background:#fff;border:1px solid #e3e9ed;border-radius:10px;box-shadow:0 7px 20px rgba(18,42,60,.04);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ptol-content-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(18,42,60,.11);border-color:#e4bdc1}
.ptol-card-index{display:block;font-size:11px;letter-spacing:.1em;font-weight:800;color:#c41420;margin-bottom:22px}
.ptol-content-card h3{color:#162636;font-size:19px!important;font-weight:750!important;line-height:1.4!important;margin:0 0 13px}
.ptol-content-card p{color:#536273;font-size:14.5px;line-height:1.8;margin-bottom:13px}
.ptol-content-card p:last-child{margin-bottom:0}
.ptol-content-cta{background:linear-gradient(110deg,#a7101b,#c41d2b);padding:62px 0}
.ptol-content-cta .container{display:flex;justify-content:space-between;align-items:center;gap:30px}
.ptol-content-cta h2{font-size:clamp(26px,3vw,37px)!important;line-height:1.2!important;color:#fff!important;margin:0 0 10px}
.ptol-content-cta p{color:#ffe8ea;margin:0;font-size:15px}
.ptol-content-cta .ptol-eyebrow{margin-bottom:12px}
.ptol-vision-band{padding:70px 0;background:#162c3f}
.ptol-vision-band .container{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.ptol-vision-item span{font-size:12px;letter-spacing:.12em;color:#f1b0b5;font-weight:800}
.ptol-vision-item h2{margin:15px 0 0;color:#fff!important;font-size:clamp(21px,2.4vw,30px)!important;line-height:1.45!important;font-weight:650!important}
.ptol-steps{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:45px;row-gap:0;counter-reset:step;padding:0;margin:0}
.ptol-step{display:flex;align-items:flex-start;gap:20px;padding:26px 0;border-bottom:1px solid #e3e9ed}
.ptol-step-no{flex:0 0 54px;height:54px;width:54px;display:grid;place-items:center;color:#c41420;font-weight:800;font-size:17px;background:#fcecee;border-radius:9px}
.ptol-step h3{font-size:17px!important;color:#162636!important;font-weight:750!important;line-height:1.35!important;margin:1px 0 9px}
.ptol-step p{font-size:14px;color:#536273;line-height:1.8;margin:0}
.ptol-detail-list{columns:2;gap:45px;list-style:none;margin:0;padding:0}
.ptol-detail-list li{break-inside:avoid;display:flex;gap:11px;align-items:flex-start;padding:11px 0;color:#324758;line-height:1.7}
.ptol-detail-list i{color:#c41420;margin-top:6px}
/* ISO card system intentionally uses original iconography, not unauthorized ISO logos. */
.ptol-iso-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ptol-iso-card{scroll-margin-top:100px;display:flex;flex-direction:column;padding:36px 28px;border-radius:12px;background:#fff;border:1px solid #e3e9ed;box-shadow:0 12px 30px rgba(13,34,53,.05);border-top:4px solid #c41420;transition:transform .25s ease,box-shadow .25s ease}
.ptol-iso-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(13,34,53,.11)}
.ptol-iso-symbol{height:59px;width:59px;display:grid;place-items:center;border-radius:10px;background:#fce9ec;color:#bf1725;font-size:25px;margin-bottom:28px}
.ptol-iso-standard{color:#ba1623;font-weight:800;letter-spacing:.07em;font-size:13px;margin-bottom:7px}
.ptol-iso-card h3{font-size:22px!important;font-weight:750!important;color:#172a39!important;margin-bottom:15px}
.ptol-iso-card p{font-size:14px;line-height:1.83;color:#596878;flex:1;margin-bottom:25px}
.ptol-iso-card a{font-weight:750;color:#bc1725;text-decoration:none;font-size:13px}
.ptol-iso-card a i{margin-left:7px}
.ptol-iso-checks{list-style:none;margin:20px 0 24px;padding:0}
.ptol-iso-checks li{position:relative;padding:6px 0 6px 26px;color:#2d4050;font-weight:600;font-size:14px}
.ptol-iso-checks li:before{content:'✓';position:absolute;left:0;top:6px;color:#ba1824;font-weight:900}
.ptol-iso-mini{background:#eef2f5;padding:45px 0;border-top:1px solid #e0e7ec}
.ptol-iso-mini .container{display:flex;align-items:center;justify-content:space-between;gap:30px}
.ptol-iso-mini h2{font-size:clamp(24px,2.5vw,32px)!important;line-height:1.28!important;max-width:650px;margin:0 0 10px;color:#172a39!important}
.ptol-iso-mini p{max-width:680px;font-size:14.5px;color:#536273;margin:0;line-height:1.7}
.ptol-iso-feature{padding:83px 0;background:linear-gradient(180deg,#eef3f6,#fff)}
.ptol-iso-feature-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.ptol-iso-feature-heading h2{font-size:clamp(29px,3vw,43px)!important;line-height:1.2!important;color:#162636!important;margin:0 0 12px}
.ptol-iso-feature-heading p{max-width:720px;color:#536273;font-size:16px;line-height:1.75;margin:0}
.ptol-iso-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ptol-iso-home-item{display:flex;flex-direction:column;min-height:160px;background:#fff;padding:25px 25px 20px;border-radius:10px;border:1px solid #e2e9ed;text-decoration:none!important;position:relative;transition:transform .25s ease,box-shadow .25s ease}
.ptol-iso-home-item:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(18,40,58,.1)}
.ptol-iso-home-item>span{color:#bd1824;font-size:14px;font-weight:850;letter-spacing:.05em;margin-bottom:11px}
.ptol-iso-home-item strong{color:#172a3a;font-size:18px;line-height:1.45;max-width:235px}
.ptol-iso-home-item i{position:absolute;right:25px;bottom:23px;color:#b71724}
@media(max-width:991px){.ptol-content-section{padding:65px 0}.ptol-content-split{gap:32px}.ptol-content-image{height:340px}.ptol-content-grid,.ptol-iso-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ptol-iso-feature-heading,.ptol-iso-mini .container{align-items:flex-start;flex-direction:column}.ptol-iso-home-grid{gap:12px}}
@media(max-width:767px){.ptol-inner-hero{min-height:290px;padding:54px 0}.ptol-inner-hero h1{font-size:37px!important}.ptol-content-split,.ptol-content-grid,.ptol-content-grid.ptol-grid-2,.ptol-steps,.ptol-iso-grid,.ptol-iso-home-grid,.ptol-vision-band .container{grid-template-columns:1fr}.ptol-content-reverse .ptol-content-copy{order:initial}.ptol-content-image{height:295px}.ptol-content-cta .container{flex-direction:column;align-items:flex-start}.ptol-detail-list{columns:1}.ptol-iso-feature{padding:65px 0}.ptol-iso-card{padding:28px}.ptol-iso-home-item{min-height:125px}.ptol-content-card{padding:24px}}
@media(prefers-reduced-motion:reduce){.ptol-content-image img,.ptol-content-card,.ptol-iso-card,.ptol-iso-home-item{transition:none}.ptol-content-image:hover img,.ptol-content-card:hover,.ptol-iso-card:hover,.ptol-iso-home-item:hover{transform:none}}

/* PTOL October 2026: consistent, truly centred CTAs on all page types. */
.ptol-last-cta{padding:58px 20px!important;text-align:center}
.ptol-last-cta>.container{max-width:1100px!important;margin:0 auto}
.ptol-last-cta .row{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:24px;margin-left:auto;margin-right:auto;min-height:170px}
.ptol-last-cta .row>.col-lg-8,.ptol-last-cta .row>.col-lg-4{flex:0 0 auto!important;max-width:100%!important;width:100%!important;text-align:center!important;padding:0!important}
.ptol-last-cta .ptol-eyebrow{display:block;margin-bottom:12px}
.ptol-last-cta h2{max-width:900px;margin:0 auto 12px!important;font-size:clamp(27px,3vw,37px)!important}
.ptol-last-cta p{max-width:860px;margin:0 auto!important;line-height:1.7}
.ptol-content-cta{padding:56px 20px!important;text-align:center}
.ptol-content-cta>.container{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:170px;gap:23px!important;margin:auto;max-width:1100px}
.ptol-content-cta>.container>div:first-child{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}
.ptol-content-cta h2{margin:0 auto 11px!important;max-width:950px;font-size:clamp(26px,2.8vw,35px)!important;line-height:1.3!important}
.ptol-content-cta p{margin:0 auto!important;max-width:850px;line-height:1.7!important}
.ptol-content-cta .ptol-button,.ptol-last-cta .ptol-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:51px;white-space:nowrap}
/* Reduce type scale while retaining the management-approved vision and mission language. */
.ptol-vision-band{padding:57px 0!important}
.ptol-vision-band .container{gap:54px}
.ptol-vision-item h2{font-size:clamp(19px,2vw,24px)!important;line-height:1.5!important;font-weight:600!important;letter-spacing:-.01em}

/* Customer & Consignee: consistent PTOL design, accessible inputs and upload cards. */
.ptol-register-hero p{color:#eff4f6;max-width:720px;font-size:16px;line-height:1.6;margin:15px 0 0}
.ptol-register-intro{padding:68px 0;background:#f0f4f6}
.ptol-register-intro-grid{display:grid;grid-template-columns:1fr .95fr;gap:65px;align-items:center}
.ptol-register-intro h2{font-size:clamp(27px,2.8vw,37px)!important;color:#142b40!important;line-height:1.22!important;font-weight:750!important;margin:12px 0 18px}
.ptol-register-intro p{max-width:590px;line-height:1.8;color:#526574;margin-bottom:0}
.ptol-register-downloads{display:grid;gap:12px}
.ptol-doc-link{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid #dce5eb;border-radius:10px;padding:20px;text-decoration:none!important;box-shadow:0 8px 24px rgba(16,43,64,.04);transition:border-color .25s,transform .25s}
.ptol-doc-link:hover{border-color:#b41c28;transform:translateY(-2px)}
.ptol-doc-link>i:first-child{background:#fcecef;color:#b71d29;width:49px;height:49px;display:grid;place-items:center;flex:0 0 49px;border-radius:10px;font-size:21px}
.ptol-doc-link>span{display:grid;gap:5px;min-width:0;flex:1}
.ptol-doc-link strong{color:#16304a;font-size:14px;line-height:1.3}
.ptol-doc-link small{font-size:11.5px;color:#647483}
.ptol-doc-link>i:last-child{color:#a71a28;font-size:15px}
.ptol-register-section{padding:75px 0 100px;background:#fff}
.ptol-register-shell{max-width:1050px;margin:0 auto;border:1px solid #e3e9ed;border-radius:15px;overflow:hidden;box-shadow:0 22px 60px rgba(20,43,59,.07);background:#fff}
.ptol-register-head{background:#172f45;color:#fff;padding:42px 53px}
.ptol-register-head .ptol-eyebrow{color:#f0aeb3}
.ptol-register-head h2{font-size:clamp(27px,3vw,37px)!important;color:#fff!important;font-weight:750!important;margin:14px 0 13px}
.ptol-register-head p{margin:0;max-width:760px;color:#d4dee6;line-height:1.75}
.ptol-customer-form{padding:6px 53px 48px}
.ptol-form-block{border:0;border-bottom:1px solid #e7edf1;margin:0;padding:38px 0 41px;min-width:0}
.ptol-form-block legend{float:none;width:auto;display:flex;align-items:center;gap:15px;margin-bottom:24px;color:#162f45;font-weight:750;font-size:20px!important;line-height:1.4}
.ptol-form-step{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#f9e8ea;color:#b51a27;font-size:12px;font-weight:850;flex-shrink:0}
.ptol-choice-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ptol-choice{position:relative;cursor:pointer;min-width:0}
.ptol-choice input{position:absolute;opacity:0;width:1px;height:1px}
.ptol-choice>span{display:flex;align-items:center;gap:13px;border:1px solid #dbe3e9;border-radius:9px;padding:20px 22px;font-size:15px;font-weight:750;color:#203b4e;transition:border-color .2s,box-shadow .2s,background .2s}
.ptol-choice>span i{color:#bc1a28;font-size:20px}
.ptol-choice input:checked+span{border-color:#b41d28;background:#fff2f3;box-shadow:0 0 0 2px rgba(181,29,40,.12)}
.ptol-choice input:focus-visible+span{outline:3px solid #1470d3;outline-offset:3px}
.ptol-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 25px}
.ptol-form-control label,.ptol-upload-details label{display:block;color:#243e51;font-size:14px;font-weight:750;margin:0 0 9px}
.ptol-form-control label span,.ptol-upload-details label span,.ptol-terms-check strong{color:#bc1c29}
.ptol-form-control input,.ptol-form-control textarea{width:100%;background:#f9fbfc;border:1px solid #d5dfe6;border-radius:8px;padding:14px 15px;font-size:14px;color:#132c40;font-weight:500;min-height:53px;transition:border-color .2s,box-shadow .2s}
.ptol-form-control textarea{resize:vertical;min-height:53px}
.ptol-form-control input:focus,.ptol-form-control textarea:focus,.ptol-upload-details input:focus{border-color:#ba1a29;box-shadow:0 0 0 3px rgba(186,26,41,.1);outline:0}
.ptol-upload-note{background:#f3f7f9;border-radius:8px;padding:12px 14px;color:#536878;font-size:13px;line-height:1.7;margin-bottom:22px}
.ptol-upload-note i{color:#b71926;margin-right:9px}
.ptol-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.ptol-upload-card{display:flex;align-items:flex-start;gap:15px;min-width:0;border:1px solid #dfe7ec;padding:21px;border-radius:9px;background:#fff}
.ptol-upload-card:last-child:nth-child(odd){grid-column:1/-1}
.ptol-upload-icon{width:43px;height:43px;border-radius:9px;background:#fbeaed;display:grid;place-items:center;flex:0 0 43px;color:#b51d29;font-size:18px}
.ptol-upload-details{flex:1;min-width:0}
.ptol-upload-details label{margin-bottom:7px;line-height:1.4}
.ptol-upload-details p{font-size:12px;color:#617484;line-height:1.6;margin:0 0 13px}
.ptol-upload-details input{display:block;width:100%;max-width:100%;font-size:12px;color:#425365;border:1px dashed #bfccd5;border-radius:7px;background:#f8fafb;padding:10px}
.ptol-upload-details input::file-selector-button{border:0;background:#e7edf1;color:#19334a;border-radius:5px;padding:9px 12px;font-weight:750;margin-right:10px;cursor:pointer}
.ptol-form-final{padding-top:32px}
.ptol-terms-check{display:flex;gap:13px;align-items:flex-start;color:#384d5c;font-size:14px;line-height:1.8;cursor:pointer}
.ptol-terms-check input{width:19px;height:19px;flex:0 0 19px;accent-color:#b51d29;margin:5px 0 0}
.ptol-terms-check a{color:#af1825;text-decoration:underline;text-underline-offset:3px;font-weight:750}
.ptol-form-submit-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px}
.ptol-form-submit-row p{color:#657683;font-size:12px;max-width:490px;line-height:1.7;margin:0}
.ptol-form-submit-row p i{color:#bb1928;margin-right:6px}
.ptol-form-submit{border:0;cursor:pointer;white-space:nowrap;min-height:51px;padding:14px 24px!important;font-size:13px!important}
.ptol-form-notice{display:flex;gap:15px;margin:26px 53px 0;padding:19px 20px;border-radius:8px;border:1px solid #d4e0e8;background:#f1f6f8;font-size:13px;line-height:1.7;color:#36546b}
.ptol-form-notice>i{font-size:20px;flex-shrink:0;margin-top:3px}
.ptol-form-notice strong{font-size:14px;color:#1a384c}
.ptol-form-notice p{margin:4px 0 0}
.ptol-form-notice ul{margin:6px 0 0;padding-left:18px}
.ptol-form-error{background:#fff0f0;border-color:#edc7c9;color:#8c1827}
.ptol-form-success{background:#eaf9f2;border-color:#bbe6d1;color:#20784f}
.ptol-website-trap{position:absolute!important;left:-10000px!important;height:1px!important;width:1px!important;overflow:hidden!important}
@media(max-width:991px){.ptol-register-intro-grid{gap:28px}.ptol-register-intro{padding:52px 0}}
@media(max-width:767px){
.ptol-last-cta{padding:48px 16px!important}
.ptol-last-cta .row{gap:20px;min-height:0}
.ptol-content-cta{padding:48px 16px!important}
.ptol-content-cta>.container{min-height:0;gap:20px!important}
.ptol-vision-band .container{gap:35px}
.ptol-register-intro-grid,.ptol-form-grid,.ptol-upload-grid,.ptol-choice-group{grid-template-columns:1fr}
.ptol-register-section{padding:48px 0 70px}
.ptol-register-intro{padding:48px 0}
.ptol-register-head{padding:31px 24px}
.ptol-customer-form{padding:0 24px 36px}
.ptol-form-block{padding:29px 0}
.ptol-form-block legend{font-size:18px!important}
.ptol-upload-card:last-child:nth-child(odd){grid-column:auto}
.ptol-form-submit-row{align-items:stretch;flex-direction:column}
.ptol-form-submit{width:100%;justify-content:center}
.ptol-form-notice{margin:22px 24px 0}
.ptol-doc-link{padding:16px}
}
@media(prefers-reduced-motion:reduce){.ptol-doc-link,.ptol-choice>span,.ptol-form-control input,.ptol-form-control textarea{transition:none}}
/* Porto applies a negative footer margin in the base theme. This was covering
   the last 70px of the red CTAs, including the lower half of the contact button. */
.body > #footer{margin-top:0!important}

/* Visible, accessible PDF download in the site-wide footer. */
#footer .ptol-footer-documents{margin-top:20px}
#footer .ptol-footer-terms-link{display:inline-flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:600;font-size:13px;line-height:1.5;border-bottom:1px solid rgba(255,255,255,.45);padding:0 0 7px;transition:color .2s ease,border-color .2s ease}
#footer .ptol-footer-terms-link small{font-size:11px;color:#d1dce5}
#footer .ptol-footer-terms-link:hover,#footer .ptol-footer-terms-link:focus-visible{color:#ff9da4;border-bottom-color:#ff9da4}
#footer .ptol-footer-terms-link:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:767px){#footer .ptol-footer-documents{margin-bottom:12px}}
