:root{
    --green:#1e4a3b;
    --green-dark:#12281f;
    --green-soft:#dfe8e1;
  
    --gold:#a9a55c;
    --gold-soft:#e7e2bd;
  
    --cream:#f7f3e9;
    --cream-light:#fbf9f4;
  
    --charcoal:#2b2b26;
    --muted:#73766f;
  
    --white:#ffffff;
  
    --line:rgba(30,74,59,.14);
  }
  
  
  /* ==================================================
     BASE
  ================================================== */
  
  *{
    box-sizing:border-box;
  }
  
  html{
    scroll-behavior:smooth;
  }
  
  body{
    margin:0;
    font-family:"Inter",sans-serif;
    color:var(--charcoal);
    background:var(--cream-light);
  }
  
  body.gallery-open{
    overflow:hidden;
  }
  
  a{
    color:inherit;
    text-decoration:none;
  }
  
  button{
    font:inherit;
  }
  
  img{
    display:block;
    max-width:100%;
  }
  
  .protect-shell{
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
  }
  
  
  /* ==================================================
     HEADER
  ================================================== */
  
  .protect-header{
    position:sticky;
    top:0;
    z-index:60;
  
    background:rgba(251,249,244,.95);
    backdrop-filter:blur(16px);
  
    border-bottom:1px solid var(--line);
  }
  
  .protect-header-inner{
    width:min(1180px,calc(100% - 40px));
    min-height:82px;
    margin:0 auto;
  
    display:flex;
    align-items:center;
    justify-content:space-between;
  
    gap:28px;
  }
  
  .protect-logo{
    width:235px;
  }
  
  .protect-nav{
    display:flex;
    align-items:center;
    gap:24px;
  }
  
  .protect-nav a{
    font-size:11px;
    font-weight:800;
    color:var(--green-dark);
  
    transition:.2s ease;
  }
  
  .protect-nav a:hover{
    color:var(--gold);
  }
  
  .protect-menu-toggle{
    display:none;
  
    width:44px;
    height:44px;
  
    padding:0;
  
    border:0;
    background:transparent;
  
    align-items:center;
    justify-content:center;
  
    flex-direction:column;
  
    gap:5px;
  
    cursor:pointer;
  }
  
  .protect-menu-toggle span{
    width:24px;
    height:2px;
  
    border-radius:999px;
  
    background:var(--green-dark);
  }
  
  
  /* ==================================================
     ELEMENTOS COMPARTIDOS
  ================================================== */
  
  .eyebrow{
    display:inline-block;
  
    margin-bottom:14px;
  
    font-family:"Archivo",sans-serif;
  
    font-size:10px;
    font-weight:800;
  
    letter-spacing:.18em;
  
    text-transform:uppercase;
  
    color:var(--gold);
  }
  
  .btn{
    min-height:48px;
  
    padding:14px 22px;
  
    display:inline-flex;
    align-items:center;
    justify-content:center;
  
    border-radius:999px;
  
    font-size:11px;
    font-weight:800;
  
    transition:
      transform .2s ease,
      background .2s ease,
      color .2s ease;
  }
  
  .btn-primary{
    background:var(--green);
    color:var(--white);
  }
  
  .btn-primary:hover{
    background:var(--green-dark);
    transform:translateY(-1px);
  }
  
  .btn-secondary{
    border:1px solid var(--green);
  
    color:var(--green);
  
    background:transparent;
  }
  
  .btn-secondary:hover{
    background:rgba(30,74,59,.05);
  }
  
  
  /* ==================================================
     HERO
  ================================================== */
  
  .protect-hero{
    padding:84px 0 100px;
  
    overflow:hidden;
  
    background:
      radial-gradient(
        circle at 80% 18%,
        rgba(169,165,92,.20),
        transparent 24%
      ),
      radial-gradient(
        circle at 60% 90%,
        rgba(30,74,59,.08),
        transparent 28%
      ),
      linear-gradient(
        145deg,
        #fbf8f1,
        #ece8dd
      );
  }
  
  .protect-hero-grid{
    display:grid;
  
    grid-template-columns:
      minmax(0,1fr)
      minmax(430px,.88fr);
  
    gap:72px;
  
    align-items:center;
  }
  
  .protect-hero-copy h1{
    max-width:760px;
  
    margin:0 0 22px;
  
    font-family:"Archivo",sans-serif;
  
    font-size:clamp(50px,6vw,78px);
  
    line-height:.95;
  
    letter-spacing:-.055em;
  
    color:var(--green-dark);
  }
  
  .protect-hero-copy p{
    max-width:620px;
  
    margin:0;
  
    font-size:16px;
  
    line-height:1.75;
  
    color:#626760;
  }
  
  .hero-actions{
    margin-top:30px;
  
    display:flex;
    flex-wrap:wrap;
  
    gap:12px;
  }
  
  
  /* ==================================================
     HERO VISUAL
  ================================================== */
  
  .protect-visual{
    min-height:450px;
  
    position:relative;
  }
  
  .protect-mattress{
    width:94%;
    height:360px;
  
    position:absolute;
  
    left:50%;
    top:28px;
  
    transform:translateX(-50%);
  
    perspective:900px;
  }
  
  .mattress-top{
    width:82%;
    height:72px;
  
    position:absolute;
  
    left:50%;
    top:26px;
  
    transform:
      translateX(-50%)
      rotateX(58deg);
  
    border-radius:30px;
  
    background:
      linear-gradient(
        135deg,
        #faf8f2,
        #dedbd1
      );
  
    box-shadow:
      0 28px 50px rgba(18,40,31,.10);
  }
  
  .mattress-base{
    width:88%;
    height:150px;
  
    position:absolute;
  
    left:50%;
    top:107px;
  
    transform:translateX(-50%);
  
    border-radius:25px;
  
    background:
      linear-gradient(
        145deg,
        #f0eee7,
        #d7d4ca
      );
  
    box-shadow:
      0 34px 60px rgba(18,40,31,.16);
  }
  
  .mattress-layer{
    position:absolute;
  
    left:50%;
  
    transform:translateX(-50%);
  
    border-radius:22px;
  
    z-index:3;
  }
  
  .mattress-layer-1{
    width:94%;
    height:65px;
  
    top:102px;
  
    background:
      linear-gradient(
        135deg,
        #d7d7b7,
        #b9b682
      );
  
    box-shadow:
      0 18px 34px rgba(18,40,31,.12);
  }
  
  .mattress-layer-1 span{
    position:absolute;
  
    right:22px;
    top:50%;
  
    transform:translateY(-50%);
  
    font-family:"Archivo",sans-serif;
  
    font-size:9px;
    font-weight:800;
  
    letter-spacing:.18em;
  
    text-transform:uppercase;
  
    color:rgba(18,40,31,.55);
  }
  
  .mattress-layer-2{
    width:91%;
    height:38px;
  
    top:165px;
  
    background:
      linear-gradient(
        135deg,
        #2c5848,
        #17392f
      );
  }
  
  .protect-visual-label{
    min-width:245px;
  
    position:absolute;
  
    left:50%;
    bottom:10px;
  
    transform:translateX(-50%);
  
    padding:20px 22px;
  
    border-radius:20px;
  
    background:rgba(255,255,255,.93);
  
    box-shadow:
      0 18px 50px rgba(18,40,31,.13);
  
    text-align:center;
  }
  
  .protect-visual-label span{
    display:block;
  
    font-size:8px;
    font-weight:800;
  
    letter-spacing:.15em;
  
    text-transform:uppercase;
  
    color:var(--gold);
  }
  
  .protect-visual-label strong{
    display:block;
  
    margin-top:5px;
  
    font-family:"Archivo",sans-serif;
  
    font-size:22px;
  
    color:var(--green-dark);
  }
  
  .protect-visual-label small{
    display:block;
  
    margin-top:5px;
  
    font-size:9px;
  
    color:#777b74;
  }
  
  
  /* ==================================================
     INTRO
  ================================================== */
  
  .protect-intro{
    padding:92px 0 68px;
  
    background:#fff;
  }
  
  .protect-intro-grid{
    display:grid;
  
    grid-template-columns:
      minmax(0,1fr)
      minmax(300px,.55fr);
  
    gap:60px;
  
    align-items:end;
  }
  
  .protect-intro h2{
    max-width:780px;
  
    margin:0;
  
    font-family:"Archivo",sans-serif;
  
    font-size:clamp(44px,5.5vw,68px);
  
    line-height:.96;
  
    letter-spacing:-.055em;
  
    color:var(--green-dark);
  }
  
  .protect-intro p{
    margin:0;
  
    font-size:14px;
  
    line-height:1.78;
  
    color:var(--muted);
  }
  
  
  /* ==================================================
     FAMILIAS
  ================================================== */
  
  .protection-family{
    position:relative;
  
    overflow:hidden;
  }
  
  .protection-family-light{
    padding:80px 0 110px;
  
    background:#fff;
  }
  
  .protection-family-dark{
    padding:100px 0 110px;
  
    background:
      radial-gradient(
        circle at 90% 0%,
        rgba(169,165,92,.12),
        transparent 24%
      ),
      linear-gradient(
        145deg,
        #17372d,
        #0e241d
      );
  
    color:#fff;
  }
  
  .family-heading{
    display:grid;
  
    grid-template-columns:100px minmax(0,1fr);
  
    gap:35px;
  
    align-items:end;
  
    padding-bottom:45px;
  
    border-bottom:1px solid var(--line);
  }
  
  .family-index{
    font-family:"Archivo",sans-serif;
  
    font-size:72px;
  
    line-height:.82;
  
    font-weight:900;
  
    letter-spacing:-.07em;
  
    color:rgba(30,74,59,.11);
  }
  
  .family-title h2{
    max-width:900px;
  
    margin:0;
  
    font-family:"Archivo",sans-serif;
  
    font-size:clamp(48px,6vw,76px);
  
    line-height:.88;
  
    letter-spacing:-.06em;
  
    color:var(--green-dark);
  }
  
  .family-title p{
    max-width:600px;
  
    margin:18px 0 0;
  
    font-size:13px;
  
    line-height:1.75;
  
    color:var(--muted);
  }
  
  .family-heading-dark{
    border-bottom-color:rgba(255,255,255,.12);
  }
  
  .family-index-dark{
    color:rgba(255,255,255,.10);
  }
  
  .family-title-dark h2{
    color:#fff;
  }
  
  .family-title-dark p{
    color:rgba(255,255,255,.58);
  }
  
  
  /* ==================================================
     GOLD SUPERIOR
  ================================================== */
  
  .product-block{
    padding-top:55px;
  }
  
  .product-heading{
    display:flex;
  
    align-items:flex-end;
    justify-content:space-between;
  
    gap:30px;
  
    margin-bottom:34px;
  }
  
  .product-kicker{
    display:block;
  
    margin-bottom:10px;
  
    font-size:9px;
  
    font-weight:800;
  
    letter-spacing:.15em;
  
    text-transform:uppercase;
  
    color:var(--gold);
  }
  
  .product-heading h3{
    margin:0;
  
    font-family:"Archivo",sans-serif;
  
    font-size:clamp(36px,4vw,52px);
  
    letter-spacing:-.045em;
  
    color:var(--green-dark);
  }
  
  .product-heading p{
    margin:9px 0 0;
  
    font-size:12px;
  
    color:var(--muted);
  }
  
  .product-gallery-btn{
    min-height:46px;
  
    padding:0 18px;
  
    flex:0 0 auto;
  
    border:1px solid rgba(30,74,59,.20);
  
    border-radius:999px;
  
    background:#fff;
  
    color:var(--green);
  
    font-size:9px;
    font-weight:800;
  
    cursor:pointer;
  }
  
  .product-gallery-btn span{
    margin-left:4px;
  
    color:var(--gold);
  }
  
  
  /* ==================================================
     SIZE GRID
  ================================================== */
  
  .size-grid{
    display:grid;
  
    grid-template-columns:
      repeat(4,minmax(0,1fr));
  
    gap:14px;
  }
  
  .size-card{
    min-height:225px;
  
    padding:27px;
  
    position:relative;
  
    display:flex;
    flex-direction:column;
  
    justify-content:flex-end;
  
    overflow:hidden;
  
    border:1px solid var(--line);
  
    border-radius:26px;
  
    background:
      linear-gradient(
        145deg,
        #fbf9f4,
        #f1ede3
      );
  
    transition:
      transform .25s ease,
      box-shadow .25s ease;
  }
  
  .size-card::after{
    content:"";
  
    width:155px;
    height:155px;
  
    position:absolute;
  
    right:-70px;
    top:-70px;
  
    border:1px solid rgba(30,74,59,.09);
  
    border-radius:50%;
  }
  
  .size-card:hover{
    transform:translateY(-5px);
  
    box-shadow:
      0 22px 55px rgba(18,40,31,.09);
  }
  
  .size-number{
    position:absolute;
  
    top:22px;
    left:25px;
  
    font-family:"Archivo",sans-serif;
  
    font-size:11px;
    font-weight:800;
  
    color:var(--gold);
  }
  
  .size-card small{
    display:block;
  
    margin-bottom:5px;
  
    font-size:8px;
    font-weight:800;
  
    letter-spacing:.12em;
  
    text-transform:uppercase;
  
    color:#92968f;
  }
  
  .size-card strong{
    font-family:"Archivo",sans-serif;
  
    font-size:25px;
  
    line-height:1;
  
    color:var(--green-dark);
  }
  
  .size-detail{
    margin-top:14px;
  
    padding-top:13px;
  
    border-top:1px solid var(--line);
  
    font-size:10px;
  
    color:var(--muted);
  }
  
  
  /* ==================================================
     IMPERMEABLE GRID
  ================================================== */
  
  .impermeable-grid{
    padding-top:50px;
  
    display:grid;
  
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  
    gap:18px;
  }
  
  .protection-card{
    min-height:390px;
  
    padding:32px;
  
    position:relative;
  
    overflow:hidden;
  
    display:flex;
    flex-direction:column;
  
    border:1px solid rgba(255,255,255,.14);
  
    border-radius:30px;
  
    background:
      rgba(255,255,255,.055);
  
    backdrop-filter:blur(10px);
  
    transition:
      transform .25s ease,
      background .25s ease;
  }
  
  .protection-card::after{
    content:"";
  
    width:260px;
    height:260px;
  
    position:absolute;
  
    right:-120px;
    bottom:-130px;
  
    border:1px solid rgba(255,255,255,.08);
  
    border-radius:50%;
  }
  
  .protection-card:hover{
    transform:translateY(-4px);
  
    background:
      rgba(255,255,255,.075);
  }
  
  .protection-card-featured{
    background:
      linear-gradient(
        145deg,
        rgba(169,165,92,.17),
        rgba(255,255,255,.05)
      );
  }
  
  .protection-card-top{
    position:relative;
    z-index:2;
  
    display:flex;
  
    align-items:center;
    justify-content:space-between;
  
    gap:15px;
  
    margin-bottom:46px;
  }
  
  .card-index{
    font-family:"Archivo",sans-serif;
  
    font-size:12px;
    font-weight:800;
  
    color:var(--gold);
  }
  
  .mini-gallery-btn{
    min-height:38px;
  
    padding:0 13px;
  
    border:1px solid rgba(255,255,255,.16);
  
    border-radius:999px;
  
    background:rgba(255,255,255,.05);
  
    color:#fff;
  
    font-size:8px;
    font-weight:800;
  
    cursor:pointer;
  }
  
  .card-type{
    position:relative;
    z-index:2;
  
    display:block;
  
    margin-bottom:9px;
  
    font-size:9px;
    font-weight:800;
  
    letter-spacing:.13em;
  
    text-transform:uppercase;
  
    color:rgba(255,255,255,.48);
  }
  
  .protection-card h3{
    position:relative;
    z-index:2;
  
    max-width:450px;
  
    margin:0;
  
    font-family:"Archivo",sans-serif;
  
    font-size:clamp(35px,4vw,49px);
  
    line-height:.9;
  
    letter-spacing:-.055em;
  
    color:#fff;
  }
  
  .protection-card p{
    position:relative;
    z-index:2;
  
    margin:14px 0 0;
  
    font-size:12px;
  
    color:rgba(255,255,255,.55);
  }
  
  .format-list{
    position:relative;
    z-index:2;
  
    margin-top:auto;
    padding-top:35px;
  
    display:grid;
  
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  
    gap:8px;
  }
  
  .format-list span{
    padding:12px 13px;
  
    border:1px solid rgba(255,255,255,.10);
  
    border-radius:12px;
  
    font-size:9px;
    font-weight:700;
  
    color:rgba(255,255,255,.75);
  }
  
  
  /* ==================================================
     TERMORREGULADORA
  ================================================== */
  
  .thermo-section{
    padding:110px 0;
  
    background:
      radial-gradient(
        circle at 20% 20%,
        rgba(169,165,92,.14),
        transparent 20%
      ),
      #f5f3ec;
  }
  
  .thermo-grid{
    display:grid;
  
    grid-template-columns:
      minmax(0,.8fr)
      minmax(420px,1fr);
  
    gap:80px;
  
    align-items:center;
  }
  
  .thermo-copy h2{
    margin:0;
  
    font-family:"Archivo",sans-serif;
  
    font-size:clamp(64px,8vw,104px);
  
    line-height:.82;
  
    letter-spacing:-.07em;
  
    color:var(--green-dark);
  }
  
  .thermo-copy p{
    max-width:520px;
  
    margin:24px 0 0;
  
    font-size:14px;
  
    line-height:1.75;
  
    color:var(--muted);
  }
  
  .thermo-gallery-btn{
    min-height:46px;
  
    margin-top:28px;
  
    padding:0 18px;
  
    border:1px solid rgba(30,74,59,.18);
  
    border-radius:999px;
  
    background:#fff;
  
    color:var(--green);
  
    font-size:9px;
    font-weight:800;
  
    cursor:pointer;
  }
  
  .thermo-gallery-btn span{
    color:var(--gold);
  }
  
  .thermo-formats{
    border-top:1px solid var(--line);
  }
  
  .thermo-format{
    min-height:145px;
  
    display:grid;
  
    grid-template-columns:
      45px
      minmax(0,1fr)
      auto;
  
    gap:24px;
  
    align-items:center;
  
    border-bottom:1px solid var(--line);
  }
  
  .thermo-format > span{
    font-family:"Archivo",sans-serif;
  
    font-size:11px;
    font-weight:800;
  
    color:var(--gold);
  }
  
  .thermo-format small{
    display:block;
  
    margin-bottom:5px;
  
    font-size:8px;
    font-weight:800;
  
    letter-spacing:.12em;
  
    text-transform:uppercase;
  
    color:#9a9d97;
  }
  
  .thermo-format strong{
    font-family:"Archivo",sans-serif;
  
    font-size:29px;
  
    color:var(--green-dark);
  }
  
  .thermo-format em{
    padding:10px 14px;
  
    border-radius:999px;
  
    background:#e9e5d6;
  
    font-style:normal;
  
    font-size:8px;
    font-weight:800;
  
    letter-spacing:.09em;
  
    text-transform:uppercase;
  
    color:var(--green);
  }
  
  
  /* ==================================================
     CIERRE EDITORIAL
  ================================================== */
  
  .protect-finish{
    padding:100px 0;
  
    background:#fff;
  }
  
  .finish-line{
    display:grid;
  
    grid-template-columns:
      auto 1fr
      auto 1fr
      auto;
  
    gap:18px;
  
    align-items:center;
  
    margin-bottom:52px;
  }
  
  .finish-line span{
    font-family:"Archivo",sans-serif;
  
    font-size:9px;
    font-weight:800;
  
    letter-spacing:.14em;
  
    text-transform:uppercase;
  
    color:var(--green);
  }
  
  .finish-line i{
    height:1px;
  
    background:var(--line);
  }
  
  .finish-copy{
    max-width:1000px;
  }
  
  .finish-copy h2{
    margin:0;
  
    font-family:"Archivo",sans-serif;
  
    font-size:clamp(43px,5.5vw,68px);
  
    line-height:.96;
  
    letter-spacing:-.055em;
  
    color:var(--green-dark);
  }
  
  
  /* ==================================================
     CTA FINAL
  ================================================== */
  
  .protect-cta{
    padding:0 0 96px;
  
    background:#fff;
  }
  
  .cta-card{
    padding:46px 50px;
  
    display:flex;
  
    align-items:center;
    justify-content:space-between;
  
    gap:42px;
  
    border-radius:28px;
  
    background:
      linear-gradient(
        135deg,
        #eee7da,
        #f8f5ee
      );
  }
  
  .cta-card h2{
    margin:0 0 10px;
  
    font-family:"Archivo",sans-serif;
  
    font-size:38px;
  
    color:var(--green-dark);
  }
  
  .cta-card p{
    max-width:700px;
  
    margin:0;
  
    font-size:14px;
  
    line-height:1.7;
  
    color:var(--muted);
  }
  
  
  /* ==================================================
     GALERÍA
  ================================================== */
  
  .gallery-modal{
    position:fixed;
  
    inset:0;
  
    z-index:1000;
  
    display:none;
  }
  
  .gallery-modal.is-open{
    display:block;
  }
  
  .gallery-backdrop{
    position:absolute;
  
    inset:0;
  
    background:
      rgba(4,12,9,.80);
  
    backdrop-filter:blur(10px);
  }
  
  .gallery-dialog{
    width:min(1080px,calc(100% - 34px));
  
    max-height:calc(100vh - 34px);
  
    position:absolute;
  
    left:50%;
    top:50%;
  
    transform:translate(-50%,-50%);
  
    overflow:hidden;
  
    border:1px solid rgba(255,255,255,.10);
  
    border-radius:27px;
  
    background:#101b17;
  
    color:#fff;
  
    box-shadow:
      0 28px 90px rgba(0,0,0,.40);
  }
  
  .gallery-header{
    min-height:76px;
  
    padding:15px 18px 15px 24px;
  
    display:flex;
  
    align-items:center;
    justify-content:space-between;
  
    gap:18px;
  
    border-bottom:
      1px solid rgba(255,255,255,.09);
  }
  
  .gallery-kicker{
    display:block;
  
    margin-bottom:3px;
  
    font-size:8px;
    font-weight:800;
  
    letter-spacing:.16em;
  
    text-transform:uppercase;
  
    color:var(--gold);
  }
  
  .gallery-header h2{
    margin:0;
  
    font-family:"Archivo",sans-serif;
  
    font-size:20px;
  }
  
  .gallery-header-actions{
    display:flex;
  
    align-items:center;
  
    gap:8px;
  }
  
  .gallery-zoom{
    min-height:40px;
  
    padding:0 14px;
  
    border:
      1px solid rgba(255,255,255,.12);
  
    border-radius:999px;
  
    background:
      rgba(255,255,255,.055);
  
    color:#fff;
  
    font-size:9px;
    font-weight:800;
  
    cursor:pointer;
  }
  
  .gallery-close{
    width:40px;
    height:40px;
  
    padding:0;
  
    display:grid;
  
    place-items:center;
  
    border:
      1px solid rgba(255,255,255,.12);
  
    border-radius:50%;
  
    background:
      rgba(255,255,255,.055);
  
    color:#fff;
  
    font-size:26px;
  
    line-height:1;
  
    cursor:pointer;
  }
  
  .gallery-stage{
    min-height:520px;
  
    height:min(65vh,650px);
  
    padding:22px 70px;
  
    display:grid;
  
    place-items:center;
  
    position:relative;
  
    overflow:hidden;
  
    background:#09110e;
  }
  
  .gallery-image-wrap{
    width:100%;
    height:100%;
  
    display:flex;
  
    align-items:center;
    justify-content:center;
  
    overflow:hidden;
  
    cursor:zoom-in;
  }
  
  .gallery-image-wrap.is-zoomed{
    display:block;
  
    overflow:auto;
  
    cursor:zoom-out;
  }
  
  .gallery-image-wrap img{
    width:auto;
    height:auto;
  
    max-width:100%;
    max-height:100%;
  
    object-fit:contain;
  
    object-position:center;
  }
  
  .gallery-image-wrap.is-zoomed img{
    width:auto;
    height:auto;
  
    max-width:none;
    max-height:none;
  
    min-width:150%;
    min-height:150%;
  
    object-fit:contain;
  }
  
  .gallery-empty{
    max-width:380px;
  
    text-align:center;
  }
  
  .gallery-empty-monogram{
    width:70px;
    height:70px;
  
    margin:0 auto 18px;
  
    display:grid;
  
    place-items:center;
  
    border:
      1px solid rgba(255,255,255,.12);
  
    border-radius:50%;
  
    font-family:"Archivo",sans-serif;
  
    font-size:26px;
    font-weight:900;
  
    color:var(--gold);
  }
  
  .gallery-empty strong{
    display:block;
  
    margin-bottom:8px;
  
    font-family:"Archivo",sans-serif;
  
    font-size:24px;
  }
  
  .gallery-empty span{
    display:block;
  
    font-size:11px;
  
    line-height:1.6;
  
    color:
      rgba(255,255,255,.55);
  }
  
  .gallery-arrow{
    width:46px;
    height:46px;
  
    position:absolute;
  
    top:50%;
  
    transform:translateY(-50%);
  
    z-index:4;
  
    display:grid;
  
    place-items:center;
  
    border:
      1px solid rgba(255,255,255,.12);
  
    border-radius:50%;
  
    background:
      rgba(255,255,255,.06);
  
    color:#fff;
  
    font-size:30px;
  
    cursor:pointer;
  }
  
  .gallery-arrow-prev{
    left:17px;
  }
  
  .gallery-arrow-next{
    right:17px;
  }
  
  .gallery-footer{
    min-height:88px;
  
    padding:13px 18px;
  
    display:grid;
  
    grid-template-columns:
      auto minmax(0,1fr);
  
    gap:18px;
  
    align-items:center;
  
    border-top:
      1px solid rgba(255,255,255,.09);
  }
  
  .gallery-counter{
    min-width:60px;
  
    font-size:10px;
  
    color:
      rgba(255,255,255,.58);
  }
  
  .gallery-thumbs{
    min-width:0;
  
    display:flex;
  
    gap:8px;
  
    overflow-x:auto;
  }
  
  .gallery-thumb{
    width:64px;
    height:58px;
  
    flex:0 0 64px;
  
    padding:0;
  
    overflow:hidden;
  
    border:2px solid transparent;
  
    border-radius:10px;
  
    background:#1d2924;
  
    cursor:pointer;
  
    opacity:.58;
  }
  
  .gallery-thumb.is-active{
    border-color:var(--gold);
  
    opacity:1;
  }
  
  .gallery-thumb img{
    width:100%;
    height:100%;
  
    object-fit:cover;
  }
  
  
  /* ==================================================
     FOOTER
  ================================================== */
  
  .protect-footer{
    padding:44px 0;
  
    background:#0d1d17;
  
    color:#fff;
  }
  
  .protect-footer-inner{
    display:grid;
  
    grid-template-columns:
      1fr auto auto;
  
    gap:35px;
  
    align-items:center;
  }
  
  .protect-footer-logo{
    width:220px;
  }
  
  .protect-footer p{
    margin:0;
  
    font-size:11px;
  
    color:
      rgba(255,255,255,.56);
  }
  
  .protect-footer a{
    font-family:"Archivo",sans-serif;
  
    font-size:11px;
    font-weight:700;
  
    color:var(--gold);
  }
  
  
  /* ==================================================
     TABLET
  ================================================== */
  
  @media(max-width:900px){
  
    .protect-menu-toggle{
      display:flex;
    }
  
    .protect-nav{
      display:none;
  
      position:absolute;
  
      top:82px;
      left:0;
      right:0;
  
      padding:16px 20px 22px;
  
      background:var(--cream-light);
  
      border-bottom:1px solid var(--line);
  
      flex-direction:column;
  
      align-items:stretch;
  
      gap:0;
    }
  
    .protect-nav.mobile-open{
      display:flex;
    }
  
    .protect-nav a{
      padding:15px 0;
  
      border-bottom:1px solid var(--line);
    }
  
  
    .protect-hero-grid{
      grid-template-columns:1fr;
  
      gap:45px;
    }
  
  
    .protect-intro-grid{
      grid-template-columns:1fr;
  
      gap:18px;
    }
  
  
    .size-grid{
      grid-template-columns:
        repeat(2,minmax(0,1fr));
    }
  
  
    .thermo-grid{
      grid-template-columns:1fr;
  
      gap:45px;
    }
  
  
    .protect-footer-inner{
      grid-template-columns:1fr;
    }
  
  }
  
  
  /* ==================================================
     MOBILE
  ================================================== */
  
  @media(max-width:650px){
  
    .protect-shell,
    .protect-header-inner{
      width:min(100% - 30px,1180px);
    }
  
  
    /* HEADER */
  
    .protect-header-inner{
      min-height:72px;
    }
  
    .protect-logo{
      width:175px;
    }
  
    .protect-nav{
      top:72px;
    }
  
  
    /* HERO */
  
    .protect-hero{
      padding:58px 0 65px;
    }
  
    .protect-hero-copy h1{
      font-size:43px;
    }
  
    .protect-hero-copy p{
      font-size:15px;
    }
  
    .hero-actions{
      flex-direction:column;
    }
  
    .hero-actions .btn{
      width:100%;
    }
  
  
    /* VISUAL */
  
    .protect-visual{
      min-height:345px;
    }
  
    .protect-mattress{
      height:285px;
  
      top:15px;
    }
  
    .mattress-top{
      height:55px;
    }
  
    .mattress-base{
      height:118px;
  
      top:86px;
    }
  
    .mattress-layer-1{
      top:82px;
  
      height:53px;
    }
  
    .mattress-layer-2{
      top:134px;
  
      height:32px;
    }
  
    .protect-visual-label{
      min-width:210px;
  
      padding:16px 18px;
    }
  
    .protect-visual-label strong{
      font-size:19px;
    }
  
  
    /* INTRO */
  
    .protect-intro{
      padding:70px 0 45px;
    }
  
    .protect-intro h2{
      font-size:40px;
    }
  
  
    /* FAMILY */
  
    .protection-family-light{
      padding:50px 0 75px;
    }
  
    .protection-family-dark{
      padding:72px 0;
    }
  
    .family-heading{
      grid-template-columns:1fr;
  
      gap:16px;
  
      padding-bottom:30px;
    }
  
    .family-index{
      font-size:50px;
    }
  
    .family-title h2{
      font-size:46px;
    }
  
  
    /* GOLD SUPERIOR */
  
    .product-block{
      padding-top:35px;
    }
  
    .product-heading{
      align-items:flex-start;
  
      flex-direction:column;
    }
  
    .product-heading h3{
      font-size:37px;
    }
  
    .product-gallery-btn{
      width:100%;
    }
  
  
    /* SIZE CARDS */
  
    .size-grid{
      grid-template-columns:1fr;
    }
  
    .size-card{
      min-height:190px;
  
      padding:24px;
    }
  
  
    /* IMPERMEABLE */
  
    .impermeable-grid{
      grid-template-columns:1fr;
  
      gap:14px;
    }
  
    .protection-card{
      min-height:360px;
  
      padding:25px;
    }
  
    .protection-card h3{
      font-size:38px;
    }
  
    .protection-card-top{
      margin-bottom:38px;
    }
  
  
    /* THERMO */
  
    .thermo-section{
      padding:75px 0;
    }
  
    .thermo-copy h2{
      font-size:70px;
    }
  
    .thermo-gallery-btn{
      width:100%;
    }
  
    .thermo-format{
      min-height:120px;
  
      grid-template-columns:
        34px 1fr;
  
      gap:16px;
    }
  
    .thermo-format em{
      grid-column:2;
  
      justify-self:start;
    }
  
    .thermo-format strong{
      font-size:25px;
    }
  
  
    /* FINAL */
  
    .protect-finish{
      padding:75px 0;
    }
  
    .finish-line{
      grid-template-columns:1fr;
  
      gap:10px;
    }
  
    .finish-line i{
      display:none;
    }
  
    .finish-line span{
      padding-bottom:9px;
  
      border-bottom:1px solid var(--line);
    }
  
    .finish-copy h2{
      font-size:40px;
    }
  
  
    /* CTA */
  
    .protect-cta{
      padding-bottom:72px;
    }
  
    .cta-card{
      padding:34px 24px;
  
      border-radius:22px;
  
      flex-direction:column;
  
      align-items:flex-start;
    }
  
    .cta-card h2{
      font-size:30px;
    }
  
    .cta-card .btn{
      width:100%;
    }
  
  
    /* GALERÍA */
  
    .gallery-dialog{
      width:calc(100% - 16px);
  
      max-height:calc(100vh - 16px);
  
      border-radius:20px;
    }
  
    .gallery-header{
      min-height:68px;
  
      padding:12px 12px 12px 17px;
    }
  
    .gallery-header h2{
      font-size:17px;
    }
  
    .gallery-zoom{
      min-height:38px;
  
      padding:0 11px;
  
      font-size:8px;
    }
  
    .gallery-close{
      width:38px;
      height:38px;
    }
  
    .gallery-stage{
      min-height:0;
  
      height:62vh;
  
      padding:12px 42px;
    }
  
    .gallery-arrow{
      width:36px;
      height:36px;
  
      font-size:24px;
    }
  
    .gallery-arrow-prev{
      left:5px;
    }
  
    .gallery-arrow-next{
      right:5px;
    }
  
    .gallery-footer{
      min-height:78px;
  
      grid-template-columns:1fr;
  
      gap:7px;
    }
  
    .gallery-thumb{
      width:56px;
      height:50px;
  
      flex-basis:56px;
    }
  
  
    /* FOOTER */
  
    .protect-footer-logo{
      width:200px;
    }
  
  }