/* =========================================
   PRESS
========================================= */

.press-hero{
  padding:48px 0 75px;
  background:var(--paper);
}


.press-breadcrumbs{
  display:flex;
  align-items:center;
  gap:9px;

  margin-bottom:55px;

  color:var(--muted);

  font-size:11px;
}


.press-breadcrumbs a{
  color:var(--ink);
  text-decoration:none;
}


.press-hero-grid{
  display:grid;

  grid-template-columns:
    minmax(0,1.25fr)
    minmax(300px,.75fr);

  gap:70px;

  align-items:end;
}


.press-hero-title h1{
  margin:18px 0 0;

  color:var(--ink);

  font-size:
    clamp(64px,9vw,120px);

  line-height:.86;

  letter-spacing:-.07em;
}


.press-hero-text{
  padding-bottom:8px;
}


.press-hero-text > p{
  max-width:440px;

  margin:0 0 30px;

  color:var(--muted);

  font-size:15px;

  line-height:1.7;
}


.press-hero-meta{
  display:flex;
  align-items:center;

  gap:10px;

  padding-top:18px;

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

  color:var(--ink);

  font-size:10px;

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


.press-live-dot{
  width:8px;
  height:8px;

  border-radius:50%;

  background:var(--lime);

  box-shadow:
    0 0 0 4px
    rgba(215,255,114,.25);
}



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

.press-featured-section{
  padding-top:70px;
}


.press-featured{
  display:grid;

  grid-template-columns:
    minmax(320px,.8fr)
    minmax(0,1.2fr);

  min-height:480px;

  overflow:hidden;

  border-radius:30px;

  background:var(--card);

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

  color:inherit;

  text-decoration:none;

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


.press-featured:hover{
  transform:
    translateY(-3px);

  box-shadow:
    var(--shadow);
}


.press-featured-art{
  position:relative;

  min-height:480px;

  overflow:hidden;

  padding:30px;

  display:flex;

  flex-direction:column;

  justify-content:space-between;

  background:var(--navy);

  color:#fff;
}


.press-featured-category{
  position:relative;
  z-index:2;

  width:max-content;

  padding:7px 11px;

  border-radius:999px;

  background:var(--lime);

  color:var(--ink);

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

  text-transform:uppercase;

  letter-spacing:.08em;
}


.press-featured-symbol{
  position:absolute;

  right:-10px;
  top:50%;

  transform:
    translateY(-50%);

  color:
    rgba(215,255,114,.15);

  font-family:serif;

  font-size:320px;
  line-height:1;
}


.press-featured-date{
  position:relative;
  z-index:2;

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

  font-size:11px;
}


.press-featured-content{
  padding:
    45px 48px;

  display:flex;
  flex-direction:column;
}


.press-news-meta{
  display:flex;
  justify-content:space-between;

  gap:20px;

  color:var(--muted);

  font-size:9px;

  text-transform:uppercase;

  letter-spacing:.08em;
}


.press-featured-content h2{
  max-width:650px;

  margin:
    auto 0 22px;

  color:var(--ink);

  font-size:
    clamp(32px,4vw,50px);

  line-height:1;

  letter-spacing:-.045em;
}


.press-featured-content > p{
  max-width:570px;

  margin:
    0 0 35px;

  color:var(--muted);

  font-size:13px;

  line-height:1.7;
}


.press-read{
  display:flex;

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

  padding-top:20px;

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

  color:var(--ink);

  font-size:12px;
  font-weight:700;
}


.press-read-arrow{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--navy);

  color:#fff;

  font-size:16px;
}



/* =========================================
   FILTER
========================================= */

.press-section-head{
  display:flex;

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

  gap:30px;
}


.press-filter{
  display:flex;
  flex-wrap:wrap;

  gap:7px;

  margin-bottom:7px;
}


.press-filter button{
  padding:
    9px 14px;

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

  border-radius:999px;

  background:transparent;

  color:var(--muted);

  font-size:10px;
  font-weight:700;

  cursor:pointer;

  transition:.2s;
}


.press-filter button:hover{
  color:var(--ink);

  border-color:
    rgba(16,24,32,.3);
}


.press-filter button.active{
  border-color:var(--navy);

  background:var(--navy);

  color:#fff;
}



/* =========================================
   NEWS GRID
========================================= */

.press-news-grid{
  display:grid;

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

  gap:18px;
}


.press-news-card{
  position:relative;

  min-height:340px;

  padding:25px;

  display:flex;
  flex-direction:column;

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

  border-radius:24px;

  background:var(--card);

  color:inherit;

  text-decoration:none;

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


.press-news-card[hidden]{
  display:none !important;
}


.press-news-card:hover{
  transform:
    translateY(-3px);

  border-color:
    rgba(16,24,32,.25);

  box-shadow:
    0 18px 50px
    rgba(16,24,32,.07);
}


.press-news-card-large{
  grid-column:
    span 2;

  background:var(--sand);
}


.press-card-top{
  display:flex;

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

  gap:15px;

  color:var(--muted);

  font-size:9px;

  text-transform:uppercase;

  letter-spacing:.07em;
}


.press-card-number{
  color:var(--blue);

  font-weight:800;
}


.press-card-content{
  margin-top:auto;

  padding-top:60px;
}


.press-card-tag{
  display:block;

  margin-bottom:12px;

  color:var(--blue);

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

  text-transform:uppercase;

  letter-spacing:.07em;
}


.press-card-content h3{
  max-width:550px;

  margin:
    0 0 13px;

  color:var(--ink);

  font-size:22px;

  line-height:1.1;

  letter-spacing:-.03em;
}


.press-news-card-large
.press-card-content h3{
  font-size:30px;
}


.press-card-content p{
  max-width:500px;

  margin:0;

  padding-right:40px;

  color:var(--muted);

  font-size:11px;

  line-height:1.6;
}


.press-card-arrow{
  position:absolute;

  right:20px;
  bottom:20px;

  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:
    rgba(16,24,32,.06);

  color:var(--ink);
}


.press-more{
  display:flex;
  justify-content:center;

  margin-top:35px;
}


.press-more button{
  min-width:250px;

  height:52px;

  padding:
    0 18px;

  display:flex;

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

  gap:30px;

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

  border-radius:999px;

  background:transparent;

  color:var(--ink);

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

  cursor:pointer;
}



/* =========================================
   MEDIA
========================================= */

.press-media-section{
  background:var(--navy);

  color:#fff;
}


.press-media-grid{
  display:grid;

  grid-template-columns:
    .8fr 1.2fr;

  gap:80px;
}


.press-media-intro .eyebrow{
  color:var(--lime);
}


.press-media-intro h2{
  margin:
    15px 0 22px;

  color:#fff;

  font-size:
    clamp(44px,6vw,74px);

  line-height:.94;

  letter-spacing:-.055em;
}


.press-media-intro p{
  max-width:430px;

  margin:0;

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

  font-size:13px;

  line-height:1.7;
}


.press-media-links{
  border-top:
    1px solid rgba(255,255,255,.15);
}


.press-media-links > a{
  min-height:95px;

  display:grid;

  grid-template-columns:
    45px 1fr 30px;

  gap:15px;

  align-items:center;

  border-bottom:
    1px solid rgba(255,255,255,.15);

  color:#fff;

  text-decoration:none;

  transition:
    padding .2s ease,
    background .2s ease;
}


.press-media-links > a:hover{
  padding-left:12px;

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


.press-media-num{
  color:var(--lime);

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


.press-media-links strong{
  display:block;

  margin-bottom:5px;

  font-size:15px;
}


.press-media-links small{
  color:
    rgba(255,255,255,.5);

  font-size:10px;
}



/* =========================================
   RULES
========================================= */

.press-rules{
  display:grid;

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

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

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


.press-rule{
  min-height:300px;

  padding:28px;

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


.press-rule:last-child{
  border-right:0;
}


.press-rule-num{
  color:var(--blue);

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


.press-rule h3{
  margin:
    100px 0 14px;

  color:var(--ink);

  font-size:24px;

  letter-spacing:-.03em;
}


.press-rule p{
  margin:0;

  color:var(--muted);

  font-size:12px;

  line-height:1.7;
}



/* =========================================
   CONTACT
========================================= */

.press-contact{
  padding:45px;

  display:grid;

  grid-template-columns:
    .9fr 1.1fr;

  gap:70px;

  border-radius:30px;

  background:var(--sand);
}


.press-contact-copy h2{
  margin:
    15px 0 20px;

  color:var(--ink);

  font-size:
    clamp(45px,6vw,72px);

  line-height:.93;

  letter-spacing:-.055em;
}


.press-contact-copy p{
  max-width:380px;

  margin:0;

  color:var(--muted);

  font-size:13px;

  line-height:1.7;
}


.press-contact-details{
  border-top:
    1px solid rgba(16,24,32,.15);
}


.press-contact-row{
  padding:
    20px 0;

  display:grid;

  grid-template-columns:
    150px 1fr;

  gap:20px;

  border-bottom:
    1px solid rgba(16,24,32,.15);
}


.press-contact-row small{
  color:var(--muted);

  font-size:9px;

  text-transform:uppercase;

  letter-spacing:.07em;
}


.press-contact-row a,
.press-contact-row strong{
  color:var(--ink);

  font-size:14px;

  line-height:1.5;

  text-decoration:none;
}


.press-contact-note{
  margin-top:20px;

  padding:15px;

  border-radius:15px;

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

  color:var(--muted);

  font-size:10px;

  line-height:1.6;
}



/* =========================================
   MOBILE
========================================= */

@media(max-width:980px){

  .press-hero-grid,
  .press-media-grid,
  .press-contact{
    grid-template-columns:1fr;
  }


  .press-featured{
    grid-template-columns:1fr;
  }


  .press-featured-art{
    min-height:330px;
  }


  .press-news-grid{
    grid-template-columns:
      repeat(2,1fr);
  }


  .press-news-card-large{
    grid-column:span 2;
  }


  .press-rules{
    grid-template-columns:1fr;
  }


  .press-rule{
    min-height:auto;

    border-right:0;

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


  .press-rule:last-child{
    border-bottom:0;
  }


  .press-rule h3{
    margin-top:50px;
  }

}


@media(max-width:720px){

  .press-hero{
    padding:
      28px 0 48px;
  }


  .press-breadcrumbs{
    margin-bottom:30px;
  }


  .press-hero-title h1{
    font-size:58px;
  }


  .press-hero-grid{
    gap:30px;
  }


  .press-featured{
    border-radius:24px;
  }


  .press-featured-content{
    padding:30px 24px;
  }


  .press-featured-content h2{
    margin:
      70px 0 18px;

    font-size:32px;
  }


  .press-section-head{
    display:block;
  }


  .press-filter{
    margin-top:25px;
  }


  .press-news-grid{
    grid-template-columns:1fr;
  }


  .press-news-card-large{
    grid-column:auto;
  }


  .press-news-card{
    min-height:310px;
  }


  .press-news-card-large
  .press-card-content h3{
    font-size:24px;
  }


  .press-media-grid{
    gap:45px;
  }


  .press-contact{
    padding:28px 22px;

    gap:40px;

    border-radius:24px;
  }


  .press-contact-row{
    grid-template-columns:1fr;

    gap:8px;
  }

}


@media(max-width:420px){

  .press-hero-title h1{
    font-size:49px;
  }


  .press-featured-art{
    min-height:280px;
  }


  .press-featured-symbol{
    font-size:230px;
  }

}






/* =========================================
   NEWS BUTTON RESET
========================================= */

button.press-featured,
button.press-news-card{
    width:100%;

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

    font:inherit;

    text-align:left;

    cursor:pointer;
}


button.press-featured{
    padding:0;
}


button.press-news-card{
    color:inherit;
}



/* =========================================
   PAGINATION
========================================= */

.press-pagination{
    margin-top:42px;

    display:flex;

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

    gap:12px;
}


.press-pagination-pages{
    display:flex;

    align-items:center;

    gap:6px;
}


.press-pagination-pages a,
.press-pagination-pages span,
.press-pagination-arrow{
    width:42px;
    height:42px;

    display:grid;

    place-items:center;

    border-radius:50%;

    color:var(--ink);

    text-decoration:none;

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

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}


.press-pagination-pages a:hover,
.press-pagination-arrow:hover{
    background:var(--sand);
}


.press-pagination-pages a.active{
    background:var(--navy);

    color:#fff;
}


.press-pagination-arrow{
    border:
        1px solid var(--line);
}


.press-pagination-arrow:hover{
    transform:
        translateY(-2px);
}


.press-pagination-arrow.disabled{
    opacity:.25;

    pointer-events:none;
}


.press-empty{
    grid-column:1/-1;

    padding:70px 30px;

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

    border-radius:24px;

    text-align:center;

    background:var(--card);
}


.press-empty strong{
    display:block;

    margin-bottom:8px;

    color:var(--ink);

    font-size:20px;
}


.press-empty p{
    margin:0;

    color:var(--muted);

    font-size:12px;
}



/* =========================================
   NEWS MODAL
========================================= */

body.news-modal-open{
    overflow:hidden;
}


.press-news-modal{
    position:fixed;

    inset:0;

    z-index:5000;

    display:flex;

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

    padding:30px;

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:
        opacity .22s ease,
        visibility .22s ease;
}


.press-news-modal.active{
    opacity:1;

    visibility:visible;

    pointer-events:auto;
}


.press-news-modal-backdrop{
    position:absolute;

    inset:0;

    background:
        rgba(10,18,25,.68);

    backdrop-filter:
        blur(8px);
}


.press-news-modal-dialog{
    position:relative;

    z-index:2;

    width:
        min(820px,100%);

    max-height:
        calc(100vh - 60px);

    overflow-y:auto;

    border-radius:28px;

    background:var(--paper);

    box-shadow:
        0 30px 100px
        rgba(0,0,0,.3);

    transform:
        translateY(20px)
        scale(.985);

    transition:
        transform .25s ease;
}


.press-news-modal.active
.press-news-modal-dialog{
    transform:
        translateY(0)
        scale(1);
}


.press-news-modal-close{
    position:sticky;

    z-index:10;

    top:18px;

    float:right;

    margin:
        18px 18px 0 0;

    width:44px;
    height:44px;

    display:grid;

    place-items:center;

    border:0;

    border-radius:50%;

    background:var(--navy);

    color:#fff;

    font-size:25px;

    line-height:1;

    cursor:pointer;

    transition:
        transform .2s ease,
        background .2s ease;
}


.press-news-modal-close:hover{
    transform:
        rotate(8deg)
        scale(1.05);

    background:var(--blue);
}


.press-news-modal-head{
    padding:
        55px
        65px
        35px;
}


.press-news-modal-meta{
    display:flex;

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

    gap:20px;

    margin-bottom:28px;

    padding-right:45px;

    color:var(--muted);

    font-size:9px;

    text-transform:uppercase;

    letter-spacing:.08em;
}


.press-news-modal-category{
    color:var(--blue);

    font-weight:800;
}


.press-news-modal-head h2{
    max-width:680px;

    margin:0;

    color:var(--ink);

    font-size:
        clamp(35px,5vw,55px);

    line-height:1;

    letter-spacing:-.05em;
}


.press-news-modal-body{
    padding:
        0 65px 60px;

    color:#34404a;

    font-size:15px;

    line-height:1.8;
}


.press-news-modal-body p{
    margin:
        0 0 22px;
}


.press-news-modal-body h3{
    margin:
        40px 0 15px;

    color:var(--ink);

    font-size:24px;

    line-height:1.15;

    letter-spacing:-.03em;
}


.press-news-modal-body ul,
.press-news-modal-body ol{
    margin:
        20px 0;

    padding-left:22px;
}


.press-news-modal-body li{
    margin-bottom:9px;
}


.press-news-modal-body blockquote{
    margin:
        35px 0;

    padding:
        25px 28px;

    border-left:
        3px solid var(--lime);

    border-radius:
        0 16px 16px 0;

    background:var(--navy);

    color:#fff;
}


.press-news-modal-footer{
    padding:
        20px 65px;

    display:flex;

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

    gap:20px;

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

    color:var(--muted);

    font-size:10px;
}


.press-news-modal-footer button{
    padding:
        10px 18px;

    border:0;

    border-radius:999px;

    background:var(--navy);

    color:#fff;

    font-size:10px;
    font-weight:700;

    cursor:pointer;
}



/* =========================================
   PRESS FILTER LINKS
========================================= */

.press-filter a{
    padding:
        9px 14px;

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

    border-radius:999px;

    background:transparent;

    color:var(--muted);

    font-size:10px;
    font-weight:700;

    text-decoration:none;

    transition:.2s;
}


.press-filter a:hover{
    color:var(--ink);

    border-color:
        rgba(16,24,32,.3);
}


.press-filter a.active{
    border-color:var(--navy);

    background:var(--navy);

    color:#fff;
}



/* =========================================
   MOBILE MODAL
========================================= */

@media(max-width:720px){

    .press-news-modal{
        align-items:flex-end;

        padding:0;
    }


    .press-news-modal-dialog{
        width:100%;

        max-height:92vh;

        border-radius:
            25px 25px 0 0;
    }


    .press-news-modal-head{
        padding:
            45px 24px
            25px;
    }


    .press-news-modal-head h2{
        font-size:34px;
    }


    .press-news-modal-body{
        padding:
            0 24px
            40px;

        font-size:14px;
    }


    .press-news-modal-footer{
        padding:
            18px 24px;
    }


    .press-news-modal-meta{
        display:block;

        padding-right:45px;
    }


    .press-news-modal-meta span{
        display:block;

        margin-bottom:6px;
    }


    .press-pagination{
        gap:5px;
    }


    .press-pagination-pages{
        gap:2px;
    }


    .press-pagination-pages a,
    .press-pagination-pages span,
    .press-pagination-arrow{
        width:36px;
        height:36px;
    }

}