/* Danube Exim Services :: Fairway
   Composition layer on top of the Elementor global kit. Colours, type sizes and
   the 2px radius come from the kit; this file does the layout craft the widget
   controls cannot express: full-bleed splits, hairline ledgers and the overlap.

   Containers are sized through Elementor's own custom properties
   (--flex-grow / --flex-shrink / --flex-basis / --width / --padding-* /
   --margin-* / --min-height) rather than the shorthand properties, because
   .e-con.e-flex sets those shorthands from the variables and would win. */

:root{
  --dx-bg:#EFF1EE;
  --dx-surface:#FFFFFF;
  --dx-ink:#0A2432;
  --dx-muted:#4A5E6C;
  --dx-accent:#10B26B;
  --dx-accent-dark:#0E9D5E;
  --dx-deep:#071A24;
  --dx-line:#D7DCD9;
  --dx-bone70:#A9B7BD;
  --dx-hairline-dark:rgba(239,241,238,.16);
  --dx-gutter:max(24px, calc((100vw - 1280px) / 2));
}

body{ background:var(--dx-bg); color:var(--dx-ink); }
body a{ text-decoration:none; }

/* ---------------------------------------------------------------- rhythm */

.dx-section,.dx-header__inner,.dx-footer{ --padding-left:24px; --padding-right:24px; }
.dx-section{ --padding-top:118px; --padding-bottom:118px; }
@media (max-width:1024px){ .dx-section{ --padding-top:82px; --padding-bottom:82px; } }
@media (max-width:767px){ .dx-section{ --padding-top:60px; --padding-bottom:60px; } }

.dx-deep{ color:var(--dx-bg); }
.dx-deep h1,.dx-deep h2,.dx-deep h3,.dx-deep h4,.dx-deep h5,.dx-deep h6{ color:var(--dx-bg); }
.dx-deep p{ color:var(--dx-bone70); }
.dx-deep li{ color:var(--dx-bone70); }

.dx-lead p, p.dx-lead{ font-size:20px; line-height:1.55; color:var(--dx-muted); max-width:34em; }
.dx-deep .dx-lead p, .dx-deep p.dx-lead{ color:var(--dx-bone70); }
@media (max-width:767px){ .dx-lead p, p.dx-lead{ font-size:18px; } }

.dx-eyebrow{
  display:inline-block; font-family:"Golos Text",system-ui,sans-serif;
  font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--dx-muted);
}
.dx-deep .dx-eyebrow{ color:var(--dx-accent); }

.dx-rule{ display:block; width:88px; height:4px; background:var(--dx-accent); }

/* --------------------------------------------------------------- buttons */

.dx-btn .elementor-button,
a.dx-btn{
  display:inline-flex; align-items:center; justify-content:center; white-space:nowrap;
  font-family:"Golos Text",system-ui,sans-serif; font-weight:600; font-size:15px;
  line-height:1.2; letter-spacing:.01em;
  padding:16px 30px; border-radius:2px;
  background:var(--dx-accent); color:var(--dx-deep);
  border:1px solid var(--dx-accent);
  transition:background .18s ease, border-color .18s ease, color .18s ease, transform .12s ease;
}
.dx-btn .elementor-button:hover, a.dx-btn:hover,
.dx-btn .elementor-button:focus-visible, a.dx-btn:focus-visible{
  background:var(--dx-accent-dark); border-color:var(--dx-accent-dark); color:var(--dx-deep);
}
.dx-btn .elementor-button:active, a.dx-btn:active{ transform:translateY(1px); }

.dx-btn--ghost .elementor-button, a.dx-btn--ghost{
  background:transparent; color:var(--dx-ink); border-color:var(--dx-ink);
}
.dx-btn--ghost .elementor-button:hover, a.dx-btn--ghost:hover{
  background:var(--dx-ink); color:var(--dx-bg); border-color:var(--dx-ink);
}
.dx-deep .dx-btn--ghost .elementor-button{ color:var(--dx-bg); border-color:rgba(239,241,238,.55); }
.dx-deep .dx-btn--ghost .elementor-button:hover{ background:var(--dx-bg); color:var(--dx-deep); border-color:var(--dx-bg); }

.dx-btn--sm .elementor-button, a.dx-btn--sm{ padding:11px 20px; font-size:14px; }
.dx-btn--tight{ margin-top:46px; }
.dx-btn--tight .elementor-button{ padding:13px 24px; font-size:14px; }

.dx-cta{ --flex-wrap:wrap; }

/* ---------------------------------------------------------------- header */

.dx-header{
  position:sticky; top:0; z-index:99;
  border-bottom:1px solid var(--dx-line);
}
.dx-header__inner{ --width:100%; --flex-wrap:nowrap; }
.dx-header__right.e-con{ --width:auto; --flex-grow:0; --flex-shrink:1; --flex-basis:auto; --flex-wrap:nowrap; }
.dx-header__brand{ flex:0 0 auto; }

a.dx-brand{ display:inline-flex; align-items:center; gap:12px; color:var(--dx-ink); }
.dx-brand__mark{ width:25px; height:25px; flex:none; display:block; }
.dx-brand__word{
  display:flex; flex-direction:column; gap:4px; white-space:nowrap;
  font-family:"Geologica",system-ui,sans-serif; font-weight:700; font-size:17px;
  line-height:1; letter-spacing:-.01em;
}
.dx-brand__word em{
  font-style:normal; font-family:"Golos Text",system-ui,sans-serif;
  font-weight:500; font-size:10px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--dx-muted);
}
a.dx-brand--light{ color:var(--dx-bg); }
a.dx-brand--light .dx-brand__word em{ color:var(--dx-bone70); }

.dx-nav__list{ display:flex; align-items:center; gap:30px; list-style:none; margin:0; padding:0; }
.dx-nav__list a{
  display:inline-block; white-space:nowrap;
  font-family:"Golos Text",system-ui,sans-serif;
  font-size:15px; font-weight:500; color:var(--dx-ink);
  padding-block:6px; border-bottom:2px solid transparent;
}
.dx-nav__list a:hover{ border-bottom-color:var(--dx-accent); }
.dx-nav__list .current-menu-item > a{ border-bottom-color:var(--dx-accent); }

/* --------------------------------------------------- off-canvas menu
   Checkbox-driven so the panel can slide without JavaScript. */

.dx-header__burger{ display:none; }
@media (max-width:1080px){
  .dx-header__nav{ display:none; }
  /* On narrow screens the burger sits last, hard against the right edge, with
     the language control ahead of it. */
  .dx-header__burger{ display:block; order:3; }
  .dx-lang{ order:2; }
  .dx-header__cta{ order:1; }
}

.dx-mob__input{ position:absolute; opacity:0; width:0; height:0; pointer-events:none; }

.dx-mob__button{
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; cursor:pointer;
  border:1px solid transparent; border-radius:2px;
  transition:border-color .18s ease;
}
.dx-mob__button:hover{ border-color:var(--dx-line); }
.dx-mob__bars,
.dx-mob__bars::before,
.dx-mob__bars::after{
  display:block; width:20px; height:1.5px; background:var(--dx-ink); border-radius:1px;
}
.dx-mob__bars{ position:relative; }
.dx-mob__bars::before,
.dx-mob__bars::after{ content:""; position:absolute; left:0; }
.dx-mob__bars::before{ top:-6px; }
.dx-mob__bars::after{ top:6px; }

.dx-mob__scrim{
  position:fixed; inset:0; z-index:150;
  background:rgba(7,26,36,.55); backdrop-filter:blur(2px);
  opacity:0; visibility:hidden; transition:opacity .28s ease, visibility .28s;
}

.dx-mob__panel{
  position:fixed; top:0; right:0; bottom:0; z-index:151;
  width:min(320px,84vw); padding:26px 28px 34px;
  background:var(--dx-deep); color:var(--dx-bg);
  display:flex; flex-direction:column; gap:8px;
  transform:translateX(100%); visibility:hidden;
  transition:transform .28s cubic-bezier(.4,0,.2,1), visibility .28s;
  overflow-y:auto; overscroll-behavior:contain;
}

.dx-mob:has(.dx-mob__input:checked) .dx-mob__scrim,
.dx-mob__input:checked ~ .dx-mob__scrim{ opacity:1; visibility:visible; }
.dx-mob:has(.dx-mob__input:checked) .dx-mob__panel,
.dx-mob__input:checked ~ .dx-mob__panel{ transform:translateX(0); visibility:visible; }
html:has(.dx-mob__input:checked){ overflow:hidden; }

.dx-mob__close{
  align-self:flex-end; width:36px; height:36px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; margin:-4px -6px 10px 0;
}
.dx-mob__close span{ position:relative; display:block; width:18px; height:18px; }
.dx-mob__close span::before,
.dx-mob__close span::after{
  content:""; position:absolute; top:8px; left:0; width:18px; height:1.5px;
  background:var(--dx-bg); border-radius:1px;
}
.dx-mob__close span::before{ transform:rotate(45deg); }
.dx-mob__close span::after{ transform:rotate(-45deg); }

.dx-mob__list{ list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; }
.dx-mob__list li{ border-bottom:1px solid var(--dx-hairline-dark); }
.dx-mob__list a{
  display:block; padding:15px 0; color:var(--dx-bg);
  font-family:"Geologica",system-ui,sans-serif; font-size:19px; font-weight:600; letter-spacing:-.01em;
}
.dx-mob__list .current-menu-item > a{ color:var(--dx-accent); }

.dx-mob__cta{ align-self:flex-start; }
.dx-mob__mail{
  margin-top:22px; color:var(--dx-bg); font-size:15px;
  border-bottom:1px solid var(--dx-accent); align-self:flex-start; padding-bottom:3px;
}
@media (max-width:640px){
  .dx-header__cta{ display:none; }
  .dx-header__inner{ --flex-wrap:nowrap; }
  .dx-brand__word{ font-size:15px; }
  .dx-brand__word em{ font-size:9px; letter-spacing:.2em; }
  .dx-brand__mark{ width:21px; height:21px; }
  .dx-header__right{ --gap:18px; --column-gap:18px; }
}

/* ------------------------------------------------------ language control
   The plugin marks its caret with a Font Awesome class. Font Awesome is not
   loaded on this site, so the icon element is empty and only skews the button:
   it is hidden and the chevron is drawn in CSS instead. */

.dx-lang .cpel-switcher__nav{ position:relative; }
.dx-lang .cpel-switcher__icon{ display:none !important; }

.dx-lang .cpel-switcher__toggle{
  cursor:pointer; border:1px solid var(--dx-line); border-radius:2px;
  background:transparent; transition:border-color .18s ease, background-color .18s ease;
}
.dx-lang .cpel-switcher__toggle:hover,
.dx-lang .cpel-switcher__toggle--on{ border-color:var(--dx-ink); background:var(--dx-surface); }

.dx-lang .cpel-switcher__toggle > a{
  display:flex; align-items:center; gap:8px; height:38px; padding:0 12px;
}
.dx-lang .cpel-switcher__toggle > a::after{
  content:""; width:6px; height:6px; margin-top:-3px; flex:none;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg); opacity:.55; transition:transform .18s ease;
}
.dx-lang .cpel-switcher__toggle--on > a::after{ transform:rotate(225deg); margin-top:2px; }

.dx-lang .cpel-switcher__code{ line-height:1; }

/* The plugin collapses the list with max-height, so the panel is only painted
   once it is open: a border and padding on the closed state would leave a
   visible sliver under the button. */
.dx-lang .cpel-switcher__list{
  top:calc(100% + 6px) !important; right:0; left:auto;
  flex-direction:column; min-width:100%; border-radius:2px;
}
.dx-lang .cpel-switcher__toggle--on + .cpel-switcher__list{
  max-height:240px;
  background:var(--dx-surface); border:1px solid var(--dx-line);
  padding:4px 0; box-shadow:0 18px 40px -26px rgba(10,36,50,.5);
}
.dx-lang .cpel-switcher__list .cpel-switcher__lang a{
  display:flex; align-items:center; height:34px; padding:0 12px;
}
.dx-lang .cpel-switcher__list .cpel-switcher__lang a:hover{ background:var(--dx-bg); }

/* Divider between the menu and the language and quote controls. */
@media (min-width:1081px){
  .dx-header__nav{ padding-right:26px; border-right:1px solid var(--dx-line); }
}
.dx-header__cta a.dx-btn--sm{ height:40px; padding:0 20px; }

/* ------------------------------------------------------------------ hero */

.dx-hero{ --min-height:min(86vh,880px); }
.dx-hero__text{
  --flex-grow:0; --flex-shrink:0; --flex-basis:54%; --width:auto;
  --padding-top:96px; --padding-right:56px; --padding-bottom:96px; --padding-left:var(--dx-gutter);
}
.dx-hero__media{
  --flex-grow:1; --flex-shrink:1; --flex-basis:auto; --width:auto; --min-height:100%;
  align-self:stretch;
}

@media (max-width:1024px){
  .dx-hero{ --flex-direction:column; --min-height:initial; }
  .dx-hero__text{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; --width:100%;
    --padding-top:76px; --padding-right:24px; --padding-bottom:56px; --padding-left:24px; }
  .dx-hero__media{ --width:100%; --min-height:320px; }
}

/* ------------------------------------------------------------ fact strip */

.dx-facts{ --padding-top:0; --padding-bottom:0; }
.dx-facts__grid{ --width:100%; --flex-wrap:nowrap; border-top:1px solid var(--dx-line); align-items:stretch; }
.dx-fact{
  --flex-grow:1; --flex-shrink:1; --flex-basis:0; --width:auto;
  --padding-top:42px; --padding-right:30px; --padding-bottom:46px; --padding-left:30px;
  border-left:1px solid var(--dx-line);
}
.dx-fact:first-child{ border-left:0; --padding-left:0; }
.dx-fact:last-child{ --padding-right:0; }
.dx-fact__label p{ margin:0; font-size:15px; line-height:1.5; color:var(--dx-muted); }

@media (max-width:900px){
  .dx-facts__grid{ --flex-wrap:wrap; }
  .dx-fact{ --flex-basis:45%; --padding-top:32px; --padding-bottom:34px; --padding-right:24px; --padding-left:24px; }
  .dx-fact:nth-child(3){ border-left:0; --padding-left:0; }
}
@media (max-width:560px){
  .dx-fact{ --flex-basis:100%; border-left:0; --padding-left:0; --padding-right:0;
    --padding-top:26px; --padding-bottom:26px; border-top:1px solid var(--dx-line); }
  .dx-fact:first-child{ border-top:0; --padding-top:34px; }
}

/* ---------------------------------------------------------------- ledger */

.dx-ledger__head{ margin-bottom:46px; }
.dx-ledger__head .elementor-heading-title{ max-width:18ch; }
.dx-ledger__rows{ --width:100%; border-bottom:1px solid var(--dx-line); }
.dx-row{ --width:100%; border-top:1px solid var(--dx-line); align-items:flex-start; }
.dx-row__num{ flex:0 0 92px; }
.dx-row__body{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; --width:auto; max-width:62ch; }
.dx-row__body p{ margin:0; color:var(--dx-muted); font-size:16px; }
.dx-row__meta{ flex:0 0 230px; }
.dx-row__meta p{
  margin:0; padding-top:9px; text-align:right;
  font-family:"Golos Text",system-ui,sans-serif; font-size:12px; font-weight:600;
  letter-spacing:.11em; text-transform:uppercase; color:var(--dx-muted);
}

@media (max-width:900px){
  .dx-row{ --flex-direction:column; }
  .dx-row__num{ flex:1 1 auto; }
  .dx-row__num .elementor-heading-title{ color:var(--dx-muted); }
  .dx-row__meta{ flex:1 1 auto; }
  .dx-row__meta p{ text-align:left; padding-top:0; }
}

/* ------------------------------------------------------------- statement */

.dx-statement__inner{ --width:auto; --margin-left:auto; max-width:760px; }
.dx-statement__inner .elementor-heading-title{ max-width:17ch; }
.dx-statement p{ font-size:18px; line-height:1.62; }
.dx-statement p + p{ margin-top:18px; }
@media (max-width:1024px){ .dx-statement__inner{ --margin-left:0; } }

/* ------------------------------------------------------------------ desk */

.dx-desk__stage{ --width:100%; position:relative; align-items:center; }
.dx-desk__media{
  --flex-grow:0; --flex-shrink:0; --flex-basis:58%; --width:auto; --min-height:560px;
  --margin-left:calc(-1 * var(--dx-gutter));
  align-self:stretch;
}
.dx-desk__panel{
  --flex-grow:0; --flex-shrink:0; --flex-basis:48%; --width:auto;
  --margin-left:-6%;
  --padding-top:52px; --padding-right:52px; --padding-bottom:56px; --padding-left:52px;
  position:relative; z-index:2;
  background:var(--dx-surface); border:1px solid var(--dx-line);
  box-shadow:0 30px 70px -40px rgba(10,36,50,.45);
}

@media (max-width:1024px){
  .dx-desk__stage{ --flex-direction:column; }
  .dx-desk__media{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; --width:auto;
    --margin-left:calc(-1 * var(--dx-gutter)); --margin-right:calc(-1 * var(--dx-gutter));
    --min-height:300px; align-self:stretch; }
  .dx-desk__panel{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; --width:100%;
    --margin-left:0; --margin-top:-40px;
    --padding-top:36px; --padding-right:26px; --padding-bottom:40px; --padding-left:26px; }
}

/* ------------------------------------------------------------ port table */

.dx-map__head{ --width:auto; --margin-bottom:58px; max-width:660px; }
.dx-map__cols{ --width:100%; align-items:flex-start; }
.dx-map__col{ --flex-grow:1; --flex-shrink:1; --flex-basis:0; --width:auto; }

.dx-ports{ list-style:none; margin:0; padding:0; }
.dx-ports li{
  display:flex; align-items:baseline; gap:16px;
  padding:13px 0; border-top:1px solid var(--dx-line);
}
.dx-ports li:last-child{ border-bottom:1px solid var(--dx-line); }
.dx-ports__name{ flex:1 1 auto; font-family:"Geologica",system-ui,sans-serif; font-weight:600; font-size:17px; color:var(--dx-ink); }
.dx-ports__cc{ font-family:"Golos Text",system-ui,sans-serif; font-size:12px; font-weight:600; letter-spacing:.11em; color:var(--dx-muted); }
.dx-ports__km{ flex:0 0 88px; text-align:right; font-size:14px; color:var(--dx-muted); font-variant-numeric:tabular-nums; }
.dx-deep .dx-ports li{ border-color:var(--dx-hairline-dark); }
.dx-deep .dx-ports__name{ color:var(--dx-bg); }

@media (max-width:767px){
  .dx-map__cols{ --flex-direction:column; }
  .dx-map__col{ --flex-basis:auto; --width:100%; }
}

/* --------------------------------------------------------------- contact */

.dx-contact__grid{ --width:100%; align-items:flex-start; }
.dx-contact__intro{ --flex-grow:0; --flex-shrink:0; --flex-basis:34%; --width:auto; }
.dx-contact__form{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; --width:auto; }
.dx-mail{
  display:inline-block; font-family:"Geologica",system-ui,sans-serif; font-weight:600;
  font-size:19px; color:var(--dx-ink); border-bottom:2px solid var(--dx-accent); padding-bottom:3px;
}
.dx-deep .dx-mail{ color:var(--dx-bg); }
@media (max-width:900px){
  .dx-contact__grid{ --flex-direction:column; }
  .dx-contact__intro,.dx-contact__form{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; --width:100%; }
}

.dx-form .elementor-field-group{ margin-bottom:6px; }
.dx-form .elementor-field-textual{ padding:14px 16px; border-radius:2px; }
.dx-form .elementor-field-label{ margin-bottom:7px; }
.dx-form .elementor-field-type-acceptance .elementor-field-option label{ font-size:14px; color:var(--dx-muted); }
.dx-form .elementor-button{
  background:var(--dx-accent); color:var(--dx-deep); border-radius:2px;
  padding:16px 30px; font-family:"Golos Text",system-ui,sans-serif; font-weight:600; font-size:15px;
}
.dx-form .elementor-button:hover{ background:var(--dx-accent-dark); color:var(--dx-deep); }
.dx-form .elementor-message{ font-size:15px; }

/* ------------------------------------------------------------- page head */

.dx-head{ --padding-top:118px; --padding-bottom:76px; }
.dx-head__inner{ --width:auto; max-width:920px; }
@media (max-width:767px){ .dx-head{ --padding-top:64px; --padding-bottom:48px; } }

/* ------------------------------------------------------------ image band */

.dx-band{ --min-height:460px; --padding-top:0; --padding-bottom:0; }
.dx-band--tall{ --min-height:540px; }
@media (max-width:767px){ .dx-band{ --min-height:240px; } .dx-band--tall{ --min-height:300px; } }

/* ------------------------------------------------------------ spec sheet */

.dx-specs{ --padding-top:34px; }
.dx-specs__rows{ --width:100%; border-bottom:1px solid var(--dx-line); }
.dx-spec{ --width:100%; border-top:1px solid var(--dx-line); align-items:flex-start; }
.dx-spec__lead{ --flex-grow:0; --flex-shrink:0; --flex-basis:40%; --width:auto; }
.dx-spec__lead p{ margin:0; color:var(--dx-muted); }
.dx-spec__list{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; --width:auto; }
@media (max-width:900px){
  .dx-spec{ --flex-direction:column; }
  .dx-spec__lead,.dx-spec__list{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; --width:100%; }
}

.dx-list{ list-style:none; margin:0; padding:0; }
.dx-list li{ position:relative; padding-left:22px; padding-block:7px; color:var(--dx-muted); font-size:16px; line-height:1.5; }
.dx-list li::before{ content:""; position:absolute; left:0; top:1em; width:10px; height:2px; background:var(--dx-accent); }
.dx-list--cols{ columns:2; column-gap:44px; }
.dx-list--cols li{ break-inside:avoid; }
@media (max-width:640px){ .dx-list--cols{ columns:1; } }

.dx-terms__inner{ --width:auto; max-width:920px; }
.dx-deep .dx-list li{ color:var(--dx-bone70); }
.dx-deep .dx-ports__cc{ color:var(--dx-bone70); }
.dx-deep .dx-ports__km{ color:var(--dx-bone70); }

/* ----------------------------------------------------------------- bento */

.dx-bento{ --padding-top:0; --padding-bottom:0; }
.dx-bento__grid{
  --width:100%; display:grid !important; grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--dx-line); border-left:1px solid var(--dx-line);
}
.dx-cell{
  --width:auto;
  --padding-top:38px; --padding-right:34px; --padding-bottom:42px; --padding-left:34px;
  border-right:1px solid var(--dx-line); border-bottom:1px solid var(--dx-line);
}
.dx-cell--deep{ grid-column:span 2; --padding-top:46px; --padding-bottom:50px; --padding-left:40px; --padding-right:40px; }
.dx-cell:nth-child(3),.dx-cell:nth-child(5){ background:var(--dx-surface); }
.dx-cell .dx-list li{ font-size:15px; }
@media (max-width:900px){
  .dx-bento__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .dx-bento__grid{ grid-template-columns:1fr; }
  .dx-cell--deep{ grid-column:span 1; }
}

/* -------------------------------------------------------- contract table */

.dx-contract__head{ --width:auto; --margin-bottom:46px; max-width:660px; }
.dx-defs .dx-ports li{ gap:22px; align-items:baseline; }
.dx-defs .dx-ports__name{ flex:0 0 152px; font-size:16px; }
.dx-defs .dx-ports__cc{ flex:0 0 96px; color:var(--dx-ink); }
.dx-defs .dx-ports__km{ flex:1 1 auto; text-align:left; font-size:16px; line-height:1.5; }
@media (max-width:767px){
  .dx-defs .dx-ports li{ flex-wrap:wrap; gap:6px 16px; }
  .dx-defs .dx-ports__name,.dx-defs .dx-ports__cc{ flex:0 0 auto; }
  .dx-defs .dx-ports__km{ flex:1 1 100%; }
}

/* ----------------------------------------------------------------- about */

.dx-prose__cols{ --width:100%; align-items:flex-start; }
.dx-prose__cols > .elementor-widget{ flex:1 1 0; min-width:0; }
.dx-prose p{ font-size:18px; line-height:1.62; color:var(--dx-ink); }
.dx-prose p + p{ margin-top:18px; }
@media (max-width:900px){
  .dx-prose__cols{ --flex-direction:column; }
  .dx-prose__cols > .elementor-widget{ flex:1 1 auto; width:100%; }
}

.dx-pull__inner{ --width:auto; max-width:960px; }

.dx-points__head{ margin-bottom:42px; }
.dx-points__grid{ --width:100%; --flex-wrap:wrap; }
.dx-point{ --flex-grow:0; --flex-shrink:0; --flex-basis:calc(50% - 32px); --width:auto;
  border-top:1px solid var(--dx-line); }
.dx-point p{ margin:0; color:var(--dx-muted); font-size:16px; }
@media (max-width:767px){ .dx-point{ --flex-basis:100%; } }

/* ---------------------------------------------------------------- footer */

.dx-footer__top{ --width:100%; align-items:flex-start; }
.dx-footer__brand{ --flex-grow:1; --flex-shrink:1; --flex-basis:42%; --width:auto; }
.dx-footer__col{ --flex-grow:0; --flex-shrink:0; --flex-basis:220px; --width:auto; }
.dx-footer .dx-mail{ font-size:16px; }
.dx-footer__tagline p{ max-width:34ch; margin:0; font-size:16px; }
.dx-collabel{
  margin:0; font-family:"Golos Text",system-ui,sans-serif; font-size:12px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--dx-accent);
}
.dx-fnav__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.dx-fnav__list a{ color:var(--dx-bg); font-size:15px; }
.dx-fnav__list a:hover{ color:var(--dx-accent); }
.dx-fnav--legal .dx-fnav__list{ flex-direction:row; gap:24px; }
.dx-footer__bottom{ --width:100%; border-top:1px solid var(--dx-hairline-dark); }
.dx-footer__rights p{ margin:0; font-size:14px; color:var(--dx-bone70); }
@media (max-width:900px){
  .dx-footer__top{ --flex-direction:column; }
  .dx-footer__brand,.dx-footer__col{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; --width:100%; }
}
@media (max-width:600px){ .dx-footer__bottom{ --flex-direction:column; align-items:flex-start; } }

/* ------------------------------------------------------------------- 404 */

.dx-404wrap{ --min-height:72vh; --justify-content:center; --padding-top:0; --padding-bottom:0; }
.dx-404{ padding-block:110px; max-width:700px; }
.dx-404__code{
  display:block; margin-bottom:22px; font-family:"Geologica",system-ui,sans-serif;
  font-weight:700; font-size:clamp(62px,10vw,132px); line-height:.9; letter-spacing:-.04em;
  color:var(--dx-accent);
}
.dx-404 h1{ color:var(--dx-bg); margin:0 0 18px; }
.dx-404 .dx-lead{ margin:0 0 34px; }
.dx-404__links{
  list-style:none; display:flex; flex-wrap:wrap; gap:26px;
  margin:40px 0 0; padding:26px 0 0; border-top:1px solid var(--dx-hairline-dark);
}
.dx-404__links a{ color:var(--dx-bg); font-size:15px; }
.dx-404__links a:hover{ color:var(--dx-accent); }

/* ----------------------------------------------------------------- legal */

.dx-legal__body{ max-width:74ch; }
.dx-legal__body h2{ font-size:24px; line-height:1.25; margin:46px 0 12px; }
.dx-legal__body h2:first-child{ margin-top:0; }
.dx-legal__body h3{ font-size:18px; line-height:1.3; margin:28px 0 8px; }
.dx-legal__body p{ color:var(--dx-muted); margin:0 0 14px; }
.dx-legal__body ul{ color:var(--dx-muted); margin:0 0 18px; padding-left:20px; }
.dx-legal__body li{ margin-bottom:8px; }
.dx-legal__body a{ color:var(--dx-ink); border-bottom:1px solid var(--dx-accent); }
.dx-legal__body strong{ color:var(--dx-ink); }

/* -------------------------------------------------------------- a11y/etc */

:where(a,button,summary,input,select,textarea):focus-visible{
  outline:2px solid var(--dx-accent); outline-offset:2px;
}

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* ------------------------------------------------- container flex sizing
   .e-con.e-flex declares --flex-grow / --flex-shrink / --flex-basis, so a
   single class cannot outrank it. Every rule below carries the .e-con class
   as well, which matches at the same weight and wins on order. */

.dx-hero__text.e-con{ --flex-grow:0; --flex-shrink:0; --flex-basis:54%; }
.dx-hero__media.e-con{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; }
.dx-fact.e-con{ --flex-grow:1; --flex-shrink:1; --flex-basis:0; }
.dx-row__body.e-con{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; }
.dx-desk__media.e-con{ --flex-grow:0; --flex-shrink:0; --flex-basis:58%; }
.dx-desk__panel.e-con{ --flex-grow:0; --flex-shrink:0; --flex-basis:48%; }
.dx-map__col.e-con{ --flex-grow:1; --flex-shrink:1; --flex-basis:0; }
.dx-contact__intro.e-con{ --flex-grow:0; --flex-shrink:0; --flex-basis:34%; }
.dx-contact__form.e-con{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; }
.dx-spec__lead.e-con{ --flex-grow:0; --flex-shrink:0; --flex-basis:40%; }
.dx-spec__list.e-con{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; }
.dx-point.e-con{ --flex-grow:0; --flex-shrink:0; --flex-basis:calc(50% - 32px); }
.dx-footer__brand.e-con{ --flex-grow:1; --flex-shrink:1; --flex-basis:42%; }
.dx-footer__col.e-con{ --flex-grow:0; --flex-shrink:0; --flex-basis:200px; }

@media (max-width:1024px){
  .dx-hero__text.e-con,.dx-hero__media.e-con,
  .dx-desk__media.e-con,.dx-desk__panel.e-con,
  .dx-contact__intro.e-con,.dx-contact__form.e-con,
  .dx-spec__lead.e-con,.dx-spec__list.e-con,
  .dx-footer__brand.e-con,.dx-footer__col.e-con{ --flex-grow:1; --flex-shrink:1; --flex-basis:auto; }
}
@media (max-width:900px){
  .dx-fact.e-con{ --flex-grow:0; --flex-shrink:0; --flex-basis:50%; }
}
@media (max-width:767px){
  .dx-fact.e-con,.dx-map__col.e-con,.dx-point.e-con{ --flex-grow:1; --flex-shrink:1; --flex-basis:100%; }
}
