/* =========================================================================
   Stream Ships Service: inner pages + instruments
   Same DNA as the home page (tokens, Oxygen, eyebrow tags, 26-30px radius, pill
   buttons, navy/blue), new compositions. Rhythm ~40% tighter than home sections.
   Every instrument has a full static layout; tools.js adds clicks, pages.js motion.
   ========================================================================= */

/* ---------- layout primitives ---------- */
.pg-sec{padding:64px 0;background:var(--bg)}
.pg-sec--surf{background:var(--surf)}
.pg-dark{background:var(--ink);color:#e6efff}
.pg-dark .pg-h2,.pg-dark .pg-h3{color:#fff}
.pg-dark .tag{color:var(--sec)}
.pg-h1{font-size:clamp(2.3rem,5.2vw,4.4rem);font-weight:400;line-height:1.05;letter-spacing:-.02em;color:#fff;margin:6px 0 18px}
.pg-h2{font-size:clamp(1.75rem,3.4vw,2.6rem);font-weight:700;line-height:1.12;color:var(--ink);margin:8px 0 0}
.pg-h3{font-size:1.25rem;font-weight:700;line-height:1.2;color:var(--ink)}
.pg-lead{font-size:1.08rem;line-height:1.6;color:var(--muted);max-width:52ch}
.pg-dark .pg-lead,.pg-hero .pg-lead{color:#c9dbf7}
.pg-prose p{text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto;margin:0 0 1em;max-width:62ch}
.pg-dark .pg-prose{color:#c9dbf7}

.elementor .e-con.pg-intro--row{display:grid;grid-template-columns:1.1fr .9fr;gap:24px 60px;align-items:end;margin-bottom:36px}
.elementor .e-con.pg-duo{display:grid;grid-template-columns:1fr 1fr;gap:48px 64px;align-items:center}
.elementor .e-con.pg-duo--rev>.pg-duo__t{order:2}
.pg-duo__t .pg-h2{margin-bottom:18px}
.pg-duo__t .ss-link-w{margin-top:8px}

.ss-link-w .elementor-button,.ss-link{font-weight:700;color:var(--acc);border-bottom:2px solid var(--surf);padding-bottom:2px;display:inline-block}
.pg-dark .ss-link-w .elementor-button{color:var(--sec);border-color:rgba(96,165,250,.35)}
.ss-link-w .elementor-button:hover,.ss-link:hover{color:var(--ink);border-color:var(--acc)}

/* ---------- hero (every inner page: dark, its instrument beside or below) ---------- */
.elementor .e-con.pg-hero{position:relative;background:radial-gradient(120% 90% at 85% 0,var(--ink-2) 0,var(--ink) 60%);color:#fff;padding:150px 0 72px;overflow:hidden}
.elementor .e-con.pg-hero__in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px 64px;align-items:center}
.pg-hero .tag{color:var(--sec)}
.pg-crumbs{font-size:.85rem;color:#9fb6da;margin-bottom:18px}
.pg-crumbs a{color:#c9dbf7}
.pg-crumbs a:hover{color:#fff}
.pg-crumbs span{opacity:.5;margin:0 4px}
/* wide instruments go under the title block */
.elementor .e-con.pg-hero--about .pg-hero__in,
.elementor .e-con.pg-hero--pins .pg-hero__in,
.elementor .e-con.pg-hero--services .pg-hero__in,
.elementor .e-con.pg-hero--call .pg-hero__in,
.elementor .e-con.pg-hero--team .pg-hero__in,
.elementor .e-con.pg-hero--contact .pg-hero__in{grid-template-columns:1fr}
.pg-hero--about .pg-hero__t,.pg-hero--pins .pg-hero__t,.pg-hero--services .pg-hero__t,.pg-hero--call .pg-hero__t,.pg-hero--team .pg-hero__t,.pg-hero--contact .pg-hero__t{max-width:780px}
.elementor .e-con.pg-hero--ports .pg-hero__in{grid-template-columns:1fr}
.pg-hero--ports .pg-hero__t{max-width:720px}

/* ---------- photo, proof tiles, ruled panel, pillars, person ---------- */
.pg-photo{border-radius:28px;overflow:hidden;position:relative;background:var(--ink)}
.pg-photo__img img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.pg-photo__cap{position:absolute!important;left:16px;bottom:16px;background:rgba(11,31,59,.78);color:#fff;font-size:.85rem;font-weight:700;padding:8px 14px;border-radius:99px;width:auto!important}
.elementor .e-con.pg-proof{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.pg-proof__i{background:var(--surf);border-radius:22px;padding:20px 22px}
.pg-proof__v{font-size:2rem;font-weight:700;color:var(--acc);line-height:1.1}
.pg-proof__l{font-size:.92rem;color:var(--muted);margin-top:6px}

.elementor .e-con.pg-ruled{display:grid;grid-template-columns:220px 1fr;border-top:2px solid var(--ink);border-bottom:1px solid rgba(11,31,59,.25)}
.pg-ruled__k{padding:28px 24px 28px 0;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--acc);border-right:1px solid rgba(11,31,59,.25)}
.pg-ruled__v{padding:28px 0 28px 40px;font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.45;font-weight:300;color:var(--ink)}

.elementor .e-con.pg-pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(96,165,250,.35)}
.elementor .e-con.pg-pillar{padding:30px 28px 8px 0;border-right:1px solid rgba(96,165,250,.2);margin-right:28px}
.pg-pillar:last-child{border-right:0;margin-right:0}
.pg-pillar__k{font-size:2.6rem;font-weight:700;color:var(--sec);line-height:1;margin-bottom:16px}
.pg-pillar .pg-h3{margin-bottom:10px}
.pg-pillar p{color:#c9dbf7;font-size:.95rem}

.pg-person{background:#fff;border-radius:28px;padding:34px;display:grid!important;grid-template-columns:96px 1fr;gap:4px 24px;align-items:center;box-shadow:0 22px 50px rgba(11,31,59,.10)}
.pg-person__mono{grid-row:1/4;width:96px;height:96px;border-radius:24px;background:var(--acc);color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:700;letter-spacing:.04em}
.pg-person__role{color:var(--acc);font-weight:700;font-size:.9rem}
.pg-person__txt{grid-column:1/-1;margin-top:18px;padding-top:18px;border-top:1px solid var(--surf);color:var(--muted)}
.pg-person--dark{background:rgba(255,255,255,.05);border:1px solid rgba(96,165,250,.25);box-shadow:none}
.pg-person--dark .pg-h3{color:#fff}
.pg-person--dark .pg-person__role{color:var(--sec)}
.pg-person--dark .pg-person__txt{color:#c9dbf7;border-color:rgba(96,165,250,.2)}

/* ---------- voyage line (services hub) ---------- */
.elementor .e-con.pg-voyage{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.pg-voyage::before{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:repeating-linear-gradient(90deg,var(--sec) 0 10px,transparent 10px 18px)}
.elementor .e-con.pg-stop{padding:0 24px 0 0;position:relative}
.pg-stop__n{width:56px;height:56px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-weight:700;position:relative;z-index:1;margin-bottom:18px;box-shadow:0 0 0 8px var(--bg)}
.pg-stop__k{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--acc);margin-bottom:6px}
.pg-stop .pg-h3{margin-bottom:8px}
.pg-stop p{font-size:.92rem;color:var(--muted)}

/* ---------- chain (transit steps, team roles) ---------- */
.elementor .e-con.pg-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:s}
.elementor .e-con.pg-step{background:#fff;border:1px solid var(--surf);border-radius:24px;padding:24px 20px;position:relative;display:flex;flex-direction:column;gap:8px}
.pg-step:not(:last-child)::after{content:"";position:absolute;top:44px;right:-15px;width:16px;height:2px;background:var(--acc)}
.pg-step__n{font-size:.85rem;font-weight:700;color:var(--acc)}
.pg-step p{font-size:.9rem;color:var(--muted);margin:0}
.pg-step__pill{margin-top:auto!important;align-self:flex-start;background:var(--surf);color:var(--ink);font-size:.75rem;font-weight:700;padding:5px 12px;border-radius:99px;width:auto!important}
.elementor .e-con.pg-step:last-child{background:var(--acc);border-color:var(--acc)}
.pg-step:last-child .pg-h3,.pg-step:last-child p,.pg-step:last-child .pg-step__n{color:#fff}

/* ---------- stats in duo ---------- */
.elementor .e-con.pg-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pg-dark .stat{background:rgba(255,255,255,.06);color:#e6efff;border:1px solid rgba(96,165,250,.22)}
.pg-dark .stat b{color:var(--sec)}
.pg-dark .stat:hover{background:rgba(255,255,255,.1)}

/* ---------- gallery ---------- */
.elementor .e-con.pg-gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px}
.pg-shot{position:relative;border-radius:24px;overflow:hidden;background:var(--ink)}
.pg-shot__img img{width:100%;height:280px;object-fit:cover}
.pg-shot__cap{position:absolute!important;left:14px;bottom:14px;background:rgba(11,31,59,.78);color:#fff;font-size:.82rem;font-weight:700;padding:7px 12px;border-radius:99px;width:auto!important}

/* ---------- more services + CTA ---------- */
.pg-more{background:var(--surf)}
.pg-more .card{background:var(--bg)}
.elementor .e-con.pg-cta{background:var(--ink);color:#fff;padding:56px 0}
.elementor .e-con.pg-cta__in{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:24px 48px;flex-wrap:wrap}
.pg-cta .pg-h2{color:#fff}
.pg-cta .pg-lead{color:#c9dbf7;margin-top:8px}
.elementor .e-con.pg-cta__b{display:flex;flex-direction:row;align-items:center;gap:22px;width:auto;flex-wrap:wrap}
.pg-phone .oh-info{color:#fff;font-weight:700;font-size:1.1rem;border-bottom:2px solid rgba(96,165,250,.4)}
.elementor .e-con.pg-cta--light{background:var(--surf);color:var(--ink)}
.pg-cta--light .pg-h2{color:var(--ink)}
.pg-cta--light .pg-lead{color:var(--muted)}
.pg-cta--light .pg-phone .oh-info{color:var(--ink);border-color:var(--acc)}
.pg-sec+.pg-cta,.pg-more+.pg-cta{margin-top:0}

/* ---------- contact ---------- */
.elementor .e-con.pg-contact{display:grid;grid-template-columns:1.4fr .8fr;gap:40px;align-items:start}
.pg-form .pg-h2{margin-bottom:22px}
.ff-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;margin-bottom:22px}
.ff{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:700;color:var(--ink)}
.ff--wide{grid-column:1/-1}
.ff-cap{margin:0 0 18px}
.nl-cap{margin-top:12px}
.ff-cap:has(.g-recaptcha:empty),.nl-cap:has(.g-recaptcha:empty){margin:0}
.ff select{appearance:none;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232563EB' stroke-width='2' fill='none'/%3E%3C/svg%3E") right 20px center no-repeat;padding-right:44px}
.ff textarea{border-radius:22px;min-height:140px;resize:vertical}
.ff .wpcf7-form-control-wrap{display:block}
.ff input,.ff select,.ff textarea{font-weight:400}
.ff.is-prefilled select{border-color:var(--acc);box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.elementor .e-con.pg-card{background:var(--ink);color:#e6efff;border-radius:28px;padding:30px;position:sticky;top:110px}
.pg-card__k{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--sec);margin-top:18px}
.pg-card__k:first-child{margin-top:0}
.pg-card .oh-info{display:block;color:#fff;margin:4px 0 0}
.pg-card a.oh-info:hover,.pg-card .oh-info a:hover{color:var(--sec)}
.pg-sec--surf .faq{margin:0}
.pg-sec--surf .q{background:var(--bg)}

/* =========================================================================
   Instruments
   ========================================================================= */
.ss-btn{font-size:.9rem;padding:12px 22px}

/* ---------- About: 2006 → Today line ---------- */
.ss-line{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto auto;gap:0 28px;margin-top:22px;position:relative}
.ss-line__track{grid-column:1/-1;grid-row:2;height:3px;background:rgba(96,165,250,.22);border-radius:3px;position:relative;margin:18px 0}
.ss-line__fill{position:absolute;left:0;top:0;bottom:0;width:100%;background:linear-gradient(90deg,var(--sec),var(--acc));border-radius:3px;transform-origin:left}
.ss-line__node{grid-row:1;max-width:330px}
.ss-line__node--end{grid-column:3;text-align:right}
.ss-line__year{display:block;font-size:clamp(2.4rem,5vw,4rem);font-weight:300;line-height:1;color:#fff;letter-spacing:-.02em}
.ss-line__node p{color:#c9dbf7;font-size:.95rem;margin:10px 0 0}
.ss-line__span{grid-column:2;grid-row:1;align-self:end;text-align:center;color:#c9dbf7}
.ss-line__span b{display:block;font-size:1.6rem;color:var(--sec)}
.ss-line__span span{font-size:.85rem}
.ss-line__today{grid-column:1/-1;grid-row:3;list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(96,165,250,.25)}
.ss-line__today li{padding:20px 20px 0 0;border-right:1px solid rgba(96,165,250,.18);margin-right:20px}
.ss-line__today li:last-child{border-right:0;margin-right:0}
.ss-line__today b{display:block;font-size:2rem;color:#fff;line-height:1.1}
.ss-line__today span{font-size:.88rem;color:#9fb6da}

/* ---------- Services: need selector ---------- */
.ss-need{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;margin-top:22px}
.ss-need__q{display:flex;flex-direction:column;gap:10px}
.ss-need__q button{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:14px;text-align:left;background:rgba(255,255,255,.04);border:1px solid rgba(96,165,250,.25);border-radius:20px;padding:18px 20px;color:#e6efff;font:500 1.02rem var(--font);cursor:pointer;transition:background .3s,border-color .3s,transform .3s}
.ss-need__q button:hover{background:rgba(255,255,255,.08)}
.ss-need__q button[aria-selected=true]{background:var(--acc);border-color:var(--acc);color:#fff;transform:translateX(6px)}
.ss-need__n{font-weight:700;color:var(--sec)}
.ss-need__q button[aria-selected=true] .ss-need__n{color:#fff}
.ss-need__p{background:var(--bg);color:var(--ink);border-radius:28px;padding:32px 34px;height:100%;box-sizing:border-box;position:relative}
.ss-need__ic{position:absolute;right:28px;top:28px;width:64px;height:64px;color:var(--acc)}
.ss-need__ic svg{width:100%;height:100%}
.ss-need__lbl{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--acc);margin:0 0 6px}
.ss-need__p h3{font-size:1.6rem;margin:0 0 20px;color:var(--ink);max-width:80%}
.ss-need__list{margin:0 0 20px;padding:0;list-style:none;counter-reset:n}
.ss-need__list li{counter-increment:n;padding:10px 0 10px 40px;border-top:1px solid var(--surf);position:relative}
.ss-need__list li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:10px;font-weight:700;color:var(--sec);font-size:.85rem}
.ss-need__out{background:var(--surf);border-radius:16px;padding:12px 16px;margin:0 0 20px}
.ss-need__out span{display:block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--acc)}
.ss-need__cta{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ss-need__p[hidden]{display:none}

/* ---------- Port call: stepper ---------- */
.ss-call{margin-top:26px}
.ss-call__rail{display:grid;grid-template-columns:repeat(5,1fr);position:relative;padding-top:8px}
.ss-call__rail::before{content:"";position:absolute;left:10%;right:10%;top:29px;height:2px;background:rgba(96,165,250,.3)}
.ss-call__rail button{background:none;border:0;color:#9fb6da;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 6px;position:relative}
.ss-call__dot{width:44px;height:44px;border-radius:50%;border:2px solid rgba(96,165,250,.45);background:var(--ink);transition:.35s;box-sizing:border-box}
.ss-call__rail button[aria-selected=true] .ss-call__dot{background:var(--acc);border-color:var(--acc);box-shadow:0 0 0 8px rgba(37,99,235,.2)}
.ss-call__rail button.is-done .ss-call__dot{background:var(--ink-2);border-color:var(--sec)}
.ss-call__i{font-size:.75rem;font-weight:700;color:var(--sec)}
.ss-call__t{font-weight:700;color:#fff;font-size:1rem}
.ss-call__ship{position:absolute;top:7px;left:10%;width:44px;height:44px;color:#fff;transform:translateX(-50%);transition:left .6s var(--ease);pointer-events:none;display:none}
.ss-call__ship svg{width:26px;height:26px;margin:9px}
.ss-call__panels{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-top:28px}
.ss-call__p{background:var(--bg);color:var(--ink);border-radius:26px;padding:28px 32px}
.ss-call__p[hidden]{display:none}
.ss-call__k{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--acc);margin:0 0 6px}
.ss-call__p h3{font-size:1.7rem;margin:0 0 10px;color:var(--ink)}
.ss-call__p p:last-child{margin:0;color:var(--muted);font-size:1.05rem}
.ss-call__with{border:1px solid rgba(96,165,250,.3);border-radius:26px;padding:24px 26px;color:#c9dbf7}
.ss-call__with span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--sec)}
.ss-call__with ul{list-style:none;margin:12px 0 0;padding:0}
.ss-call__with li{padding:10px 0;border-top:1px solid rgba(96,165,250,.2);color:#fff;font-weight:700}

/* ---------- Suez: canal strip ---------- */
.ss-canal{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:18px;margin:0;align-items:stretch}
/* Terraink map (2:3): the frame keeps its exact ratio, so route and places stay on the real canal. */
.ss-canal__map{position:relative;border-radius:26px;overflow:hidden;border:1px solid rgba(96,165,250,.25);width:min(100%,400px);justify-self:center;align-self:start}
.ss-canal__map img{width:100%;height:100%;display:block}
.ss-canal__svg{position:absolute;inset:0;width:100%;height:100%}
.ss-canal__route{fill:none;stroke:var(--sec);stroke-width:12;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.ss-canal__place{position:absolute;transform:translate(14px,-50%);font-size:.78rem;font-weight:700;color:#fff;white-space:nowrap;padding-left:12px}
.ss-canal__place::before{content:"";position:absolute;left:-6px;top:50%;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(96,165,250,.35);transform:translate(-50%,-50%)}
.ss-canal__place--l{transform:translate(calc(-100% - 14px),-50%);padding:0 12px 0 0}
.ss-canal__place--l::before{left:auto;right:-26px}
.ss-canal__sea{position:absolute;transform:translate(-50%,-50%);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(201,219,247,.6);white-space:nowrap}
.ss-canal__board{background:var(--bg);color:var(--ink);border-radius:26px;padding:28px;display:flex;flex-direction:column;gap:14px}
.ss-canal__k{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--acc);margin:0}
.ss-canal__dir{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:#fff;border-radius:20px;padding:16px 20px}
.ss-canal__dir b{font-size:3rem;line-height:1;color:var(--acc);min-width:2ch}
.ss-canal__dir span{font-weight:700}
.ss-canal__dir small{font-weight:400;color:var(--muted)}
.ss-canal__dir i{font-style:normal;font-size:1.6rem;color:var(--sec)}
.ss-canal__bar{display:flex;height:10px;border-radius:10px;overflow:hidden;gap:3px}
.ss-canal__bar span:first-child{background:var(--acc)}
.ss-canal__bar span:last-child{background:var(--sec)}
.ss-canal__sum{margin:0;color:var(--muted)}
.ss-canal__sum b{color:var(--ink);font-size:1.2rem}

/* ---------- Husbandry: vessel pins ---------- */
.ss-pins{margin-top:26px;display:grid;grid-template-columns:1fr;gap:16px}
.ss-pins__stage{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:1600/544;background:#0a1d36}
.ss-pins__stage img{width:100%;height:100%;object-fit:cover;display:block}
.ss-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;background:rgba(11,31,59,.82);border:1px solid rgba(96,165,250,.5);color:#fff;border-radius:99px;padding:6px 14px 6px 6px;font:700 .85rem var(--font);cursor:pointer;transition:background .3s,border-color .3s}
.ss-pin__n{width:26px;height:26px;border-radius:50%;background:var(--sec);color:var(--ink);display:grid;place-items:center;font-size:.8rem}
.ss-pin[aria-selected=true]{background:var(--acc);border-color:#fff;box-shadow:0 0 0 6px rgba(37,99,235,.25)}
.ss-pin[aria-selected=true] .ss-pin__n{background:#fff;color:var(--acc)}
.ss-pins__panels{background:var(--bg);color:var(--ink);border-radius:24px;padding:22px 28px}
.ss-pins__p{display:grid;grid-template-columns:auto auto 1fr;gap:4px 18px;align-items:baseline}
.ss-pins__p[hidden]{display:none}
.ss-pins__n{font-size:1.8rem;font-weight:700;color:var(--acc)}
.ss-pins__p h3{margin:0;font-size:1.3rem;color:var(--ink)}
.ss-pins__p p{margin:0;color:var(--muted)}

/* ---------- Offshore: lanes ---------- */
.ss-off{background:rgba(255,255,255,.04);border:1px solid rgba(96,165,250,.25);border-radius:28px;padding:26px}
.ss-off__ends{display:flex;justify-content:space-between;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--sec);margin-bottom:12px}
.ss-off__lanes{display:flex;flex-direction:column;gap:10px}
.ss-off__lane{display:grid;grid-template-columns:14px 170px 1fr 14px;align-items:center;gap:14px;background:none;border:1px solid transparent;border-radius:16px;padding:12px 14px;color:#c9dbf7;font:700 .95rem var(--font);cursor:pointer;text-align:left;transition:background .3s,border-color .3s}
.ss-off__lane:hover{background:rgba(255,255,255,.05)}
.ss-off__lane[aria-selected=true]{background:rgba(37,99,235,.18);border-color:rgba(96,165,250,.5);color:#fff}
.ss-off__a,.ss-off__b{width:14px;height:14px;border-radius:50%;border:2px solid var(--sec);box-sizing:border-box}
.ss-off__b{border-radius:3px}
.ss-off__line{height:2px;background:rgba(96,165,250,.25);position:relative;overflow:hidden}
.ss-off__line i{position:absolute;inset:0;background:var(--sec);transform-origin:left;transform:scaleX(0);transition:transform .7s var(--ease)}
.ss-off__lane[aria-selected=true] .ss-off__line i{transform:scaleX(1)}
.ss-off__panels{margin-top:16px;background:var(--bg);color:var(--ink);border-radius:20px;padding:18px 22px}
.ss-off__p{margin:0}
.ss-off__p[hidden]{display:none}

/* ---------- Ports: map ---------- */
.ss-ports{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:18px;margin-top:26px}
.ss-ports__map{position:relative;border-radius:28px;overflow:hidden;border:1px solid rgba(96,165,250,.25)}
.ss-ports__map>img{width:100%;height:100%;display:block}
.ss-ports__sea{position:absolute;transform:translate(-50%,-50%);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(201,219,247,.55);white-space:nowrap;pointer-events:none}
.ss-ports__sea--land{color:rgba(201,219,247,.28);font-size:1.4rem;letter-spacing:.5em}
.ss-port{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.ss-port__dot{width:12px;height:12px;border-radius:50%;background:var(--sec);box-shadow:0 0 0 4px rgba(96,165,250,.25);transition:transform .3s,background .3s,box-shadow .3s;display:inline-block}
.ss-port--red .ss-port__dot,.ss-port__dot.ss-port--red{background:#f2b46b;box-shadow:0 0 0 4px rgba(242,180,107,.25)}
.ss-port--canal .ss-port__dot,.ss-port__dot.ss-port--canal{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.22)}
.ss-port:hover .ss-port__dot{transform:scale(1.35)}
.ss-port[aria-selected=true] .ss-port__dot{transform:scale(1.6);box-shadow:0 0 0 6px rgba(37,99,235,.55),0 0 0 14px rgba(37,99,235,.18)}
.ss-ports__side{background:var(--bg);color:var(--ink);border-radius:28px;padding:22px;display:flex;flex-direction:column}
.ss-ports__p[hidden]{display:none}
.ss-ports__pic{border-radius:20px;overflow:hidden;aspect-ratio:16/9;background:var(--ink);margin-bottom:16px;position:relative}
.ss-ports__pic img{width:100%;height:100%;object-fit:cover}
.ss-ports__zoom{position:absolute;inset:0;background-size:420% auto;background-repeat:no-repeat}
.ss-ports__zoom i{position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 6px rgba(37,99,235,.35),0 0 0 16px rgba(37,99,235,.12);transform:translate(-50%,-50%)}
.ss-ports__coast{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--acc);margin:0}
.ss-ports__p h3{font-size:1.6rem;margin:4px 0;color:var(--ink)}
.ss-ports__geo{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.9rem;margin:0 0 12px}
.ss-ports__svc{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px}
.ss-ports__svc li{background:var(--surf);border-radius:99px;padding:5px 12px;font-size:.8rem;font-weight:700}
.ss-ports__list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid rgba(96,165,250,.25);padding-top:18px}
.ss-ports__coasth{display:flex;align-items:center;gap:10px;font-weight:700;color:#fff;margin:0 0 8px}
.ss-ports__list ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ss-ports__list a{display:inline-block;color:#c9dbf7;border:1px solid rgba(96,165,250,.3);border-radius:99px;padding:5px 12px;font-size:.85rem}
.ss-ports__list a:hover,.ss-ports__list a.is-on{background:var(--acc);border-color:var(--acc);color:#fff}

/* ---------- Team: the week ---------- */
.ss-week{display:grid;grid-template-columns:1fr 300px;gap:18px;margin-top:26px;align-items:start}
.ss-week__grid{display:grid;grid-template-columns:44px repeat(24,1fr);grid-template-rows:22px repeat(7,30px);gap:4px 0;position:relative;background:rgba(255,255,255,.03);border:1px solid rgba(96,165,250,.22);border-radius:22px;padding:16px 18px}
.ss-week__h{grid-row:1;font-size:.7rem;color:#9fb6da}
.ss-week__d{grid-column:1;font-size:.8rem;font-weight:700;color:#c9dbf7;align-self:center}
.ss-week__ops{grid-column:2/26;background:rgba(96,165,250,.22);border-radius:8px}
.ss-week__office{grid-column:11/18;background:var(--acc);border-radius:8px;margin:5px 0;z-index:1}
.ss-week__now{position:absolute;width:2px;background:#f2b46b;border-radius:2px;z-index:2}
.ss-week__now::after{content:"Now";position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:.65rem;font-weight:700;color:#f2b46b}
.ss-week__key{display:flex;flex-direction:column;gap:12px;color:#c9dbf7}
.ss-week__key p{margin:0;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.ss-week__key i{width:14px;height:14px;border-radius:4px;display:inline-block;flex:none;align-self:center}
.k-ops{background:rgba(96,165,250,.45)}
.k-office{background:var(--acc)}
.ss-week__key b{color:#fff}
.ss-week__status{background:var(--bg);color:var(--ink)!important;border-radius:18px;padding:14px 16px;font-weight:700}
.ss-week__status:empty{display:none}

/* ---------- Contact: doors ---------- */
.ss-doors{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.ss-door{display:flex;flex-direction:column;gap:10px;background:rgba(255,255,255,.04);border:1px solid rgba(96,165,250,.25);border-radius:24px;padding:22px;color:#fff!important;transition:background .3s,transform .3s,border-color .3s}
.ss-door:hover,.ss-door.is-on{background:var(--acc);border-color:var(--acc);transform:translateY(-4px)}
.ss-door__ic{width:44px;height:44px;color:var(--sec)}
.ss-door:hover .ss-door__ic,.ss-door.is-on .ss-door__ic{color:#fff}
.ss-door__ic svg{width:100%;height:100%}
.ss-door__s{font-size:1.02rem;font-weight:700;line-height:1.3}
.ss-door__t{margin-top:auto;font-size:.82rem;color:#c9dbf7}
.ss-door:hover .ss-door__t,.ss-door.is-on .ss-door__t{color:#fff}

/* ---------- blog / news (theme templates) ---------- */
.blog .oh-page-title,.archive .oh-page-title,.single .oh-page-title,.search .oh-page-title{background:radial-gradient(120% 90% at 85% 0,var(--ink-2) 0,var(--ink) 60%);color:#fff;padding:150px 0 60px}
.oh-page-title .oh-title{color:#fff;font-size:clamp(2.3rem,5vw,4rem);font-weight:400}
.oh-main{padding-top:56px;padding-bottom:72px}
.oh-card{background:#fff;border-radius:26px;box-shadow:none;border:1px solid var(--surf)}
.oh-none--news{background:var(--surf);border-radius:30px;padding:48px;max-width:760px}
.oh-none--news h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:6px 0 12px;color:var(--ink)}
.oh-none__k{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--acc);margin:0}
.oh-none__form{margin-top:22px}

/* =========================================================================
   responsive
   ========================================================================= */
@media (max-width:1100px){
	.elementor .e-con.pg-chain{grid-template-columns:repeat(3,1fr)}
	.pg-step::after{display:none}
	.ss-doors{grid-template-columns:1fr 1fr}
	.ss-week{grid-template-columns:1fr}
}
@media (max-width:900px){
	.pg-sec{padding:52px 0}
	.elementor .e-con.pg-hero{padding:120px 0 52px}
	.elementor .e-con.pg-hero__in,.elementor .e-con.pg-duo,.elementor .e-con.pg-intro--row,.elementor .e-con.pg-contact{grid-template-columns:1fr}
	.elementor .e-con.pg-duo--rev>.pg-duo__t{order:0}
	.elementor .e-con.pg-pillars,.elementor .e-con.pg-voyage{grid-template-columns:1fr 1fr;gap:28px 0}
	.pg-voyage::before{display:none}
	.elementor .e-con.pg-pillar{margin-right:0;padding-right:20px;border-right:0}
	.elementor .e-con.pg-ruled{grid-template-columns:1fr}
	.pg-ruled__k{border-right:0;border-bottom:1px solid rgba(11,31,59,.25);padding:18px 0}
	.pg-ruled__v{padding:22px 0}
	.elementor .e-con.pg-gallery{grid-template-columns:1fr 1fr}
	.elementor .e-con.pg-card{position:static}
	.ss-need,.ss-canal,.ss-ports{grid-template-columns:1fr}
	.ss-canal__map{width:min(100%,360px)}
	.ss-call__panels{grid-template-columns:1fr}
	.ss-line__today{grid-template-columns:1fr 1fr;gap:0}
	.ss-line__today li:nth-child(2){border-right:0;margin-right:0}
	.ss-ports__list{grid-template-columns:1fr}
	.ss-pin__l{display:none}
	.ss-pin{padding:6px}
}
@media (max-width:600px){
	.elementor .e-con.pg-chain,.elementor .e-con.pg-pillars,.elementor .e-con.pg-voyage,.elementor .e-con.pg-stats,.elementor .e-con.pg-proof,.elementor .e-con.pg-gallery{grid-template-columns:1fr}
	.pg-prose p{text-align:left;hyphens:manual}
	.ff-grid{grid-template-columns:1fr}
	.ss-doors{grid-template-columns:1fr}
	.ss-line{grid-template-columns:1fr 1fr}
	.ss-line__span{display:none}
	.ss-line__node--end{grid-column:2}
	.ss-call__rail{grid-template-columns:repeat(5,minmax(0,1fr))}
	.ss-call__t{font-size:.72rem;text-align:center}
	.ss-call__dot{width:34px;height:34px}
	.ss-call__rail::before{top:24px}
	.ss-off__lane{grid-template-columns:14px 1fr 14px}
	.ss-off__line{display:none}
	.ss-pins__p{grid-template-columns:auto 1fr}
	.ss-pins__p p{grid-column:1/-1}
	.ss-week__grid{grid-template-columns:34px repeat(24,1fr);padding:12px 10px}
	.ss-week__h:nth-of-type(even){visibility:hidden}
	.ss-need__p h3{max-width:100%;padding-right:60px}
	.pg-person{grid-template-columns:72px 1fr}
	.pg-person__mono{width:72px;height:72px;font-size:1.5rem}
}
