
/* =========================================================
   SEA LICENSING — FLAG STATES HUB V1
   Scoped entirely to .fsh
   ========================================================= */

.fsh{
  --navy:#062a40;
  --navy2:#074966;
  --blue:#119bd2;
  --cyan:#62d8f2;
  --ink:#08283c;
  --muted:#5b7481;
  --line:#d6e6ed;

  overflow:hidden;
  background:#fff;
}


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

.fsh-hero{
  position:relative;
  min-height:545px;

  display:flex;
  align-items:center;

  overflow:hidden;
  isolation:isolate;

  background:#052a40;
}

.fsh-hero-photo{
  position:absolute;
  inset:-20px;
  z-index:0;

  background-image:
    url("/assets/images/hero-flags.jpg"),
    url("/assets/images/hero-homepage-container-ship.webp");

  background-size:cover;
  background-position:center 50%;

  transform:
    translate3d(0,var(--fsh-hero-y,0px),0)
    scale(var(--fsh-hero-scale,1.045));

  will-change:transform;
}

.fsh-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;

  background:
    linear-gradient(
      90deg,
      rgba(3,30,47,.95) 0%,
      rgba(4,39,58,.88) 31%,
      rgba(4,45,65,.59) 49%,
      rgba(3,36,54,.23) 69%,
      rgba(3,29,45,.13) 100%
    );
}

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

  background:
    radial-gradient(
      ellipse at 75% 25%,
      rgba(70,207,240,.11),
      transparent 28%
    ),
    repeating-linear-gradient(
      135deg,
      rgba(103,218,244,.025) 0,
      rgba(103,218,244,.025) 1px,
      transparent 1px,
      transparent 72px
    );
}

.fsh-hero-inner{
  position:relative;
  z-index:4;

  width:calc(100% - 64px);
  max-width:1440px;

  margin:0 auto;

  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:70px;

  align-items:center;
}

.fsh-hero-copy{
  max-width:760px;
}

.fsh-kicker{
  display:block;

  color:var(--cyan);

  font-size:10px;
  line-height:1;

  font-weight:900;

  letter-spacing:.17em;
  text-transform:uppercase;
}

.fsh-hero h1{
  max-width:740px;

  margin:18px 0 0;

  color:#fff;

  font-size:clamp(50px,4.35vw,77px);
  line-height:.95;

  letter-spacing:-.055em;
}

.fsh-hero h1 span{
  color:#62d5f1;
}

.fsh-hero-copy > p{
  max-width:670px;

  margin:22px 0 0;

  color:rgba(238,248,251,.86);

  font-size:15px;
  line-height:1.7;
}

.fsh-hero-actions{
  margin-top:28px;

  display:flex;
  flex-wrap:wrap;
  gap:11px;
}

.fsh-btn{
  min-height:50px;
  padding:0 21px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  border-radius:5px;

  font-size:11px;
  font-weight:850;

  transition:
    transform .3s cubic-bezier(.22,1,.36,1),
    box-shadow .3s ease,
    background .3s ease;
}

.fsh-btn.primary{
  color:#fff;

  background:
    linear-gradient(135deg,#118fc9,#20b8df);

  box-shadow:
    0 13px 30px rgba(7,116,166,.23);
}

.fsh-btn.primary:hover{
  transform:translateY(-4px);

  background:
    linear-gradient(135deg,#0aa3dc,#3ac8ed);

  box-shadow:
    0 19px 38px rgba(7,116,166,.33);
}

.fsh-btn.secondary{
  color:#fff;

  border:1px solid rgba(255,255,255,.30);

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

  backdrop-filter:blur(8px);
}

.fsh-btn.secondary:hover{
  transform:translateY(-3px);

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


/* HERO FOCUS PANEL */

.fsh-focus{
  width:100%;

  padding:25px;

  border:
    1px solid rgba(97,214,243,.23);

  border-radius:11px;

  background:
    linear-gradient(
      145deg,
      rgba(4,40,60,.94),
      rgba(5,75,103,.88)
    );

  backdrop-filter:blur(12px);

  box-shadow:
    0 25px 58px rgba(0,19,32,.27);
}

.fsh-focus h2{
  margin:11px 0 18px;

  color:#fff;

  font-size:24px;
  line-height:1.06;

  letter-spacing:-.03em;
}

.fsh-focus-row{
  min-height:58px;

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

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

  color:#fff;
}

.fsh-focus-row span{
  display:flex;
  align-items:center;
  gap:10px;

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

.fsh-focus-row img{
  width:28px;
  height:19px;

  object-fit:cover;

  border-radius:2px;

  box-shadow:
    0 0 0 1px rgba(255,255,255,.18);
}

.fsh-focus-row small{
  color:#72def7;

  font-size:8px;
  font-weight:900;

  letter-spacing:.12em;
  text-transform:uppercase;
}


/* =========================================================
   FEATURED REGISTRIES
   ========================================================= */

.fsh-featured{
  position:relative;

  padding:82px 0 92px;

  overflow:hidden;
  isolation:isolate;

  background:
    radial-gradient(
      circle at 87% 18%,
      rgba(26,169,218,.13),
      transparent 27%
    ),

    repeating-linear-gradient(
      135deg,
      rgba(14,129,176,.032) 0,
      rgba(14,129,176,.032) 1px,
      transparent 1px,
      transparent 52px
    ),

    linear-gradient(
      rgba(14,129,176,.030) 1px,
      transparent 1px
    ),

    linear-gradient(
      90deg,
      rgba(14,129,176,.025) 1px,
      transparent 1px
    ),

    linear-gradient(
      180deg,
      #f9fcfe,
      #edf8fc
    );

  background-size:
    auto,
    auto,
    80px 80px,
    80px 80px,
    auto;
}

.fsh-featured::before{
  content:"";

  position:absolute;

  right:-300px;
  top:-280px;

  width:760px;
  height:760px;

  z-index:-1;

  border:1px solid rgba(25,153,201,.09);

  border-radius:50%;

  box-shadow:
    0 0 0 76px rgba(25,153,201,.019),
    0 0 0 152px rgba(25,153,201,.012);
}

.fsh-section-head{
  display:grid;

  grid-template-columns:
    1fr .72fr;

  gap:90px;

  align-items:end;
}

.fsh-section-head h2{
  margin:13px 0 0;

  color:var(--ink);

  font-size:clamp(40px,4vw,59px);
  line-height:.98;

  letter-spacing:-.052em;
}

.fsh-section-head p{
  max-width:520px;

  color:var(--muted);

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


/* FEATURED CARDS */

.fsh-feature-grid{
  margin-top:42px;

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

  gap:16px;
}

.fsh-feature-card{
  position:relative;

  min-height:390px;

  padding:30px;

  overflow:hidden;
  isolation:isolate;

  border:1px solid var(--line);

  border-radius:12px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.985),
      rgba(245,251,253,.97)
    );

  box-shadow:
    0 15px 36px rgba(5,68,95,.055);

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

.fsh-feature-card::before{
  content:"";

  position:absolute;

  right:-110px;
  bottom:-150px;

  width:390px;
  height:390px;

  z-index:-2;

  border:1px solid rgba(25,158,207,.08);

  border-radius:50%;

  box-shadow:
    0 0 0 48px rgba(25,158,207,.016),
    0 0 0 96px rgba(25,158,207,.010);
}

.fsh-feature-card:hover{
  transform:translateY(-7px);

  border-color:rgba(42,180,223,.42);

  box-shadow:
    0 25px 52px rgba(5,71,99,.13);
}

.fsh-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.fsh-card-flag{
  display:flex;
  align-items:center;
  gap:14px;
}

.fsh-card-flag img{
  width:58px;
  height:38px;

  object-fit:cover;

  border-radius:4px;

  box-shadow:
    0 5px 15px rgba(0,46,69,.10),
    0 0 0 1px rgba(10,75,106,.10);
}

.fsh-card-flag span{
  display:block;

  color:#48a8cb;

  font-size:8px;
  font-weight:900;

  letter-spacing:.14em;
  text-transform:uppercase;
}

.fsh-card-flag strong{
  display:block;

  margin-top:3px;

  color:var(--ink);

  font-size:25px;
  line-height:1;

  letter-spacing:-.04em;
}

.fsh-priority{
  padding:7px 9px;

  border:1px solid rgba(40,177,220,.21);

  border-radius:999px;

  background:#eef9fc;

  color:#0c92c4;

  font-size:7.5px;
  font-weight:900;

  letter-spacing:.13em;
  text-transform:uppercase;
}

.fsh-feature-card > p{
  max-width:540px;

  margin:27px 0 0;

  color:#58717f;

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


/* SERVICE BADGES */

.fsh-services{
  margin-top:24px;

  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.fsh-service-badge{
  min-height:31px;

  padding:0 10px;

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

  border:1px solid #cfe4ed;

  border-radius:5px;

  background:rgba(238,248,252,.85);

  color:#21657f;

  font-size:8px;
  font-weight:850;

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

.fsh-service-badge.coc{
  border-color:rgba(37,177,219,.28);

  background:
    linear-gradient(135deg,#e5f8fc,#effafd);

  color:#087fae;
}

.fsh-service-note{
  margin-top:13px;

  color:#7a8d97;

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

.fsh-card-action{
  position:absolute;

  left:30px;
  bottom:27px;

  color:#068fc8;

  font-size:9px;
  font-weight:900;

  text-transform:uppercase;

  transition:
    transform .28s ease,
    color .28s ease;
}

.fsh-card-action::after{
  content:" →";

  margin-left:5px;
}

.fsh-feature-card:hover .fsh-card-action{
  transform:translateX(5px);

  color:#04a6dc;
}


/* =========================================================
   FILTER + ALL REGISTRIES
   ========================================================= */

.fsh-explorer{
  position:relative;

  padding:82px 0 92px;

  background:#fff;

  overflow:hidden;
}

.fsh-explorer-head{
  display:flex;

  align-items:end;
  justify-content:space-between;

  gap:40px;
}

.fsh-explorer-head h2{
  margin:12px 0 0;

  color:var(--ink);

  font-size:clamp(38px,3.8vw,55px);
  line-height:.98;

  letter-spacing:-.05em;
}

.fsh-filters{
  display:flex;
  flex-wrap:wrap;
  gap:7px;

  justify-content:flex-end;
}

.fsh-filter{
  min-height:37px;

  padding:0 13px;

  border:1px solid #d1e3eb;

  border-radius:5px;

  background:#fff;

  color:#3f6678;

  font-size:8.5px;
  font-weight:900;

  cursor:pointer;

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

.fsh-filter:hover,
.fsh-filter.active{
  transform:translateY(-2px);

  border-color:#149fd2;

  background:
    linear-gradient(135deg,#0d8fc7,#1bb4dd);

  color:#fff;
}


/* MAIN FOUR MINI ROW */

.fsh-primary-strip{
  margin-top:35px;

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

  gap:10px;
}

.fsh-primary-mini{
  min-height:105px;

  padding:16px;

  display:flex;
  align-items:center;
  gap:13px;

  border:1px solid #d7e6ed;

  border-radius:8px;

  background:
    linear-gradient(145deg,#fff,#f5fbfd);

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

.fsh-primary-mini:hover{
  transform:translateY(-5px);

  border-color:rgba(31,173,217,.38);

  box-shadow:
    0 17px 34px rgba(5,73,101,.09);
}

.fsh-primary-mini img{
  width:45px;
  height:30px;

  object-fit:cover;

  border-radius:3px;

  box-shadow:
    0 0 0 1px rgba(10,71,101,.10);
}

.fsh-primary-mini b{
  display:block;

  color:var(--ink);

  font-size:13px;
}

.fsh-primary-mini small{
  display:block;

  margin-top:5px;

  color:#67808b;

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


/* SECONDARY FLAGS */

.fsh-other-label{
  margin-top:46px;

  color:#4099b9;

  font-size:8px;
  font-weight:900;

  letter-spacing:.16em;
  text-transform:uppercase;
}

.fsh-other-grid{
  margin-top:14px;

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

  gap:10px;
}

.fsh-registry{
  min-height:120px;

  padding:17px;

  display:flex;
  align-items:center;
  gap:13px;

  border:1px solid #d9e7ed;

  border-radius:8px;

  background:#fff;

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

.fsh-registry:hover{
  transform:translateY(-5px);

  border-color:rgba(39,175,217,.38);

  box-shadow:
    0 16px 32px rgba(5,70,98,.08);
}

.fsh-registry img{
  width:46px;
  height:31px;

  flex:0 0 46px;

  object-fit:cover;

  border-radius:3px;

  box-shadow:
    0 0 0 1px rgba(10,71,101,.10);
}

.fsh-registry b{
  display:block;

  color:var(--ink);

  font-size:12px;
  line-height:1.2;
}

.fsh-registry small{
  display:block;

  margin-top:5px;

  color:#71858f;

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


/* FILTER HIDDEN */

.fsh-filter-item.hidden{
  display:none !important;
}


/* =========================================================
   WHAT EACH FLAG PAGE WILL CONTAIN
   ========================================================= */

.fsh-structure{
  position:relative;

  padding:78px 0 84px;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 88% 17%,
      rgba(30,169,217,.10),
      transparent 27%
    ),

    repeating-linear-gradient(
      0deg,
      rgba(12,127,173,.021) 0,
      rgba(12,127,173,.021) 1px,
      transparent 1px,
      transparent 44px
    ),

    repeating-linear-gradient(
      90deg,
      rgba(12,127,173,.017) 0,
      rgba(12,127,173,.017) 1px,
      transparent 1px,
      transparent 44px
    ),

    linear-gradient(
      135deg,
      #edf8fc,
      #e6f4f9
    );
}

.fsh-structure-head{
  display:grid;

  grid-template-columns:.78fr 1.22fr;

  gap:80px;

  align-items:end;
}

.fsh-structure-head h2{
  margin:12px 0 0;

  color:var(--ink);

  font-size:clamp(38px,3.8vw,55px);
  line-height:.98;

  letter-spacing:-.05em;
}

.fsh-structure-head p{
  max-width:600px;

  color:#58727f;

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

.fsh-structure-grid{
  margin-top:37px;

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

  gap:12px;
}

.fsh-structure-card{
  min-height:210px;

  padding:23px;

  border:1px solid #d3e5ec;

  border-radius:8px;

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

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

.fsh-structure-card:hover{
  transform:translateY(-6px);

  background:
    linear-gradient(145deg,#073a55,#0c6a8c);

  box-shadow:
    0 21px 42px rgba(4,62,88,.16);
}

.fsh-structure-card span{
  color:#20a7d5;

  font-size:9px;
  font-weight:900;

  letter-spacing:.14em;
}

.fsh-structure-card h3{
  margin:42px 0 0;

  color:var(--ink);

  font-size:17px;

  transition:color .28s ease;
}

.fsh-structure-card p{
  margin:10px 0 0;

  color:#607985;

  font-size:9.5px;
  line-height:1.6;

  transition:color .28s ease;
}

.fsh-structure-card:hover h3{
  color:#fff;
}

.fsh-structure-card:hover p{
  color:rgba(239,249,252,.84);
}


/* =========================================================
   CTA
   ========================================================= */

.fsh-cta{
  padding:65px 0;

  background:
    radial-gradient(
      circle at 80% 50%,
      rgba(80,210,241,.17),
      transparent 26%
    ),
    linear-gradient(
      110deg,
      #052c43,
      #07678b
    );

  color:#fff;
}

.fsh-cta-inner{
  display:flex;

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

  gap:50px;
}

.fsh-cta h2{
  max-width:780px;

  margin:10px 0 0;

  font-size:clamp(34px,3.5vw,49px);
  line-height:.98;

  letter-spacing:-.045em;
}


/* =========================================================
   REVEAL
   ========================================================= */

.js-fsh .fsh-reveal{
  opacity:0;

  transform:translate3d(0,28px,0);

  transition:
    opacity .82s cubic-bezier(.22,1,.36,1),
    transform .82s cubic-bezier(.22,1,.36,1);

  transition-delay:var(--fsh-delay,0ms);
}

.js-fsh .fsh-reveal.scale{
  transform:scale(.97);
}

.js-fsh .fsh-reveal.show{
  opacity:1;

  transform:translate3d(0,0,0) scale(1);
}


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

@media(max-width:1100px){

  .fsh-hero-inner{
    width:calc(100% - 48px);

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

    gap:38px;
  }

  .fsh-other-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .fsh-structure-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

}

@media(max-width:850px){

  .fsh-hero{
    min-height:auto;

    padding:82px 0 68px;
  }

  .fsh-hero-inner{
    width:calc(100% - 34px);

    grid-template-columns:1fr;
  }

  .fsh-focus{
    max-width:none;
  }

  .fsh-section-head,
  .fsh-structure-head{
    grid-template-columns:1fr;

    gap:22px;
  }

  .fsh-feature-grid{
    grid-template-columns:1fr;
  }

  .fsh-explorer-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .fsh-filters{
    justify-content:flex-start;
  }

  .fsh-primary-strip{
    grid-template-columns:1fr 1fr;
  }

  .fsh-other-grid{
    grid-template-columns:1fr 1fr;
  }

  .fsh-cta-inner{
    align-items:flex-start;

    flex-direction:column;
  }

}

@media(max-width:560px){

  .fsh-hero h1{
    font-size:45px;
  }

  .fsh-primary-strip,
  .fsh-other-grid,
  .fsh-structure-grid{
    grid-template-columns:1fr;
  }

}

@media(prefers-reduced-motion:reduce){

  .js-fsh .fsh-reveal{
    opacity:1 !important;

    transform:none !important;

    transition:none !important;
  }

  .fsh-hero-photo{
    transform:none !important;
  }

}


/* =========================================================
   FLAG STATES — PREMIUM VISUAL POLISH V2
   ========================================================= */


/* ---------------------------------------------------------
   FEATURED REGISTRY CARDS — MORE COMPACT
   --------------------------------------------------------- */

.fsh .fsh-feature-card{
  min-height:320px !important;
  padding:27px 29px !important;
}

.fsh .fsh-feature-card > p{
  position:relative;
  z-index:3;

  max-width:59% !important;

  margin-top:23px !important;
}

.fsh .fsh-feature-card .fsh-services{
  position:relative;
  z-index:3;

  max-width:64% !important;

  margin-top:21px !important;
}

.fsh .fsh-feature-card .fsh-service-note{
  position:relative;
  z-index:3;

  max-width:59% !important;
}

.fsh .fsh-feature-card .fsh-card-top{
  position:relative;
  z-index:4;
}

.fsh .fsh-feature-card .fsh-card-action{
  z-index:4;
}


/* ---------------------------------------------------------
   PRIORITY FLAG PHOTOGRAPHY
   --------------------------------------------------------- */

.fsh .fsh-feature-card{
  background-color:#fff !important;
  background-repeat:no-repeat !important;
  background-size:
    100% 100%,
    48% 100% !important;

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


/* HONDURAS */

.fsh .fsh-feature-card[href="/flag-honduras.html"]{
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.99) 46%,
      rgba(255,255,255,.90) 61%,
      rgba(245,251,253,.34) 100%
    ),
    url("/assets/images/hero-flag-honduras.jpg") !important;
}


/* PANAMA */

.fsh .fsh-feature-card[href="/flag-panama.html"]{
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.99) 46%,
      rgba(255,255,255,.90) 61%,
      rgba(245,251,253,.34) 100%
    ),
    url("/assets/images/hero-flag-panama.jpg") !important;
}


/* BELIZE */

.fsh .fsh-feature-card[href="/flag-belize.html"]{
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.99) 46%,
      rgba(255,255,255,.90) 61%,
      rgba(245,251,253,.34) 100%
    ),
    url("/assets/images/hero-flag-belize.jpg") !important;
}


/* LIBERIA */

.fsh .fsh-feature-card[href="/flag-liberia.html"]{
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.99) 46%,
      rgba(255,255,255,.90) 61%,
      rgba(245,251,253,.34) 100%
    ),
    url("/assets/images/hero-flag-liberia.jpg") !important;
}


/* Photography becomes more visible on hover */

.fsh .fsh-feature-card:hover{
  background-size:
    100% 100%,
    52% 108% !important;
}


/* technical circle less dominant now that photography exists */

.fsh .fsh-feature-card::before{
  opacity:.38 !important;
}



/* ---------------------------------------------------------
   REGISTRY EXPLORER BACKGROUND
   --------------------------------------------------------- */

.fsh .fsh-explorer{
  background:
    radial-gradient(
      circle at 10% 22%,
      rgba(36,176,219,.07),
      transparent 24%
    ),

    repeating-linear-gradient(
      135deg,
      rgba(16,125,169,.022) 0,
      rgba(16,125,169,.022) 1px,
      transparent 1px,
      transparent 64px
    ),

    linear-gradient(
      rgba(10,123,168,.018) 1px,
      transparent 1px
    ),

    linear-gradient(
      90deg,
      rgba(10,123,168,.015) 1px,
      transparent 1px
    ),

    #fbfdfe !important;

  background-size:
    auto,
    auto,
    72px 72px,
    72px 72px,
    auto !important;
}



/* ---------------------------------------------------------
   SECONDARY REGISTRIES — PREMIUM INVERT HOVER
   --------------------------------------------------------- */

.fsh .fsh-registry{
  position:relative !important;

  overflow:hidden !important;

  transition:
    transform .36s cubic-bezier(.22,1,.36,1),
    background .34s ease,
    border-color .34s ease,
    box-shadow .36s ease !important;
}


.fsh .fsh-registry:hover{
  transform:translateY(-6px) !important;

  border-color:
    rgba(76,212,242,.38) !important;

  background:
    linear-gradient(
      135deg,
      #08354f 0%,
      #0c6789 100%
    ) !important;

  box-shadow:
    0 20px 40px rgba(4,65,92,.17) !important;
}


.fsh .fsh-registry b,
.fsh .fsh-registry small{
  transition:
    color .3s ease,
    transform .3s ease !important;
}


.fsh .fsh-registry:hover b{
  color:#fff !important;

  transform:translateX(3px);
}


.fsh .fsh-registry:hover small{
  color:
    rgba(222,246,252,.80) !important;

  transform:
    translateX(3px);
}


.fsh .fsh-registry img{
  transition:
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s ease,
    filter .35s ease !important;
}


.fsh .fsh-registry:hover img{
  transform:
    scale(1.09) !important;

  filter:
    brightness(1.08)
    saturate(1.08) !important;

  box-shadow:
    0 8px 19px rgba(0,20,33,.25),
    0 0 0 1px rgba(255,255,255,.22) !important;
}



/* ---------------------------------------------------------
   WHAT YOU'LL FIND — INVERT HOVER
   --------------------------------------------------------- */

.fsh .fsh-structure-card{
  position:relative;

  overflow:hidden;

  transition:
    transform .36s cubic-bezier(.22,1,.36,1),
    background .34s ease,
    border-color .34s ease,
    box-shadow .36s ease !important;
}


.fsh .fsh-structure-card:hover{
  transform:
    translateY(-7px) !important;

  border-color:
    rgba(74,211,242,.40) !important;

  background:
    linear-gradient(
      140deg,
      #07364f,
      #0b6788
    ) !important;

  box-shadow:
    0 23px 45px rgba(4,61,86,.18) !important;
}


.fsh .fsh-structure-card span{
  transition:
    color .3s ease !important;
}


.fsh .fsh-structure-card:hover span{
  color:
    #69ddf7 !important;
}


.fsh .fsh-structure-card:hover h3{
  color:
    #fff !important;
}


.fsh .fsh-structure-card:hover p{
  color:
    rgba(234,248,252,.84) !important;
}


/* cyan top sweep */

.fsh .fsh-structure-card::before{
  content:"";

  position:absolute;

  left:0;
  top:0;

  width:100%;
  height:3px;

  opacity:0;

  background:
    linear-gradient(
      90deg,
      transparent,
      #59d8f3,
      transparent
    );

  transform:
    scaleX(.35);

  transition:
    opacity .3s ease,
    transform .38s cubic-bezier(.22,1,.36,1);
}


.fsh .fsh-structure-card:hover::before{
  opacity:1;

  transform:
    scaleX(1);
}



/* ---------------------------------------------------------
   MOBILE FEATURE CARDS
   --------------------------------------------------------- */

@media(max-width:850px){

  .fsh .fsh-feature-card{
    min-height:355px !important;

    background-size:
      100% 100%,
      70% 100% !important;
  }

  .fsh .fsh-feature-card > p,
  .fsh .fsh-feature-card .fsh-services,
  .fsh .fsh-feature-card .fsh-service-note{
    max-width:72% !important;
  }

}


@media(max-width:560px){

  .fsh .fsh-feature-card{
    min-height:390px !important;

    background-image:none !important;
  }

  .fsh .fsh-feature-card > p,
  .fsh .fsh-feature-card .fsh-services,
  .fsh .fsh-feature-card .fsh-service-note{
    max-width:100% !important;
  }

}



/* =========================================================
   FEATURED REGISTRIES — FINAL COUNTRY BACKGROUNDS
   ========================================================= */

/*
   Reset older whole-card photographs.
   New images are rendered only on the right side using ::after.
*/

.fsh .fsh-feature-card[href="/flag-honduras.html"],
.fsh .fsh-feature-card[href="/flag-panama.html"],
.fsh .fsh-feature-card[href="/flag-belize.html"],
.fsh .fsh-feature-card[href="/flag-liberia.html"]{

  position:relative !important;
  overflow:hidden !important;

  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #fbfdfe 62%,
      #f2f9fc 100%
    ) !important;

  isolation:isolate !important;
}


/* keep all card content above image */

.fsh .fsh-feature-card > *{
  position:relative !important;
  z-index:3 !important;
}


/* ---------------------------------------------------------
   COUNTRY IMAGE LAYER
   --------------------------------------------------------- */

.fsh .fsh-feature-card::after{

  content:"" !important;

  position:absolute !important;

  z-index:1 !important;

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

  width:49% !important;

  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;

  opacity:.92 !important;

  pointer-events:none !important;

  -webkit-mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.18) 14%,
      rgba(0,0,0,.72) 35%,
      #000 56%,
      #000 100%
    ) !important;

  mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.18) 14%,
      rgba(0,0,0,.72) 35%,
      #000 56%,
      #000 100%
    ) !important;

  transform:scale(1.01) !important;

  transition:
    transform .55s cubic-bezier(.22,1,.36,1),
    filter .45s ease,
    opacity .45s ease !important;
}


/* HONDURAS */

.fsh .fsh-feature-card[href="/flag-honduras.html"]::after{
  background-image:
    url("/assets/images/flags/featured/honduras-card-bg.png") !important;

  background-position:
    66% center !important;
}


/* PANAMA */

.fsh .fsh-feature-card[href="/flag-panama.html"]::after{
  background-image:
    url("/assets/images/flags/featured/panama-card-bg.png") !important;

  background-position:
    66% center !important;
}


/* BELIZE */

.fsh .fsh-feature-card[href="/flag-belize.html"]::after{
  background-image:
    url("/assets/images/flags/featured/belize-card-bg.png") !important;

  background-position:
    66% center !important;
}


/* LIBERIA */

.fsh .fsh-feature-card[href="/flag-liberia.html"]::after{
  background-image:
    url("/assets/images/flags/featured/liberia-card-bg.png") !important;

  background-position:
    66% center !important;
}


/* ---------------------------------------------------------
   SUBTLE WHITE FADE BETWEEN COPY AND IMAGE
   --------------------------------------------------------- */

.fsh .fsh-feature-card::before{

  content:"" !important;

  position:absolute !important;

  z-index:2 !important;

  top:0 !important;
  bottom:0 !important;

  left:44% !important;

  width:20% !important;

  border:0 !important;
  border-radius:0 !important;

  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.86) 30%,
      rgba(255,255,255,.37) 67%,
      transparent 100%
    ) !important;

  box-shadow:none !important;

  pointer-events:none !important;
}


/* ---------------------------------------------------------
   HOVER — PHOTO COMES TO LIFE
   --------------------------------------------------------- */

.fsh .fsh-feature-card:hover::after{

  transform:
    scale(1.065) !important;

  filter:
    saturate(1.10)
    contrast(1.025)
    brightness(1.025) !important;

  opacity:1 !important;
}


/* maintain premium border/lift */

.fsh .fsh-feature-card:hover{

  transform:
    translateY(-7px) !important;

  border-color:
    rgba(33,174,218,.43) !important;

  box-shadow:
    0 26px 52px rgba(4,70,98,.135) !important;
}


/* ---------------------------------------------------------
   KEEP COPY WITHIN LEFT AREA
   --------------------------------------------------------- */

.fsh .fsh-feature-card > p{
  max-width:57% !important;
}

.fsh .fsh-feature-card .fsh-services{
  max-width:62% !important;
}

.fsh .fsh-feature-card .fsh-service-note{
  max-width:57% !important;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media(max-width:900px){

  .fsh .fsh-feature-card::after{
    width:46% !important;
  }

  .fsh .fsh-feature-card > p,
  .fsh .fsh-feature-card .fsh-services,
  .fsh .fsh-feature-card .fsh-service-note{
    max-width:61% !important;
  }

}


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

@media(max-width:600px){

  .fsh .fsh-feature-card::after{

    width:100% !important;

    opacity:.13 !important;

    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  .fsh .fsh-feature-card::before{

    left:0 !important;
    width:100% !important;

    background:
      rgba(255,255,255,.88) !important;
  }

  .fsh .fsh-feature-card > p,
  .fsh .fsh-feature-card .fsh-services,
  .fsh .fsh-feature-card .fsh-service-note{
    max-width:100% !important;
  }

}


/* =========================================================
   FEATURED REGISTRY CARDS — FINAL SPACING POLISH
   ========================================================= */

.fsh .fsh-feature-card{
  padding-bottom:58px !important;
}


/* keep action link cleanly anchored */

.fsh .fsh-feature-card .fsh-card-action{
  left:29px !important;
  bottom:24px !important;

  margin:0 !important;

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

  letter-spacing:.015em !important;
}


/* slightly more room between note and bottom action */

.fsh .fsh-feature-card .fsh-service-note{
  margin-top:13px !important;
  margin-bottom:16px !important;
}


/* soften central photo transition a little more */

.fsh .fsh-feature-card::after{

  -webkit-mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.10) 15%,
      rgba(0,0,0,.52) 34%,
      rgba(0,0,0,.88) 54%,
      #000 68%,
      #000 100%
    ) !important;

  mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.10) 15%,
      rgba(0,0,0,.52) 34%,
      rgba(0,0,0,.88) 54%,
      #000 68%,
      #000 100%
    ) !important;

}


/* cleaner copy/image separation */

.fsh .fsh-feature-card::before{
  left:43% !important;
  width:23% !important;

  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.93) 26%,
      rgba(255,255,255,.58) 61%,
      rgba(255,255,255,.12) 88%,
      transparent 100%
    ) !important;
}


/* ensure text never collides with photography */

.fsh .fsh-feature-card > p{
  max-width:56% !important;
}

.fsh .fsh-feature-card .fsh-services{
  max-width:61% !important;
}

.fsh .fsh-feature-card .fsh-service-note{
  max-width:56% !important;
}


/* mobile stays readable */

@media(max-width:600px){

  .fsh .fsh-feature-card{
    padding-bottom:64px !important;
  }

  .fsh .fsh-feature-card .fsh-card-action{
    bottom:25px !important;
  }

}


/* =========================================================
   FEATURED REGISTRY — REQUIREMENTS LINK FINAL POSITION
   ========================================================= */

.fsh .fsh-feature-card .fsh-card-action{
  position:absolute !important;

  left:29px !important;
  bottom:25px !important;

  z-index:5 !important;

  margin:0 !important;

  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;

  color:#078ec7 !important;

  font-size:8.5px !important;
  font-weight:900 !important;
  line-height:1 !important;

  letter-spacing:.01em !important;
  text-transform:uppercase !important;

  white-space:nowrap !important;
}


/* stop generic child positioning from affecting action */

.fsh .fsh-feature-card > .fsh-card-action{
  position:absolute !important;
}


/* keep enough clear space above bottom link */

.fsh .fsh-feature-card{
  padding-bottom:68px !important;
}


.fsh .fsh-feature-card .fsh-service-note{
  margin-bottom:0 !important;
}


/* subtle movement only */

.fsh .fsh-feature-card:hover .fsh-card-action{
  transform:translateX(5px) !important;
  color:#04a8dc !important;
}


@media(max-width:600px){

  .fsh .fsh-feature-card{
    padding-bottom:70px !important;
  }

  .fsh .fsh-feature-card .fsh-card-action{
    left:24px !important;
    bottom:25px !important;
  }

}



/* =========================================================
   FLAG STATES — FINAL HERO BACKGROUND
   ========================================================= */

.fsh .fsh-hero-photo{

  background-image:
    url("/assets/images/flags/flag-states-hero-bg.webp") !important;

  background-size:
    cover !important;

  background-position:
    center center !important;

  background-repeat:
    no-repeat !important;
}


/* Desktop positioning */

@media(min-width:901px){

  .fsh .fsh-hero-photo{
    background-position:
      center 48% !important;
  }

}


/* Tablet */

@media(max-width:900px){

  .fsh .fsh-hero-photo{
    background-position:
      62% center !important;
  }

}


/* Mobile */

@media(max-width:600px){

  .fsh .fsh-hero-photo{
    background-position:
      67% center !important;
  }

}

