/* Lumen Log: photography, clear service hierarchy and a single European map. */
:root {
  --navy:#112c42; --navy-dark:#0c2437; --navy-deep:#091d2d;
  --ink:#172d40; --ink-2:#526372; --bg-soft:#f3f6f8; --line:#dce4e9;
  --accent:#f0a030; --accent-hover:#e99520; --max-width:1380px;
  --gutter:clamp(22px,4.5vw,72px); --section-y:clamp(68px,8vw,118px);
  --r-xs:4px; --r-sm:5px; --r:6px; --r-lg:8px; --r-xl:8px;
}
body {font-size:17px;}
h1,h2,h3 {font-weight:500;letter-spacing:-.035em;}
.btn {border-radius:5px;box-shadow:none;}
.btn:hover {box-shadow:none;transform:none;}
.btn-primary,.btn-accent {color:#142a3d;}
.text-link {font-weight:500;text-decoration-color:#168bcc;text-decoration-thickness:1px;text-underline-offset:7px;}
.text-link:hover {color:#086ea5;text-decoration-thickness:2px;}
.small-note {color:#426275;}
.section-heading h2,.split-section h2,.conversation h2 {font-size:clamp(2rem,3.7vw,3.25rem);font-weight:500;}
.checklist-box,.contact-note {border-radius:6px;}
.service-card,.detail-card,.value-card,.app-card,.integration-card {box-shadow:none;}
.service-card:hover,.detail-card:hover,.value-card:hover,.app-card:hover,.integration-card:hover {box-shadow:none;border-color:#a4bcca;}
.site-footer {background:var(--navy-deep);}
.site-footer h4 {font-weight:500;}
.site-footer .footer-logo {max-width:180px;}
.site-footer .footer-brand p {max-width:35ch;}
.mobile-cta {box-shadow:0 -1px 0 var(--line);}

/* Shared single-row navigation. The homepage header overlays the photograph. */
.studio-header {background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--line);}
.studio-header .container {max-width:1540px;padding-inline:clamp(22px,3vw,48px);}
.studio-header .nav-inner,.studio-header.scrolled .nav-inner {height:92px;gap:24px;}
.studio-header .logo {flex:0 0 172px;}
.studio-header .logo img,.studio-header.scrolled .logo img {width:172px;height:auto;}
.studio-header .logo-light {display:none;}
.studio-header .nav-links {margin-left:auto;gap:6px;}
.studio-header .nav-links>li>a,.studio-nav-menu>summary {font-size:.88rem;padding:12px 10px;font-weight:500;}
.studio-header .nav-links>li>a::after {display:none;}
.studio-header .nav-links>li>a.active {text-decoration:underline;text-underline-offset:7px;text-decoration-color:#168bcc;}
.studio-header .nav-links>li>a.btn {margin:0 0 0 10px;padding:14px 19px;background:var(--accent);border-color:var(--accent);color:#142a3d;font-weight:600;}
.studio-header .nav-links>li>a.btn:hover {background:var(--accent-hover);border-color:var(--accent-hover);}
.studio-panel-link a {font-size:.8rem!important;}
.studio-nav-menu {position:relative;}
.studio-nav-menu>summary {cursor:pointer;display:flex;align-items:center;gap:9px;list-style:none;color:var(--ink);white-space:nowrap;}
.studio-nav-menu>summary::-webkit-details-marker {display:none;}
.studio-nav-menu>summary::after {content:'';width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-3px;}
.studio-nav-menu[open]>summary::after {transform:rotate(225deg);margin-top:3px;}
.studio-nav-menu[open]>.dropdown {opacity:1;visibility:visible;transform:none;}
.studio-nav-menu .dropdown {top:100%;min-width:246px;padding:10px;border-radius:5px;box-shadow:0 12px 30px #091d2d1a;}
.studio-nav-menu .dropdown a:hover {padding-left:14px;}
.studio-lang {display:flex;gap:2px;flex-shrink:0;}
.studio-lang a {font-size:.72rem;padding:10px 5px;color:var(--ink-2);}
.studio-lang a.active {color:var(--ink);text-decoration:underline;text-underline-offset:5px;}
.studio-home .studio-header {position:fixed;inset:0 0 auto;background:linear-gradient(#091d2d99,#091d2d33);border-color:#ffffff26;}
.studio-home .studio-header:not(.scrolled) .logo-dark {display:none;}
.studio-home .studio-header:not(.scrolled) .logo-light {display:block;}
.studio-home .studio-header:not(.scrolled) .nav-links>li>a:not(.btn),
.studio-home .studio-header:not(.scrolled) .studio-nav-menu>summary,
.studio-home .studio-header:not(.scrolled) .studio-lang a {color:#fff;}
.studio-home .studio-header:not(.scrolled) .mobile-toggle span {background:#fff;}
.studio-home .studio-header.scrolled {background:#fff;border-color:var(--line);box-shadow:none;}
.studio-header.scrolled .nav-inner {height:76px;}

/* Main opening photograph. Text and subject occupy different parts of the frame. */
.studio-hero {position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;min-height:740px;height:100svh;max-height:1000px;background:var(--navy-deep);color:#fff;}
.studio-hero-image {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;}
.studio-hero::after {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071c2dd1 0%,#071c2d83 36%,#071c2d10 70%),linear-gradient(0deg,#071c2d99,transparent 25%);}
.studio-hero-content {width:100%;padding-top:130px;padding-bottom:160px;}
.studio-hero h1 {color:#fff;font-size:clamp(2.7rem,4.65vw,4.7rem);line-height:1.09;font-weight:400;letter-spacing:-.04em;max-width:900px;margin-bottom:28px;text-wrap:initial;}
.studio-hero-content>p {color:#e1e9ef;font-size:1.08rem;line-height:1.65;max-width:45ch;margin-bottom:34px;}
.studio-hero .btn {padding-inline:28px;}
.studio-hero-bottom {position:absolute;bottom:33px;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;width:100%;font-size:.8rem;line-height:1.65;}
.studio-hero-bottom p {color:#d5e1e9;}
.studio-hero-bottom a {display:flex;gap:30px;align-items:center;color:#fff;padding:10px 0;}
.studio-hero-bottom a span {font-size:1.5rem;}

/* Service photography and headings. */
.studio-section-intro {display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:52px;}
.studio-section-intro h2,.studio-company h2,.studio-contact h2 {font-size:clamp(2.15rem,3.6vw,3.5rem);line-height:1.13;font-weight:400;}
.studio-section-intro>p {color:var(--ink-2);max-width:43ch;margin-bottom:3px;}
.studio-service-grid {display:grid;grid-template-columns:1fr 1fr;gap:38px;}
.studio-service {min-width:0;}
.studio-service-photo {display:block;overflow:hidden;border-radius:6px;aspect-ratio:1.5;}
.studio-service-photo img {width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.78);transition:transform .5s ease;}
.studio-service-photo.courier-photo img {object-position:64% center;}
.studio-service-photo:hover img {transform:scale(1.025);}
.studio-service-body {padding:28px 0 0;}
.studio-service h3 {font-size:clamp(1.65rem,2.4vw,2.35rem);line-height:1.17;margin-bottom:18px;font-weight:500;}
.studio-service h3 a:hover {color:#086ea5;}
.studio-service p {max-width:47ch;margin-bottom:22px;color:var(--ink-2);}

/* Europe is the distinctive graphic element. */
.studio-reach {background:#112c42;color:#fff;scroll-margin-top:75px;}
.studio-reach .studio-section-intro {margin-bottom:25px;}
.studio-reach h2,.studio-reach h3 {color:#fff;}
.studio-reach .studio-section-intro>p {color:#c5d6e2;}
.studio-map-layout {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);gap:35px;align-items:center;}
.studio-map-layout figure {margin:0;}
.studio-map-layout figure img {width:100%;height:auto;}
.studio-map-layout figcaption {font-size:.74rem;color:#aac0ce;padding-top:4px;}
.studio-destinations {padding:20px 0;}
.studio-destinations h3 {font-size:1.45rem;font-weight:500;margin-bottom:22px;}
.studio-destinations .destination-list {grid-template-columns:1fr 1fr;column-gap:20px;}
.studio-destinations .destination-list li {border-color:#345066;padding:0;font-size:.91rem;}
.studio-destinations .destination-list a {gap:9px;min-height:49px;padding:8px 0;}
.studio-destinations .country-code {background:none;color:#8bbedc;border-radius:0;width:27px;min-width:27px;padding:0;text-align:left;font-weight:400;font-size:.73rem;}
.studio-destinations>p {color:#bdd0dc;font-size:.86rem;margin:24px 0;max-width:43ch;}
.studio-reach .text-link {color:#fff;text-decoration-color:#73bcec;font-size:.9rem;}

/* Process: numbers express actual order, with no extra decorative cards. */
.studio-process .journey {gap:24px;}
.studio-process .journey li {border-top:1px solid #cbd9e2;padding-top:26px;}
.studio-process .journey li::before {background:none;color:#168bcc;border-radius:0;justify-content:flex-start;font-size:2rem;font-weight:400;width:auto;height:auto;line-height:1;margin-bottom:30px;}
.studio-process .journey h3 {font-size:1.03rem;letter-spacing:-.02em;font-weight:500;}
.studio-process .journey p {font-size:.88rem;}

/* A direct contact and the tools used by the company. */
.studio-company {background:var(--bg-soft);}
.studio-company-layout {display:grid;grid-template-columns:1fr 1fr;gap:100px;}
.studio-company-copy>p {margin-top:24px;color:var(--ink-2);max-width:46ch;}
.studio-company-copy>.studio-lead {font-size:1.15rem;color:var(--navy);}
.studio-company-copy>.text-link {margin-top:24px;}
.studio-direct-contact {margin-top:34px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.studio-direct-contact>span,.studio-direct-contact>small {color:var(--ink-2);font-size:.8rem;}
.studio-direct-contact>a {font-size:1.55rem;letter-spacing:-.02em;}
.studio-technology {border-left:1px solid #d3e0e8;padding-left:65px;align-self:center;}
.studio-technology h3 {font-size:clamp(1.65rem,2.6vw,2.45rem);line-height:1.2;margin-bottom:20px;}
.studio-technology>p {color:var(--ink-2);max-width:40ch;margin-bottom:30px;}
.studio-technology .tools-list {margin-bottom:30px;}
.studio-technology .tools-list a {padding:22px 0;gap:20px;}
.studio-technology .tools-list strong {font-size:1.25rem;min-width:92px;font-weight:500;}
.studio-technology .tools-list span {font-size:.86rem;}

/* Partner marks remain still and readable. */
.partners-static {padding:65px 0 70px;border-top:0;}
.partners-static .partners-title {text-align:left;font-size:1.55rem;font-weight:500;letter-spacing:-.03em;text-transform:none;color:var(--navy);margin-bottom:30px;}
.partner-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 30px;}
.partner-grid>div {min-width:0;min-height:82px;display:flex;align-items:center;justify-content:center;}
.partner-grid img {max-width:145px;width:100%;height:43px;object-fit:contain;filter:grayscale(1);opacity:.85;}
.partner-grid img:hover {filter:none;opacity:1;}
.studio-contact {background:var(--navy);color:#fff;}
.studio-contact h2 {color:#fff;margin-bottom:22px;}
.studio-contact-layout {display:flex;align-items:center;justify-content:space-between;gap:50px;}
.studio-contact p {max-width:51ch;color:#c5d6e2;}
.studio-contact .btn {flex-shrink:0;}

/* Existing about/service heroes inherit the same restrained photo treatment. */
.page-hero {background:var(--bg-soft);padding:72px 0;}
.page-hero.with-photo {padding:56px 0 64px;}
.service-hero-layout {gap:64px;grid-template-columns:1fr 1fr;}
.service-hero-copy h1 {font-size:clamp(2.2rem,3.7vw,3.55rem);line-height:1.12;font-weight:400;}
.service-hero-photo {border-radius:6px;height:380px;}
.page-hero h1 {font-weight:400;}
.page-subtitle {max-width:52ch;line-height:1.65;}
.delivery-map-layout figure img {border-radius:6px;}
.conversation {background:var(--bg-soft);}

@media(min-width:1181px) {
  .studio-header .mobile-toggle {display:none;}
  .studio-header .nav-links {display:flex;}
}
@media(max-width:1180px) {
  .studio-header .nav-inner,.studio-header.scrolled .nav-inner {height:76px;gap:18px;}
  .studio-header .logo {flex-basis:160px;margin-right:auto;}
  .studio-header .logo img,.studio-header.scrolled .logo img {width:160px;}
  .studio-header .mobile-toggle {display:flex;order:3;}
  .studio-header .studio-lang {order:2;}
  .studio-header .nav-links {display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:20px var(--gutter);background:#fff;color:var(--ink);max-height:calc(100dvh - 150px);overflow-y:auto;border-top:1px solid var(--line);box-shadow:0 12px 24px #091d2d18;}
  .studio-header .nav-links.open {display:flex;animation:none;}
  .studio-header .nav-links>li {width:100%;}
  .studio-header .nav-links>li>a,.studio-header .studio-nav-menu>summary {display:flex;padding:14px 0;font-size:1rem;}
  .studio-home .studio-header:not(.scrolled) .nav-links>li>a:not(.btn),.studio-home .studio-header:not(.scrolled) .studio-nav-menu>summary {color:var(--ink);}
  .studio-header .nav-links>li>a.btn {margin:14px 0 0;justify-content:center;}
  .studio-nav-menu>.dropdown {position:static;border:0;border-left:1px solid var(--line);box-shadow:none;margin:0 0 12px 5px;padding:0 0 0 10px;}
  .studio-nav-menu>summary::after {margin-left:auto;margin-right:4px;}
  .studio-home .studio-hero {min-height:710px;}
  .studio-hero h1 {font-size:clamp(2.8rem,5.1vw,4rem);}
  .studio-section-intro {gap:45px;}
  .studio-company-layout {gap:55px;}
  .studio-technology {padding-left:40px;}
  .studio-map-layout {grid-template-columns:minmax(0,1.2fr) minmax(325px,1fr);gap:22px;}
  .studio-process .journey {grid-template-columns:repeat(5,1fr);gap:18px;}
}
@media(max-width:850px) {
  .studio-hero-image {object-position:61% center;}
  .studio-hero::after {background:linear-gradient(90deg,#071c2deb,#071c2d94 60%,#071c2d55);}
  .studio-section-intro {grid-template-columns:1fr;gap:22px;margin-bottom:35px;}
  .studio-section-intro>p {max-width:56ch;}
  .studio-map-layout {grid-template-columns:1fr;}
  .studio-map-layout figure {max-width:650px;}
  .studio-destinations {padding-top:15px;}
  .studio-destinations .destination-list {grid-template-columns:repeat(3,1fr);}
  .studio-company-layout {gap:36px;}
  .studio-technology {padding-left:30px;}
  .studio-process .journey {grid-template-columns:repeat(3,1fr);gap:34px 24px;}
  .partner-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
  .service-hero-layout {gap:30px;}
  .service-hero-photo {height:320px;}
}
@media(max-width:700px) {
  .studio-home .studio-hero {min-height:690px;height:94svh;max-height:860px;}
  .studio-hero h1 {font-size:clamp(2.1rem,7vw,3.1rem);line-height:1.14;letter-spacing:-.035em;}
  .studio-hero-content {padding-top:126px;padding-bottom:158px;}
  .studio-hero-content>p {font-size:1rem;max-width:32ch;}
  .studio-hero-image {object-position:67% center;}
  .studio-hero-bottom {bottom:27px;font-size:.73rem;gap:14px;}
  .studio-hero-bottom a {gap:12px;}
  .studio-service-grid {grid-template-columns:1fr;gap:48px;}
  .studio-service-photo {aspect-ratio:1.5;}
  .studio-service h3 {font-size:1.85rem;}
  .studio-service-body {padding-top:23px;}
  .studio-company-layout {grid-template-columns:1fr;gap:45px;}
  .studio-technology {border-left:0;border-top:1px solid #d3e0e8;padding:35px 0 0;}
  .studio-destinations .destination-list {grid-template-columns:1fr 1fr;column-gap:20px;}
  .studio-process .journey {grid-template-columns:1fr;gap:18px;}
  .studio-process .journey li {display:grid;grid-template-columns:28px 1fr;gap:0 18px;padding-top:20px;}
  .studio-process .journey li::before {grid-row:1/3;font-size:1.6rem;margin:0;}
  .studio-process .journey li h3 {font-size:1.12rem;}
  .studio-process .journey li p {grid-column:2;font-size:.94rem;}
  .studio-contact-layout {flex-direction:column;align-items:flex-start;gap:30px;}
  .studio-contact h2,.studio-section-intro h2,.studio-company h2 {font-size:2.15rem;}
  .partner-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 25px;}
  .partner-grid>div {min-height:62px;}
  .partner-grid img {height:32px;}
  .partners-static {padding:50px 0;}
  .service-hero-layout {grid-template-columns:1fr;}
  .service-hero-photo {height:auto;aspect-ratio:1.5;border-radius:6px;}
  .page-hero.with-photo {padding:32px 0 42px;}
  .service-hero-copy h1 {font-size:clamp(2rem,7vw,2.8rem);}
}
@media(max-width:390px) {
  .studio-header .nav-inner {gap:10px;}
  .studio-header .logo {flex-basis:130px;}
  .studio-header .logo img,.studio-header.scrolled .logo img {width:130px;}
  .studio-lang a {padding-inline:4px;}
  .studio-header .mobile-toggle {width:36px;}
  .studio-hero-bottom {align-items:flex-start;flex-direction:column;gap:5px;}
  .studio-home .studio-hero {min-height:725px;}
  .studio-destinations .destination-list li {font-size:.83rem;}
}
@media(prefers-reduced-motion:reduce) {
  .studio-service-photo img {transition:none;}
  .studio-service-photo:hover img {transform:none;}
}
@media print {
  .studio-header {position:static!important;}
  .studio-hero {height:auto;min-height:0;padding-top:0;}
  .studio-hero-content {padding:40px 0;}
  .studio-hero-bottom,.mobile-cta {display:none;}
}
