/* Sentinel House V14: base */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
html{background:var(--ink)}
[data-hover-label]{position:relative}
[data-hover-label]::after{content:attr(data-hover-label);position:absolute;right:1rem;bottom:1rem;z-index:12;padding:.42rem .58rem;background:rgba(23,23,20,.9);color:#fff;font:700 .57rem var(--condensed);letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.22s ease;pointer-events:none}
[data-hover-label]:hover::after{opacity:1;transform:none}
[data-tilt]{transform-style:preserve-3d;transition:transform .22s ease-out,filter .22s ease-out;will-change:transform}
*{box-sizing:border-box}
html{overflow-x:hidden;scroll-padding-top:calc(var(--header-height) + 1rem)}
html{font-size:100%;-webkit-text-size-adjust:100%}
html{overflow-x:clip}
img{max-width:100%;height:auto}
main,section,header,footer{min-width:0}
section{scroll-margin-top:96px}
h1,h2,h3{text-wrap:balance}
p,li{text-wrap:pretty}

/* V14 foundation: literary reading, predictable sizing, accessible focus */
body.sentinel-site{
  margin:0;
  min-width:320px;
  overflow-x:clip;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-reading);
  font-size:var(--type-body);
  line-height:1.62;
  font-optical-sizing:auto;
  text-rendering:optimizeLegibility;
}
body.nav-open{overflow:hidden}
main{overflow:visible}
img,svg,video{max-width:100%;height:auto}
figure{margin:0}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:-.035em}
p,li,dd{font-family:var(--font-reading)}
.prose,.article-body{max-width:68ch}
.prose--narrow{max-width:54ch}
:focus-visible{outline:3px solid var(--signal);outline-offset:4px}
::selection{background:var(--signal);color:#fff}
button,input,textarea,select,label,.button,.eyebrow,dt,figcaption,.metadata{font-family:var(--font-ui)}
input,textarea,select{font-size:16px}
@media (max-width:640px){
  body.sentinel-site{font-size:17px}
  h1,h2,h3{overflow-wrap:anywhere}
  [data-hover-label]::after{display:none}
}


/* V15 final pass: comfortable literary spacing at every viewport */
body.sentinel-site p,
body.sentinel-site li,
body.sentinel-site dd{
  line-height:1.7;
}
body.sentinel-site p{
  margin-block:.7em 1em;
}
body.sentinel-site h1,
body.sentinel-site h2,
body.sentinel-site h3,
body.sentinel-site h4{
  margin-block:0 .42em;
  hyphens:none;
}
body.sentinel-site .prose > * + *,
body.sentinel-site .article-body > * + *,
body.sentinel-site .guide-body > * + *{
  margin-top:1.1em;
}
body.sentinel-site .button{
  line-height:1.2;
  text-wrap:balance;
}
@media (max-width:640px){
  body.sentinel-site p,
  body.sentinel-site li,
  body.sentinel-site dd{line-height:1.72}
}
