/* =========================================================
   SEA LICENSING — FINAL RESPONSIVE MOBILE SYSTEM

   Production responsive bundle.

   Cascade order preserved exactly:
     1. Mobile System V1
     2. Mobile System V2
     3. Mobile Final V3
     4. Mobile QA V4

   Desktop >=1101px is intentionally unaffected.
   ========================================================= */


/* ==================== V1 ==================== */

/* =========================================================
   SEA LICENSING — GLOBAL MOBILE SYSTEM V1

   Desktop >= 1101px:
   NO RULES FROM THIS FILE APPLY.

   Tablet: 701px — 1100px
   Mobile: <= 700px
   ========================================================= */


/* =========================================================
   TABLET + MOBILE FOUNDATION
   ========================================================= */

@media (max-width:1100px){

  html{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
  }

  *,
  *::before,
  *::after{
    box-sizing:border-box;
  }


  /* -------------------------------------------------------
     GLOBAL SHELL
     ------------------------------------------------------- */

  .shell{
    width:min(
      calc(100% - 40px),
      var(--shell,1440px)
    ) !important;

    max-width:100% !important;

    margin-left:auto !important;
    margin-right:auto !important;
  }


  main,
  section,
  article,
  aside,
  header,
  footer{
    max-width:100%;
  }


  /* -------------------------------------------------------
     MEDIA
     ------------------------------------------------------- */

  img,
  picture,
  video,
  canvas{
    max-width:100% !important;
  }

  img{
    height:auto;
  }

  svg{
    max-width:100%;
  }


  /* -------------------------------------------------------
     SHARED DESKTOP NAVIGATION
     ------------------------------------------------------- */

  .main-nav{
    display:none !important;
  }

  .mega-menu{
    display:none !important;
  }

  .mega-scrim{
    display:none !important;
  }


  /* -------------------------------------------------------
     MOBILE MENU TRIGGER
     Preserve existing JS / drawer behaviour.
     ------------------------------------------------------- */

  .mobile-trigger{
    display:grid !important;
    place-items:center !important;

    flex:0 0 auto;

    min-width:42px;
    min-height:42px;

    padding:0 !important;
  }


  /* -------------------------------------------------------
     HEADER
     ------------------------------------------------------- */

  .site-header{
    width:100% !important;

    min-height:72px !important;
    height:72px !important;

    position:sticky !important;
    top:0 !important;

    z-index:100 !important;
  }

  .site-header .header-row{
    min-height:72px !important;
    height:72px !important;

    display:flex !important;
    align-items:center !important;

    width:100% !important;
  }

  .site-header .brand{
    display:flex !important;
    align-items:center !important;

    width:170px !important;
    max-width:42vw !important;
    height:auto !important;

    flex:0 0 auto !important;

    margin:0 !important;
  }

  .site-header .brand img{
    display:block !important;

    width:100% !important;
    max-width:100% !important;
    height:auto !important;
  }

  .site-header .header-tools{
    display:flex !important;
    align-items:center !important;

    gap:8px !important;

    margin-left:auto !important;
  }


  /* Any old desktop optical offset must disappear */
  .site-header nav,
  .site-header .desktop-nav,
  .site-header .main-nav,
  .site-header .nav-cluster,
  .site-header .header-actions,
  .site-header .nav-actions,
  .site-header .header-cta,
  .site-header .desktop-actions,
  .site-header .search-trigger,
  .site-header .header-search{
    top:auto !important;
  }


  /* -------------------------------------------------------
     MOBILE DRAWER
     ------------------------------------------------------- */

  .mobile-menu{
    position:fixed !important;

    top:0 !important;
    right:0 !important;

    width:min(390px,92vw) !important;
    max-width:92vw !important;

    height:100dvh !important;
    max-height:100dvh !important;

    overflow-y:auto !important;
    overflow-x:hidden !important;

    overscroll-behavior:contain;

    -webkit-overflow-scrolling:touch;
  }

  .mobile-menu a,
  .mobile-menu summary{
    min-height:44px;
  }


  /* -------------------------------------------------------
     TYPOGRAPHY SAFETY
     ------------------------------------------------------- */

  h1,
  h2,
  h3,
  h4,
  p{
    max-width:100%;
    overflow-wrap:break-word;
  }


  /* -------------------------------------------------------
     COMMON TWO-COLUMN PAGE SYSTEMS
     ------------------------------------------------------- */

  .inner-hero-grid,
  .service-hero-grid,
  .split-lead,
  .editorial-grid,
  .scope-layout,
  .requirements-layout,
  .related-section,
  .contact-page-grid,
  .request-grid,
  .article-hero-grid,
  .article-layout,
  .portal-feature-grid,
  .people-band,
  .people-story,
  .network-grid,
  .compliance-grid{
    min-width:0;
  }


  /* -------------------------------------------------------
     GRID CHILD SAFETY
     Essential for preventing horizontal overflow.
     ------------------------------------------------------- */

  .inner-hero-grid > *,
  .service-hero-grid > *,
  .split-lead > *,
  .editorial-grid > *,
  .scope-layout > *,
  .requirements-layout > *,
  .related-section > *,
  .contact-page-grid > *,
  .request-grid > *,
  .article-hero-grid > *,
  .article-layout > *,
  .portal-feature-grid > *,
  .people-band > *,
  .people-story > *,
  .network-grid > *,
  .compliance-grid > *{
    min-width:0 !important;
    max-width:100%;
  }


  /* -------------------------------------------------------
     FORMS
     ------------------------------------------------------- */

  form,
  fieldset{
    max-width:100%;
  }

  input,
  select,
  textarea,
  button{
    max-width:100%;
  }

  textarea{
    resize:vertical;
  }


  /* -------------------------------------------------------
     TABLES
     ------------------------------------------------------- */

  table{
    max-width:100%;
  }


  /* -------------------------------------------------------
     FOOTER V5 — TABLET
     ------------------------------------------------------- */

  .footer-v5{
    width:100% !important;

    overflow:hidden !important;
  }

  .footer-v5 .shell{
    max-width:100% !important;
  }

  .footer-v5-main{
    display:grid !important;

    grid-template-columns:
      minmax(0,1.15fr)
      minmax(0,1fr)
      minmax(0,.8fr) !important;

    gap:34px 28px !important;

    width:100% !important;
  }

  .footer-v5-main > *{
    min-width:0 !important;
    max-width:100% !important;
  }

  .footer-v5-brand{
    grid-column:1 / -1 !important;

    max-width:560px !important;
  }

  .footer-v5-logo{
    max-width:200px !important;
    height:auto !important;
  }

  .footer-v5-service-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;

    width:100% !important;
  }

  .footer-v5-service-grid > a{
    min-width:0 !important;
  }

  .footer-v5-company > a,
  .footer-v5-digital > a,
  .footer-v5-email,
  .footer-v5-phone a{
    overflow-wrap:anywhere;
  }

}


/* =========================================================
   PHONE
   ========================================================= */

@media (max-width:700px){

  /* -------------------------------------------------------
     PHONE SHELL
     ------------------------------------------------------- */

  .shell{
    width:calc(100% - 28px) !important;
    max-width:none !important;
  }


  /* -------------------------------------------------------
     HEADER PHONE
     ------------------------------------------------------- */

  .site-header{
    min-height:64px !important;
    height:64px !important;
  }

  .site-header .header-row{
    min-height:64px !important;
    height:64px !important;
  }

  .site-header .brand{
    width:150px !important;
    max-width:46vw !important;
  }

  .site-header .header-tools{
    gap:5px !important;
  }

  .mobile-trigger{
    min-width:40px !important;
    width:40px !important;

    min-height:40px !important;
    height:40px !important;
  }


  /* -------------------------------------------------------
     MOBILE DRAWER PHONE
     ------------------------------------------------------- */

  .mobile-menu{
    width:min(360px,94vw) !important;
    max-width:94vw !important;
  }


  /* -------------------------------------------------------
     SECTION RHYTHM
     ------------------------------------------------------- */

  .section-pad{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }


  /* -------------------------------------------------------
     RESPONSIVE TYPOGRAPHY
     Only generic fallback values.
     Page-specific mobile rules loaded earlier may still
     provide more specific styling.
     ------------------------------------------------------- */

  main h1{
    font-size:clamp(36px,11vw,52px);
    line-height:1.02;
  }

  main h2{
    font-size:clamp(29px,8.6vw,40px);
    line-height:1.06;
  }

  main h3{
    line-height:1.15;
  }

  main p{
    line-height:1.62;
  }


  /* -------------------------------------------------------
     FORCE COMMON LAYOUTS TO A SINGLE COLUMN
     ------------------------------------------------------- */

  .inner-hero-grid,
  .service-hero-grid,
  .split-lead,
  .editorial-grid,
  .scope-layout,
  .requirements-layout,
  .related-section,
  .contact-page-grid,
  .request-grid,
  .article-hero-grid,
  .article-layout,
  .portal-feature-grid,
  .people-band,
  .people-story,
  .network-grid,
  .compliance-grid,
  .field-row{
    grid-template-columns:
      minmax(0,1fr) !important;

    gap:26px !important;
  }


  /* -------------------------------------------------------
     COMMON CARD GRIDS
     ------------------------------------------------------- */

  .product-grid,
  .flag-cards,
  .contact-cards,
  .tile-grid,
  .principle-grid,
  .related-grid,
  .scope-grid,
  .requirements-list,
  .numbered-grid{
    grid-template-columns:
      minmax(0,1fr) !important;

    width:100% !important;
  }


  /* -------------------------------------------------------
     BUTTONS / INTERACTION
     ------------------------------------------------------- */

  .btn,
  .head-btn,
  form button,
  form input[type="submit"]{
    min-height:44px;
  }


  /* -------------------------------------------------------
     FORM PHONE READABILITY
     Prevents iOS input zoom.
     ------------------------------------------------------- */

  input,
  select,
  textarea{
    font-size:16px !important;
  }


  /* -------------------------------------------------------
     TABLES
     STCW and future tables become horizontally scrollable
     rather than breaking the viewport.
     ------------------------------------------------------- */

  table{
    display:block !important;

    width:100% !important;

    overflow-x:auto !important;
    overflow-y:hidden !important;

    -webkit-overflow-scrolling:touch;
  }


  /* -------------------------------------------------------
     FOOTER V5 — PHONE
     ------------------------------------------------------- */

  .footer-v5-main{
    grid-template-columns:
      minmax(0,1fr) !important;

    gap:32px !important;

    padding-top:48px !important;
    padding-bottom:42px !important;
  }

  .footer-v5-brand,
  .footer-v5-services,
  .footer-v5-company,
  .footer-v5-digital,
  .footer-v5-contact{
    grid-column:auto !important;

    width:100% !important;
    max-width:100% !important;
  }

  .footer-v5-brand{
    max-width:420px !important;
  }

  .footer-v5-logo{
    width:190px !important;
    max-width:68vw !important;
  }

  .footer-v5-service-grid{
    grid-template-columns:
      minmax(0,1fr) !important;

    gap:8px !important;
  }

  .footer-v5-service-grid > a{
    width:100% !important;
  }

  .footer-v5-company,
  .footer-v5-digital,
  .footer-v5-contact{
    align-items:flex-start !important;
  }

}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width:380px){

  .shell{
    width:calc(100% - 22px) !important;
  }

  .site-header .brand{
    width:138px !important;
  }

}


/* =========================================================
   TOUCH DEVICES
   Remove desktop hover motion that can feel sticky.
   ========================================================= */

@media (hover:none) and (pointer:coarse){

  a:hover,
  button:hover{
    transform:none;
  }

}


/* ==================== V2 ==================== */

/* =========================================================
   SEA LICENSING — FULL MOBILE REDESIGN V2
   Desktop >= 1101px is intentionally untouched.
   ========================================================= */

@media (max-width:1100px){

  html{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    scroll-padding-top:84px;
  }

  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
  }

  *,
  *::before,
  *::after{
    box-sizing:border-box;
  }

  img,
  picture,
  video,
  canvas,
  svg{
    max-width:100% !important;
  }

  img{
    height:auto !important;
  }

  .shell{
    width:min(calc(100% - 40px), var(--shell, 1440px)) !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .section-pad{
    padding-top:72px !important;
    padding-bottom:72px !important;
  }

  main h1,
  main h2,
  main h3{
    text-wrap:balance;
  }

  main p,
  li{
    overflow-wrap:break-word;
  }

  /* -------------------------------------------------------
     HEADER / NAV
     ------------------------------------------------------- */

  .main-nav,
  .mega-menu,
  .mega-scrim{
    display:none !important;
  }

  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:1200 !important;
    min-height:72px !important;
    height:72px !important;
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(9,41,66,.08);
  }

  .site-header .header-row{
    min-height:72px !important;
    height:72px !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
  }

  .site-header .brand{
    display:flex !important;
    align-items:center !important;
    width:150px !important;
    max-width:50vw !important;
    flex:0 0 auto !important;
    margin:0 !important;
  }

  .site-header .brand img{
    display:block !important;
    width:100% !important;
    height:auto !important;
  }

  .site-header .header-tools{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin-left:auto !important;
  }

  .site-header .header-tools > .icon-btn,
  .site-header .header-tools > .head-btn,
  .site-header .header-request-cta{
    display:none !important;
  }

  .mobile-trigger{
    display:grid !important;
    place-items:center !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    border-radius:12px !important;
    border:1px solid rgba(9,41,66,.12) !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(8,30,48,.06);
    padding:0 !important;
  }

  .mobile-trigger svg{
    width:18px !important;
    height:18px !important;
  }

  .mobile-menu{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    width:min(390px, 94vw) !important;
    max-width:94vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:18px !important;
  }

  .mobile-head{
    padding:18px 18px 14px !important;
  }

  .mobile-head img{
    width:156px !important;
    height:auto !important;
  }

  .mobile-nav a,
  .mobile-nav summary{
    min-height:46px !important;
    padding:14px 18px !important;
    font-size:15px !important;
    line-height:1.35 !important;
  }

  .mobile-cta{
    padding:16px 18px 18px !important;
  }

  .mobile-cta a{
    min-height:50px !important;
    border-radius:14px !important;
  }

  .search-shell{
    width:min(720px, calc(100% - 40px)) !important;
    max-width:100% !important;
  }

  /* -------------------------------------------------------
     FORMS / TABLES / BUTTONS
     ------------------------------------------------------- */

  form,
  fieldset,
  input,
  select,
  textarea,
  button{
    max-width:100%;
  }

  input,
  select,
  textarea{
    font-size:16px !important;
  }

  textarea{
    resize:vertical;
  }

  .btn,
  .head-btn,
  button,
  input[type="submit"]{
    min-height:46px;
  }

  table{
    max-width:100%;
  }

  /* -------------------------------------------------------
     GENERIC LAYOUT SAFETY
     ------------------------------------------------------- */

  :where(
    .home-hero-grid,
    .audience-gateway,

    .sv5-grid,
    .sv5-audience-grid,
    .sv5-digital-grid,
    .sv5-process-grid,

    .mi1-hero-grid,
    .mi1-status-grid,
    .mi1-lead-grid,

    .cv2-hero-grid,
    .cv2-flags-head,
    .cv2-flag-grid,

    .fsh-feature-grid,
    .fsh-other-grid,
    .fsh-structure-grid,

    .sfw-hero-grid,
    .sfw-nav-grid,
    .sfw-flag-grid,
    .sfw-portal-grid,
    .sfw-digital-grid,

    .sr1-hero-grid,
    .sr1-request-grid,
    .sr1-contact-support-grid,
    .sr1-social-buttons,
    .sr1-field-row,

    .vr1-hero-grid,
    .vr1-approach-grid,
    .vr1-scope-grid,
    .vr1-info-grid,
    .vr1-related-grid,

    .cm1-hero-grid,
    .cm1-approach-grid,
    .cm1-scope-grid,
    .cm1-info-grid,
    .cm1-related-grid,

    .tr1-hero-grid,
    .tr1-approach-grid,
    .tr1-course-grid,
    .tr1-info-grid,
    .tr1-related-grid,

    .sc1-hero-grid,
    .sc1-approach-grid,
    .sc1-type-grid,
    .sc1-info-grid,
    .sc1-related-grid,

    .oc1-hero-grid,
    .oc1-approach-grid,
    .oc1-jurisdiction-grid,
    .oc1-scope-grid,
    .oc1-info-grid,

    .sl15-approach-grid,
    .sl15-scope-grid,
    .sl15-info-grid,
    .sl15-related-grid,

    .stcw1-hero-grid,
    .stcw1-nav-grid,
    .stcw1-intro-grid,
    .stcw1-chapter-grid,
    .stcw1-path-grid,
    .stcw1-special-grid,
    .stcw1-cert-grid,
    .stcw1-revalidation-grid,
    .stcw1-update-grid,
    .stcw1-watch-grid,
    .stcw1-check-grid,

    .pnm-nav-grid,
    .pnm-split,
    .pnm-downloads,
    .pnm-rating-layout,

    .lbr-nav-grid,
    .lbr-split,
    .lbr-downloads,
    .lbr-sqc-layout,

    .ofs-featured-inner,
    .ofs-grid
  ){
    min-width:0 !important;
  }

  :where(
    .hero-actions,
    .sv5-actions,
    .oc1-actions,
    .tr1-actions,
    .stcw1-actions,
    .sfw-actions,
    .sr1-form-actions,
    .vr1-hero-actions,
    .cm1-hero-actions,
    .pnm-hero-actions,
    .lbr-hero-actions,
    .sl15-hero-actions
  ){
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
  }

  :where(
    .sv5-grid,
    .sv5-audience-grid,
    .sv5-digital-grid,
    .fsh-feature-grid,
    .fsh-other-grid,
    .fsh-structure-grid,
    .cv2-flag-grid,
    .sfw-flag-grid,
    .sfw-digital-grid,
    .vr1-scope-grid,
    .vr1-info-grid,
    .vr1-related-grid,
    .cm1-scope-grid,
    .cm1-info-grid,
    .cm1-related-grid,
    .tr1-course-grid,
    .tr1-info-grid,
    .tr1-related-grid,
    .sc1-type-grid,
    .sc1-info-grid,
    .sc1-related-grid,
    .oc1-jurisdiction-grid,
    .oc1-scope-grid,
    .oc1-info-grid,
    .stcw1-chapter-grid,
    .stcw1-path-grid,
    .stcw1-special-grid,
    .stcw1-cert-grid,
    .stcw1-watch-grid,
    .stcw1-check-grid,
    .ofs-grid
  ){
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:18px !important;
  }

  /* -------------------------------------------------------
     HOMEPAGE
     ------------------------------------------------------- */

  .home-hero{
    height:auto !important;
    min-height:0 !important;
    padding:48px 0 54px !important;
    overflow:hidden !important;
  }

  .home-hero-photo{
    inset:0 !important;
    background-position:62% center !important;
    transform:none !important;
  }

  .home-hero-overlay{
    background:
      linear-gradient(
        180deg,
        rgba(244,249,252,.97) 0%,
        rgba(239,247,251,.92) 34%,
        rgba(228,239,246,.78) 68%,
        rgba(220,234,243,.56) 100%
      ) !important;
  }

  .home-hero-grid{
    height:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:24px !important;
  }

  .home-hero-side,
  .hero-edge-note{
    display:none !important;
  }

  .home-hero-copy{
    position:relative !important;
    z-index:2 !important;
    max-width:720px !important;
  }

  .home-hero-copy h1{
    max-width:none !important;
    margin-top:14px !important;
    font-size:clamp(42px, 8vw, 60px) !important;
    line-height:.92 !important;
    letter-spacing:-.045em !important;
  }

  .home-hero-copy > p{
    max-width:620px !important;
    margin-top:18px !important;
    font-size:16px !important;
    line-height:1.65 !important;
  }

  .hero-actions{
    margin-top:24px !important;
  }

  .proof-row{
    max-width:100% !important;
    margin-top:24px !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:14px !important;
  }

  .proof-row > div{
    min-width:0 !important;
    padding:14px 16px !important;
    border-radius:16px !important;
    border:1px solid rgba(17,73,118,.10) !important;
    background:rgba(255,255,255,.58) !important;
    backdrop-filter:blur(6px);
  }

  .audience-gateway{
    grid-template-columns:1fr !important;
  }

  .audience-card{
    min-height:320px !important;
  }

  .audience-content{
    padding:36px 28px !important;
  }

  /* -------------------------------------------------------
     ABOUT PAGE
     ------------------------------------------------------- */

  .sv5-hero{
    min-height:0 !important;
    padding:56px 0 58px !important;
  }

  .sv5-hero-inner{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .sv5-copy{
    max-width:none !important;
  }

  .sv5-proof{
    margin-top:24px !important;
  }

  .sv5-heading,
  .sv5-audience-head,
  .sv5-digital-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .sv5-side-note,
  .sv5-flow-line,
  .sv5-flow-separator{
    display:none !important;
  }

  /* -------------------------------------------------------
     INSIGHTS
     ------------------------------------------------------- */

  .mi1-hero{
    min-height:0 !important;
    padding:52px 0 56px !important;
  }

  .mi1-section-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .mi1-tools{
    gap:14px !important;
  }

  /* -------------------------------------------------------
     CERTIFICATE VERIFICATION
     ------------------------------------------------------- */

  .cv2-hero{
    min-height:0 !important;
    padding:54px 0 60px !important;
  }

  .cv2-hero-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
    align-items:start !important;
  }

  .cv2-search{
    width:100% !important;
    max-width:none !important;
    padding:26px 24px !important;
    border-radius:22px !important;
  }

  .cv-flag-select-shell,
  .cv2-input-wrap{
    width:100% !important;
    min-width:0 !important;
  }

  .cv2-search-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:12px !important;
    align-items:end !important;
  }

  .cv2-search-row button,
  .cv2-search-row .btn,
  .cv2-search-row .head-btn{
    min-width:210px !important;
  }

  .cv2-search-meta{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:wrap !important;
    gap:8px 12px !important;
  }

  .cv2-flags-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    align-items:start !important;
  }

  /* -------------------------------------------------------
     FLAG STATES HUB
     ------------------------------------------------------- */

  .fsh-hero{
    min-height:0 !important;
    padding:56px 0 58px !important;
  }

  .fsh-hero-inner,
  .fsh-section-head,
  .fsh-explorer-head,
  .fsh-structure-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .fsh-primary-strip{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    padding-bottom:4px !important;
  }

  /* -------------------------------------------------------
     SEAFARERS
     ------------------------------------------------------- */

  .sfw-hero{
    min-height:0 !important;
    padding:56px 0 58px !important;
  }

  .sfw-hero-grid,
  .sfw-portal-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .sfw-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .sfw-portal-shot{
    order:2 !important;
  }

  /* -------------------------------------------------------
     SERVICE REQUEST
     ------------------------------------------------------- */

  .sr1-hero{
    min-height:0 !important;
    padding:54px 0 58px !important;
  }

  .sr1-request-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .sr1-request-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:22px !important;
  }

  .sr1-form-wrap,
  .sr1-side,
  .sr1-contact-box{
    width:100% !important;
    max-width:100% !important;
  }

  .sr1-social-buttons{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:10px !important;
  }

  /* -------------------------------------------------------
     CORE SERVICE PAGES
     ------------------------------------------------------- */

  :where(
    .vr1-hero,
    .cm1-hero,
    .tr1-hero,
    .sc1-hero,
    .oc1-hero,
    .stcw1-hero
  ){
    min-height:0 !important;
    padding:56px 0 58px !important;
  }

  :where(
    .vr1-hero-grid,
    .cm1-hero-grid,
    .tr1-hero-grid,
    .sc1-hero-grid,
    .oc1-hero-grid,
    .stcw1-hero-grid,
    .vr1-approach-grid,
    .cm1-approach-grid,
    .tr1-approach-grid,
    .sc1-approach-grid,
    .oc1-approach-grid,
    .stcw1-intro-grid
  ){
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  :where(
    .vr1-scope-head,
    .vr1-prepared-head,
    .vr1-related-head,
    .cm1-scope-head,
    .cm1-prepared-head,
    .cm1-related-head,
    .tr1-courses-head,
    .tr1-prepared-head,
    .tr1-related-head,
    .sc1-type-head,
    .sc1-prepared-head,
    .sc1-related-head,
    .oc1-jurisdiction-head,
    .oc1-scope-head,
    .oc1-prepared-head,
    .stcw1-section-head,
    .stcw1-chapters-head
  ){
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  :where(
    .vr1-stepper,
    .cm1-stepper,
    .sc1-stepper
  ){
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  /* -------------------------------------------------------
     SEAFARER LICENSING
     ------------------------------------------------------- */

  .sl15-hero{
    min-height:0 !important;
    padding:56px 0 58px !important;
  }

  .sl15-container{
    width:min(calc(100% - 40px), 1280px) !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .sl15-hero-content,
  .sl15-approach-grid,
  .sl15-scope-heading,
  .sl15-scope-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  /* -------------------------------------------------------
     PANAMA / LIBERIA / OTHER FLAGS
     ------------------------------------------------------- */

  .pnm-hero,
  .lbr-hero,
  .ofs-hero{
    min-height:0 !important;
    padding:56px 0 58px !important;
  }

  .pnm-path-list,
  .lbr-path-list{
    gap:12px !important;
  }

  .pnm-head,
  .lbr-head,
  .ofs-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .pnm-panel,
  .lbr-panel{
    min-width:0 !important;
  }

  /* -------------------------------------------------------
     FOOTER
     ------------------------------------------------------- */

  .footer-v5{
    width:100% !important;
    overflow:hidden !important;
  }

  .footer-v5-main{
    display:grid !important;
    grid-template-columns:
      minmax(0,1.1fr)
      minmax(0,1fr)
      minmax(0,.95fr) !important;
    gap:32px 24px !important;
    width:100% !important;
  }

  .footer-v5-main > *{
    min-width:0 !important;
    max-width:100% !important;
  }

  .footer-v5-brand{
    grid-column:1 / -1 !important;
    max-width:560px !important;
  }

  .footer-v5-logo{
    max-width:200px !important;
    height:auto !important;
  }

  .footer-v5-service-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .footer-v5-service-grid > a{
    min-width:0 !important;
  }

  .footer-v5-company > a,
  .footer-v5-digital > a,
  .footer-v5-email,
  .footer-v5-phone a{
    overflow-wrap:anywhere !important;
  }
}

/* =========================================================
   MID TABLET / LARGE PHONE
   ========================================================= */

@media (max-width:900px){

  .shell{
    width:calc(100% - 32px) !important;
  }

  .home-hero-copy h1{
    font-size:clamp(38px, 9vw, 52px) !important;
  }

  .proof-row{
    grid-template-columns:1fr 1fr !important;
  }

  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
  }

  :where(
    .sv5-grid,
    .sv5-audience-grid,
    .sv5-digital-grid,
    .fsh-feature-grid,
    .fsh-other-grid,
    .fsh-structure-grid,
    .cv2-flag-grid,
    .sfw-flag-grid,
    .sfw-digital-grid,
    .vr1-scope-grid,
    .vr1-info-grid,
    .vr1-related-grid,
    .cm1-scope-grid,
    .cm1-info-grid,
    .cm1-related-grid,
    .tr1-course-grid,
    .tr1-info-grid,
    .tr1-related-grid,
    .sc1-type-grid,
    .sc1-info-grid,
    .sc1-related-grid,
    .oc1-jurisdiction-grid,
    .oc1-scope-grid,
    .oc1-info-grid,
    .stcw1-chapter-grid,
    .stcw1-path-grid,
    .stcw1-special-grid,
    .stcw1-cert-grid,
    .stcw1-watch-grid,
    .stcw1-check-grid,
    .ofs-grid
  ){
    grid-template-columns:1fr !important;
  }

  .sr1-social-buttons{
    grid-template-columns:1fr 1fr !important;
  }

  .cv2-search-row{
    grid-template-columns:1fr !important;
  }

  .cv2-search-row button,
  .cv2-search-row .btn,
  .cv2-search-row .head-btn{
    width:100% !important;
    min-width:0 !important;
  }
}

/* =========================================================
   PHONE
   ========================================================= */

@media (max-width:700px){

  html{
    scroll-padding-top:72px;
  }

  .shell{
    width:calc(100% - 28px) !important;
    max-width:none !important;
  }

  .section-pad{
    padding-top:54px !important;
    padding-bottom:54px !important;
  }

  .site-header{
    min-height:64px !important;
    height:64px !important;
  }

  .site-header .header-row{
    min-height:64px !important;
    height:64px !important;
  }

  .site-header .brand{
    width:136px !important;
    max-width:58vw !important;
  }

  .site-header .header-tools{
    gap:6px !important;
  }

  .mobile-trigger{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
  }

  .mobile-menu{
    width:min(360px, 94vw) !important;
    max-width:94vw !important;
  }

  main h1{
    font-size:clamp(34px, 10.4vw, 48px) !important;
    line-height:.96 !important;
    letter-spacing:-.042em !important;
  }

  main h2{
    font-size:clamp(28px, 8.4vw, 36px) !important;
    line-height:1.05 !important;
  }

  main h3{
    line-height:1.15 !important;
  }

  main p{
    font-size:15px !important;
    line-height:1.68 !important;
  }

  .home-hero{
    padding:30px 0 36px !important;
  }

  .home-hero-copy h1{
    max-width:none !important;
    font-size:clamp(34px, 10.4vw, 46px) !important;
    line-height:.95 !important;
    letter-spacing:-.04em !important;
  }

  .home-hero-copy > p{
    margin-top:16px !important;
    font-size:15px !important;
  }

  .hero-actions,
  .sv5-actions,
  .oc1-actions,
  .tr1-actions,
  .stcw1-actions,
  .sfw-actions,
  .sr1-form-actions,
  .vr1-hero-actions,
  .cm1-hero-actions,
  .pnm-hero-actions,
  .lbr-hero-actions,
  .sl15-hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .hero-actions > *,
  .sv5-actions > *,
  .oc1-actions > *,
  .tr1-actions > *,
  .stcw1-actions > *,
  .sfw-actions > *,
  .sr1-form-actions > *,
  .vr1-hero-actions > *,
  .cm1-hero-actions > *,
  .pnm-hero-actions > *,
  .lbr-hero-actions > *,
  .sl15-hero-actions > *{
    width:100% !important;
  }

  .proof-row{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:20px !important;
  }

  .proof-row > div{
    padding:13px 14px !important;
  }

  .audience-card{
    min-height:280px !important;
  }

  .audience-content{
    padding:28px 20px !important;
  }

  .cv2-search{
    padding:22px 18px !important;
    border-radius:20px !important;
  }

  .cv2-search-row{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .cv2-search-row button,
  .cv2-search-row .btn,
  .cv2-search-row .head-btn{
    width:100% !important;
    min-width:0 !important;
  }

  .cv2-search-meta{
    justify-content:flex-start !important;
  }

  .sr1-social-buttons{
    grid-template-columns:1fr !important;
  }

  .sr1-contact-support-grid,
  .sr1-field-row{
    grid-template-columns:1fr !important;
  }

  .pnm [class*="grid"],
  .pnm [class*="layout"],
  .pnm [class*="split"],
  .lbr [class*="grid"],
  .lbr [class*="layout"],
  .lbr [class*="split"],
  .ofs [class*="grid"],
  .ofs [class*="layout"],
  .sfw [class*="grid"],
  .sfw [class*="layout"],
  .fsh [class*="grid"],
  .fsh [class*="layout"],
  .sv5 [class*="grid"],
  .sv5 [class*="layout"],
  .mi1 [class*="grid"],
  .mi1 [class*="layout"],
  .cv2 [class*="grid"],
  .cv2 [class*="layout"],
  .vr1 [class*="grid"],
  .vr1 [class*="layout"],
  .cm1 [class*="grid"],
  .cm1 [class*="layout"],
  .tr1 [class*="grid"],
  .tr1 [class*="layout"],
  .sc1 [class*="grid"],
  .sc1 [class*="layout"],
  .oc1 [class*="grid"],
  .oc1 [class*="layout"],
  .stcw1 [class*="grid"],
  .stcw1 [class*="layout"],
  .sl15 [class*="grid"],
  .sl15 [class*="layout"]{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .footer-v5-main{
    grid-template-columns:1fr !important;
    gap:30px !important;
    padding-top:48px !important;
    padding-bottom:42px !important;
  }

  .footer-v5-brand,
  .footer-v5-services,
  .footer-v5-company,
  .footer-v5-digital,
  .footer-v5-contact{
    grid-column:auto !important;
    width:100% !important;
    max-width:100% !important;
  }

  .footer-v5-logo{
    width:190px !important;
    max-width:68vw !important;
  }

  .footer-v5-service-grid{
    grid-template-columns:1fr !important;
  }

  .footer-v5-bottom-inner{
    display:grid !important;
    gap:10px !important;
    justify-items:start !important;
    text-align:left !important;
  }

  table{
    display:block !important;
    width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
  }
}

/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width:380px){

  .shell{
    width:calc(100% - 22px) !important;
  }

  .site-header .brand{
    width:126px !important;
  }

  main h1{
    font-size:clamp(30px, 10.8vw, 40px) !important;
  }

  .home-hero-copy h1{
    font-size:clamp(30px, 10.8vw, 40px) !important;
  }

  .mobile-head img{
    width:144px !important;
  }
}

/* =========================================================
   TOUCH DEVICES
   ========================================================= */

@media (hover:none) and (pointer:coarse){
  a:hover,
  button:hover{
    transform:none !important;
  }
}


/* ==================== V3 ==================== */

/* SEA LICENSING — MOBILE FINAL V3
   Responsive-only final polish. Desktop >=1101px untouched. */

@media (max-width:1100px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  *,*::before,*::after{box-sizing:border-box}
  img,video,picture,canvas,svg{max-width:100%}
  .shell{width:min(calc(100% - 36px),var(--shell,1440px))!important;max-width:100%!important;margin-inline:auto!important}
  .main-nav,.mega-menu,.mega-scrim{display:none!important}
  .site-header{height:72px!important;min-height:72px!important;position:sticky!important;top:0!important;z-index:1000!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(16px);border-bottom:1px solid rgba(8,43,66,.08)}
  .site-header .header-row{height:72px!important;min-height:72px!important;display:flex!important;align-items:center!important;gap:12px!important}
  .site-header .brand{width:154px!important;max-width:48vw!important;height:auto!important;display:flex!important;align-items:center!important;flex:0 0 auto!important;margin:0!important}
  .site-header .brand img{display:block!important;width:100%!important;height:auto!important}
  .site-header .header-tools{display:flex!important;align-items:center!important;gap:8px!important;margin-left:auto!important}
  .site-header .header-tools>.icon-btn,.site-header .header-tools>.head-btn,.site-header .header-request-cta{display:none!important}
  .mobile-trigger{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;border:1px solid rgba(7,46,70,.13)!important;border-radius:12px!important;background:#fff!important;color:#082f48!important;box-shadow:0 8px 22px rgba(8,37,55,.06)}
  .mobile-trigger svg{width:18px!important;height:18px!important}
  .mobile-menu{position:fixed!important;top:0!important;right:0!important;width:min(390px,94vw)!important;max-width:94vw!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch}
  .mobile-head{padding:18px!important}.mobile-head img{width:156px!important;height:auto!important}
  .mobile-nav a,.mobile-nav summary{min-height:46px!important;padding:14px 18px!important;font-size:15px!important;line-height:1.3!important}
  .mobile-cta{padding:16px 18px 20px!important}.mobile-cta a{min-height:50px!important;border-radius:12px!important}
  form,fieldset,input,select,textarea,button{max-width:100%}
  input,select,textarea{font-size:16px!important}
  [data-reveal]{opacity:1!important;visibility:visible!important;transform:none!important}
  :where(.vr1-hero-grid,.cm1-hero-grid,.tr1-hero-grid,.sc1-hero-grid,.oc1-hero-grid,.stcw1-hero-grid,.sr1-hero-grid,.cv2-hero-grid,.sfw-hero-grid,.pnm-hero-inner,.lbr-hero-inner,.sl15-hero-content){min-width:0!important}
}

@media (max-width:700px){
  :root{--mobile-pad:18px}
  .shell{width:calc(100% - 32px)!important;max-width:none!important}
  .section-pad{padding-top:52px!important;padding-bottom:52px!important}
  .site-header{height:66px!important;min-height:66px!important}
  .site-header .header-row{height:66px!important;min-height:66px!important}
  .site-header .brand{width:144px!important;max-width:58vw!important}
  .mobile-trigger{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}

  main h1,main h2,main h3{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;text-wrap:balance}
  main h1{font-size:clamp(34px,9.4vw,42px)!important;line-height:.98!important;letter-spacing:-.04em!important}
  main h2{font-size:clamp(29px,8.2vw,36px)!important;line-height:1.04!important;letter-spacing:-.03em!important}
  main p{font-size:14px!important;line-height:1.64!important}

  /* HOME */
  .home-hero{height:auto!important;min-height:620px!important;padding:0!important;background:#eaf5fa!important}
  .home-hero-photo{inset:0!important;background-position:64% center!important;background-size:cover!important;transform:none!important;opacity:1!important}
  .home-hero-overlay{background:linear-gradient(180deg,rgba(242,249,252,.98) 0%,rgba(239,247,251,.94) 43%,rgba(233,244,249,.78) 67%,rgba(5,40,58,.20) 100%)!important}
  .home-hero-grid{height:auto!important;min-height:620px!important;display:block!important;padding:48px 0 44px!important}
  .home-hero-copy{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
  .home-hero-copy::before{display:none!important}
  .home-hero-copy .eyebrow{font-size:9px!important;line-height:1.35!important;letter-spacing:.14em!important;margin:0 0 14px!important;color:#078fcf!important}
  .home-hero-copy h1{max-width:none!important;margin:0!important;font-size:clamp(36px,9.6vw,40px)!important;line-height:.96!important;letter-spacing:-.045em!important;text-transform:uppercase!important}
  .home-hero-copy h1 span{display:block!important;color:#0799d4!important}
  .home-hero-copy>p{max-width:355px!important;margin:18px 0 0!important;font-size:14px!important;line-height:1.65!important;color:#36566a!important}
  .home-hero .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:24px!important;width:100%!important}
  .home-hero .hero-actions .btn{min-width:0!important;width:100%!important;height:50px!important;min-height:50px!important;padding:0 13px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:10px!important;border-radius:4px!important;white-space:nowrap!important}
  .proof-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;max-width:100%!important;margin-top:20px!important}
  .proof-row>div{min-height:58px!important;padding:11px 12px!important;border:1px solid rgba(9,80,116,.10)!important;background:rgba(255,255,255,.68)!important;border-radius:8px!important;backdrop-filter:blur(7px)}
  .proof-row svg{width:20px!important;height:20px!important;flex:0 0 20px!important}.proof-row b{font-size:9px!important}.proof-row small{font-size:7.5px!important}
  .home-hero-side,.hero-edge-note{display:none!important}

  .services-transition{overflow:hidden!important}.services-transition-inner{display:block!important}.services-transition-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:70px!important;padding:14px 18px!important;width:100%!important}.services-transition-heading small{font-size:8px!important}.services-transition-heading strong{font-size:23px!important}.services-transition-nav{display:grid!important;grid-template-columns:1fr 1fr!important;overflow:visible!important;width:100%!important}.services-transition-nav>a{min-width:0!important;min-height:62px!important;padding:12px 13px!important;display:flex!important;align-items:center!important;gap:8px!important}.services-transition-nav span{font-size:8px!important;line-height:1.25!important;white-space:normal!important}.services-transition-nav svg,.services-transition-nav .service-custom-icon{width:19px!important;height:19px!important;flex:0 0 19px!important}.services-transition-beam{display:none!important}

  .audience-gateway{display:grid!important;grid-template-columns:1fr!important}.audience-card{min-height:310px!important}.audience-content{padding:34px 22px!important;margin:0!important}.audience-content h2{font-size:36px!important;line-height:.98!important}.audience-content p{max-width:325px!important;font-size:13px!important}.audience-cta{margin-top:18px!important}

  .home-services{padding:52px 0!important}.capabilities-layout{display:grid!important;grid-template-columns:1fr!important;gap:28px!important}.capabilities-intro{position:static!important;max-width:none!important}.capabilities-intro h2{font-size:34px!important}.capability-themes{display:flex!important;flex-wrap:wrap!important;gap:7px!important}.capabilities-count{display:none!important}.capability-cards{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.capability-card{min-height:0!important;padding:20px!important;border-radius:10px!important}.capability-card h3{font-size:20px!important;line-height:1.08!important;margin-top:16px!important}.capability-card p{font-size:12px!important;line-height:1.55!important;min-height:0!important}.capability-card-link{margin-top:18px!important}

  .global-network-v2{padding:52px 0!important}.network-v2-shell{display:grid!important;grid-template-columns:1fr!important;gap:28px!important}.network-v2-copy h2{font-size:36px!important}.network-v2-copy p{font-size:13px!important}.network-v2-principles{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px 12px!important}.network-v2-visual{width:100%!important}.network-v2-map{height:auto!important;aspect-ratio:16/10!important}.network-v2-map img{width:100%!important;height:100%!important;object-fit:cover!important}.network-v2-header,.network-v2-footer{padding:13px!important}.network-v2-footer{display:block!important}.network-v2-footer p{margin:10px 0 0!important}.network-regions{display:flex!important;flex-wrap:wrap!important;gap:6px!important}

  .compliance-v2{padding:52px 0!important}.compliance-v2-shell{display:grid!important;grid-template-columns:1fr!important;gap:28px!important}.compliance-v2-visual{min-height:300px!important;height:300px!important;grid-row:auto!important;border-radius:10px!important;overflow:hidden!important}.compliance-v2-visual>img{width:100%!important;height:100%!important;object-fit:cover!important}.compliance-v2-copy h2{font-size:36px!important}.compliance-v2-services{width:100%!important}.compliance-v2-service{min-height:82px!important;padding:15px 13px!important}.compliance-v2-service-copy strong{font-size:13px!important}.compliance-v2-service-copy small{font-size:9px!important;line-height:1.4!important}

  .digital-v3{padding:52px 0!important}.digital-v3-layout{display:grid!important;grid-template-columns:1fr!important;gap:28px!important}.digital-v3-intro h2{font-size:36px!important}.digital-v3-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.digital-v3-card{width:100%!important;min-width:0!important}.digital-v3-card:last-child{grid-column:auto!important}.digital-v3-image{height:auto!important;aspect-ratio:16/9!important}.digital-v3-image img{width:100%!important;height:100%!important;object-fit:cover!important}.digital-v3-card-copy{padding:16px 17px 20px!important}.digital-v3-card-copy h3{font-size:18px!important}.digital-v3-card-copy p{min-height:0!important;font-size:11px!important}

  .people-band,.people-story{display:grid!important;grid-template-columns:1fr!important}.people-photo,.story-photo{min-height:280px!important}.people-copy,.story-copy{padding:40px 18px!important}.people-copy h2,.story-copy h2{font-size:34px!important}

  .insights-preview,.insights-v2{padding:52px 0!important}.insights-layout,.insights-v2-layout,.insights-v2-shell{display:grid!important;grid-template-columns:1fr!important;gap:26px!important}.article-grid,.insights-v2-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.article-card,.insights-v2-card{width:100%!important;min-width:0!important}.article-card:last-child,.insights-v2-card:last-child{grid-column:auto!important}.insights-v2-image{aspect-ratio:16/9!important;height:auto!important}.insights-v2-image img{width:100%!important;height:100%!important;object-fit:cover!important}

  .cta-band-inner{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;padding-top:40px!important;padding-bottom:40px!important}.cta-band-inner>.btn,.cta-band-inner>a.btn{width:100%!important;justify-content:center!important}

  /* SHARED SERVICE HERO FAMILY */
  :where(.vr1-hero,.cm1-hero,.tr1-hero,.sc1-hero,.oc1-hero,.stcw1-hero){height:auto!important;min-height:0!important;padding:46px 0 48px!important;overflow:hidden!important}
  :where(.vr1-hero-grid,.cm1-hero-grid,.tr1-hero-grid,.sc1-hero-grid,.oc1-hero-grid,.stcw1-hero-grid){display:grid!important;grid-template-columns:1fr!important;gap:22px!important;align-items:start!important}
  :where(.vr1-hero-copy,.cm1-hero-copy,.tr1-hero-copy,.sc1-hero-copy,.oc1-hero-copy,.stcw1-hero-copy){width:100%!important;max-width:none!important;min-width:0!important}
  :where(.vr1-hero h1,.cm1-hero h1,.tr1-hero h1,.sc1-hero h1,.oc1-hero h1,.stcw1-hero h1){width:auto!important;max-width:100%!important;min-width:0!important;font-size:40px!important;line-height:.98!important;letter-spacing:-.04em!important;white-space:normal!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;overflow-wrap:normal!important;word-break:normal!important}
  :where(.vr1-hero-actions,.cm1-hero-actions,.tr1-actions,.sc1-actions,.oc1-actions,.stcw1-actions){display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important}
  :where(.vr1-hero-actions,.cm1-hero-actions,.tr1-actions,.sc1-actions,.oc1-actions,.stcw1-actions)>*{width:100%!important;min-width:0!important}
  :where(.vr1-hero-meta,.cm1-hero-meta,.tr1-meta,.sc1-meta,.oc1-meta,.stcw1-meta){display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}
  :where(.vr1-approach-grid,.cm1-approach-grid,.tr1-approach-grid,.sc1-approach-grid,.oc1-approach-grid,.stcw1-intro-grid){display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
  :where(.vr1-scope-head,.vr1-prepared-head,.vr1-workflow-head,.vr1-related-head,.cm1-scope-head,.cm1-prepared-head,.cm1-workflow-head,.cm1-related-head,.tr1-courses-head,.tr1-prepared-head,.tr1-workflow-head,.tr1-related-head,.sc1-type-head,.sc1-prepared-head,.sc1-workflow-head,.sc1-related-head,.oc1-jurisdiction-head,.oc1-scope-head,.oc1-prepared-head,.stcw1-section-head,.stcw1-chapters-head){display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:start!important}
  :where(.vr1-scope-grid,.vr1-info-grid,.vr1-related-grid,.cm1-scope-grid,.cm1-info-grid,.cm1-related-grid,.tr1-course-grid,.tr1-info-grid,.tr1-related-grid,.sc1-type-grid,.sc1-info-grid,.sc1-related-grid,.oc1-jurisdiction-grid,.oc1-scope-grid,.oc1-info-grid,.stcw1-chapter-grid,.stcw1-path-grid,.stcw1-special-grid,.stcw1-cert-grid,.stcw1-watch-grid,.stcw1-check-grid){display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  :where(.vr1-stepper,.cm1-stepper,.tr1-stepper,.sc1-stepper){display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  :where(.vr1-title,.cm1-title,.tr1-title,.sc1-title,.oc1-title,.stcw1-title){font-size:30px!important;line-height:1.05!important}

  /* ABOUT */
  .sv5-hero{height:auto!important;min-height:0!important;padding:48px 0!important}.sv5-hero-inner{display:block!important;width:calc(100% - 32px)!important;margin-inline:auto!important}.sv5-copy{width:100%!important;max-width:none!important}.sv5-copy h1{font-size:40px!important;line-height:.98!important}.sv5-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.sv5-actions>*{width:100%!important}.sv5-proof{margin-top:24px!important}.sv5-heading,.sv5-audience-head,.sv5-digital-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.sv5-grid,.sv5-audience-grid,.sv5-digital-grid,.sv5-process-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.sv5-side-note,.sv5-flow-line,.sv5-flow-separator{display:none!important}

  /* SEAFARERS */
  .sfw-hero{height:auto!important;min-height:0!important;padding:46px 0 48px!important}.sfw-hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}.sfw-hero-copy h1{font-size:40px!important;line-height:.98!important}.sfw-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.sfw-actions>*{width:100%!important}.sfw-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.sfw-nav-grid,.sfw-flag-grid,.sfw-digital-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.sfw-portal-grid{display:grid!important;grid-template-columns:1fr!important;gap:22px!important}

  /* CERTIFICATE */
  .cv2-hero{height:auto!important;min-height:0!important;padding:46px 0 50px!important}.cv2-hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:22px!important}.cv2-hero-copy h1{font-size:40px!important;line-height:.98!important}.cv2-search{width:100%!important;max-width:none!important;padding:20px 18px!important;border-radius:12px!important}.cv2-search-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.cv2-input-wrap{width:100%!important;min-width:0!important}.cv2-search-row button,.cv2-search-row .btn{width:100%!important;min-width:0!important}.cv2-search-meta{display:flex!important;flex-wrap:wrap!important;gap:6px 12px!important;justify-content:flex-start!important}.cv2-flags{padding:50px 0!important}.cv2-flags-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.cv2-flag-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.cv2-flag-card{min-height:0!important;padding:16px!important}.cv2-flag-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}

  /* SERVICE REQUEST */
  .sr1-hero{height:auto!important;min-height:0!important;padding:46px 0 48px!important}.sr1-hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}.sr1-hero-copy h1{font-size:40px!important}.sr1-hero-panel{width:100%!important;max-width:none!important}.sr1-request{padding:50px 0!important}.sr1-request-head{display:block!important;width:100%!important;max-width:none!important;margin:0 0 24px!important;text-align:left!important}.sr1-request-head>*{text-align:left!important;align-items:flex-start!important}.sr1-request-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}.sr1-contact-box,.sr1-form-wrap{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important}.sr1-contact-content{display:block!important;padding:0 18px!important}.sr1-contact-block{padding:16px 0!important}.sr1-contact-block:nth-child(2)::before{display:none!important}.sr1-contact-support-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:14px 0!important}.sr1-contact-support-grid>div{min-height:96px!important;padding:16px 20px 16px 42%!important}.sr1-social-buttons{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.sr1-field-row{display:grid!important;grid-template-columns:1fr!important;gap:0!important}.sr1-form{padding:18px!important}.sr1-form-actions{display:grid!important;grid-template-columns:1fr!important}.sr1-submit{width:100%!important}

  /* FLAG STATES */
  .fsh-hero{height:auto!important;min-height:0!important;padding:46px 0 48px!important}.fsh-hero-inner{width:calc(100% - 32px)!important;margin-inline:auto!important}.fsh-hero-copy{max-width:none!important}.fsh-hero-copy h1{font-size:40px!important}.fsh-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.fsh-hero-actions>*{width:100%!important}.fsh-section-head,.fsh-explorer-head,.fsh-structure-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.fsh-feature-grid,.fsh-other-grid,.fsh-structure-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.fsh-primary-strip{overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important}

  /* PANAMA/LIBERIA/BELIZE/HONDURAS/OTHER */
  .pnm-hero,.lbr-hero,.blz2-hero,.hnd2-hero,.ofs-hero{height:auto!important;min-height:0!important;padding:46px 0 48px!important}.pnm-hero-inner,.lbr-hero-inner,.blz2-hero-inner,.hnd2-hero-inner{display:grid!important;grid-template-columns:1fr!important;gap:20px!important;width:calc(100% - 32px)!important;margin-inline:auto!important}.pnm-hero h1,.lbr-hero h1,.blz2-hero h1,.hnd2-hero h1,.ofs-hero h1{font-size:40px!important;line-height:.98!important}.pnm-hero-actions,.lbr-hero-actions,.blz2-hero-actions,.hnd2-hero-actions,.ofs-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.pnm-head,.lbr-head,.blz2-section-head,.hnd2-head,.ofs-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.pnm-nav-grid,.lbr-nav-grid,.blz2-nav-grid,.hnd2-nav-grid,.ofs-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.pnm-split,.lbr-split,.blz2-split,.hnd2-split{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}.pnm-rating-layout,.lbr-sqc-layout{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}.pnm-downloads,.lbr-downloads,.blz2-downloads,.hnd2-downloads{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}

  /* SEAFARER LICENSING */
  .sl15-container{width:calc(100% - 32px)!important;max-width:none!important;margin-inline:auto!important}.sl15-hero{height:auto!important;min-height:0!important;padding:46px 0 48px!important}.sl15-hero-content{display:block!important;width:100%!important;max-width:none!important}.sl15-hero h1{font-size:40px!important;line-height:.98!important;max-width:100%!important}.sl15-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.sl15-hero-actions>*{width:100%!important}.sl15-approach-grid,.sl15-scope-heading,.sl15-scope-grid,.sl15-info-grid,.sl15-related-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.sl15-title{font-size:30px!important;line-height:1.05!important}

  /* INSIGHTS */
  .mi1-hero{height:auto!important;min-height:0!important;padding:46px 0 48px!important}.mi1-hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}.mi1-hero-copy h1{font-size:40px!important}.mi1-status-grid,.mi1-lead-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.mi1-section-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.mi1-tools{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.mi1-search-wrap{width:100%!important}

  /* FOOTER */
  .footer-v5-main{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;padding-top:44px!important;padding-bottom:38px!important}.footer-v5-brand,.footer-v5-services,.footer-v5-navigation,.footer-v5-contact{grid-column:auto!important;width:100%!important;max-width:100%!important}.footer-v5-logo{width:178px!important;height:auto!important}.footer-v5-service-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.footer-v5-navigation{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important}.footer-v5-contact{padding-top:8px!important}.footer-v5-bottom-inner{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;text-align:left!important}

  table{display:block!important;width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch}
}

@media (max-width:380px){
  .shell,.sv5-hero-inner,.fsh-hero-inner,.pnm-hero-inner,.lbr-hero-inner,.blz2-hero-inner,.hnd2-hero-inner,.sl15-container{width:calc(100% - 24px)!important}
  .site-header .brand{width:132px!important}
  .home-hero-copy h1,:where(.vr1-hero h1,.cm1-hero h1,.tr1-hero h1,.sc1-hero h1,.oc1-hero h1,.stcw1-hero h1,.sv5-copy h1,.sfw-hero-copy h1,.cv2-hero-copy h1,.sr1-hero-copy h1,.fsh-hero-copy h1,.pnm-hero h1,.lbr-hero h1,.blz2-hero h1,.hnd2-hero h1,.ofs-hero h1,.sl15-hero h1,.mi1-hero-copy h1){font-size:36px!important}
  .home-hero .hero-actions,.sv5-actions,.sfw-actions,.fsh-hero-actions,.sl15-hero-actions,:where(.vr1-hero-actions,.cm1-hero-actions,.tr1-actions,.sc1-actions,.oc1-actions,.stcw1-actions){grid-template-columns:1fr!important}
  .proof-row{grid-template-columns:1fr!important}
  .footer-v5-service-grid,.footer-v5-navigation{grid-template-columns:1fr!important}
}

@media (max-width:1100px) and (hover:none) and (pointer:coarse){a:hover,button:hover{transform:none!important}}

/* ===== MOBILE QA FIXES FROM RENDER AUDIT ===== */
@media (max-width:700px){
  /* reset desktop 3-column heading compositions */
  .vr1-scope-head,
  .cm1-scope-head,
  .tr1-courses-head,
  .sc1-types-head,
  .oc1-jurisdiction-head,
  .stcw1-chapters-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:start!important;
  }

  .vr1-scope-head>*,
  .cm1-scope-head>*,
  .tr1-courses-head>*,
  .sc1-types-head>*,
  .oc1-jurisdiction-head>*,
  .stcw1-chapters-head>*{
    grid-column:auto!important;
    width:100%!important;
    max-width:100%!important;
  }

  .vr1-scope-intro,
  .cm1-scope-intro,
  .tr1-courses-intro,
  .sc1-types-intro,
  .oc1-jurisdiction-intro{
    grid-column:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    margin:0!important;
  }

  .vr1-scope-intro::before,
  .cm1-scope-intro::before,
  .tr1-courses-intro::before,
  .sc1-types-intro::before,
  .oc1-jurisdiction-intro::before{
    display:none!important;
  }

  .sc1-types-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .sc1-type-card{width:100%!important;min-height:0!important;padding:22px 20px!important}
  .sc1-type-card>p,.sc1-type-list{width:100%!important;max-width:none!important}

  /* STCW mobile compositions */
  .stcw1-nav-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .stcw1-current-box{display:grid!important;grid-template-columns:1fr!important;gap:15px!important;padding:22px 20px!important}
  .stcw1-current-tag{padding:0 0 14px!important;border-right:0!important;border-bottom:1px solid #cfe2eb!important}
  .stcw1-current-text{width:100%!important;max-width:none!important}
  .stcw1-revalidation-grid,.stcw1-update-grid{display:grid!important;grid-template-columns:1fr!important;gap:20px!important;align-items:start!important}
  .stcw1-update-copy{padding-left:0!important;border-left:0!important}
  .stcw1-table-wrap{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:8px!important}
  .stcw1-table{display:table!important;width:720px!important;min-width:720px!important;max-width:none!important}

  /* Seafarer licensing desktop geometry resets */
  .sl15-approach-cards{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .sl15-prepared-layout{display:grid!important;grid-template-columns:1fr!important;gap:20px!important;width:100%!important}
  .sl15-prepared-layout>*{grid-column:auto!important;width:100%!important;max-width:100%!important}
  .sl15-stepper{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}

  /* Honduras engine-course note */
  .hnd2 .hnd2-engine-course-note{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:14px 16px!important}
  .hnd2 .hnd2-engine-course-note b,.hnd2 .hnd2-engine-course-note span{width:100%!important;max-width:none!important}
}


/* ==================== V4 ==================== */

/* =========================================================
   SEA LICENSING — MOBILE QA V4

   Fixes found during actual responsive render audit.

   Desktop >=1101px:
   completely unaffected.
   ========================================================= */


/* =========================================================
   1. MOBILE / TABLET MENU BUTTON
   V3 accidentally hid mobile-trigger because it also
   carries the icon-btn class.
   ========================================================= */

@media (max-width:1100px){

  /* Hide desktop search icon only */
  .site-header .header-tools > .icon-btn:not(.mobile-trigger){
    display:none !important;
  }

  /* Hide desktop action buttons */
  .site-header .header-tools > .head-btn,
  .site-header .header-request-cta{
    display:none !important;
  }

  /* Explicitly restore hamburger */
  .site-header .header-tools > .icon-btn.mobile-trigger{
    display:grid !important;

    place-items:center !important;

    position:relative !important;

    width:42px !important;
    height:42px !important;

    min-width:42px !important;
    min-height:42px !important;

    padding:0 !important;
    margin:0 !important;

    opacity:1 !important;
    visibility:visible !important;

    pointer-events:auto !important;

    border:
      1px solid rgba(7,46,70,.13) !important;

    border-radius:
      12px !important;

    background:
      rgba(255,255,255,.98) !important;

    color:
      #082F48 !important;

    box-shadow:
      0 8px 22px rgba(8,37,55,.06) !important;

    z-index:3 !important;
  }

  .site-header
  .header-tools
  > .icon-btn.mobile-trigger svg{
    display:block !important;

    width:19px !important;
    height:19px !important;

    min-width:19px !important;
    min-height:19px !important;

    color:
      #082F48 !important;

    stroke:
      currentColor !important;

    opacity:1 !important;
    visibility:visible !important;
  }

}


/* PHONE HEADER */

@media (max-width:700px){

  .site-header
  .header-tools
  > .icon-btn.mobile-trigger{
    width:40px !important;
    height:40px !important;

    min-width:40px !important;
    min-height:40px !important;

    border-radius:
      11px !important;
  }

}


/* =========================================================
   2. HOMEPAGE SERVICES STRIP — TABLET

   At ~768px the six service items were compressed into
   one narrow row. Turn them into a premium 3 × 2 grid.
   ========================================================= */

@media (min-width:701px) and (max-width:900px){

  .services-transition{
    width:100% !important;

    overflow:hidden !important;
  }

  .services-transition-inner{
    display:block !important;

    width:100% !important;

    min-height:0 !important;
  }


  /* heading becomes a full-width introduction bar */

  .services-transition-heading{
    display:flex !important;

    align-items:center !important;
    justify-content:space-between !important;

    width:100% !important;

    min-height:68px !important;

    padding:
      13px 28px !important;
  }

  .services-transition-heading > div{
    display:flex !important;

    align-items:center !important;

    gap:12px !important;
  }

  .services-transition-heading small{
    margin:0 !important;

    font-size:8px !important;
    line-height:1 !important;
  }

  .services-transition-heading strong{
    margin:0 !important;

    font-size:22px !important;
    line-height:1 !important;
  }


  /* true tablet grid */

  .services-transition-nav{
    display:grid !important;

    grid-template-columns:
      repeat(3,minmax(0,1fr)) !important;

    width:100% !important;

    overflow:visible !important;
  }

  .services-transition-nav > a{
    display:flex !important;

    align-items:center !important;
    justify-content:flex-start !important;

    gap:10px !important;

    min-width:0 !important;

    min-height:68px !important;

    padding:
      13px 18px !important;

    text-align:left !important;
  }

  .services-transition-nav svg,
  .services-transition-nav .service-custom-icon{
    width:21px !important;
    height:21px !important;

    min-width:21px !important;

    flex:
      0 0 21px !important;
  }

  .services-transition-nav span{
    display:block !important;

    min-width:0 !important;

    font-size:9.5px !important;
    line-height:1.28 !important;

    white-space:normal !important;

    overflow:visible !important;
    text-overflow:clip !important;
  }

  .services-transition-beam{
    display:none !important;
  }

}


/* =========================================================
   3. RESPONSIVE HEADER SAFETY
   ========================================================= */

@media (max-width:1100px){

  .site-header .header-row{
    justify-content:flex-start !important;
  }

  .site-header .header-tools{
    margin-left:auto !important;

    flex:0 0 auto !important;

    display:flex !important;

    align-items:center !important;
    justify-content:flex-end !important;
  }

  .site-header .brand{
    flex-shrink:0 !important;
  }

}


/* =========================================================
   4. TOUCH BEHAVIOUR
   ========================================================= */

@media (max-width:1100px) and (hover:none) and (pointer:coarse){

  .mobile-trigger:hover{
    transform:none !important;
  }

}
