.ps-page {
  --ps-ink:#f5ece4; --ps-muted:#c6b8ca; --ps-gold:#e5c18b; --ps-line:#51434e;
  width:100%; max-width:1180px; margin:0 auto; color:var(--ps-ink);
  font:14px/1.55 'DM Sans',sans-serif;
}
.ps-page *, .ps-page *::before,.ps-page *::after { box-sizing:border-box; }
.ps-page :is(h2,h3,p,dl,dd) { margin:0; overflow-wrap:anywhere; }
.ps-page button { cursor:pointer; font:inherit; }
.ps-page :is(button,input,summary,a):focus-visible { outline:2px solid #e8c58d; outline-offset:3px; }
.ps-page .ps-kicker { color:var(--ps-gold); font-size:10px; text-transform:uppercase; font-weight:600; letter-spacing:.17em; }
.ps-page .ps-title { margin:8px 0 10px; font:500 clamp(40px,5.2vw,74px)/.98 'Cormorant Garamond',Georgia,serif; letter-spacing:-.035em; text-wrap:balance; }
.ps-page .ps-soft,.ps-page .ps-born { color:var(--ps-muted); line-height:1.6; }
.ps-hero { position:relative; display:grid; align-content:center; min-height:235px; padding:clamp(20px,4vw,43px); overflow:hidden; isolation:isolate; border:1px solid #6d554b; border-radius:12px; background:#231b27; }
.ps-hero::before,.ps-hero::after { content:''; position:absolute; inset:0; z-index:-1; }
.ps-hero::before { background:url('assets/name-altar.webp') right center / auto 150% no-repeat; }
.ps-hero::after { background:linear-gradient(90deg,#251c29 0%,#251c29f5 35%,#251c2970 62%,#251c291a 100%); }
.ps-hero-copy { max-width:68%; }
.ps-actions,.ps-foot { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.ps-hero .ps-actions { margin-top:17px; }
.ps-page .ps-primary,.ps-page .ps-secondary { min-height:41px; padding:8px 15px; border:1px solid #9a7f5d; border-radius:6px; color:var(--ps-ink); background:#271e2b; font-size:13px; font-weight:500; }
.ps-page .ps-primary { border-color:#e6c698; background:#dec08d; color:#281d18; font-weight:600; }
.ps-page .ps-link { min-height:38px; padding:5px; border:0; background:none; color:var(--ps-gold); font-size:13px; }
.ps-page button:disabled { cursor:default; opacity:.65; }
.ps-page .ps-link:hover { text-decoration:underline; }
.ps-readings { display:grid; grid-template-columns:1fr 1fr 1fr; gap:13px; align-items:start; margin:16px 0; }
.ps-solar,.ps-metric,.ps-relations { min-width:0; padding:19px; border:1px solid var(--ps-line); border-radius:9px; background:#211a25; }
.ps-solar { background:radial-gradient(ellipse at top right,#62463d55,transparent 60%),#231b27; }
.ps-page .ps-metric-title { color:var(--ps-gold); font:500 24px/1.12 'Cormorant Garamond',Georgia,serif; }
.ps-metric-result { display:flex; align-items:center; gap:11px; padding:10px 0 8px; }
.ps-numeral { color:var(--ps-gold); font:500 57px/.98 'Cormorant Garamond',Georgia,serif; }
.ps-metric-result strong { font:500 20px/1.12 'Cormorant Garamond',Georgia,serif; }
.ps-solar-names { display:grid; gap:8px; margin:13px 0 9px; }
.ps-one-sign { display:flex; align-items:center; flex-wrap:wrap; gap:5px 8px; }
.ps-glyph { display:grid; width:32px; height:32px; place-items:center; border:1px solid #826c51; border-radius:50%; color:var(--ps-gold); font:19px/1 Georgia,serif; }
.ps-one-sign strong { font:500 27px/1.12 'Cormorant Garamond',Georgia,serif; }
.ps-element { font-size:12px; color:var(--ps-muted); }
.ps-math { margin-top:15px; padding-top:9px; border-top:1px solid var(--ps-line); color:var(--ps-muted); font-size:12px; }
.ps-math summary,.ps-math a { color:var(--ps-gold); cursor:pointer; text-underline-offset:2px; }
.ps-math p { padding:7px 0; }
.ps-relations { display:grid; grid-template-columns:1fr 1.75fr; gap:18px; align-items:start; }
.ps-relations .ps-soft { margin-top:5px; font-size:12px; }
.ps-orixas { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ps-orixas > div:first-child { grid-column:1/-1; }
.ps-orixas dt { color:var(--ps-gold); font-size:12px; }
.ps-orixas dd { margin-top:3px; }
.ps-foot { margin-top:16px; }
.ps-editor { max-width:720px; }
.ps-editor-head { margin-bottom:17px; }
.ps-editor-head .ps-title { font-size:clamp(37px,5vw,57px); }
.ps-form { display:grid; gap:17px; padding:clamp(16px,3vw,27px); border:1px solid var(--ps-line); border-radius:10px; background:#211a26; }
.ps-field,.ps-field-row { display:grid; min-width:0; }
.ps-field { gap:6px; }
.ps-field-row { grid-template-columns:1fr 1fr; gap:13px; }
.ps-field > span { display:flex; justify-content:space-between; align-items:center; gap:6px; color:var(--ps-ink); font-size:13px; }
.ps-field small { font-size:10.5px; color:var(--ps-muted); }
.ps-field input { width:100%; min-width:0; min-height:43px; padding:9px 11px; color:var(--ps-ink); color-scheme:dark; border:1px solid #6d596b; border-radius:6px; background:#17121b; font:14px/1.35 'DM Sans',sans-serif; }
.ps-tradition { min-width:0; padding:13px 0 0; margin:2px 0 0; border:0; border-top:1px solid var(--ps-line); }
.ps-tradition legend { padding:0 7px 0 0; color:var(--ps-gold); font:500 23px/1.1 'Cormorant Garamond',Georgia,serif; }
.ps-tradition p { margin:0 0 11px; font-size:12px; }
.ps-tradition > .ps-field-row { margin-top:13px; }
.ps-error { color:#ffbec2; }
.ps-error:empty { display:none; }
@media(max-width:900px) {
  .ps-readings { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ps-solar { grid-column:1/-1; }
  .ps-relations { grid-template-columns:1fr; gap:11px; }
}
@media(max-width:600px) {
  .ps-hero { min-height:205px; padding:18px; }
  .ps-hero-copy { max-width:100%; }
  .ps-hero::before { opacity:.72; background-size:auto 135%; background-position:right -60px center; }
  .ps-hero::after { background:linear-gradient(90deg,#251c29f5,#251c29d9 34%,#251c2970 74%); }
  .ps-readings { grid-template-columns:1fr; }
  .ps-solar,.ps-metric,.ps-relations { padding:15px; }
  .ps-field input { font-size:16px; }
  .ps-field-row { grid-template-columns:1fr; gap:12px; }
}
