  :root{
    --navy-950:#1b1c1e;
    --navy-900:#292b2f;
    --navy-800:#35373c;
    --blue-700:#5c6068;
    --blue-500:#8a8f97;
    --cyan-400:#c4c8cd;
    --ink:#202124;
    --paper:#ffffff;
    --paper-dim:#e9ebed;
    --tint:#e9ebed;
    --line:rgba(255,255,255,0.14);
    --line-dark:rgba(20,20,20,0.10);
    --text-dim:rgba(228,228,230,0.68);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'IBM Plex Sans', sans-serif;
    background:var(--paper);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{ background:var(--cyan-400); color:var(--navy-950);}
  a{color:inherit; text-decoration:none;}
  .mono{font-family:'IBM Plex Mono', monospace;}
  .display{font-family:'Space Grotesk', sans-serif;}

  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}

  /* ---------- dot grid signature motif ---------- */
  .dotgrid{
    position:absolute; display:grid; grid-template-columns:repeat(6,1fr); gap:8px;
    pointer-events:none;
  }
  .dotgrid span{
    width:10px; height:10px; border-radius:2px;
    background:linear-gradient(135deg,var(--blue-500),var(--cyan-400));
    opacity:.85;
  }
  .dotgrid span:nth-child(3n){opacity:.45; width:7px; height:7px;}
  .dotgrid span:nth-child(5n){opacity:.3; width:5px; height:5px;}

  /* ---------- nav ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(5,13,28,0.86);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 32px; max-width:1180px; margin:0 auto;
  }
  .brand{display:flex; align-items:center; gap:10px; background:#ffffff; padding:8px 14px; border-radius:6px;}
  .brand img{height:34px; width:auto; display:block;}
  .brand-text{color:#fff; font-size:13px; letter-spacing:.06em; line-height:1.25;}
  .brand-text b{display:block; font-family:'Space Grotesk',sans-serif; font-size:15px; letter-spacing:.02em;}
  .brand-text span{color:var(--text-dim); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;}
  .navlinks{display:flex; align-items:center; gap:34px;}
  .navlinks a{
    color:var(--text-dim); font-size:13.5px; letter-spacing:.02em; font-weight:500;
    transition:color .2s;
  }
  .navlinks a:hover{color:#fff;}

  /* dropdown nav */
  .nav-item{ position:relative; display:flex; align-items:center; }
  .nav-item > a{
    display:flex; align-items:center; gap:6px;
  }
  .nav-item > a::after{
    content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
    transform:rotate(45deg); margin-top:-3px; opacity:.6; transition:transform .2s ease;
  }
  .nav-item:hover > a::after, .nav-item.open > a::after{ transform:rotate(225deg); margin-top:3px; }
  .nav-item::before{
    content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%);
    width:220px; height:16px;
  }
  .dropdown-menu{
    position:absolute; top:100%; left:50%; transform:translate(-50%,-6px);
    margin-top:16px; background:var(--navy-900); border:1px solid var(--line);
    border-radius:8px; min-width:200px; padding:8px;
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
    box-shadow:0 24px 48px rgba(0,0,0,.4);
    z-index:200;
  }
  .nav-item:hover .dropdown-menu,
  .nav-item:focus-within .dropdown-menu,
  .nav-item.open .dropdown-menu{
    opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0);
  }
  .dropdown-menu a{
    display:block; padding:10px 12px; font-size:13px; font-weight:500;
    color:var(--text-dim); border-radius:5px; white-space:nowrap;
  }
  .dropdown-menu a:hover{ background:rgba(255,255,255,.06); color:#fff; }

  .nav-cta{
    color:var(--navy-950)!important; background:linear-gradient(120deg,var(--cyan-400),var(--blue-500));
    padding:9px 18px; border-radius:3px; font-weight:600; font-size:13px;
  }
  .nav-toggle{
    display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px;
    width:36px; height:36px; padding:0; border:0; background:transparent; cursor:pointer;
  }
  .nav-toggle span{
    display:block; width:20px; height:2px; background:#fff; border-radius:2px;
    transition:transform .25s ease, opacity .25s ease;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  /* ---------- hero ---------- */
  .hero{
    position:relative; background:var(--navy-950);
    padding:170px 0 90px;
    overflow:hidden;
    background-image:
      linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
    background-size:56px 56px;
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background:radial-gradient(ellipse 900px 500px at 18% 10%, rgba(31,143,214,0.22), transparent 60%),
               radial-gradient(ellipse 700px 500px at 85% 15%, rgba(79,201,234,0.16), transparent 60%);
    pointer-events:none;
  }
  .hero-dots{ top:64px; right:40px; grid-template-columns:repeat(5,1fr); }
  .hero-inner{position:relative; z-index:2;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    color:var(--cyan-400); font-size:11.5px; letter-spacing:.22em; text-transform:uppercase;
    margin-bottom:26px; font-weight:600;
  }
  .eyebrow::before{content:""; width:22px; height:1px; background:var(--cyan-400);}
  h1{
    font-family:'Space Grotesk',sans-serif;
    color:#fff; font-size:clamp(38px,5.4vw,66px);
    line-height:1.06; letter-spacing:-.01em; font-weight:600;
    max-width:850px;
  }
  h1 .accent{
    background:linear-gradient(100deg,var(--cyan-400),var(--blue-500));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero-sub{
    color:var(--text-dim); font-size:17px; line-height:1.65; max-width:560px;
    margin:26px 0 42px;
  }
  .hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:76px;}
  .btn{
    display:inline-flex; align-items:center; gap:9px;
    padding:14px 26px; border-radius:3px; font-size:14px; font-weight:600;
    letter-spacing:.01em; transition:transform .2s, box-shadow .2s, background .2s;
    border:1px solid transparent; cursor:pointer;
  }
  .btn-primary{
    background:linear-gradient(120deg,var(--cyan-400),var(--blue-500)); color:var(--navy-950);
  }
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 30px rgba(31,143,214,.35);}
  .btn-ghost{
    color:#fff; border-color:var(--line);
  }
  .btn-ghost:hover{border-color:var(--cyan-400); color:var(--cyan-400);}

  /* ---------- route / loop diagram ---------- */
  .loop-wrap{
    position:relative; border:1px solid var(--line); border-radius:6px;
    background:rgba(255,255,255,0.02);
    padding:34px 30px 26px;
  }
  .loop-wrap svg{width:100%; height:auto; display:block;}
  .loop-caption{
    display:flex; justify-content:space-between; margin-top:18px;
    font-size:11px; color:var(--text-dim); letter-spacing:.05em;
  }
  .loop-caption span b{color:#fff; font-weight:600;}
  #shipdot{ animation:travel 12s linear infinite; }
  #shipdot2{ animation:travel 12s linear infinite; animation-delay:-6s; }
  @keyframes travel{
    0%{ offset-distance:0%; }
    100%{ offset-distance:100%; }
  }
  .route-path{
    stroke-dasharray:6 6; animation:dash 30s linear infinite;
  }
  @keyframes dash{ to{ stroke-dashoffset:-600; } }

  @media (prefers-reduced-motion:reduce){
    #shipdot, #shipdot2, .route-path{ animation:none; }
  }

  /* stat strip */
  .stats{
    display:grid; grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--line); margin-top:64px; padding-top:36px;
    gap:20px;
  }
  .stat b{
    display:block; font-family:'Space Grotesk',sans-serif; color:#fff;
    font-size:clamp(24px,3vw,34px); font-weight:600;
  }
  .stat span{color:var(--text-dim); font-size:12px; letter-spacing:.04em;}

  /* ---------- section shell ---------- */
  section{position:relative;}
  .section-pad{padding:100px 0;}
  .sec-head{max-width:640px; margin-bottom:60px;}
  .sec-eyebrow{
    font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; font-weight:600;
    color:var(--blue-700); margin-bottom:16px; display:block;
  }
  .sec-head h2{
    font-family:'Space Grotesk',sans-serif; font-size:clamp(28px,3.6vw,42px);
    letter-spacing:-.01em; line-height:1.12; color:var(--ink); font-weight:600;
  }
  .sec-head p{color:#55585d; font-size:16px; line-height:1.6; margin-top:16px;}

  /* ---------- twin services ---------- */
  .twin{
    background:#fff;
  }
  .twin-grid{
    display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line-dark); border-radius:8px; overflow:hidden;
  }
  .twin-col{
    padding:52px 44px; position:relative;
  }
  .twin-col.broking{ background:var(--navy-900); color:#fff; }
  .twin-col.itsol{ background:var(--tint); color:var(--ink); }
  .col-divider{
    position:absolute; top:0; bottom:0; right:0; width:1px;
    background:linear-gradient(180deg, transparent, var(--cyan-400), transparent);
  }
  .col-tag{
    display:inline-flex; align-items:center; gap:8px;
    font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:600;
    padding:6px 12px; border-radius:20px; margin-bottom:22px;
  }
  .broking .col-tag{ background:rgba(79,201,234,0.14); color:var(--cyan-400); border:1px solid rgba(79,201,234,.3); }
  .itsol .col-tag{ background:rgba(20,83,143,0.08); color:var(--blue-700); border:1px solid rgba(20,83,143,.18); }
  .twin-col h3{
    font-family:'Space Grotesk',sans-serif; font-size:27px; font-weight:600; margin-bottom:14px; letter-spacing:-.01em;
  }
  .twin-col > p.lede{
    font-size:15px; line-height:1.6; margin-bottom:32px;
  }
  .broking p.lede{ color:var(--text-dim); }
  .itsol p.lede{ color:#55585d; }

  .feat-list{list-style:none; display:flex; flex-direction:column; gap:20px;}
  .feat-list li{
    display:flex; gap:14px; align-items:flex-start; font-size:14.5px; line-height:1.5;
  }
  .feat-code{
    font-family:'IBM Plex Mono',monospace; font-size:11px; padding-top:2px;
    min-width:52px; flex-shrink:0;
  }
  .broking .feat-code{ color:var(--cyan-400); }
  .itsol .feat-code{ color:var(--blue-700); }
  .broking .feat-list li strong{ display:block; color:#fff; margin-bottom:2px; font-weight:600;}
  .broking .feat-list li span{ color:var(--text-dim); }
  .itsol .feat-list li strong{ display:block; color:var(--ink); margin-bottom:2px; font-weight:600;}
  .itsol .feat-list li span{ color:#5c5f64; }

  .col-cta{
    display:inline-flex; align-items:center; gap:8px; margin-top:36px;
    font-size:13.5px; font-weight:600; letter-spacing:.02em;
    padding-bottom:2px; border-bottom:1px solid currentColor;
  }
  .broking .col-cta{ color:var(--cyan-400); }
  .itsol .col-cta{ color:var(--blue-700); }

  /* ---------- service detail sections ---------- */
  .services-detail.broking-detail{ background:var(--navy-900); color:#fff; }
  .services-detail.it-detail{ background:var(--tint); color:var(--ink); }
  .broking-detail .sec-head h2{ color:#fff; }
  .broking-detail .sec-head p{ color:var(--text-dim); }
  .broking-detail .sec-eyebrow{ color:var(--cyan-400); }

  /* card carousel */
  .card-carousel{ position:relative; }
  .carousel-viewport{ overflow:hidden; border-radius:8px; }
  .broking-detail .carousel-viewport{ border:1px solid var(--line); }
  .it-detail .carousel-viewport{ border:1px solid var(--line-dark); }
  .carousel-track{ display:flex; transition:transform .5s cubic-bezier(.4,0,.2,1); }

  .service-card{
    flex:0 0 100%; width:100%; padding:40px 68px;
    scroll-margin-top:110px; transition:background-color .5s ease, box-shadow .5s ease;
  }
  .broking-detail .service-card{ background:var(--navy-900); }
  .it-detail .service-card{ background:var(--tint); }

  .service-card .feat-code{
    font-family:'IBM Plex Mono',monospace; font-size:11px; display:inline-block; margin-bottom:16px;
  }
  .broking-detail .feat-code{ color:var(--cyan-400); }
  .it-detail .feat-code{ color:var(--blue-700); }

  .service-card h3{ font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:600; margin-bottom:14px; letter-spacing:-.01em; max-width:640px; }
  .service-card p{ font-size:15px; line-height:1.7; max-width:640px; }
  .broking-detail .service-card p{ color:var(--text-dim); }
  .it-detail .service-card p{ color:#55585d; }

  .broking-detail .service-card:target{
    background:rgba(255,255,255,0.06);
    box-shadow:inset 3px 0 0 var(--cyan-400);
  }
  .it-detail .service-card:target{
    background:rgba(20,83,143,0.07);
    box-shadow:inset 3px 0 0 var(--blue-700);
  }

  /* carousel controls */
  .carousel-arrow{
    position:absolute; top:50%; transform:translateY(-50%);
    width:40px; height:40px; border-radius:50%; z-index:5;
    display:flex; align-items:center; justify-content:center;
    font-size:20px; line-height:1; cursor:pointer;
    transition:background-color .2s ease, opacity .2s ease;
  }
  .carousel-arrow.prev{ left:16px; }
  .carousel-arrow.next{ right:16px; }
  .broking-detail .carousel-arrow{
    background:rgba(255,255,255,0.08); border:1px solid var(--line); color:#fff;
  }
  .broking-detail .carousel-arrow:hover{ background:rgba(255,255,255,0.16); }
  .it-detail .carousel-arrow{
    background:rgba(255,255,255,0.7); border:1px solid var(--line-dark); color:var(--ink);
  }
  .it-detail .carousel-arrow:hover{ background:#fff; }

  .carousel-dots{ display:flex; justify-content:center; gap:9px; margin-top:22px; }
  .carousel-dot{
    width:8px; height:8px; border-radius:50%; border:0; padding:0; cursor:pointer;
    transition:background-color .2s ease, transform .2s ease;
  }
  .broking-detail .carousel-dot{ background:rgba(255,255,255,0.22); }
  .broking-detail .carousel-dot.active{ background:var(--cyan-400); transform:scale(1.3); }
  .it-detail .carousel-dot{ background:rgba(20,83,143,0.22); }
  .it-detail .carousel-dot.active{ background:var(--blue-700); transform:scale(1.3); }

  /* dissolve divider between columns, echoing logo dot motif */
  .dissolve{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    display:grid; grid-template-columns:repeat(3,1fr); gap:5px; z-index:5;
  }
  .dissolve span{ width:6px; height:6px; border-radius:1px; background:var(--cyan-400); }
  .dissolve span:nth-child(2n){ background:var(--blue-500); opacity:.7;}
  .dissolve span:nth-child(5){ background:#fff; }

  /* ---------- how the loop works ---------- */
  .loopflow{ background:var(--paper-dim); border-top:1px solid var(--line-dark); }
  .twin .section-pad{ padding-bottom:70px; }
  .loopflow .section-pad{ padding-top:70px; }
  .flowline{
    position:relative; padding:60px 0 10px;
  }
  .flow-track{
    position:relative; height:2px; background:var(--line-dark); margin:0 20px 0;
  }
  .flow-track::before{
    content:""; position:absolute; left:0; top:-1px; bottom:-1px; width:100%;
    background:repeating-linear-gradient(90deg, var(--blue-500) 0 8px, transparent 8px 16px);
    opacity:.5;
  }
  .flow-steps{
    display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:-14px;
  }
  .flow-step{ position:relative; padding-top:34px; }
  .flow-dot{
    position:absolute; top:-6px; left:0; width:26px; height:26px; border-radius:50%;
    background:var(--navy-900); color:var(--cyan-400); display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:600; border:2px solid var(--paper-dim);
  }
  .flow-step h4{
    font-family:'Space Grotesk',sans-serif; font-size:16.5px; margin-bottom:8px; color:var(--ink); font-weight:600;
  }
  .flow-step p{ font-size:13.5px; color:#5c5f64; line-height:1.55; }

  /* ---------- why us ---------- */
  .why-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:var(--line-dark); border:1px solid var(--line-dark); border-radius:8px; overflow:hidden;
  }
  .why-card{ background:#fff; padding:36px 32px; }
  .why-card .num{ font-family:'IBM Plex Mono',monospace; color:var(--blue-500); font-size:12px; margin-bottom:16px; display:block;}
  .why-card h4{ font-family:'Space Grotesk',sans-serif; font-size:18px; margin-bottom:10px; font-weight:600;}
  .why-card p{ font-size:14px; color:#5c5f64; line-height:1.6; }

  /* ---------- sectors strip ---------- */
  .sectors{ background:var(--navy-950); color:#fff; }
  .sector-row{
    display:flex; flex-wrap:wrap; gap:14px; margin-top:36px;
  }
  .sector-pill{
    border:1px solid var(--line); border-radius:30px; padding:10px 20px;
    font-size:13px; color:var(--text-dim); display:flex; align-items:center; gap:8px;
  }
  .sector-pill::before{ content:""; width:6px; height:6px; border-radius:1px; background:var(--cyan-400); }

  /* ---------- cargo & tonnage exchange ---------- */
  .exchange{ background:var(--navy-900); color:#fff; }
  .exchange .sec-head h2{ color:#fff; }
  .exchange .sec-head p{ color:var(--text-dim); }
  .exchange .sec-eyebrow{ color:var(--cyan-400); }

  .exchange-panel{
    background:var(--navy-950); border:1px solid var(--line); border-radius:10px;
    max-width:760px; margin:0 auto; overflow:hidden;
  }
  .exchange-tabs{ display:flex; gap:6px; padding:10px; border-bottom:1px solid var(--line); }
  .exchange-tab{
    flex:1; padding:14px 18px; border-radius:6px; border:0; background:transparent;
    color:var(--text-dim); font-size:13.5px; font-weight:600; letter-spacing:.02em; cursor:pointer;
    transition:background-color .2s ease, color .2s ease;
  }
  .exchange-tab:hover{ color:#fff; }
  .exchange-tab.active{ background:rgba(255,255,255,0.08); color:#fff; }

  .exchange-form{ padding:32px 32px 36px; }
  .exchange-form[hidden]{ display:none; }
  .exchange-form label{ color:var(--text-dim); }
  .exchange-form input, .exchange-form textarea{
    background:rgba(255,255,255,0.04); border:1px solid var(--line); color:#fff;
  }
  .exchange-form input::placeholder, .exchange-form textarea::placeholder{ color:rgba(228,228,230,0.35); }
  .exchange-form input:focus, .exchange-form textarea:focus{
    border-color:var(--cyan-400); background:rgba(255,255,255,0.07);
  }
  .exchange-form .btn-primary{ margin-top:4px; }
  .exchange-form .form-success{
    display:none; margin-top:16px; padding:14px 16px; border-radius:6px;
    background:rgba(79,201,234,0.1); border:1px solid rgba(79,201,234,.3);
    color:var(--text-dim); font-size:13.5px; line-height:1.5;
  }
  .exchange-form .form-success.show{ display:block; }
  .exchange-form .form-success.error{
    background:rgba(220,90,80,0.12); border-color:rgba(220,90,80,.35);
  }
  .exchange-form .btn-primary:disabled{ opacity:.6; cursor:not-allowed; }
  .exchange-form .btn-primary:disabled:hover{ transform:none; box-shadow:none; }

  /* ---------- contact ---------- */
  .contact{ background:#fff; }
  .contact-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;
  }
  .contact-grid-solo{
    grid-template-columns:1fr; max-width:520px;
  }
  .contact-info h3{ font-family:'Space Grotesk',sans-serif; font-size:24px; margin-bottom:16px; font-weight:600;}
  .contact-info p{ color:#55585d; font-size:15px; line-height:1.65; margin-bottom:28px; }
  .contact-block{ margin-bottom:22px; }
  .contact-block span{ display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-700); font-weight:600; margin-bottom:6px;}
  .contact-block a, .contact-block div{ font-size:15px; color:var(--ink); }

  form{ display:flex; flex-direction:column; gap:16px; }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  label{ font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:#5c5f64; font-weight:600; margin-bottom:7px; display:block; }
  input, select, textarea{
    width:100%; border:1px solid var(--line-dark); border-radius:4px; padding:12px 14px;
    font-family:'IBM Plex Sans',sans-serif; font-size:14px; background:var(--paper);
    color:var(--ink); transition:border-color .2s;
  }
  input:focus, select:focus, textarea:focus{ outline:none; border-color:var(--blue-500); background:#fff; }
  textarea{ resize:vertical; min-height:100px; }
  .submit-btn{
    align-self:flex-start; background:var(--navy-900); color:#fff; border:none;
    padding:14px 30px; border-radius:3px; font-size:14px; font-weight:600; cursor:pointer;
    transition:background .2s;
  }
  .submit-btn:hover{ background:var(--blue-700); }

  /* ---------- footer ---------- */
  footer{ background:var(--navy-950); color:var(--text-dim); padding:56px 0 30px; }
  .foot-top{
    display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:40px;
    padding-bottom:36px; border-bottom:1px solid var(--line);
  }
  .foot-brand{ display:flex; align-items:center; gap:10px; background:#ffffff; padding:8px 14px; border-radius:6px; }
  .foot-brand img{ height:30px; }
  .foot-brand b{ color:#fff; font-family:'Space Grotesk',sans-serif; font-size:15px; }
  .foot-cols{ display:flex; gap:70px; flex-wrap:wrap; }
  .foot-col span{ display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#fff; font-weight:600; margin-bottom:14px;}
  .foot-col a{ display:block; font-size:13.5px; color:var(--text-dim); margin-bottom:10px; }
  .foot-col a:hover{ color:var(--cyan-400); }
  .foot-bottom{
    display:flex; justify-content:space-between; padding-top:24px; font-size:12px; flex-wrap:wrap; gap:10px;
  }

  /* reveal animation */
  .reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }

  /* ---------- responsive ---------- */
  @media (max-width:900px){
    .nav-toggle{ display:flex; }
    .navlinks{
      position:absolute; top:100%; left:0; right:0;
      flex-direction:column; align-items:stretch; gap:0;
      background:var(--navy-950); border-top:1px solid var(--line);
      max-height:0; overflow:hidden; opacity:0;
      transition:max-height .3s ease, opacity .3s ease;
      padding:0 24px;
    }
    .navlinks.open{
      max-height:calc(100vh - 66px); opacity:1; overflow-y:auto;
      padding:12px 24px 28px;
    }
    .nav-item{ flex-direction:column; align-items:stretch; width:100%; }
    .nav-item::before{ content:none; }
    .nav-item > a{ padding:16px 0; width:100%; justify-content:space-between; }
    .dropdown-menu{
      position:static; transform:none; margin:0 0 8px; opacity:1; visibility:visible; pointer-events:auto;
      display:none; box-shadow:none; border:0; background:rgba(255,255,255,0.04);
      min-width:0; width:100%; padding:4px;
    }
    .nav-item.open .dropdown-menu{ display:block; transform:none; }
    .navlinks > a:not(.nav-cta){ padding:16px 0; width:100%; }
    .nav-cta{ margin:12px 0 4px; text-align:center; }
    .stats{ grid-template-columns:repeat(2,1fr); row-gap:28px; }
    .twin-grid{ grid-template-columns:1fr; }
    .col-divider{ display:none; }
    .dissolve{ display:none; }
    .flow-steps{ grid-template-columns:1fr 1fr; row-gap:36px; }
    .why-grid{ grid-template-columns:1fr; }
    .contact-grid{ grid-template-columns:1fr; }
    .form-row{ grid-template-columns:1fr; }
    .foot-cols{ gap:36px; }
    .service-card{ padding:32px 24px; }
    .carousel-arrow{ display:none; }
    .exchange-form{ padding:24px 20px 28px; }
    .exchange-tab{ font-size:12.5px; padding:12px 10px; }
  }
  @media (max-width:560px){
    .wrap{ padding:0 20px; }
    .hero{ padding:140px 0 60px; }
    .stats{ grid-template-columns:1fr 1fr; }
  }
