*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-body-size);font-weight:var(--text-body-weight);line-height:var(--text-body-leading);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:var(--weight-display);color:var(--text-strong);text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;transition:var(--transition-hover)}
a:hover{color:var(--violet-press);text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
button{font-family:inherit}
img,svg{display:block;max-width:100%}
::selection{background:var(--pink);color:var(--ink)}

/* --- Primitive layout helpers consumers may use directly --- */
.szia-container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}
.szia-section{padding:var(--section-pad-y) 0}
.szia-section--pink{background:var(--surface-hero)}
.szia-section--sand{background:var(--surface-warm)}
.szia-section--canvas{background:var(--surface-page)}
.szia-section--deep{background:var(--surface-closing);color:var(--text-on-deep)}
.szia-section--deep h1,.szia-section--deep h2,.szia-section--deep h3{color:var(--text-on-deep)}
.szia-label{font-size:var(--text-label-size);font-weight:var(--text-label-weight);letter-spacing:var(--text-label-tracking);text-transform:uppercase;color:var(--text-label)}
.szia-measure{max-width:var(--measure)}
@media(max-width:720px){
  .szia-container{padding:0 var(--container-pad-mobile)}
  .szia-section{padding:var(--section-pad-y-mobile) 0}
}
