
:root{
  --blue-black:#020f17;
  --midnight:#041925;
  --blue:#082434;
  --blue-soft:#102f40;
  --cream:#f4eadc;
  --cream-soft:#d9cdbd;
  --paper:#f7f1e8;
  --paper-deep:#efe4d6;
  --ink:#102734;
  --muted:#65737a;
  --line-dark:rgba(244,234,220,.18);
  --line-light:rgba(16,39,52,.13);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:999;
  opacity:.045;
  background-image:
    linear-gradient(rgba(16,39,52,.5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,39,52,.5) 1px, transparent 1px);
  background-size:38px 38px;
  mix-blend-mode:multiply;
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  padding:22px 5vw 20px;
  background:
    linear-gradient(180deg, rgba(2,15,23,.98), rgba(4,25,37,.94));
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line-dark);
  text-align:center;
}

.site-header::after{
  content:"";
  display:block;
  width:min(1260px,90vw);
  height:1px;
  margin:22px auto 0;
  background:linear-gradient(90deg, transparent, rgba(244,234,220,.38), transparent);
}

.est{
  font-family:Inter, sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.32em;
  color:rgba(244,234,220,.68);
}

.logo{
  margin:10px 0 10px;
  font-family:'Cormorant Garamond', 'Times New Roman', serif;
  font-weight:500;
  font-size:clamp(30px,3.4vw,52px);
  letter-spacing:.135em;
  line-height:1.08;
  color:var(--cream);
}

.tagline{
  font-family:Inter, sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:.36em;
  color:rgba(244,234,220,.58);
}

.site-header br{display:none}

.nav{
  margin-top:24px;
  display:flex;
  justify-content:center;
  gap:28px;
  flex-wrap:wrap;
}

.nav a{
  position:relative;
  font-family:Inter, sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--cream);
  opacity:.78;
  transition:opacity .25s ease;
}

.nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:.22em;
  bottom:-7px;
  height:1px;
  background:var(--cream);
  transform:scaleX(0);
  transform-origin:center;
  opacity:.6;
  transition:transform .25s ease;
}

.nav a:hover,
.nav a.active{opacity:1}

.nav a:hover::after,
.nav a.active::after{transform:scaleX(1)}

.mobile-toggle{display:none}

.page-blue-header{
  background:var(--blue-black);
}

.home-hero{
  position:relative;
  min-height:calc(100vh - 122px);
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(2,15,23,.98) 0%, rgba(2,15,23,.86) 28%, rgba(2,15,23,.44) 60%, rgba(2,15,23,.16) 100%),
    url('images/memory-city.webp') center center/cover no-repeat;
}

.home-hero::before{
  content:"";
  position:absolute;
  inset:5.5vw;
  border:1px solid rgba(244,234,220,.18);
  pointer-events:none;
  z-index:1;
}

.home-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 48%, rgba(255,201,126,.18), transparent 32%),
    linear-gradient(0deg, rgba(2,15,23,.52), transparent 44%);
  pointer-events:none;
}

.hero-copy{
  position:relative;
  z-index:2;
  width:min(760px, 84vw);
  margin-left:10vw;
}

.kicker{
  margin-bottom:38px;
  font-family:Inter, sans-serif;
  font-size:clamp(12px,1.05vw,16px);
  font-weight:500;
  letter-spacing:.56em;
  text-transform:uppercase;
  color:rgba(244,234,220,.70);
}

.hero-title{
  margin:0;
  font-family:'Cormorant Garamond', 'Times New Roman', serif;
  font-weight:500;
  font-size:clamp(58px,6.8vw,108px);
  line-height:1.02;
  letter-spacing:-.01em;
  color:var(--cream);
}

.hero-title::after{
  content:"";
  display:block;
  width:96px;
  height:1px;
  margin:44px 0 34px;
  background:linear-gradient(90deg, rgba(244,234,220,.72), transparent);
}

.hero-text{
  margin:0;
  max-width:590px;
  font-family:'Cormorant Garamond', 'Times New Roman', serif;
  font-size:clamp(31px,3.1vw,51px);
  line-height:1.08;
  letter-spacing:-.02em;
  color:rgba(244,234,220,.84);
}

.section{
  position:relative;
  padding:104px 7vw;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.46), transparent 38%),
    linear-gradient(180deg, var(--paper), var(--paper-deep));
  color:var(--ink);
}

.page-section{
  min-height:calc(100vh - 150px);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.section-head{
  max-width:1000px;
  margin:0 auto 58px;
  text-align:center;
}

.section-label{
  display:inline-block;
  margin-bottom:4px;
  font-family:Inter, sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:#6d7a80;
}

.section-label::before,
.section-label::after{
  content:"";
  display:inline-block;
  width:34px;
  height:1px;
  margin:0 14px 3px;
  background:rgba(16,39,52,.24);
}

.section-head h2{
  margin:14px auto 18px;
  max-width:980px;
  font-family:'Cormorant Garamond', 'Times New Roman', serif;
  font-size:clamp(31px,3.7vw,58px);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.015em;
  color:var(--ink);
}

.section-head p{
  margin:22px auto 0;
  max-width:790px;
  font-family:'Cormorant Garamond', 'Times New Roman', serif;
  font-size:clamp(18px,2vw,28px);
  line-height:1.38;
  letter-spacing:-.018em;
  color:#4d5a60;
}

.grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  max-width:1220px;
  width:100%;
  margin:0 auto;
}

.article{
  position:relative;
  min-height:440px;
  padding:0 0 30px;
  background:rgba(255,250,243,.92);
  border:1px solid var(--line-light);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 28px 70px rgba(16,39,52,.08);
}

.article::after{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(16,39,52,.08);
  pointer-events:none;
}

.article img{
  width:100%;
  height:218px;
  object-fit:cover;
  display:block;
  background:#e9dfd3;
  border-bottom:1px solid rgba(16,39,52,.10);
  filter:saturate(.82) contrast(1.04);
}

.article h3{
  margin:30px 30px 12px;
  font-family:'Cormorant Garamond', 'Times New Roman', serif;
  font-size:clamp(32px,2.8vw,43px);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.035em;
  color:var(--ink);
}

.article p{
  margin:0 30px;
  font-family:Inter, sans-serif;
  font-size:13.5px;
  line-height:1.75;
  color:#526067;
}

.editorial-note{
  background:
    linear-gradient(135deg, #020f17, #082434 68%, #061b26);
  color:var(--cream);
  padding:86px 8vw;
  border-top:1px solid rgba(244,234,220,.16);
}

.editorial-note-inner{
  max-width:1040px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:56px;
  align-items:start;
}

.editorial-note h2{
  margin:0;
  font-family:'Cormorant Garamond', 'Times New Roman', serif;
  font-size:clamp(26px,3vw,46px);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.015em;
}

.editorial-note p{
  margin:0;
  font-family:'Cormorant Garamond', 'Times New Roman', serif;
  font-size:31px;
  line-height:1.08;
  color:rgba(244,234,220,.78);
}

.subscribe-panel{
  max-width:900px;
  margin:0 auto;
  padding:54px;
  background:rgba(255,250,243,.94);
  border:1px solid rgba(16,39,52,.14);
  text-align:center;
  box-shadow:0 28px 70px rgba(16,39,52,.08);
}

.subscribe-panel a{
  display:inline-block;
  margin-top:28px;
  padding:15px 30px;
  border:1px solid #102734;
  color:#102734;
  text-decoration:none;
  font-family:Inter, sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.25em;
  text-transform:uppercase;
}

.footer{
  padding:30px;
  text-align:center;
  font-family:Inter, sans-serif;
  font-size:9.5px;
  letter-spacing:.28em;
  color:rgba(244,234,220,.68);
  background:var(--blue-black);
}

@media (max-width: 980px){
  .grid{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
  body::before{display:none}

  .site-header{padding:15px 5vw 12px}

  .site-header::after{display:none}

  .logo{
    font-size:clamp(22px,6.2vw,31px);
    letter-spacing:.08em;
  }

  .mobile-toggle{
    display:flex;
    position:absolute;
    right:18px;
    top:25px;
    width:30px;
    height:22px;
    padding:50;
    border:0;
    background:transparent;
    flex-direction:column;
    justify-content:space-between;
  }

  .mobile-toggle span{
    display:block;
    height:1px;
    background:var(--cream);
  }

  .nav{
    display:none;
    margin-top:18px;
    padding-top:16px;
	   padding-left:50px !important;
    border-top:1px solid rgba(244,234,220,.14);
  }

  .nav.open{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }

  .home-hero{
    min-height:calc(100vh - 84px);
    align-items:flex-end;
    padding-bottom:10vh;
    background:
      linear-gradient(0deg, rgba(2,15,23,.98) 0%, rgba(2,15,23,.74) 43%, rgba(2,15,23,.18) 100%),
      url('images/memory-city.png') center center/cover no-repeat;
  }

  .home-hero::before{
    inset:22px;
  }

  .hero-copy{
    margin:0 auto;
    width:86vw;
  }

  .kicker{
    margin-bottom:24px;
    letter-spacing:.34em;
  }

  .hero-title{
    font-size:clamp(44px,11vw,68px);
  line-height:1.04;
  letter-spacing:-.008em;
  }

  .hero-title::after{margin:30px 0 24px}

  .hero-text{font-size:clamp(27px,7vw,42px)}

  .section{
    padding:72px 6vw;
  }

  .page-section{
    min-height:auto;
  }

  .section-head{
    margin-bottom:38px;
  }

  .section-label::before,
  .section-label::after{
    width:18px;
    margin-left:8px;
    margin-right:8px;
  }

  .section-head h2{
    font-size:clamp(34px,9vw,52px);
  }

  .section-head p{
    font-size:25px;
  }

  .grid{
    grid-template-columns:1fr;
  }

  .article{
    min-height:auto;
  }

  .article img{
    height:205px;
  }

  .editorial-note-inner{
    grid-template-columns:1fr;
  }

  .subscribe-panel{
    padding:36px 24px;
  }
}


@media (max-width:760px){
  .site-header{
    padding:22px 5vw 18px !important;
  }

  .nav{
    margin-top:20px !important;
	  padding-left:50px !important;
  }

  .mobile-toggle{
    top:34px !important;
  }

  .logo{
    line-height:1.05;
  }
}


/* Clean mobile hamburger and calmer dropdown */
@media (max-width:760px){
  .site-header::after{
    display:none !important;
  }

  .mobile-toggle{
    width:30px !important;
    height:20px !important;
    top:34px !important;
    right:20px !important;
    opacity:.88;
  }

  .mobile-toggle span{
    display:block !important;
    height:1px !important;
    width:30px !important;
    background:rgba(244,234,220,.92) !important;
    border-radius:4px;
  }

  .nav{
    border-top:0 !important;
    padding-top:22px !important;
    margin-top:20px !important;
	  padding-left:50px !important;
  }

  .nav.open{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:13px !important;
  }

  .nav a::after{
    display:none !important;
  }
}





/* Unified sophisticated blue site header */
.page-blue-header,
.site-header{
  background:
    radial-gradient(circle at top center, rgba(18,57,80,.28), transparent 48%),
    linear-gradient(180deg, #02131d 0%, #082434 100%);
}


.article-link{
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}

.article-link:hover{
  transform:translateY(-3px);
  transition:transform .25s ease;
}

.article-link:hover h3{
  opacity:.86;
}


.article-groups{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  gap:58px;
}

.article-group > h3{
  margin:0 0 22px;
  font-family:Inter, sans-serif;
  font-size:11px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:#65737a;
  text-align:center;
}

.article-groups .grid{
  margin-bottom:0;
}

@media (max-width:760px){
  .article-groups{
    gap:42px;
  }
}


.article-group > h3{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
}

.article-group > h3::before,
.article-group > h3::after{
  content:"";
  width:72px;
  height:1px;
  background:rgba(16,39,52,.22);
}

@media (max-width:760px){
  .article-group > h3{
    gap:18px;
  }

  .article-group > h3::before,
  .article-group > h3::after{
    width:42px;
  }
}


.subscribe-panel h2{
  line-height:1.08 !important;
  letter-spacing:-.012em !important;
}


@media (max-width:760px){
  .logo{
    margin:18px 0 16px !important;
    line-height:1.16 !important;
  }

  .tagline{
    margin-top:6px;
  }

  .mobile-toggle{
    top:42px !important;
  }
}


.tagline{
  margin-top:2px;
}

@media (max-width:760px){
  .site-header{
    padding:20px 5vw 18px !important;
  }

  .logo{
    margin:12px 0 10px !important;
    line-height:1.06 !important;
  }

  .tagline{
    margin-top:0 !important;
  }

  .mobile-toggle{
    top:34px !important;
  }
}


.hero-link{
  display:block;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}

.hero-link:hover .hero-title,
.hero-link:hover .hero-text{
  opacity:.88;
  transition:opacity .25s ease;
}


.article img{
  filter:saturate(.72) contrast(1.04) brightness(.92);
}

.article:hover img{
  filter:saturate(.78) contrast(1.06) brightness(.95);
  transition:filter .35s ease;
}


.curated-sections{
  padding:30px 0 80px;
}

.curated-sections .grid{
  margin-bottom:70px;
}

.curated-sections .article{
  max-width:760px;
  margin:0 auto;
}

.curated-sections .article img{
  aspect-ratio:16/10;
}

.curated-sections .article h3{
  font-size:clamp(42px,5vw,76px);
  line-height:1.04;
  letter-spacing:-.03em;
  margin-top:26px;
}

.curated-sections .article p{
  font-size:clamp(18px,1.8vw,28px);
  max-width:760px;
  color:#53606a;
}

@media (max-width:760px){

  .curated-sections .article h3{
    font-size:clamp(30px,9vw,52px);
  }

  .curated-sections .grid{
    margin-bottom:56px;
  }

}


/* Professional restrained homepage edition */
.homepage-edition{
  padding-top:88px !important;
  padding-bottom:96px !important;
}

.homepage-edition-head{
  max-width:900px;
  margin:0 auto 42px;
  text-align:center;
}

.homepage-edition-head h2{
  margin:14px 0 0;
  font-family:'Cormorant Garamond','Times New Roman',serif;
  font-size:clamp(34px,4vw,56px);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.015em;
  color:#102734;
}

.featured-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
}

.featured-card{
  display:block;
  text-decoration:none;
  color:inherit;
  background:rgba(255,250,243,.94);
  border:1px solid rgba(16,39,52,.13);
  min-height:390px;
  overflow:hidden;
  transition:transform .25s ease, opacity .25s ease;
}

.featured-card:hover{
  transform:translateY(-3px);
}

.featured-card img{
  width:100%;
  height:155px;
  object-fit:cover;
  display:block;
  filter:saturate(.76) contrast(1.04) brightness(.93);
}

.featured-meta{
  margin:24px 22px 16px;
  font-family:Inter,sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:#65737a;
}

.featured-card h3{
  margin:0 22px 12px;
  font-family:'Cormorant Garamond','Times New Roman',serif;
  font-size:clamp(25px,2.1vw,34px);
  line-height:1.02;
  font-weight:500;
  letter-spacing:-.02em;
  color:#102734;
}

.featured-card p{
  margin:0 22px 26px;
  font-family:Inter,sans-serif;
  font-size:13px;
  line-height:1.65;
  color:#526067;
}

@media (max-width:1100px){
  .featured-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:760px){
  .homepage-edition{
    padding-top:64px !important;
    padding-bottom:72px !important;
  }

  .featured-grid{
    grid-template-columns:1fr;
  }

  .featured-card{
    min-height:auto;
  }

  .featured-card img{
    height:210px;
  }
}


/* iPhone 15 clean hamburger menu */
@media (max-width:760px){
  .mobile-toggle{
    display:flex !important;
    position:absolute !important;
    right:20px !important;
    top:34px !important;
    width:32px !important;
    height:24px !important;
    padding:6px !important;
	  padding-left:50px !important;
    background:transparent !important;
    border:0 !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    align-items:center !important;
    opacity:.92;
  }

  .mobile-toggle span{
    display:block !important;
    width:20px !important;
    height:1px !important;
    background:#f4eadc !important;
    border-radius:2px !important;
  }

  .nav{
    display:none;
    margin-top:22px !important;
    padding-top:20px !important;
    border-top:0 !important;
	  padding-left:50px !important;
  }

  .nav.open{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .nav a::after{
    display:none !important;
  }
}


/* Refined About page text */
.about-head{
  margin-bottom:34px;
}

.about-text{
  max-width:920px;
  margin:0 auto;
}

.about-text p{
  margin:0 0 26px;
  font-family:'Cormorant Garamond','Times New Roman',serif;
  font-size:clamp(21px,2vw,30px);
  line-height:1.48;
  letter-spacing:-.005em;
  color:#4d5a60;
}

@media (max-width:760px){
  .about-text p{
    font-size:21px;
    line-height:1.5;
  }
}


/* Larger left-aligned hamburger menu */
@media (max-width:760px){

  .nav.open{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
    text-align:left !important;
    justify-items:start !important;
    padding-left:6px !important;
  }

  .nav a{
    font-size:20px !important;
    letter-spacing:.16em !important;
    line-height:1.6 !important;
    text-align:left !important;
    display:block !important;
    width:100% !important;
	  padding-left:20px !important;
  }

}


/* iPhone 15 refined header and half-screen menu */
@media (max-width:760px){

  .site-header{
    padding:24px 5vw 22px !important;
    text-align:center !important;
  }

  .logo{
    max-width:72vw !important;
    margin:14px auto 10px !important;
    font-size:clamp(25px,7vw,34px) !important;
    line-height:1.08 !important;
    letter-spacing:.07em !important;
    white-space:nowrap !important;
  }

  .tagline{
    max-width:72vw !important;
    margin:0 auto !important;
    font-size:9px !important;
    letter-spacing:.26em !important;
    line-height:1.6 !important;
  }

  .mobile-toggle{
    display:flex !important;
    position:absolute !important;
    right:18px !important;
    top:78px !important;
    width:32px !important;
    height:24px !important;
    padding:4px !important;
    background:transparent !important;
    border:0 !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    align-items:center !important;
    z-index:80 !important;
  }

  .mobile-toggle span{
    width:22px !important;
    height:1px !important;
    background:#f3eadc !important;
    border-radius:2px !important;
  }

  .nav{
    display:none !important;
    width:56vw !important;
    max-width:320px !important;
    margin:28px 0 0 0 !important;
    padding:28px 0 10px 50px !important;
    border-top:1px solid rgba(243,234,220,.12) !important;
    text-align:left !important;
  }

  .nav.open{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:13px !important;
    justify-items:start !important;
  }

  .nav a{
    font-size:18px !important;
    letter-spacing:.14em !important;
    line-height:1.45 !important;
    text-align:left !important;
    width:auto !important;
    display:block !important;
    color:#f3eadc !important;
    opacity:.88 !important;
	  padding-left: 45px !important;
  }

  .nav a::after{
    display:none !important;
  }
}

@media (max-width:430px){
  .logo{
    max-width:70vw !important;
    font-size:clamp(24px,6.7vw,31px) !important;
    letter-spacing:.055em !important;
  }

  .tagline{
    max-width:70vw !important;
    font-size:8.5px !important;
    letter-spacing:.24em !important;
  }

  .mobile-toggle{
    right:16px !important;
    top:78px !important;
  }

  .nav{
    width:58vw !important;
  }

  .nav a{
    font-size:16px !important;
    letter-spacing:.13em !important;
  }
}


/* PROFESSIONAL MOBILE HAMBURGER REFINEMENT */

@media (max-width: 768px){

.site-header{
    padding-top: 20px;
    padding-bottom: 18px;
}

.masthead{
    max-width: 82%;
    margin: 0 auto;
}

.masthead h1,
.masthead .site-title{
    font-size: clamp(38px, 6vw, 58px);
    letter-spacing: .06em;
    line-height: 1.08;
}

.menu-toggle,
.hamburger{
    position: absolute;
    top: 34px;
    right: 22px;
    width: 34px;
    height: 26px;
    z-index: 9999;
}

.menu-toggle span,
.hamburger span{
    height: 1.5px !important;
    margin: 6px 0 !important;
    opacity: .92;
}

.mobile-menu,
.nav-overlay,
.mobile-nav{
    width: 54% !important;
    max-width: 320px;
    background: rgba(2, 18, 32, 0.96) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: -12px 0 40px rgba(0,0,0,.28);
}

.mobile-menu a,
.mobile-nav a,
.nav-overlay a{
    font-size: 1.08rem !important;
    letter-spacing: .14em !important;
    line-height: 1.9 !important;
    text-align: left !important;
    padding-left: 34px !important;
    opacity: .92;
}

.mobile-menu ul,
.mobile-nav ul,
.nav-overlay ul{
    align-items: flex-start !important;
    padding-top: 38px !important;
}

.mobile-menu li,
.mobile-nav li,
.nav-overlay li{
    margin-bottom: 10px !important;
}

}


/* FINAL IPHONE 15 FLOATING EDITORIAL MENU */
@media screen and (max-width:760px){

  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    padding:22px 5vw 20px !important;
    text-align:center !important;
    overflow:visible !important;
  }

  .logo{
    max-width:68vw !important;
    margin:12px auto 10px !important;
    padding-right:48px !important;
    font-size:clamp(23px,6.1vw,31px) !important;
    line-height:1.08 !important;
    letter-spacing:.045em !important;
    white-space:nowrap !important;
  }

  .tagline{
    max-width:68vw !important;
    margin:0 auto !important;
    font-size:8px !important;
    letter-spacing:.22em !important;
    line-height:1.55 !important;
  }

  .mobile-toggle{
    display:flex !important;
    position:absolute !important;
    top:72px !important;
    right:16px !important;
    width:28px !important;
    height:20px !important;
    padding:3px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    align-items:center !important;
    z-index:1200 !important;
    opacity:.88 !important;
  }

  .mobile-toggle span{
    display:block !important;
    width:20px !important;
    height:1px !important;
    margin:0 !important;
    background:rgba(244,234,220,.88) !important;
    border-radius:2px !important;
  }

  .nav{
    display:none !important;
    position:fixed !important;
    top:132px !important;
    left:5vw !important;
    width:45vw !important;
    min-width:188px !important;
    max-width:255px !important;
    height:auto !important;
    max-height:58vh !important;
    overflow-y:auto !important;
    margin:0 !important;
    padding:24px 22px 24px 50px !important;
    text-align:left !important;
    border-top:1px solid rgba(244,234,220,.10) !important;
    border-left:1px solid rgba(244,234,220,.07) !important;
    background:linear-gradient(
      180deg,
      rgba(2,15,23,.88) 0%,
      rgba(6,32,46,.82) 100%
    ) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
    box-shadow:18px 24px 54px rgba(0,0,0,.26) !important;
    z-index:1100 !important;
  }

  .nav.open{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:start !important;
    align-items:start !important;
    gap:11px !important;
    animation:navSoftIn .22s ease-out both;
  }

  .nav a{
    display:block !important;
    width:auto !important;
    padding:0 !important;
    margin:0 !important;
    text-align:left !important;
    font-size:12px !important;
    line-height:1.65 !important;
    font-weight:400 !important;
    letter-spacing:.18em !important;
    color:#f3eadc !important;
    opacity:.88 !important;
  }

  .nav a:hover,
  .nav a.active{
    opacity:1 !important;
  }

  .nav a::after{
    display:none !important;
  }

  @keyframes navSoftIn{
    from{
      opacity:0;
      transform:translateY(-8px);
    }
    to{
      opacity:1;
      transform:translateY(0);
    }
  }
}

@media screen and (max-width:430px){

  .site-header{
    padding-top:22px !important;
    padding-bottom:19px !important;
  }

  .logo{
    max-width:67vw !important;
    padding-right:50px !important;
    font-size:clamp(22px,5.85vw,29px) !important;
    letter-spacing:.04em !important;
  }

  .tagline{
    max-width:67vw !important;
    font-size:7.8px !important;
    letter-spacing:.20em !important;
  }

  .mobile-toggle{
    top:72px !important;
    right:14px !important;
  }

  .nav{
    top:132px !important;
    left:5vw !important;
    width:44vw !important;
    min-width:178px !important;
    max-width:238px !important;
    padding:22px 22px 22px 50px !important;
  }

  .nav.open{
    gap:10px !important;
  }

  .nav a{
    font-size:11px !important;
    letter-spacing:.17em !important;
    line-height:1.6 !important;
  }
}


/* IPHONE 15 FINAL RIGHT-SIDE EDITORIAL DRAWER */
@media screen and (max-width:760px){

  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    padding:22px 5vw 20px !important;
    text-align:center !important;
    overflow:visible !important;
  }

  .logo{
    max-width:68vw !important;
    margin:12px auto 10px !important;
    padding-right:46px !important;
    font-size:clamp(22px,5.9vw,30px) !important;
    line-height:1.08 !important;
    letter-spacing:.04em !important;
    white-space:nowrap !important;
  }

  .tagline{
    max-width:68vw !important;
    margin:0 auto !important;
    font-size:8px !important;
    letter-spacing:.20em !important;
    line-height:1.55 !important;
  }

  .mobile-toggle{
    display:flex !important;
    position:absolute !important;
    top:72px !important;
    right:18px !important;
    width:28px !important;
    height:20px !important;
    padding:3px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    align-items:center !important;
    z-index:1400 !important;
    opacity:.88 !important;
  }

  .mobile-toggle span{
    display:block !important;
    width:20px !important;
    height:1px !important;
    margin:0 !important;
    background:rgba(244,234,220,.88) !important;
    border-radius:2px !important;
  }

  .nav{
    display:none !important;
    position:fixed !important;
    top:116px !important;
    right:0 !important;
    left:auto !important;
    width:48vw !important;
    min-width:185px !important;
    max-width:250px !important;
    height:calc(100vh - 116px) !important;
    max-height:none !important;
    overflow-y:auto !important;
    margin:0 !important;
    padding:34px 24px 34px 50px !important;
    text-align:left !important;
    border-top:1px solid rgba(244,234,220,.08) !important;
    border-left:1px solid rgba(244,234,220,.10) !important;
    background:linear-gradient(
      180deg,
      rgba(2,15,23,.94) 0%,
      rgba(6,32,46,.90) 100%
    ) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
    box-shadow:-18px 24px 54px rgba(0,0,0,.28) !important;
    z-index:1300 !important;
  }

  .nav.open{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:start !important;
    align-items:start !important;
    align-content:start !important;
    gap:13px !important;
    animation:navDrawerIn .22s ease-out both;
  }

  .nav a{
    display:block !important;
    width:auto !important;
    padding:0 !important;
    margin:0 !important;
    text-align:left !important;
    font-size:11px !important;
    line-height:1.75 !important;
    font-weight:400 !important;
    letter-spacing:.18em !important;
    color:#f3eadc !important;
    opacity:.88 !important;
  }

  .nav a::after{
    display:none !important;
  }

  @keyframes navDrawerIn{
    from{
      opacity:0;
      transform:translateX(10px);
    }
    to{
      opacity:1;
      transform:translateX(0);
    }
  }
}

@media screen and (max-width:430px){

  .logo{
    max-width:66vw !important;
    font-size:clamp(21px,5.6vw,28px) !important;
    letter-spacing:.035em !important;
  }

  .mobile-toggle{
    top:72px !important;
    right:16px !important;
  }

  .nav{
    top:116px !important;
    width:47vw !important;
    min-width:176px !important;
    max-width:226px !important;
    height:calc(100vh - 116px) !important;
    padding:30px 20px 30px 50px !important;
  }

  .nav.open{
    gap:12px !important;
  }

  .nav a{
    font-size:10.5px !important;
    letter-spacing:.17em !important;
    line-height:1.7 !important;
  }
}


/* OPTION-style spacious mobile menu, kept in Midweek navy */
@media screen and (max-width:760px){

  body.menu-open{
    overflow:hidden !important;
  }

  body.menu-open::after{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(2,15,23,.38);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
    z-index:980;
    pointer-events:none;
  }

  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:1200 !important;
    padding:24px 5vw 24px !important;
    overflow:visible !important;
    background:
      radial-gradient(circle at top center, rgba(18,57,80,.28), transparent 50%),
      linear-gradient(180deg, #02131d 0%, #082434 100%) !important;
  }

  .logo{
    max-width:72vw !important;
    margin:12px auto 10px !important;
    padding-right:44px !important;
    font-size:clamp(22px,5.8vw,30px) !important;
    line-height:1.08 !important;
    letter-spacing:.045em !important;
    white-space:nowrap !important;
  }

  .tagline{
    max-width:70vw !important;
    margin:0 auto !important;
    font-size:8px !important;
    letter-spacing:.22em !important;
    line-height:1.55 !important;
  }

  .mobile-toggle{
    display:flex !important;
    position:absolute !important;
    top:76px !important;
    right:18px !important;
    width:34px !important;
    height:34px !important;
    padding:8px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    gap:5px !important;
    z-index:1500 !important;
    opacity:.92 !important;
  }

  .mobile-toggle span{
    display:block !important;
    width:22px !important;
    height:1px !important;
    margin:0 !important;
    background:rgba(244,234,220,.90) !important;
    border-radius:2px !important;
    transform-origin:center !important;
    transition:transform .22s ease, opacity .18s ease !important;
  }

  .mobile-toggle.active span:nth-child(1){
    transform:translateY(6px) rotate(45deg) !important;
  }

  .mobile-toggle.active span:nth-child(2){
    opacity:0 !important;
  }

  .mobile-toggle.active span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg) !important;
  }

  .nav{
    display:grid !important;
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    left:auto !important;
    width:69vw !important;
    min-width:270px !important;
    max-width:590px !important;
    height:100vh !important;
    margin:0 !important;
    padding:190px 7vw 80px 8.5vw !important;
    grid-template-columns:1fr !important;
    align-content:start !important;
    justify-items:start !important;
    gap:0 !important;
    text-align:left !important;
    border-top:0 !important;
    border-left:1px solid rgba(244,234,220,.14) !important;
    background:
      radial-gradient(circle at top right, rgba(38,84,105,.26), transparent 46%),
      linear-gradient(180deg, rgba(2,15,23,.98) 0%, rgba(7,36,52,.96) 100%) !important;
    backdrop-filter:blur(20px) !important;
    -webkit-backdrop-filter:blur(20px) !important;
    box-shadow:-30px 0 80px rgba(0,0,0,.36) !important;
    z-index:1300 !important;
    overflow-y:auto !important;
    transform:translateX(100%) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:transform .32s ease, opacity .28s ease !important;
  }

  .nav.open{
    transform:translateX(0) !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .nav a{
    display:block !important;
    width:100% !important;
    padding:23px 0 21px !important;
    margin:0 !important;
    border-bottom:1px solid rgba(244,234,220,.13) !important;
    text-align:left !important;
    font-family:Inter, sans-serif !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:400 !important;
    letter-spacing:.24em !important;
    text-transform:uppercase !important;
    color:#f3eadc !important;
    opacity:.88 !important;
  }

  .nav a:hover,
  .nav a.active{
    opacity:1 !important;
  }

  .nav a::after{
    display:none !important;
  }
}

@media screen and (max-width:430px){

  .site-header{
    padding:24px 5vw 22px !important;
  }

  .logo{
    max-width:69vw !important;
    padding-right:46px !important;
    font-size:clamp(21px,5.55vw,28px) !important;
    letter-spacing:.038em !important;
  }

  .tagline{
    max-width:68vw !important;
    font-size:7.8px !important;
    letter-spacing:.20em !important;
  }

  .mobile-toggle{
    top:74px !important;
    right:16px !important;
  }

  .nav{
    width:69vw !important;
    min-width:260px !important;
    padding:180px 7vw 72px 8.5vw !important;
  }

  .nav a{
    font-size:12px !important;
    letter-spacing:.22em !important;
    padding:21px 0 19px !important;
  }
}






/* FORCE SPACE ON MOBILE MENU LINKS */
@media screen and (max-width: 760px) {
  .nav a, 
  [class*="nav"] a, 
  [class*="menu"] a {
    padding-left: 34px !important;
    margin-left: 0 !important;
    display: block !important;
    text-align: left !important;
    transform: none !important;
  }
	
	
	
	
  
}