:root{
  --ink:#182420;
  --paper:#F1EDE3;
  --paper-dim:#c9c4b6;
  --gold:#D9A441;
  --line: rgba(241,237,227,0.14);
  box-sizing:border-box;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
html{scroll-padding-top: env(safe-area-inset-top, 0px);}
*{box-sizing:inherit; margin:0; padding:0;}
body{
  background:var(--ink);
  color:var(--paper);
  font-family:'IBM Plex Sans', Arial, sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.display{font-family:'Fraunces', Georgia, serif;}
.wrap{max-width:860px; margin:0 auto; padding:0 28px;}

header.top{
  display:flex; justify-content:space-between; align-items:center;
  padding:26px 28px; max-width:860px; margin:0 auto;
}
.mark{font-family:'Fraunces', serif; font-size:1.15rem; font-weight:560;}
.top a{color:var(--paper-dim); text-decoration:none; font-size:0.92rem; border-bottom:1px solid transparent;}
.top a:hover{border-color:var(--gold); color:var(--paper);}

.hero{padding:64px 0 80px; border-bottom:1px solid var(--line);}
.hero .kicker{color:var(--gold); font-size:0.95rem; font-weight:500; margin-bottom:18px;}
.hero h1{
  font-size:clamp(2.4rem, 6vw, 4rem);
  font-weight:560;
  line-height:1.05;
  letter-spacing:-0.01em;
  max-width:11ch;
}
.hero p{
  margin-top:26px;
  max-width:52ch;
  font-size:1.15rem;
  color:var(--paper-dim);
}
.hero .cta{
  display:inline-block; margin-top:34px;
  background:var(--gold); color:var(--ink);
  padding:13px 26px; border-radius:3px;
  text-decoration:none; font-weight:600; font-size:0.98rem;
}

section{padding:64px 0; border-bottom:1px solid var(--line);}
section h2{
  font-family:'Fraunces', serif; font-weight:560;
  font-size:1.7rem; margin-bottom:34px; max-width:20ch;
}

.grid{display:grid; grid-template-columns:1fr 1fr; gap:36px 40px;}
.item h3{font-size:1.05rem; font-weight:600; margin-bottom:8px;}
.item p{color:var(--paper-dim); font-size:0.98rem; max-width:42ch;}

.list-row{
  display:flex; justify-content:space-between; gap:24px;
  padding:20px 0; border-top:1px solid var(--line);
}
.list-row:last-child{border-bottom:none;}
.list-row .name{font-weight:600; min-width:180px;}
.list-row .desc{color:var(--paper-dim); font-size:0.95rem;}

footer{padding:48px 0 60px;}
footer p{color:var(--paper-dim); font-size:0.9rem;}
footer a{color:var(--paper);}

@media (max-width:640px){
  .grid{grid-template-columns:1fr;}
  .list-row{flex-direction:column; gap:6px;}
}
