@font-face{
  font-family:'Neuzeit Grotesk Black';
  src:local('Neuzeit Grotesk Black'), local('NeuzeitGro-Bla');
  font-weight:100 900;
  font-style:normal;
}

:root{
  --coral:      #FF5867;
  --coral-deep: #C93B4A;
  --coral-dark: #A82C3B;
  --ink:        #16181A;
  --white:      #FFFFFF;
  --line:       rgba(255,255,255,.45);
  --font-disp:  'Neuzeit Grotesk Black', 'neuzeit-grotesk', sans-serif;
  --font-body:  'Zen Kaku Gothic New', sans-serif;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:72px; }
body{
  font-family:var(--font-body);
  background:var(--coral);
  color:var(--white);
  line-height:1.8;
  font-size:16px;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
::selection{ background:var(--ink); color:var(--white); }

.container{ max-width:1080px; margin:0 auto; padding:0 24px; }

.header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(255,88,103,.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  max-width:1240px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 24px; height:64px;
}
.header .logo{ display:flex; align-items:center; }
.header .logo img{ height:34px; width:auto; }
.gnav ul{ display:flex; gap:26px; list-style:none; }
.gnav a{
  text-decoration:none; font-size:13px; font-weight:700; letter-spacing:.12em;
  padding:8px 0; border-bottom:2px solid transparent;
  transition:border-color .2s;
}
.gnav a:hover{ border-color:var(--white); }
.gnav a[aria-current="page"]{ border-color:var(--white); }
.header .entry-link{
  background:var(--ink); color:var(--white); text-decoration:none;
  font-family:var(--font-disp); font-weight:900; font-size:14px; letter-spacing:.12em;
  padding:13px 22px 7px;
  transition:background .2s;
}
.header .entry-link:hover{ background:#000; }

.nav-toggle-input{ display:none; }
.nav-toggle{
  display:none;
  width:44px; height:44px;
  flex-direction:column; justify-content:center; align-items:center; gap:6px;
  cursor:pointer;
}
.nav-toggle span{ width:24px; height:2px; background:var(--white); transition:.3s; }

@media (max-width: 880px){
  .nav-toggle{ display:flex; }
  .header .entry-link{ display:none; }
  .gnav{
    position:fixed; inset:64px 0 auto 0;
    background:var(--coral-deep);
    max-height:0; overflow:hidden; transition:max-height .35s ease;
  }
  .gnav ul{ flex-direction:column; gap:0; padding:16px 24px 24px; }
  .gnav a{ display:block; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.25); }
  .nav-toggle-input:checked ~ .gnav{ max-height:600px; }
  .nav-toggle-input:checked ~ .nav-toggle span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
  .nav-toggle-input:checked ~ .nav-toggle span:nth-child(2){ opacity:0; }
  .nav-toggle-input:checked ~ .nav-toggle span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
}

.footer{
  background:var(--ink); color:rgba(255,255,255,.85);
  padding:64px 0 32px;
}
.footer .top{
  display:flex; flex-wrap:wrap; gap:32px; justify-content:space-between; align-items:flex-end;
  padding-bottom:40px; margin-bottom:32px;
  border-bottom:1px solid rgba(255,88,103,.55);
}
.footer .logo{ margin-bottom:8px; }
.footer .logo img{ height:44px; width:auto; }
.footer .org{ font-size:13px; }
.footer nav ul{ display:flex; flex-wrap:wrap; gap:20px; list-style:none; font-size:13px; }
.footer nav a{ text-decoration:none; }
.footer nav a:hover{ color:var(--coral); }
.footer .copy{ font-size:12px; text-align:center; color:rgba(255,255,255,.55); }
