  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}
  html::-webkit-scrollbar{width:0;height:0;display:none}
  body{
    background:#FFFFFF;color:#141414;
    font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  body::-webkit-scrollbar{width:0;height:0;display:none}
  :root{ --accent:#141414; }

  .disp{font-family:'Archivo',Helvetica,Arial,sans-serif}
  .serif{font-family:'Spectral',Georgia,serif}
  .lbl{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#141414}
  a{color:inherit;text-decoration:none}
  input{font-family:inherit}
  button{font-family:inherit}

  /* striped placeholder tiles */
  .ph{
    background-image:repeating-linear-gradient(135deg,#EFEFEC 0 15px,#E6E6E2 15px 30px);
    display:flex;align-items:center;justify-content:center;
  }
  .slot{
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
    font-size:11px;letter-spacing:.06em;color:#B0B0A6;text-align:center;padding:0 12px;
  }
  /* book cover placeholder */
  .bookcover{
    aspect-ratio:2 / 3;width:56px;border:1px solid rgba(0,0,0,.08);align-self:start;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
  }

  /* ---------- NAV ---------- */
  nav{
    position:sticky;top:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:22px 5vw;
    background:rgba(255,255,255,.86);
    backdrop-filter:saturate(180%) blur(18px);
    -webkit-backdrop-filter:saturate(180%) blur(18px);
    border-bottom:1px solid rgba(0,0,0,.08);
  }
  .brand{font-size:15px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
  .nav-right{display:flex;align-items:center;gap:26px}
  .nav-links{display:flex;align-items:center;gap:26px}
  .nav-links a{
    font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    cursor:pointer;color:#AFABA2;transition:color .2s;white-space:nowrap;
  }
  .nav-links a.active{color:#141414}
  .lang{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.12em;margin-left:8px}
  .lang .t{cursor:pointer;color:#B3B0AB;transition:.2s}
  .lang .t.active{color:#141414}
  .lang span.sep{color:#CFCFC8}

  /* ---------- generic ---------- */
  .page{opacity:1}
  section{display:block}

  /* feature trio */
  .features{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
  .feature{cursor:pointer;display:flex;flex-direction:column;gap:18px}
  .feature .ph{aspect-ratio:3 / 4;width:100%}

  /* photo gallery */
  .photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}

  /* footer */
  footer{background:#141414;color:#FFFFFF;padding:72px 5vw 40px}
  .footer-links{display:flex;flex-wrap:wrap;gap:14px 28px}
  .footer-links a{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62);cursor:pointer;transition:color .2s}
  .footer-links a:hover{color:#fff}
  .footer-bottom{
    display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:14px;
    margin-top:48px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14);
  }

  /* ---------- responsive ---------- */
  @media (max-width:760px){
    nav{flex-direction:column;align-items:flex-start;gap:16px;padding:18px 6vw}
    .nav-right{flex-direction:column;align-items:flex-start;gap:14px;width:100%}
    .nav-links{flex-wrap:wrap;gap:14px 18px}
    .lang{margin-left:0}
    .features{grid-template-columns:1fr;gap:44px}
    .photo-grid{grid-template-columns:1fr}
    .about-grid{grid-template-columns:1fr !important;gap:18px !important}
    .book-row{grid-template-columns:52px 44px 1fr !important;gap:14px !important}
    .book-row .kind{display:none}
    .book-row .bookcover{width:44px !important}
    .event-row{grid-template-columns:78px 1fr !important;gap:18px !important}
  }
