@charset "utf-8";

body.ns-region .ns-wrap{
  position:relative;
}

body.ns-region .ns-wrap > *:not(.ns-topbar):not(.ns-footer){
  position:relative;
  z-index:1;
}

/* =========================
   REGION
   ========================= */

.ns-region{
  background-color:#0e0e0e;
  background-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,.92) 0%,
      rgba(0,0,0,0) 48%,
      rgba(0,0,0,0) 52%,
      rgba(0,0,0,.92) 100%
    ),
    linear-gradient(180deg, rgba(14,14,14,0.5) 0%, rgba(14,14,14,.78) 100%),
    url("../images/textures/stone_seamless.png");
  background-size:
    100% 100%,
    100% 100%,
    800px 800px;
  background-position:
    0 0,
    0 0,
    center;
  background-repeat:
    no-repeat,
    no-repeat,
    repeat;
  background-attachment:
    scroll,
    scroll,
    scroll;
  padding-top:0;
}

.ns-region .ns-wrap{
  padding-bottom:0;
}

body.ns-region{
  padding-top:0;
}

/* =========================
   REGION: MAP
   ========================= */

.ns-rmap--storybook{
  --ns-map-mobile-size:82vw;
  --ns-map-mobile-y:clamp(112px, 23vw, 150px);
  --ns-map-mobile-mouse-gap:calc(var(--ns-map-mobile-size) * 0.005);

  position:relative;
  width:100vw;
  max-width:100vw;
  left:50%;
  margin-left:-50vw;
  margin-top:0;
  padding-top:0;
  padding-bottom:clamp(72px, 10vw, 110px);
}

.ns-rmap__top{
  position:relative;
  z-index:6;
  text-align:center;
  padding:clamp(58px, 7vw, 72px) 10px 0;
}

.ns-rmap__headrow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(8px, 1.2vw, 12px);
  width:min(1600px, 100%);
  margin:0 auto 12px;
  flex-wrap:nowrap;
}

.ns-rmap__hairline{
  flex:1 1 auto;
  height:1px;
  min-width:clamp(20px, 6vw, 120px);
  background:linear-gradient(
    90deg,
    rgba(255,244,214,0) 0%,
    #fff4d6 22%,
    #ffe8b0 40%,
    var(--gold) 50%,
    #ffe8b0 60%,
    #fff4d6 78%,
    rgba(255,244,214,0) 100%
  );
  opacity:1;
}

.ns-rmap__headline{
  font-family:"Cormorant Garamond","Source Sans 3",serif;
  font-weight:700;
  letter-spacing:.04em;
  font-size:clamp(18px, 3.1vw, 28px);
  background:linear-gradient(
    180deg,
    #fff4d6 0%,
    #ffe8b0 32%,
    var(--gold) 68%,
    #e2b866 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 10px 22px rgba(0,0,0,.55);
  margin-bottom:3px;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  line-break:strict;
  flex:0 0 auto;
}

.ns-rmap__sub{
  width:min(1600px, 100%);
  margin:6px auto 0;
  font-size:clamp(12px, 2.1vw, 16px);
  letter-spacing:.02em;
  text-shadow:0 10px 22px rgba(0,0,0,.55);
  line-height:1.9;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  line-break:strict;
}

body.ns-region--basque .ns-rmap__stage,
body.ns-region--galicia .ns-rmap__stage{
  position:relative;
  width:100%;
  min-height:clamp(430px, 112vw, 560px);
  margin:0 auto 0;
  padding-top:clamp(22px, 5vw, 34px);
  padding-bottom:clamp(34px, 8vw, 56px);
  border-top:1px solid rgba(255,255,255,.12);
  border-left:none;
  border-right:none;
  border-bottom:none;
  box-shadow:none;
  overflow:hidden;
  background:transparent;
  transition:background-size .9s ease;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  box-sizing:border-box;
}

body.ns-region--basque .ns-rmap__stage::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index:0;
  background:
    radial-gradient(1200px 560px at 50% 40%, rgba(240,197,111,.10) 0%, rgba(240,197,111,0) 62%),
    radial-gradient(1400px 700px at 50% 50%, rgba(0,0,0,.10) 0%, rgba(0,0,0,.68) 70%, rgba(0,0,0,.88) 100%),
    url("../images/maps/bg_basque3.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transform:scale(1.02);
  transition:transform .9s ease;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 120px), transparent 100%);
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 120px), transparent 100%);
  mask-repeat:no-repeat;
  mask-size:100% 100%;
}

body.ns-region--galicia .ns-rmap__stage::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index:0;
  background:
    radial-gradient(1200px 560px at 50% 40%, rgba(240,197,111,.10) 0%, rgba(240,197,111,0) 62%),
    radial-gradient(1400px 700px at 50% 50%, rgba(0,0,0,.10) 0%, rgba(0,0,0,.68) 70%, rgba(0,0,0,.88) 100%),
    url("../images/maps/bg_galicia1.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transform:scale(1.02);
  transition:transform .9s ease;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 120px), transparent 100%);
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 120px), transparent 100%);
  mask-repeat:no-repeat;
  mask-size:100% 100%;
}

.ns-rmap__vignette{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:1;
  background:
    linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.10) 46%, rgba(0,0,0,.62) 100%),
    radial-gradient(1200px 620px at 50% 48%, rgba(0,0,0,0) 34%, rgba(0,0,0,.58) 78%, rgba(0,0,0,.82) 100%),
    linear-gradient(180deg, rgba(0,0,0,.52) 0%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 62%, rgba(0,0,0,.58) 88%, rgba(0,0,0,.82) 100%);
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 120px), transparent 100%);
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 120px), transparent 100%);
  mask-repeat:no-repeat;
  mask-size:100% 100%;
}

.ns-rmap__stage::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.18;
  background:
    radial-gradient(700px 420px at 58% 26%, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 60%),
    radial-gradient(900px 520px at 66% 74%, rgba(240,197,111,.12) 0%, rgba(240,197,111,0) 64%);
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 120px), transparent 100%);
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 120px), transparent 100%);
  mask-repeat:no-repeat;
  mask-size:100% 100%;
}

body.ns-region--basque .ns-rmap__maplayer,
body.ns-region--galicia .ns-rmap__maplayer{
  position:relative;
  left:auto;
  top:auto;
  aspect-ratio:1 / 1;
  z-index:4;
  pointer-events:auto;
  flex:0 0 auto;
}

body.ns-region--basque .ns-rmap__maplayer{
  transform:none;
  width:82vw;
  max-width:none;
  margin-top:clamp(12px, 2.5vw, 20px);
}

body.ns-region--galicia .ns-rmap__maplayer{
  transform:none;
  width:82vw;
  max-width:none;
  margin-top:clamp(6px, 1.5vw, 12px);
}

@media (max-width:767.98px){
  body.ns-region--basque .ns-scroll-indicator{
    transform:translateY(calc(var(--ns-map-mobile-mouse-gap) - 20px));
  }

  body.ns-region--galicia .ns-scroll-indicator{
    transform:translateY(calc(var(--ns-map-mobile-mouse-gap) - 0px));
  }
}

.ns-rmap__mapimg{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  margin:0;
  display:block;
  filter:drop-shadow(0 0 28px rgba(0,0,0,.45));
  opacity:1;
  transform:none;
  pointer-events:none;
}

.ns-rmap__pins{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  aspect-ratio:1 / 1;
  z-index:5;
  pointer-events:none;
}

.ns-pin{
  position:absolute;
  width:0;
  height:0;
  pointer-events:auto;
  text-decoration:none;
  color:rgba(255,255,255,.94);
  transition:transform .25s ease;
}

.ns-pin__pin{
  position:absolute;
  left:0;
  top:0;
  width:22px;
  height:22px;
  background:#000000;
  border:1.2px solid var(--gold);
  border-radius:999px 999px 999px 0;
  transform:translate(-50%, -100%) rotate(-45deg);
  box-shadow:0 4px 8px rgba(0,0,0,.85);
  transition:transform .25s ease, box-shadow .25s ease;
}

.ns-pin__pin::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  background:var(--gold);
  border-radius:999px;
  transform:translate(-50%, -50%);
  box-shadow:0 0 4px rgba(240,197,111,.6);
}

.ns-pin__txt{
  position:absolute;
  left:0;
  top:0;
  font-weight:900;
  font-size:12px;
  letter-spacing:.04em;
  white-space:nowrap;
  color:rgba(255,255,255);
  transform:translate(-50%, 0%) translateY(8px);
  padding:0;
  margin:0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-text-stroke:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:geometricPrecision;
  text-shadow:
    0 2px 6px rgba(0,0,0),
    0 0 1px rgba(0,0,0);
  display:inline-block;
  transition:transform .25s ease;
}

.ns-pin--main .ns-pin__txt{
  transform:translate(-50%, -100%) translateY(-36px);
}

.ns-pin:hover .ns-pin__pin,
.ns-pin:focus-visible .ns-pin__pin{
  transform:translate(-50%, -100%) rotate(-45deg);
}

.ns-pin:hover,
.ns-pin:focus-visible{
  transform:scale(1.15);
}

.ns-pin:hover .ns-pin__txt,
.ns-pin:focus-visible .ns-pin__txt{
  transform:translate(-50%, 0%) translateY(14px) scale(1.1);
}

.ns-pin--main:hover .ns-pin__txt,
.ns-pin--main:focus-visible .ns-pin__txt{
  transform:translate(-50%, -100%) translateY(-40px) scale(1.1);
}

.ns-pin:focus-visible{
  outline:2px solid rgba(240,197,111,.90);
  outline-offset:4px;
}

/* =========================
   PINS
   ========================= */

.ns-pin--main .ns-pin__pin{
  width:26px;
  height:26px;
}

.ns-pin--main .ns-pin__pin::after{
  width:6px;
  height:6px;
}

.ns-pin--main .ns-pin__txt{
  font-size:13px;
}

.ns-rmap__note{
  margin-top:10px;
  font-size:clamp(13px, 1.1vw, 15px);
  letter-spacing:.06em;
  opacity:.90;
  text-shadow:0 10px 22px rgba(0,0,0,.55);
}

/* PINS MOBILE (BASQUE) */
body.ns-region--basque .ns-pin--bilbao{left:29%; top:25%;}
body.ns-region--basque .ns-pin--guernica{left:44%; top:24%;}
body.ns-region--basque .ns-pin--castro{left:3%; top:30%;}
body.ns-region--basque .ns-pin--vitoria{left:46%; top:56%;}
body.ns-region--basque .ns-pin--laguardia{left:51%; top:82%;}
body.ns-region--basque .ns-pin--sansebastian{left:79%; top:23%;}
body.ns-region--basque .ns-pin--guetaria{left:67%; top:25%;}
body.ns-region--basque .ns-pin--hondarribia{left:96%; top:23%;}

/* PINS MOBILE (GALICIA) */
body.ns-region--galicia .ns-pin--santiago{left:21%; top:38%;}
body.ns-region--galicia .ns-pin--cambados{left:22%; top:57%;}
body.ns-region--galicia .ns-pin--combarro{left:28%; top:70%;}
body.ns-region--galicia .ns-pin--coruna{left:36%; top:22%;}
body.ns-region--galicia .ns-pin--betanzos{left:45%; top:28%;}
body.ns-region--galicia .ns-pin--orense{left:54%; top:73%;}
body.ns-region--galicia .ns-pin--lugo{left:68%; top:39%;}
body.ns-region--galicia .ns-pin--allariz{left:61%; top:81%;}

/* =========================
   HERO
   ========================= */

.ns-rhero{
  position:relative;
  border-radius:0;
  overflow:hidden;
  box-shadow:none;
  background:transparent;
  margin-top:18px;
  margin-bottom:18px;
}

.ns-rhero__frame{
  position:relative;
  min-height:clamp(520px, 62vw, 600px);
  padding:0;
  background:transparent;
  overflow:hidden;
}

body.ns-region--basque .ns-rhero__frame::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(1100px 520px at 50% 22%, rgba(14,14,14,.00) 0%, rgba(14,14,14,.38) 62%, rgba(14,14,14,.62) 100%),
    linear-gradient(180deg, rgba(14,14,14,.18) 0%, rgba(14,14,14,.42) 55%, rgba(14,14,14,.68) 100%),
    url("../images/maps/bg_basque3.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  filter:blur(.8px) brightness(.95) saturate(1.05) contrast(1.02);
  transform:scale(1.02);
  opacity:.55;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 60px), transparent 100%);
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 60px), transparent 100%);
  mask-repeat:no-repeat;
  mask-size:100% 100%;
}

body.ns-region--galicia .ns-rhero__frame::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(1100px 520px at 50% 22%, rgba(14,14,14,.00) 0%, rgba(14,14,14,.38) 62%, rgba(14,14,14,.62) 100%),
    linear-gradient(180deg, rgba(14,14,14,.18) 0%, rgba(14,14,14,.42) 55%, rgba(14,14,14,.68) 100%),
    url("../images/maps/bg_galicia4.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  filter:blur(.8px) brightness(.95) saturate(1.05) contrast(1.02);
  transform:scale(1.02);
  opacity:.55;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 60px), transparent 100%);
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 60px), transparent 100%);
  mask-repeat:no-repeat;
  mask-size:100% 100%;
}

.ns-rhero__frame::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(
    90deg,
    var(--gold2) 0%,
    var(--gold) 22%,
    #fff4d6 50%,
    var(--gold) 78%,
    var(--gold2) 100%
  );
  opacity:.95;
  z-index:50;
  pointer-events:none;
}

.ns-rhero__split{
  position:relative;
  min-height:clamp(520px, 62vw, 600px);
  display:block;
}

.ns-rhero__left{
  position:relative;
  z-index:2;
  width:100%;
  margin-left:0;
  background:transparent;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding:32px 18px 2px;
}

.ns-rhero__left > *{
  width:100%;
  max-width:clamp(520px, 48vw, 620px);
}

.ns-rhero__kicker-wrap{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:18px;
}

.ns-rhero__kicker{
  font-family:"Cormorant Garamond","Source Sans 3",serif;
  font-weight:700;
  letter-spacing:.14em;
  font-size:clamp(18px, 2.1vw, 20px);
  background:linear-gradient(
    180deg,
    #fff4d6 0%,
    #ffe8b0 32%,
    var(--gold) 68%,
    #e2b866 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.78))
    drop-shadow(0 14px 28px rgba(0,0,0,.85))
    drop-shadow(0 28px 60px rgba(0,0,0,.55));
}

.ns-rhero__kicker-line{
  width:min(250px, 46vw);
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(208,162,74,.95) 0%,
    rgba(240,197,111,.95) 48%,
    rgba(255,244,214,.65) 72%,
    rgba(255,244,214,0) 100%
  );
  opacity:1;
}

.ns-rhero__desc{
  font-weight:500;
  letter-spacing:.06em;
  font-size:clamp(13px, 1.3vw, 15px);
  line-height:1.9;
  opacity:.92;
  text-shadow:
    0 2px 4px rgba(0,0,0,.85),
    0 10px 22px rgba(0,0,0,.55);
  max-width:clamp(520px, 49vw, 600px);
  margin-bottom:25px;
}

/* BULLET POINTS */

.ns-rhero__bullets{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:10px 0 0;
  max-width:660px;
  padding-left:22px;
}

.ns-rhero__bullets li{
  position:relative;
  padding-left:30px;
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.06em;
  opacity:.94;
  text-shadow:
    0 2px 4px rgba(0,0,0,.85),
    0 10px 22px rgba(0,0,0,.55);
}

.ns-rhero__bullets li::before{
  content:"";
  position:absolute;
  left:0;
  top:calc(.45em - 2px);
  width:14px;
  height:14px;
  border-radius:50%;
  background:linear-gradient(180deg,#ffe0a8 0%,var(--gold) 30%,var(--gold2) 62%,var(--gold3) 100%);
  box-shadow:0 10px 22px rgba(0,0,0,.35);
}

.ns-rhero__bullets li::after{
  content:"";
  position:absolute;
  left:0;
  top:calc(.45em - 2px);
  width:14px;

  height:14px;
  background:#000000;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/12px 12px;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/12px 12px;
  pointer-events:none;
}

/* =========================
   HERO: BENEFITS BAND
   ========================= */

.ns-rhero__benefits{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  z-index:3;
  margin-top:28px;
  width:100%;
  padding:0;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  height:auto;
}

.ns-rhero__benefits::before{
  content:none !important;
  display:none !important;
}

.ns-rhero__benefits::after{
  content:none !important;
  display:none !important;
}

.ns-rhero__benefits-head{
  display:none;
}

.ns-rhero__benefits-ttl{
  font-family:"Cormorant Garamond","Source Sans 3",serif;
  font-weight:700;
  letter-spacing:.14em;
  font-size:17px;
  background:linear-gradient(
    180deg,
    #fff4d6 0%,
    #ffe8b0 32%,
    var(--gold) 68%,
    #e2b866 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.75))
    drop-shadow(0 10px 22px rgba(0,0,0,.85));
}

.ns-rhero__benefits-line{
  flex:1 1 auto;
  height:1px;
  opacity:1;
  background:linear-gradient(
    90deg,
    rgba(255,244,214,0) 0%,
    #fff4d6 22%,
    #ffe8b0 40%,
    var(--gold) 50%,
    #ffe8b0 60%,
    #fff4d6 78%,
    rgba(255,244,214,0) 100%
  );
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.70))
    drop-shadow(0 10px 18px rgba(0,0,0,.75));
}

.ns-benefits--hero{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin:0;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.ns-benefits--hero::before,
.ns-benefits--hero::after{
  content:none !important;
  display:none !important;
}

.ns-rhero__benefits .ns-benefits--hero > .ns-benefit--hero{
  position:relative;
  background:transparent !important;
  background-image:none !important;
  background-color:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.35));
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:8px 6px;
  overflow:visible;
  aspect-ratio:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
}

.ns-rhero__benefits .ns-benefits--hero > .ns-benefit--hero::before,
.ns-rhero__benefits .ns-benefits--hero > .ns-benefit--hero::after{
  content:none !important;
  display:none !important;
  background:none !important;
  box-shadow:none !important;
}

.ns-benefit--hero .ns-benefit__icon img{
  mix-blend-mode:normal !important;
}

.ns-benefit--hero .ns-benefit__icon{
  width:92px;
  height:92px;
  margin:0 auto;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.65))
    drop-shadow(0 16px 28px rgba(0,0,0,.75));
}

.ns-benefit--hero .ns-benefit__icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:transparent !important;
  mix-blend-mode:normal;
  transform:scale(1.05);
  transition:transform .35s ease;
}

.ns-benefit--hero:hover .ns-benefit__icon img{
  transform:scale(1.12);
}

.ns-rhero__benefits .ns-benefit--hero{
  background:transparent !important;
  background-image:none !important;
  background-color:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.ns-benefit--hero .ns-benefit__ttl{
  font-size:18px;
  line-height:1.2;
  transform:none;
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* RIGHT IMAGE + FADES */

.ns-rhero__right{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  background:transparent;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 160px), transparent 100%);
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 160px), transparent 100%);
  mask-repeat:no-repeat;
  mask-size:100% 100%;
}

body.ns-region--basque .ns-rhero__right{
  background-image:url("../images/maps/bg_basque2.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

body.ns-region--galicia .ns-rhero__right{
  background-image:url("../images/maps/bg_galicia4.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.ns-rhero__right img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.00) contrast(1.03);
  transform:none;
  z-index:0;
  opacity:0;
}

.ns-rhero__right::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    linear-gradient(
      90deg,
      rgba(14,14,14,1) 0%,
      rgba(14,14,14,.88) 12%,
      rgba(14,14,14,.55) 26%,
      rgba(14,14,14,.18) 42%,
      rgba(14,14,14,0) 58%
    ),
    linear-gradient(
      180deg,
      rgba(14,14,14,.22) 0%,
      rgba(14,14,14,.06) 30%,
      rgba(14,14,14,.06) 72%,
      rgba(14,14,14,.18) 90%,
      rgba(14,14,14,0) 100%
    );
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 260px), rgba(0,0,0,.55) calc(100% - 140px), transparent 100%);
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 260px), rgba(0,0,0,.55) calc(100% - 140px), transparent 100%);
  mask-repeat:no-repeat;
  mask-size:100% 100%;
}

.ns-rhero__right::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  opacity:.14;
  background:
    radial-gradient(700px 420px at 60% 18%, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 60%);
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 260px), rgba(0,0,0,.55) calc(100% - 140px), transparent 100%);
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-image:linear-gradient(to bottom, #000 0%, #000 calc(100% - 260px), rgba(0,0,0,.55) calc(100% - 140px), transparent 100%);
  mask-repeat:no-repeat;
  mask-size:100% 100%;
}

/* =========================
   SECTION HEAD
   ========================= */

.ns-rsec__head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:14px 0 12px;
  margin-top:22px;
}

.ns-rsec__line{
  flex:1 1 auto;
  max-width:320px;
  height:1px;
  background:linear-gradient(
    90deg,
    var(--gold2) 0%,
    var(--gold) 30%,
    #fff4d6 50%,
    var(--gold) 70%,
    var(--gold2) 100%
  );
  opacity:.95;
}

.ns-rsec__title{
  font-family:"Cormorant Garamond","Source Sans 3",serif;
  font-weight:700;
  letter-spacing:.14em;
  font-size:20px;
  background:linear-gradient(
    180deg,
    #fff4d6 0%,
    #ffe8b0 32%,
    var(--gold) 68%,
    #e2b866 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 10px 22px rgba(0,0,0,.55);
}

/* =========================
   BENEFITS
   ========================= */

.ns-benefits{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
  margin:8px 0 6px;
}

.ns-benefits .ns-benefit{
  padding:6px;
  align-self:start;
}

.ns-benefits .ns-benefit__icon{
  width:64px;
  height:64px;
  flex:0 0 auto;
  margin-top:2px;
}

.ns-benefits .ns-benefit__icon .ns-ico{
  width:56px;
  height:56px;
  transform:translateY(2px);
}

.ns-benefits .ns-benefit__ttl{
  top:0;
  padding-top:0;
  font-size:16px;
  letter-spacing:.06em;
  line-height:1.15;
  transform:translateY(-9px);
}

.ns-benefit{
  position:relative;
  background:rgba(33,33,33,.65);
  border:1px solid rgba(255,255,255,.10);
  border-radius:0;
  box-shadow:0 14px 28px rgba(0,0,0,.55);
  aspect-ratio:1 / 1;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:12px;
  text-align:center;
}

.ns-rhero__benefits .ns-benefit,
.ns-rhero__benefits .ns-benefit--hero{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  backdrop-filter:none !important;
}

.ns-rhero__benefits .ns-benefit::before,
.ns-rhero__benefits .ns-benefit::after,
.ns-rhero__benefits .ns-benefit--hero::before,
.ns-rhero__benefits .ns-benefit--hero::after{
  content:none !important;
  display:none !important;
}

.ns-rhero__benefits .ns-benefit{
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}

.ns-benefit__icon{
  width:108px;
  height:108px;
  margin:0 auto;
  display:grid;
  place-items:center;
  opacity:1;
  background:transparent;
  border:0;
  box-shadow:none;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.65))
    drop-shadow(0 12px 22px rgba(0,0,0,.75));
  flex:1 1 auto;
}

.ns-benefit__ttl{
  font-family:"Cormorant Garamond","Source Sans 3",serif;
  position:relative;
  top:0;
  margin-top:auto;
  margin-bottom:0;
  padding-top:0;
  font-weight:900;
  letter-spacing:.08em;
  font-size:18px;
  transform:translateY(-3px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
  background:linear-gradient(
    180deg,
    #fff4d6 0%,
    #ffe8b0 32%,
    var(--gold) 68%,
    #e2b866 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.65))
    drop-shadow(0 9px 16px rgba(0,0,0,.70));
}

/* =========================
   EXPERIENCES
   ========================= */

.ns-band{
  margin-top:26px;
  padding:18px 0 14px;
}

.ns-band__rule{
  height:2px;
  background:linear-gradient(
    90deg,
    var(--gold2) 0%,
    var(--gold) 22%,
    #fff4d6 50%,
    var(--gold) 78%,
    var(--gold2) 100%
  );
  opacity:.95;
}

.ns-band__rule--top{margin-bottom:16px}
.ns-band__rule--mid{margin:16px 0 12px}
.ns-band__rule--bot{margin-top:14px}

.ns-band__head{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px 0 30px;
}

.ns-rexp{
  margin-top:8px;
}

.ns-rexp__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.ns-rexp__item{
  background:rgba(33,33,33,.45);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 16px 34px rgba(0,0,0,.40);
  padding:14px 14px 12px;
  text-align:left;
}

.ns-rexp__ico{
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.65))
    drop-shadow(0 12px 22px rgba(0,0,0,.75));
}

.ns-rexp__ttl{
  margin-top:6px;
  font-weight:900;
  letter-spacing:.10em;
  font-size:14px;
  background:linear-gradient(
    180deg,
    #fff4d6 0%,
    #ffe8b0 32%,
    var(--gold) 68%,
    #e2b866 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.65))
    drop-shadow(0 9px 16px rgba(0,0,0,.70));
}

.ns-rexp__txt{
  margin-top:6px;
  font-size:12px;
  letter-spacing:.06em;
  opacity:.92;
  text-shadow:0 10px 22px rgba(0,0,0,.55);
}

/* =========================
   MODELS
   ========================= */

.ns-modelcard__chips{
  position:relative;
  z-index:3;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-start;
  align-items:center;
  top:0;
  width:100%;
  margin:0 0 12px;
  pointer-events:none;
  grid-column:2;
}

.ns-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:28px;
  padding:0 12px 0 10px;
  background:rgba(0,0,0,.72);
  border:1px solid rgba(240,197,111,.65);
  box-shadow:
    0 10px 22px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.10);
  pointer-events:none;
}

.ns-chip__ico{
  width:16px;
  height:16px;
  display:inline-block;
  flex:0 0 16px;
  background:linear-gradient(
    180deg,
    #fff4d6 0%,
    #ffe8b0 32%,
    var(--gold) 68%,
    #e2b866 100%
  );
  border-radius:4px;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.55))
    drop-shadow(0 10px 18px rgba(0,0,0,.55));
}

.ns-chip__txt{
  font-weight:800;
  letter-spacing:.06em;
  font-size:12px;
  line-height:1;
  background:linear-gradient(
    180deg,
    #fff4d6 0%,
    #ffe8b0 32%,
    var(--gold) 68%,
    #e2b866 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.65))
    drop-shadow(0 10px 18px rgba(0,0,0,.65));
}

.ns-modelcard__desc{
  margin:0;
  max-width:none;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.06em;
  line-height:1.9;
  opacity:.92;
  text-align:left;
  color:rgba(255,255,255,.92);
  text-shadow:
    0 2px 8px rgba(0,0,0,.70);
  grid-column:2;
}

.ns-rmodels{
  margin-top:0;
}

.ns-two.ns-two--objective{
  position:relative;
  margin-top:58px;
  padding:22px 14px 18px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--shadow);
  background:
    radial-gradient(1100px 560px at 50% 18%, rgba(240,197,111,.10) 0%, rgba(240,197,111,0) 62%),
    linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.55) 100%);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
}

.ns-two.ns-two--objective::before{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:0;
  height:2px;
  background:linear-gradient(
    90deg,
    var(--gold2) 0%,
    var(--gold) 22%,
    #fff4d6 50%,
    var(--gold) 78%,
    var(--gold2) 100%
  );
  opacity:.95;
  pointer-events:none;
}

.ns-two__head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:10px 0 18px;
  margin-bottom:6px;
}

.ns-two__head-line{
  flex:1 1 auto;
  height:1px;
  opacity:.95;
  background:linear-gradient(
    90deg,
    rgba(255,244,214,0) 0%,
    #fff4d6 22%,
    #ffe8b0 40%,
    var(--gold) 50%,
    #ffe8b0 60%,
    #fff4d6 78%,
    rgba(255,244,214,0) 100%
  );
}

.ns-two__head-title{
  font-family:"Cormorant Garamond","Source Sans 3",serif;
  font-weight:700;
  letter-spacing:.18em;
  font-size:22px;
  background:linear-gradient(
    180deg,
    #fff4d6 0%,
    #ffe8b0 32%,
    var(--gold) 68%,
    #e2b866 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 10px 22px rgba(0,0,0,.55);
}

/* =========================
   MODEL CHIPS ICONS
   ========================= */

.ns-chip--pace .ns-chip__ico{
  -webkit-mask:url("../images/icons/icon-pace.svg") no-repeat center/contain;
  mask:url("../images/icons/icon-pace.svg") no-repeat center/contain;
}

.ns-chip--days .ns-chip__ico{
  -webkit-mask:url("../images/icons/icon-days.svg") no-repeat center/contain;
  mask:url("../images/icons/icon-days.svg") no-repeat center/contain;
}

.ns-chip--transport .ns-chip__ico{
  -webkit-mask:url("../images/icons/icon-transport.svg") no-repeat center/contain;
  mask:url("../images/icons/icon-transport.svg") no-repeat center/contain;
}

.ns-chip--focus .ns-chip__ico{
  -webkit-mask:url("../images/icons/icon-focus.svg") no-repeat center/contain;
  mask:url("../images/icons/icon-focus.svg") no-repeat center/contain;
}

/* GRID */

.ns-two__grid.ns-two__grid--objective{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  padding:10px 0 0;
}

/* NOTE */

.ns-two__note{
  position:relative;
  margin-top:22px;
  padding-top:0;
  margin-bottom:0;
  font-family:"Source Sans 3",serif;
  font-weight:450;
  letter-spacing:.14em;
  font-size:14px;
  line-height:1.9;
  text-align:center;
  background:linear-gradient(
    180deg,
    #fff4d6 0%,
    #ffe8b0 32%,
    var(--gold) 68%,
    #e2b866 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 10px 22px rgba(0,0,0,.55);
}

.ns-modelcard.ns-modelcard--objective{
  position:relative;
  border-radius:0;
  overflow:hidden;
  background:rgba(12,12,12,.72);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 46px rgba(0,0,0,.60);
  padding:14px 12px 16px;
}

.ns-two__grid.ns-two__grid--objective > .ns-modelcard.ns-modelcard--objective:nth-child(1){
  background:
    linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(0,0,0,.78) 100%),
    url("../images/textures/graphite1.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.ns-two__grid.ns-two__grid--objective > .ns-modelcard.ns-modelcard--objective:nth-child(2){
  background:
    linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(0,0,0,.80) 100%),
    url("../images/textures/graphite2.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.ns-two__grid.ns-two__grid--objective > .ns-modelcard.ns-modelcard--objective:nth-child(3){
  background:
    linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(0,0,0,.78) 100%),
    url("../images/textures/graphite3.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.ns-modelcard__head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:10px;
}

.ns-modelcard__head-line{
  flex:1 1 auto;
  height:1px;
  opacity:.75;
  background:linear-gradient(
    90deg,
    rgba(240,197,111,0) 0%,
    rgba(240,197,111,.55) 18%,
    rgba(255,244,214,.65) 50%,
    rgba(240,197,111,.55) 82%,
    rgba(240,197,111,0) 100%
  );
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.55))
    drop-shadow(0 10px 18px rgba(0,0,0,.55));
}

.ns-modelcard__head-title{
  font-family:"Cormorant Garamond","Source Sans 3",serif;
  font-weight:700;
  letter-spacing:.18em;
  font-size:18px;
  background:linear-gradient(
    180deg,
    #fff4d6 0%,
    #ffe8b0 32%,
    var(--gold) 68%,
    #e2b866 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 10px 22px rgba(0,0,0,.55);
}

.ns-modelcard__frame{
  position:relative;
  z-index:2;
  display:block;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.20);
}

.ns-modelcard__frame::before{
  content:"";
  position:absolute;
  inset:6px;
  border:1px solid rgba(255,255,255,.10);
  pointer-events:none;
}

.ns-modelcard__media{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#000;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 14px 28px rgba(0,0,0,.55);
  min-height:0;
  aspect-ratio:4/3;
  margin-bottom:12px;
  grid-column:auto;
  grid-row:auto;
}

.ns-modelcard__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:contrast(1.02) saturate(1.03);
  transform:scale(1.02);
  transition:transform .9s ease;
}

.ns-modelcard__overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.50) 0%, rgba(0,0,0,.10) 30%, rgba(0,0,0,.10) 62%, rgba(0,0,0,.62) 100%),
    radial-gradient(900px 520px at 50% 55%, rgba(0,0,0,0) 30%, rgba(0,0,0,.45) 72%, rgba(0,0,0,.62) 100%);
}

.ns-modelcard__copy{
  position:absolute;
  left:14px;
  right:14px;
  z-index:2;
  margin:0;
  text-align:center;
  font-size:10px;
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.70;
  color:rgba(255,255,255,.95);
  text-shadow:
    0 2px 8px rgba(0,0,0,.85),
    0 0 1px rgba(0,0,0,.85);
}

.ns-modelcard__copy--top{
  top:16px;
}

.ns-modelcard__copy--bottom{
  bottom:72px;
}

.ns-modelcard__chips{
  grid-column:auto;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin:0 0 10px;
  justify-items:stretch;
  align-items:center;
  pointer-events:none;
}

.ns-chip{
  width:100%;
  height:26px;
  padding:0 10px 0 9px;
  justify-content:center;
}

.ns-chip__ico{
  width:15px;
  height:15px;
  flex:0 0 15px;
}

.ns-chip__txt{
  font-size:11px;
  letter-spacing:.05em;
  white-space:nowrap;
}

.ns-chip--transport{
  grid-column:1 / -1;
}

.ns-chip--focus{
  grid-column:1 / -1;
}

.ns-modelcard__desc{
  grid-column:auto;
  margin:0;
  font-size:12.5px;
  text-align:left;
}

.ns-modelcard .ns-mini-btn--models{
  min-width:auto;
  padding:0 22px;
  white-space:nowrap;
  justify-content:center;
}

.ns-modelcard__btn{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:210px;
  height:46px;
  padding:0 18px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.10em;
  color:rgba(255,255,255,.95);
  background:linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.78) 100%);
  border:1px solid rgba(240,197,111,.75);
  box-shadow:
    inset 0 0 0 1px rgba(255,244,214,.22),
    0 16px 28px rgba(0,0,0,.55);
}

.ns-rmodels__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(28px, 8vw, 48px);
  row-gap:28px;
}

.ns-modelcard__media .ns-mini-btn{
  position:absolute;
  left:12px;
  bottom:12px;
  transform:none;
  z-index:2;
}

.ns-mcard{
  position:relative;
  overflow:hidden;
  display:block;
  text-decoration:none;
  color:inherit;
  background:#101010;
  border:1px solid rgba(240,197,111,.55);
  box-shadow:0 18px 46px rgba(0,0,0,.60);
  min-height:clamp(280px, 34vw, 420px);
}

.ns-mcard__bg{
  position:absolute;
  inset:0;
}

.ns-mcard__bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.02);
  filter:contrast(1.02) saturate(1.02);
  transition:transform .9s cubic-bezier(.22,.61,.36,1);
  -webkit-mask-image:linear-gradient(
    180deg,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 65%,
    rgba(0,0,0,0.92) 75%,
    rgba(0,0,0,0.55) 85%,
    rgba(0,0,0,0) 100%
  );
  mask-image:linear-gradient(
    180deg,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 65%,
    rgba(0,0,0,0.92) 75%,
    rgba(0,0,0,0.55) 85%,
    rgba(0,0,0,0) 100%
  );
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}

.ns-mcard::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.16) 38%, rgba(0,0,0,.52) 100%),
    radial-gradient(900px 520px at 50% 52%, rgba(0,0,0,0) 24%, rgba(0,0,0,.26) 72%, rgba(0,0,0,.48) 100%);
}

.ns-mcard__ui{
  position:relative;
  z-index:2;
  height:100%;
  padding:clamp(18px, 2.8vw, 22px) clamp(14px, 2.2vw, 18px) clamp(28px, 4vw, 36px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  text-align:center;
}

.ns-mcard__meta{
  font-size:11px;
  letter-spacing:.10em;
  opacity:.92;
  text-shadow:0 10px 22px rgba(0,0,0,.65);
  margin:0 0 10px;
}

.ns-mcard__ttl{
  font-family:"Cormorant Garamond","Source Sans 3",serif;
  font-weight:700;
  font-size:clamp(21px, 2.2vw, 24px);
  letter-spacing:.12em;
  background:linear-gradient(
    180deg,
    #fff4d6 0%,
    #ffe8b0 32%,
    var(--gold) 68%,
    #e2b866 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,1));
  margin:clamp(36px, 6vw, 54px) 0 12px;
}

.ns-mcard__txt{
  font-size:clamp(12.5px, 1.05vw, 13px);
  letter-spacing:.06em;
  line-height:1.85;
  opacity:1;
  color:rgba(255,255,255,.98);
  text-shadow:
    0 2px 4px rgba(0,0,0,.95),
    0 8px 18px rgba(0,0,0,.90),
    0 0 2px rgba(0,0,0,.95);
  margin:0 0 12px;
  max-width:min(26em, 100%);
}

.ns-mcard__spots{
  font-size:11px;
  letter-spacing:.06em;
  opacity:.90;
  text-shadow:0 10px 22px rgba(0,0,0,.65);
  margin:0 0 14px;
}

.ns-mini-btn--mcard{
  align-self:center;
  width:auto;
  margin-top:0;
  height:34px;
  padding:0 20px;
}

.ns-rmodels__note{
  margin-top:10px;
  font-size:clamp(13px, 1.1vw, 15px);
  letter-spacing:.06em;
  opacity:.90;
  text-align:center;
  text-shadow:0 10px 22px rgba(0,0,0,.55);
  top:24px;
}

/* =========================
   BREAKPOINTS
   ========================= */

@media (hover:hover){
  .ns-rmap__stage:hover{
    background-size:106%;
  }

  .ns-rmap__stage:hover::before{
    transform:scale(1.06);
  }

  .ns-modelcard.ns-modelcard--objective:hover .ns-modelcard__img{
    transform:scale(1.06);
  }

  .ns-mcard:hover .ns-mcard__bg img{
    transform:scale(1.08);
  }
}

@media (min-width:768px){
  body.ns-region--basque .ns-rmap__stage{
    min-height:clamp(620px, 88vw, 693px);
    padding-top:clamp(26px, 4vw, 38px);
    padding-bottom:clamp(42px, 6vw, 68px);
  }

  body.ns-region--galicia .ns-rmap__stage{
    min-height:clamp(620px, 88vw, 693px);
    padding-top:clamp(26px, 4vw, 38px);
    padding-bottom:clamp(60px, 8vw, 90px);
  }

  body.ns-region--basque .ns-scroll-indicator{
    transform:translateY(-14px);
  }

  body.ns-region--galicia .ns-scroll-indicator{
    transform:translateY(8px);
  }

  body.ns-region--basque .ns-rmap__maplayer{
    left:auto;
    top:auto;
    transform:none;
    width:clamp(346px, 67vw, 554px);
    margin-top:clamp(14px, 2.5vw, 24px);
  }

  body.ns-region--galicia .ns-rmap__maplayer{
    left:auto;
    top:auto;
    transform:none;
    width:clamp(320px, 61vw, 500px);
    margin-top:clamp(14px, 2.5vw, 24px);
  }

  .ns-rmap__pins{
    left:0;
    top:0;
    transform:none;
    pointer-events:none;
  }

  .ns-pin__pin{
    width:26px;
    height:26px;
    border-width:1.5px;
  }

  .ns-pin__pin::after{
    width:6px;
    height:6px;
  }

  .ns-pin__txt{
    font-size:16px;
    letter-spacing:.10em;
  }

  .ns-pin--main .ns-pin__pin{
    width:34px;
    height:34px;
  }

  .ns-pin--main .ns-pin__pin::after{
    width:8px;
    height:8px;
  }

  .ns-pin--main .ns-pin__txt{
    font-size:18px;
  }

  /* PINS TABLET (BASQUE) */
  body.ns-region--basque .ns-pin--bilbao{left:29%; top:26%;}
  body.ns-region--basque .ns-pin--guernica{left:44%; top:25%;}
  body.ns-region--basque .ns-pin--castro{left:3%; top:31%;}
  body.ns-region--basque .ns-pin--vitoria{left:46%; top:57%;}
  body.ns-region--basque .ns-pin--laguardia{left:51%; top:83%;}
  body.ns-region--basque .ns-pin--sansebastian{left:79%; top:24%;}
  body.ns-region--basque .ns-pin--guetaria{left:67%; top:26%;}
  body.ns-region--basque .ns-pin--hondarribia{left:96%; top:24%;}

  /* PINS TABLET (GALICIA) */
  body.ns-region--galicia .ns-pin--santiago{left:21%; top:39%;}
  body.ns-region--galicia .ns-pin--cambados{left:22%; top:58%;}
  body.ns-region--galicia .ns-pin--combarro{left:28%; top:71%;}
  body.ns-region--galicia .ns-pin--coruna{left:36%; top:23%;}
  body.ns-region--galicia .ns-pin--betanzos{left:45%; top:29%;}
  body.ns-region--galicia .ns-pin--orense{left:56%; top:72%;}
  body.ns-region--galicia .ns-pin--lugo{left:68%; top:38%;}
  body.ns-region--galicia .ns-pin--allariz{left:63%; top:80%;}

  .ns-rhero__frame{
    min-height:720px;
  }

  .ns-rhero__split{
    min-height:720px;
  }

  .ns-rhero__left{
    width:100%;
    padding:38px 18px 24px 50px;
    background:transparent;
  }

  .ns-rhero__desc{
    max-width:clamp(560px, 62vw, 690px);
  }

  .ns-rhero__benefits{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    z-index:6;
    margin-top:28px;
  }

  .ns-rhero__benefits-head{
    position:relative;
    z-index:7;
    opacity:1;
  }

  .ns-rhero__benefits-line{
    position:relative;
    z-index:7;
    opacity:1;
  }

  .ns-benefits--hero{
    margin:0;
    grid-template-columns:repeat(3, minmax(0, 180px));
    justify-content:center;
    gap:14px;
  }

  .ns-benefit--hero{
    padding:12px;
  }

  .ns-benefit--hero .ns-benefit__icon{
    width:100px;
    height:100px;
  }

  .ns-benefit--hero .ns-benefit__ttl{
    font-size:17px;
  }

  .ns-rhero__right img{
    opacity:1;
  }

  body.ns-region--basque .ns-rhero__right,
  body.ns-region--galicia .ns-rhero__right{
    background-image:none;
  }

  .ns-benefits{
    grid-template-columns:repeat(3, minmax(0, 160px));
    justify-content:center;
    gap:12px;
  }

  .ns-rexp__grid{
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
  }

  .ns-two__grid.ns-two__grid--objective{
    grid-template-columns:1fr;
    gap:18px;
    padding:10px 0 0;
  }

  .ns-rmodels__grid{
    grid-template-columns:repeat(2, 1fr);
    gap:14px;
    row-gap:14px;
  }
}

@media (min-width:1024px){
  body.ns-region--basque .ns-rmap__stage{
    min-height:clamp(620px, 72vw, 730px);
    padding-top:clamp(28px, 3vw, 42px);
    padding-bottom:clamp(46px, 5vw, 76px);
  }

  body.ns-region--galicia .ns-rmap__stage{
    min-height:clamp(620px, 72vw, 730px);
    padding-top:clamp(28px, 3vw, 42px);
    padding-bottom:clamp(70px, 7vw, 110px);
  }

  body.ns-region--basque .ns-scroll-indicator{
    transform:translateY(-80px);
  }

  body.ns-region--galicia .ns-scroll-indicator{
    transform:translateY(-22px);
  }

  body.ns-region--basque .ns-rmap__maplayer{
    left:auto;
    top:auto;
    transform:none;
    width:clamp(414px, 68vw, 662px);
    margin-top:clamp(16px, 2vw, 28px);
  }

  body.ns-region--galicia .ns-rmap__maplayer{
    left:auto;
    top:auto;
    transform:none;
    width:clamp(380px, 62vw, 600px);
    margin-top:clamp(16px, 2vw, 28px);
  }

  /* PINS DESKTOP (BASQUE) */
  body.ns-region--basque .ns-pin--bilbao{left:29%; top:25%;}
  body.ns-region--basque .ns-pin--guernica{left:45%; top:24%;}
  body.ns-region--basque .ns-pin--castro{left:4%; top:30%;}
  body.ns-region--basque .ns-pin--vitoria{left:47%; top:55%;}
  body.ns-region--basque .ns-pin--laguardia{left:52%; top:82%;}
  body.ns-region--basque .ns-pin--sansebastian{left:80%; top:23%;}
  body.ns-region--basque .ns-pin--guetaria{left:68%; top:25%;}
  body.ns-region--basque .ns-pin--hondarribia{left:97%; top:22%;}

  /* PINS DESKTOP (GALICIA) */
  body.ns-region--galicia .ns-pin--santiago{left:22%; top:38%;}
  body.ns-region--galicia .ns-pin--cambados{left:22%; top:59%;}
  body.ns-region--galicia .ns-pin--combarro{left:30%; top:72%;}
  body.ns-region--galicia .ns-pin--coruna{left:37%; top:23%;}
  body.ns-region--galicia .ns-pin--betanzos{left:46%; top:30%;}
  body.ns-region--galicia .ns-pin--orense{left:55%; top:74%;}
  body.ns-region--galicia .ns-pin--lugo{left:69%; top:39%;}
  body.ns-region--galicia .ns-pin--allariz{left:62%; top:81%;}

  .ns-rhero{
    margin-top:clamp(18px, 3vw, 26px);
    margin-bottom:0;
  }

  .ns-rhero__frame::after{
    filter:blur(.8px) brightness(.95) saturate(1.05) contrast(1.02);
    opacity:.55;
  }

  .ns-rhero__left{
    width:100%;
    padding-right:clamp(18px, 2.4vw, 26px);
    padding-left:clamp(28px, 5vw, 60px);
    padding-top:clamp(24px, 3vw, 30px);
    padding-bottom:clamp(136px, 18vw, 180px);
  }

  .ns-rhero__desc{
    max-width:clamp(600px, 50vw, 680px);
  }

  .ns-rhero__bullets{
    max-width:clamp(640px, 54vw, 740px);
  }

  .ns-rhero__benefits{
    position:absolute;
    left:clamp(18px, 2.4vw, 26px);
    right:clamp(18px, 2.4vw, 26px);
    bottom:clamp(36px, 7vw, 90px);
    z-index:3;
    margin:0;
    width:auto;
  }

  .ns-benefits--hero{
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:clamp(10px, 1.5vw, 16px);
    justify-content:initial;
  }

  .ns-benefit--hero .ns-benefit__icon{
    width:clamp(76px, 8.4vw, 120px);
    height:clamp(76px, 8.4vw, 120px);
  }

  .ns-benefit--hero .ns-benefit__ttl{
    font-size:17px;
    margin-top:0;
    line-height:1.2;
  }

  .ns-benefits{
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:18px;
    justify-content:initial;
  }

  .ns-rexp__grid{
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
  }

  .ns-rmodels__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:clamp(14px, 2vw, 20px);
    row-gap:clamp(14px, 2vw, 20px);
  }

  .ns-two.ns-two--objective{
    padding:26px 22px 22px;
  }

  .ns-two.ns-two--objective::before{
    left:0;
    right:0;
  }

  .ns-modelcard.ns-modelcard--objective{
    padding:16px 16px 16px;
  }

  .ns-modelcard__head-title{
    font-size:17px;
  }

  .ns-modelcard__frame{
    display:grid;
    grid-template-columns:minmax(240px, 360px) 1fr;
    gap:14px;
    align-items:stretch;
    padding:14px;
  }

  .ns-modelcard__frame::before{
    inset:8px;
  }

  .ns-modelcard__media{
    grid-column:1;
    grid-row:1 / span 3;
    min-height:190px;
    aspect-ratio:auto;
    margin-bottom:0;
  }

  .ns-modelcard__chips{
    grid-column:2;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-start;
    align-items:center;
    margin:0 0 12px;
  }

  .ns-chip{
    width:auto;
    height:28px;
    padding:0 12px 0 10px;
    justify-content:center;
  }

  .ns-chip__ico{
    width:16px;
    height:16px;
    flex:0 0 16px;
  }

  .ns-chip__txt{
    font-size:12px;
    letter-spacing:.06em;
  }

  .ns-chip--transport,
  .ns-chip--focus{
    grid-column:auto;
  }

  .ns-modelcard__desc{
    grid-column:2;
    margin:0;
    font-size:12.5px;
    text-align:left;
  }

  .ns-modelcard__media .ns-mini-btn{
    left:14px;
    bottom:14px;
  }
}

@media (min-width:1440px){
  body.ns-region--basque .ns-scroll-indicator{
    transform:translateY(-90px);
  }

  body.ns-region--galicia .ns-scroll-indicator{
    transform:translateY(-34px);
  }
}