/* =========================================================
   SEA LICENSING
   CERTIFICATE VERIFICATION — PREMIUM V2
   DESKTOP
   ========================================================= */

.cv2-main{
  --navy:#002b49;
  --deep:#03283f;
  --deep2:#073a57;
  --blue:#008bd2;
  --cyan:#63cdf5;
  --text:#0c344c;
  --muted:#607b8c;
  --line:#dbe7ed;
  --soft:#f3f8fa;

  overflow:hidden;
  background:#fff;
  color:var(--text);
}

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

.cv2-shell{
  width:min(calc(100% - 96px),var(--shell,1440px));
  margin-inline:auto;
}


/* =========================================================
   HERO
   ========================================================= */

.cv2-hero{
  position:relative;
  min-height:560px;

  display:flex;
  align-items:center;

  isolation:isolate;
  overflow:hidden;

  background:#03283f;
}

.cv2-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;

  background-image:
    linear-gradient(
      90deg,
      rgba(2,32,50,.97) 0%,
      rgba(3,39,60,.93) 31%,
      rgba(3,39,60,.68) 55%,
      rgba(2,31,48,.35) 76%,
      rgba(2,29,45,.48) 100%
    ),
    url("/assets/images/digital/certificate-verification.jpg");

  background-size:cover,cover;
  background-position:center,center;
  background-repeat:no-repeat;
}

.cv2-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;

  background:
    radial-gradient(
      circle at 73% 34%,
      rgba(54,183,236,.14),
      transparent 29%
    ),
    linear-gradient(
      180deg,
      rgba(0,0,0,0) 58%,
      rgba(0,20,32,.29) 100%
    );
}

.cv2-hero-grid{
  width:100%;

  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(460px,.98fr);

  gap:88px;
  align-items:center;

  padding:68px 0;
}


/* HERO COPY */

.cv2-eyebrow{
  display:block;
  margin-bottom:16px;

  color:#68d3fa;

  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.cv2-hero h1{
  max-width:700px;

  margin:0;

  color:#fff;

  font-size:62px;
  line-height:.99;
  font-weight:800;
  letter-spacing:-.055em;
}

.cv2-hero-copy > p{
  max-width:660px;

  margin:22px 0 0;

  color:rgba(255,255,255,.76);

  font-size:14px;
  line-height:1.72;
}

.cv2-hero-note{
  display:flex;
  align-items:center;
  gap:10px;

  margin-top:27px;

  color:rgba(255,255,255,.54);

  font-size:9px;
  font-weight:700;
  letter-spacing:.02em;
}

.cv2-hero-note::before{
  content:"";

  width:9px;
  height:11px;

  border:1px solid #62cdf5;
  border-radius:2px;

  box-shadow:
    0 -5px 0 -3px #62cdf5;
}


/* =========================================================
   VERIFICATION SEARCH PANEL
   ========================================================= */

.cv2-search{
  position:relative;

  width:100%;

  padding:31px 31px 28px;

  overflow:hidden;
  isolation:isolate;

  border:1px solid rgba(255,255,255,.17);
  border-radius:9px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(0,151,218,.17),
      transparent 37%
    ),
    linear-gradient(
      145deg,
      rgba(5,55,82,.92),
      rgba(2,34,52,.82)
    );

  box-shadow:
    0 28px 70px rgba(0,0,0,.24),
    inset 0 1px rgba(255,255,255,.07);

  backdrop-filter:blur(13px);
}

.cv2-search::after{
  content:"";

  position:absolute;

  width:205px;
  height:205px;

  right:-54px;
  top:-48px;

  z-index:0;
  pointer-events:none;

  opacity:.065;

  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 210 210' fill='none' stroke='%2375D9FA' stroke-width='2'%3E%3Cpath d='M105 19l66 26v45c0 48-27 81-66 104-39-23-66-56-66-104V45l66-26z'/%3E%3Cpath d='M70 103l23 23 48-61'/%3E%3C/svg%3E")
    center/contain no-repeat;
}

.cv2-search > *{
  position:relative;
  z-index:2;
}

.cv2-search-kicker{
  display:block;

  color:#6dd5fb;

  font-size:9px;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.cv2-search h2{
  margin:11px 0 0;

  color:#fff;

  font-size:28px;
  line-height:1.1;
  letter-spacing:-.035em;
}

.cv2-search-intro{
  max-width:410px;

  margin:10px 0 0;

  color:rgba(255,255,255,.64);

  font-size:10.5px;
  line-height:1.65;
}

.cv2-form{
  margin-top:23px;
  padding-top:22px;

  border-top:1px solid rgba(255,255,255,.12);
}

.cv2-form label{
  display:block;
  margin-bottom:8px;

  color:rgba(255,255,255,.78);

  font-size:9px;
  font-weight:800;
}

.cv2-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;

  gap:9px;
}

.cv2-input-wrap{
  position:relative;
}

.cv2-input-wrap::before{
  content:"";

  position:absolute;

  left:15px;
  top:50%;

  width:17px;
  height:17px;

  transform:translateY(-50%);

  opacity:.56;

  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230084D1' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E")
    center/contain no-repeat;
}

.cv2-input{
  width:100%;
  height:49px;

  padding:0 16px 0 43px;

  border:1px solid rgba(188,218,231,.62);
  border-radius:5px;

  outline:none;

  color:#10384e;
  background:rgba(255,255,255,.98);

  font:inherit;
  font-size:12px;
  font-weight:650;

  transition:
    border-color .22s ease,
    box-shadow .22s ease;
}

.cv2-input::placeholder{
  color:#93a7b2;
  font-weight:500;
}

.cv2-input:focus{
  border-color:#59c8f2;

  box-shadow:
    0 0 0 3px rgba(0,139,210,.13);
}

.cv2-submit{
  height:49px;
  min-width:150px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  gap:8px;

  padding:0 17px;

  border:1px solid #008bd2;
  border-radius:5px;

  cursor:pointer;

  color:#fff;
  background:#008bd2;

  font:inherit;
  font-size:9px;
  line-height:1;
  font-weight:850;
  letter-spacing:.025em;
  text-transform:uppercase;

  transition:
    transform .22s ease,
    background .22s ease,
    box-shadow .22s ease;
}

.cv2-submit:hover{
  transform:translateY(-1px);

  background:#029ae7;

  box-shadow:
    0 10px 23px rgba(0,139,210,.22);
}

.cv2-search-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;

  gap:20px;

  margin-top:10px;
}

.cv2-search-meta small{
  color:rgba(255,255,255,.40);

  font-size:8px;
  line-height:1.45;
}

.cv2-secure{
  flex:0 0 auto;

  color:#65d0f7;

  font-size:8px;
  font-weight:750;
}


/* SEARCH FEEDBACK */

.cv2-feedback{
  display:grid;

  grid-template-columns:34px minmax(0,1fr);

  gap:12px;

  margin-top:16px;
  padding:14px;

  border-radius:6px;

  border:1px solid rgba(102,210,249,.25);
  background:rgba(0,139,210,.10);

  animation:cv2result .28s ease both;
}

.cv2-feedback[hidden]{
  display:none !important;
}

.cv2-feedback-icon{
  width:30px;
  height:30px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  color:#74dafb;
  background:rgba(0,139,210,.17);

  font-size:11px;
  font-weight:900;
}

.cv2-feedback b{
  display:block;

  color:#fff;

  font-size:10px;
}

.cv2-feedback p{
  margin:4px 0 0;

  color:rgba(255,255,255,.64);

  font-size:9px;
  line-height:1.5;
}

.cv2-feedback.is-error{
  border-color:rgba(255,185,120,.26);
  background:rgba(178,100,33,.11);
}

.cv2-feedback.is-error .cv2-feedback-icon{
  color:#ffd0a8;
  background:rgba(193,109,39,.17);
}

@keyframes cv2result{
  from{
    opacity:0;
    transform:translateY(5px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}


/* =========================================================
   PROCESS STRIP
   ========================================================= */

.cv2-process{
  position:relative;

  padding:30px 0;

  overflow:hidden;

  border-bottom:1px solid #e1ebef;

  background:
    linear-gradient(
      180deg,
      #fff,
      #f8fbfc
    );
}

.cv2-process::before{
  content:"";

  position:absolute;
  inset:0;

  opacity:.045;
  pointer-events:none;

  background-image:
    linear-gradient(rgba(0,78,124,.7) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,78,124,.7) 1px,transparent 1px);

  background-size:40px 40px;
}

.cv2-process-grid{
  position:relative;
  z-index:2;

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

  gap:18px;
}

.cv2-process-card{
  min-height:79px;

  display:flex;
  align-items:center;

  gap:15px;

  padding:16px 18px;

  border:1px solid #dce8ee;
  border-radius:6px;

  background:rgba(255,255,255,.92);
}

.cv2-process-no{
  width:34px;
  height:34px;

  flex:0 0 auto;

  display:flex;
  align-items:center;
  justify-content:center;

  border:1px solid #b8dce9;
  border-radius:50%;

  color:#008bd2;

  font-size:9px;
  font-weight:850;
}

.cv2-process-card b{
  display:block;

  color:#123a50;

  font-size:11px;
}

.cv2-process-card p{
  margin:4px 0 0;

  color:#637e8d;

  font-size:9px;
  line-height:1.45;
}


/* =========================================================
   RESULT PREVIEW
   ========================================================= */

.cv2-result-section{
  position:relative;

  padding:84px 0 90px;

  overflow:hidden;

  background:#fff;
}

.cv2-result-section::before{
  content:"";

  position:absolute;
  inset:0;

  opacity:.085;

  pointer-events:none;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='300' viewBox='0 0 1000 300'%3E%3Cg fill='none' stroke='%23004E7C' stroke-width='1'%3E%3Cpath opacity='.20' d='M0 70C100 28 185 108 289 70s193-41 299 0 197 38 412-4'/%3E%3Cpath opacity='.12' d='M0 128c101-37 183 38 285 0s190-38 294 0 197 37 421 0'/%3E%3Cpath opacity='.08' d='M0 188c97-33 180 34 279 0s188-34 289 0 197 33 432 0'/%3E%3C/g%3E%3C/svg%3E");

  background-repeat:repeat;
  background-size:1000px 300px;
}

.cv2-result-inner{
  position:relative;
  z-index:2;

  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);

  gap:78px;
  align-items:center;
}

.cv2-section-eyebrow{
  display:block;

  margin-bottom:13px;

  color:#008bd2;

  font-size:9px;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.cv2-result-copy h2{
  max-width:500px;

  margin:0;

  color:#082f47;

  font-size:41px;
  line-height:1.04;
  letter-spacing:-.045em;
}

.cv2-result-copy p{
  max-width:520px;

  margin:18px 0 0;

  color:#5d7888;

  font-size:11px;
  line-height:1.72;
}

.cv2-rule{
  display:block;

  width:48px;
  height:2px;

  margin-top:18px;

  background:
    linear-gradient(90deg,#008bd2,#67d3f9);
}


/* RESULT CARD */

.cv2-result-card{
  overflow:hidden;

  border:1px solid #d8e5eb;
  border-radius:8px;

  background:#fff;

  box-shadow:
    0 20px 52px rgba(0,43,73,.09);
}

.cv2-result-head{
  min-height:83px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;

  padding:20px 24px;

  border-bottom:1px solid #dce8ed;

  background:
    linear-gradient(
      135deg,
      #f7fbfd,
      #eef6f9
    );
}

.cv2-result-head span{
  display:block;

  color:#66808f;

  font-size:8px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.cv2-result-head b{
  display:block;

  margin-top:5px;

  color:#10384e;

  font-size:14px;
}

.cv2-status{
  min-width:78px;

  padding:8px 13px;

  border:1px solid #a7dfc2;
  border-radius:50px;

  color:#147a47;
  background:#eefbf4;

  text-align:center;

  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}

.cv2-result-body{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.cv2-result-field{
  min-height:82px;

  padding:18px 23px;

  border-right:1px solid #e3ecef;
  border-bottom:1px solid #e3ecef;
}

.cv2-result-field:nth-child(even){
  border-right:0;
}

.cv2-result-field:nth-last-child(-n+2){
  border-bottom:0;
}

.cv2-result-field span{
  display:block;

  color:#7a909d;

  font-size:7.5px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.cv2-result-field b{
  display:block;

  margin-top:7px;

  color:#153a4e;

  font-size:11px;
  line-height:1.4;
}

.cv2-result-foot{
  padding:14px 23px;

  border-top:1px solid #dce8ed;

  color:#78909d;
  background:#f8fbfc;

  font-size:8px;
  line-height:1.5;
}


/* =========================================================
   IMPORTANT NOTE
   ========================================================= */

.cv2-note{
  position:relative;

  padding:58px 0;

  overflow:hidden;

  background:
    linear-gradient(
      180deg,
      #f2f7fa,
      #eaf3f7
    );
}

.cv2-note::before{
  content:"";

  position:absolute;
  inset:0;

  opacity:.10;

  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='180' viewBox='0 0 900 180'%3E%3Cg fill='none' stroke='%23004E7C'%3E%3Cpath opacity='.2' d='M0 44c100-35 170 35 270 0s175-35 275 0 170 34 355 0'/%3E%3Cpath opacity='.12' d='M0 95c95-31 170 31 266 0s174-31 271 0 170 30 363 0'/%3E%3C/g%3E%3C/svg%3E")
    repeat;
}

.cv2-note-box{
  position:relative;
  z-index:2;

  padding:23px 27px;

  border:1px solid #cddfe7;
  border-left:3px solid #008bd2;
  border-radius:6px;

  background:rgba(255,255,255,.72);
}

.cv2-note-box b{
  display:block;

  color:#11384e;

  font-size:11px;
}

.cv2-note-box p{
  margin:7px 0 0;

  color:#607b8b;

  font-size:9.5px;
  line-height:1.65;
}


/* =========================================================
   RESPONSIVE SAFETY
   ========================================================= */

@media(max-width:1100px){

  .cv2-shell{
    width:min(calc(100% - 42px),var(--shell,1440px));
  }

  .cv2-hero-grid,
  .cv2-result-inner{
    grid-template-columns:1fr;
    gap:40px;
  }

  .cv2-process-grid{
    grid-template-columns:1fr;
  }

  .cv2-hero h1{
    font-size:48px;
  }

  .cv2-search{
    max-width:680px;
  }
}

@media(max-width:700px){

  .cv2-shell{
    width:min(calc(100% - 28px),var(--shell,1440px));
  }

  .cv2-search-row,
  .cv2-result-body{
    grid-template-columns:1fr;
  }

  .cv2-submit{
    width:100%;
  }

  .cv2-result-field{
    border-right:0;
  }
}

/* ==========================================================
   CERTIFICATE VERIFICATION
   HERO SHELL / PROPORTION CORRECTION
   ========================================================== */

@media (min-width:1101px){

  /* Restore exact site-shell alignment */
  .cv2-main .cv2-hero-grid{
    width:min(
      calc(100% - 96px),
      var(--shell,1440px)
    ) !important;

    margin-inline:auto !important;

    grid-template-columns:
      minmax(0,.94fr)
      minmax(500px,1.06fr) !important;

    gap:78px !important;

    padding-top:72px !important;
    padding-bottom:72px !important;
  }


  /* Left copy — controlled readable width */
  .cv2-main .cv2-hero-copy{
    width:100% !important;
    max-width:650px !important;
  }

  .cv2-main .cv2-hero h1{
    width:100% !important;
    max-width:630px !important;

    font-size:58px !important;
    line-height:.99 !important;
  }

  .cv2-main .cv2-hero-copy > p{
    width:100% !important;
    max-width:610px !important;

    font-size:13px !important;
    line-height:1.70 !important;
  }


  /* Search panel — balanced with left column */
  .cv2-main .cv2-search{
    width:100% !important;
    max-width:590px !important;

    justify-self:end !important;

    padding:30px 31px 28px !important;
  }


  /* Keep form proportions elegant */
  .cv2-main .cv2-search-row{
    grid-template-columns:
      minmax(0,1fr)
      150px !important;

    gap:10px !important;
  }

  .cv2-main .cv2-submit{
    min-width:150px !important;
    width:150px !important;
  }

}


/* ==========================================================
   CERTIFICATE VERIFICATION
   VERIFICATION RESULT — PREMIUM MARITIME TEXTURE
   ========================================================== */

@media (min-width:1101px){

  .cv2-main .cv2-result-section{
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;

    background-image:
      linear-gradient(
        90deg,
        rgba(255,255,255,.68) 0%,
        rgba(255,255,255,.61) 35%,
        rgba(248,252,254,.52) 67%,
        rgba(245,251,254,.48) 100%
      ),
      url("/assets/images/certificate-verification-result-texture.webp?v=20260923-134347") !important;

    background-position:
      center center,
      center center !important;

    background-repeat:
      no-repeat,
      no-repeat !important;

    background-size:
      cover,
      cover !important;
  }


  /* Remove previous simple wave texture */
  .cv2-main .cv2-result-section::before{
    content:"" !important;

    position:absolute !important;
    inset:0 !important;

    z-index:0 !important;
    pointer-events:none !important;

    opacity:1 !important;

    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.11) 0%,
        rgba(255,255,255,0) 34%,
        rgba(222,242,251,.10) 100%
      ) !important;
  }


  /* keep all live content above texture */
  .cv2-main .cv2-result-inner{
    position:relative !important;
    z-index:2 !important;
  }


  /* Give the text a little more authority over the texture */
  .cv2-main .cv2-result-copy h2{
    text-shadow:
      0 1px 0 rgba(255,255,255,.50) !important;
  }


  /* Preserve clean readable result card */
  .cv2-main .cv2-result-card{
    background:
      rgba(255,255,255,.95) !important;

    backdrop-filter:
      blur(4px) !important;

    box-shadow:
      0 24px 58px rgba(0,43,73,.12) !important;
  }

}


/* ==========================================================
   CERTIFICATE VERIFICATION
   HIGH-QUALITY HERO IMAGE
   ========================================================== */

@media (min-width:1101px){

  .cv2-main .cv2-hero::before{
    content:"" !important;

    position:absolute !important;
    inset:0 !important;

    z-index:-3 !important;

    background-image:
      linear-gradient(
        90deg,
        rgba(2,30,47,.91) 0%,
        rgba(2,34,52,.78) 29%,
        rgba(2,33,51,.49) 52%,
        rgba(1,24,38,.20) 72%,
        rgba(1,20,32,.24) 100%
      ),
      url("/assets/images/certificate-verification-hero-premium-opt.webp?v=20260924-172953") !important;

    background-position:
      center center,
      center center !important;

    background-repeat:
      no-repeat,
      no-repeat !important;

    background-size:
      cover,
      cover !important;
  }


  .cv2-main .cv2-hero::after{
    content:"" !important;

    position:absolute !important;
    inset:0 !important;

    z-index:-2 !important;
    pointer-events:none !important;

    background:
      radial-gradient(
        circle at 74% 44%,
        rgba(71,187,233,.07),
        transparent 29%
      ),
      linear-gradient(
        180deg,
        rgba(0,16,28,.02) 0%,
        rgba(0,16,28,0) 60%,
        rgba(0,16,28,.20) 100%
      ) !important;
  }


  /* keep image area visually crisp */
  .cv2-main .cv2-hero{
    background:#02263C !important;
  }


  /* subtle extra contrast only behind left copy */
  .cv2-main .cv2-hero-copy{
    position:relative !important;
    z-index:3 !important;
  }


  /* search panel remains readable but slightly more transparent
     so the premium image can still show through */
  .cv2-main .cv2-search{
    background:
      radial-gradient(
        circle at 100% 0%,
        rgba(0,151,218,.12),
        transparent 38%
      ),
      linear-gradient(
        145deg,
        rgba(4,49,74,.88),
        rgba(2,31,48,.79)
      ) !important;

    backdrop-filter:
      blur(10px) !important;

    box-shadow:
      0 28px 70px rgba(0,0,0,.22),
      inset 0 1px 0 rgba(255,255,255,.07) !important;
  }

}


/* CV2 FLAG VERIFICATION SECTION START */

/* ==========================================================
   FLAG ADMINISTRATION — COC / COE VERIFICATION
   ========================================================== */

.cv2-main .cv2-flags{
  position:relative;

  padding:78px 0 84px;

  overflow:hidden;
  isolation:isolate;

  border-bottom:1px solid #DCE8ED;

  background:
    linear-gradient(
      180deg,
      #F7FBFD 0%,
      #EFF6F9 100%
    );
}


/* nautical chart texture */

.cv2-main .cv2-flags::before{
  content:"";

  position:absolute;
  inset:0;

  z-index:0;
  pointer-events:none;

  opacity:.10;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1100' height='430' viewBox='0 0 1100 430' fill='none'%3E%3Cg stroke='%23004E7C' stroke-width='1'%3E%3Cpath opacity='.22' d='M0 88c125-46 226 47 353 0s235-46 363 0 238 45 384-3'/%3E%3Cpath opacity='.14' d='M0 154c120-40 222 41 344 0s233-40 357 0 238 39 399 0'/%3E%3Cpath opacity='.10' d='M0 224c116-35 219 36 337 0s230-35 351 0 239 34 412 0'/%3E%3Ccircle opacity='.16' cx='950' cy='105' r='72'/%3E%3Ccircle opacity='.10' cx='950' cy='105' r='48'/%3E%3Cpath opacity='.15' d='M950 22v166M867 105h166M891 46l118 118M1009 46L891 164'/%3E%3C/g%3E%3C/svg%3E");

  background-repeat:repeat;
  background-size:1100px 430px;
}


.cv2-main .cv2-flags > .cv2-shell{
  position:relative;
  z-index:2;
}


/* ==========================================================
   HEADING
   ========================================================== */

.cv2-main .cv2-flags-head{
  display:grid;

  grid-template-columns:
    minmax(0,.90fr)
    minmax(0,1.10fr);

  gap:80px;
  align-items:end;

  margin-bottom:38px;
}


.cv2-main .cv2-flags-head h2{
  max-width:560px;

  margin:0;

  color:#082F47;

  font-size:40px;
  line-height:1.04;
  font-weight:800;
  letter-spacing:-.044em;
}


.cv2-main .cv2-flags-head > p{
  max-width:600px;

  margin:0 0 3px;

  color:#587585;

  font-size:11px;
  line-height:1.72;
}


/* ==========================================================
   GRID
   15 FLAGS = 5 x 3
   ========================================================== */

@media (min-width:1101px){

  .cv2-main .cv2-flag-grid{
    display:grid;

    grid-template-columns:
      repeat(5,minmax(0,1fr));

    gap:14px;
  }

}


/* ==========================================================
   FLAG CARD
   ========================================================== */

.cv2-main .cv2-flag-card{
  position:relative;

  min-width:0;
  min-height:160px;

  padding:20px;

  overflow:hidden;
  isolation:isolate;

  border:1px solid #D7E5EC;
  border-radius:7px;

  background:
    rgba(255,255,255,.94);

  box-shadow:
    0 4px 14px rgba(0,43,73,.025);

  transition:
    transform .30s cubic-bezier(.22,.61,.36,1),
    border-color .30s ease,
    box-shadow .30s ease;
}


.cv2-main .cv2-flag-card::before{
  content:"";

  position:absolute;
  inset:0;

  z-index:0;

  opacity:0;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(0,151,218,.20),
      transparent 41%
    ),
    linear-gradient(
      135deg,
      #0A3B59,
      #002B49
    );

  transition:opacity .30s ease;
}


.cv2-main .cv2-flag-card > *{
  position:relative;
  z-index:2;
}


.cv2-main .cv2-flag-card:hover{
  transform:translateY(-4px);

  border-color:#208FC7;

  box-shadow:
    0 17px 36px rgba(0,43,73,.13);
}


.cv2-main .cv2-flag-card:hover::before{
  opacity:1;
}


/* ==========================================================
   FLAG / TITLE
   ========================================================== */

.cv2-main .cv2-flag-top{
  display:flex;
  align-items:center;

  gap:13px;

  min-height:57px;
}


.cv2-main .cv2-flag-icon{
  width:52px;
  height:36px;

  flex:0 0 52px;

  display:flex;
  align-items:center;
  justify-content:center;

  overflow:hidden;

  border:1px solid rgba(0,66,105,.12);
  border-radius:4px;

  background:#fff;

  box-shadow:
    0 4px 10px rgba(0,43,73,.06);
}


.cv2-main .cv2-flag-icon img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
}


.cv2-main .cv2-flag-top > div > span{
  display:block;

  margin-bottom:5px;

  color:#718A98;

  font-size:7px;
  line-height:1;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;

  transition:color .30s ease;
}


.cv2-main .cv2-flag-top h3{
  margin:0;

  color:#12384F;

  font-size:13px;
  line-height:1.18;
  font-weight:800;

  transition:color .30s ease;
}


.cv2-main .cv2-flag-card:hover
.cv2-flag-top > div > span{
  color:#65CEF5;
}


.cv2-main .cv2-flag-card:hover
.cv2-flag-top h3{
  color:#FFFFFF;
}


/* ==========================================================
   COC / COE LINKS
   ========================================================== */

.cv2-main .cv2-flag-actions{
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:7px;

  margin-top:18px;
  padding-top:16px;

  border-top:
    1px solid #E3ECEF;

  transition:border-color .30s ease;
}


.cv2-main .cv2-flag-card:hover
.cv2-flag-actions{
  border-color:
    rgba(255,255,255,.12);
}


.cv2-main .cv2-flag-link{
  min-width:0;
  min-height:34px;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:0 9px;

  border:
    1px solid #CCE2EC;

  border-radius:4px;

  color:#056EA8;

  background:#F5FBFD;

  text-decoration:none;

  white-space:nowrap;

  font-size:7.6px;
  line-height:1;
  font-weight:850;
  letter-spacing:.01em;

  transition:
    color .24s ease,
    background .24s ease,
    border-color .24s ease,
    transform .24s ease;
}


.cv2-main .cv2-flag-link:hover,
.cv2-main .cv2-flag-link.is-selected{
  transform:translateY(-1px);

  color:#FFFFFF;

  border-color:#008BD2;

  background:#008BD2;
}


.cv2-main .cv2-flag-card:hover
.cv2-flag-link:not(:hover):not(.is-selected){
  color:#C9EEFC;

  border-color:
    rgba(99,207,246,.26);

  background:
    rgba(0,139,210,.10);
}


/* ==========================================================
   TABLET FALLBACK
   ========================================================== */

@media (max-width:1100px){

  .cv2-main .cv2-flags-head{
    grid-template-columns:1fr;
    gap:20px;
  }

  .cv2-main .cv2-flag-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
  }

}


@media (max-width:700px){

  .cv2-main .cv2-flag-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

}

/* CV2 FLAG VERIFICATION SECTION END */



/* ==========================================================
   FLAG ADMINISTRATION — HEADER PROPORTION / SYMMETRY
   ========================================================== */

@media (min-width:1101px){

  .cv2-flag-heading-balanced{
    display:grid !important;

    grid-template-columns:
      minmax(0, .44fr)
      minmax(0, .56fr) !important;

    gap:0 !important;

    align-items:center !important;

    width:100% !important;

    margin-bottom:34px !important;
  }


  /* LEFT HEADING BLOCK */
  .cv2-flag-heading-balanced > :first-child{
    position:relative !important;

    min-width:0 !important;

    padding-right:42px !important;

    border-right:
      1px solid rgba(19,110,157,.18) !important;
  }


  /* eyebrow */
  .cv2-flag-heading-balanced > :first-child
  > span:first-child{

    display:block !important;

    margin:0 0 14px !important;

    color:#087FC4 !important;

    font-size:9px !important;
    line-height:1 !important;

    font-weight:850 !important;

    letter-spacing:.17em !important;

    text-transform:uppercase !important;
  }


  /* heading */
  .cv2-flag-heading-balanced h2{
    max-width:520px !important;

    margin:0 !important;

    color:#092F46 !important;

    font-size:36px !important;
    line-height:1.04 !important;

    font-weight:820 !important;

    letter-spacing:-.043em !important;
  }


  /* blue underline beneath heading */
  .cv2-flag-heading-balanced
  > :first-child::after{

    content:"" !important;

    display:block !important;

    width:48px !important;
    height:2px !important;

    margin-top:17px !important;

    background:
      linear-gradient(
        90deg,
        #0089D1,
        #63CEF5
      ) !important;
  }


  /* RIGHT DESCRIPTION */
  .cv2-flag-heading-balanced > p{
    align-self:center !important;

    width:100% !important;
    max-width:650px !important;

    margin:0 !important;

    padding:
      0 0
      0 42px !important;

    color:#587383 !important;

    font-size:11.5px !important;
    line-height:1.72 !important;

    font-weight:500 !important;

    text-align:left !important;
  }

}


/* Tablet / mobile untouched except safe stacking */
@media (max-width:1100px){

  .cv2-flag-heading-balanced{
    display:block !important;
  }

  .cv2-flag-heading-balanced > :first-child{
    border-right:0 !important;
    padding-right:0 !important;
  }

  .cv2-flag-heading-balanced > p{
    padding-left:0 !important;
  }

}

