
.ys-page {
  --ys-ink:#452f29; --ys-muted:#75645a; --ys-paper:#faf6ee;
  --ys-accent:#795039; --ys-line:#dfd3c4;
  background:var(--ys-paper); color:var(--ys-ink);
  font-family:"DM Sans",sans-serif; padding:0 24px;
}
.ys-page * { box-sizing:border-box; }
.ys-page a { color:inherit; }
.ys-page a:focus-visible { outline:3px solid #795039; outline-offset:5px; }
.ys-nav {
  max-width:1100px; margin:auto; padding:24px 0;
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; border-bottom:1px solid var(--ys-line);
}
.ys-brand { display:block; flex-shrink:0; }
.ys-brand img { display:block; width:158px; max-height:70px; object-fit:contain; }
.ys-nav nav { display:flex; align-items:center; gap:26px; }
.ys-nav nav a { font-size:14px; font-weight:600; text-decoration:none; padding:10px 0; }
.ys-nav nav a:hover,.ys-journal a:hover { text-decoration:underline; }
.ys-hero {
  max-width:1100px; margin:auto; padding:76px 0 64px;
  display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:center;
}
.ys-copy { min-width:0; }
.ys-eyebrow { font-size:11px; letter-spacing:2px; font-weight:700; margin:0 0 24px; }
.ys-page h1 {
  font-family:"Playfair Display",Georgia,serif; font-weight:600;
  font-size:clamp(38px,4.5vw,60px); line-height:1.13;
  letter-spacing:-1.6px; margin:0 0 24px;
}
.ys-page h1 em { color:var(--ys-accent); font-weight:500; }
.ys-description { max-width:370px; color:var(--ys-muted); font-size:17px; line-height:1.75; margin:0 0 30px; }
.ys-page .ys-button {
  display:inline-flex; align-items:center; justify-content:center;
  gap:24px; min-height:52px; padding:15px 24px;
  background:var(--ys-ink); color:#fff; border-radius:8px;
  font-size:15px; font-weight:600; text-decoration:none;
}
.ys-page .ys-button:hover { background:var(--ys-accent); }
.ys-signin { margin:18px 0 0; color:var(--ys-muted); font-size:13px; }
.ys-signin a { font-weight:600; text-underline-offset:3px; }
.ys-photo { min-width:0; margin:0; }
.ys-photo img {
  display:block; width:100%; aspect-ratio:5/4;
  object-fit:cover; border-radius:16px;
}
.ys-photo figcaption { padding:14px 2px 0; font-family:Georgia,serif; font-style:italic; font-size:15px; color:var(--ys-muted); }
.ys-benefits {
  max-width:1100px; margin:auto; padding:30px 0 36px;
  border-top:1px solid var(--ys-line); display:grid;
  grid-template-columns:repeat(3,1fr); gap:40px;
}
.ys-number { color:var(--ys-accent); font-size:11px; letter-spacing:1px; }
.ys-benefits h2 { font-family:"Playfair Display",Georgia,serif; font-size:23px; font-weight:500; margin:10px 0; }
.ys-benefits p { color:var(--ys-muted); font-size:14px; line-height:1.65; margin:0; max-width:250px; }
.ys-journal {
  max-width:1100px; margin:auto; padding:24px 0 34px;
  border-top:1px solid var(--ys-line); display:flex;
  justify-content:space-between; gap:20px; align-items:center;
}
.ys-journal p { margin:0; font-size:14px; color:var(--ys-muted); }
.ys-journal a { font-size:14px; font-weight:600; text-decoration:none; }
@media(max-width:760px) {
  .ys-page { padding:0 22px; }
  .ys-nav { padding:18px 0; }
  .ys-brand img { width:125px; max-height:55px; }
  .ys-nav nav { gap:18px; }
  .ys-nav nav a { font-size:13px; }
  .ys-hero { grid-template-columns:1fr; gap:32px; padding:42px 0 32px; }
  .ys-page h1 { font-size:42px; letter-spacing:-1px; }
  .ys-eyebrow { font-size:10px; letter-spacing:1.5px; margin-bottom:18px; }
  .ys-description { font-size:16px; margin-bottom:24px; }
  .ys-photo img { aspect-ratio:3/2; }
  .ys-benefits { gap:20px; padding:26px 0; }
  .ys-benefits h2 { font-size:18px; }
  .ys-benefits p { font-size:13px; }
  .ys-journal { flex-direction:column; align-items:flex-start; gap:12px; }
}
@media(max-width:420px) {
  .ys-page h1 { font-size:37px; }
  .ys-benefits { grid-template-columns:1fr; gap:22px; }
  .ys-benefits article { padding-left:16px; border-left:2px solid var(--ys-line); }
  .ys-benefits h2 { margin:6px 0; font-size:21px; }
  .ys-benefits p { max-width:none; }
}
