/* URSY.PHOTOS — resets, type, focus ring, scrollbars, reduced-motion kill. */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html,body{ margin:0; }
body{ background:var(--bg); color:var(--ink); font-family:var(--font-ui); font-size:14px;
  line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  /* clip, NOT hidden — hidden silently kills position:sticky on the header */
  overflow-x:clip; }
a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--neon); text-decoration:underline; text-underline-offset:3px; }
button{ font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
input,select,textarea{ font:inherit; }
img{ max-width:100%; height:auto; }
h1,h2,h3{ letter-spacing:-.025em; text-wrap:balance; }
h1{ font-size:clamp(2.5rem,5.4vw,4.4rem); font-weight:700; line-height:1.03; letter-spacing:-.032em; }
h2{ font-size:clamp(1.7rem,3.4vw,2.6rem); font-weight:700; line-height:1.1; letter-spacing:-.028em; }
h3{ font-size:16px; font-weight:700; letter-spacing:-.015em; }
p{ text-wrap:pretty; }
summary{ cursor:pointer; list-style:none; }
summary::-webkit-details-marker{ display:none; }
:focus{ outline:none; }
:focus-visible{ outline:2px solid var(--neon); outline-offset:2px; border-radius:8px; }
::selection{ background:var(--neon-soft); }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:var(--line); border-radius:10px; border:3.5px solid transparent; background-clip:padding-box; }
::-webkit-scrollbar-thumb:hover{ background:var(--line2); background-clip:padding-box; }
::-webkit-scrollbar-track,::-webkit-scrollbar-corner{ background:transparent; }
.screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ursy-shell{ max-width:var(--shell); margin:0 auto; padding-inline:clamp(18px,4vw,44px); }
.ursy-shell--narrow{ max-width:780px; margin:0 auto; padding-inline:clamp(18px,4vw,44px); }
.ursy-section{ position:relative; z-index:2; padding-block:clamp(52px,8vh,92px) 0; }
.u-eyebrow{ margin:0; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.2em;
  color:var(--ink3); text-transform:uppercase; }
.u-lead{ margin:14px 0 0; font-size:15.5px; line-height:1.6; color:var(--ink2); max-width:60ch; }
.u-meta{ font-family:var(--font-mono); font-size:10.5px; color:var(--ink3); white-space:nowrap; }
.u-center{ text-align:center; max-width:62ch; margin-inline:auto; }
.u-sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0; }
@media (pointer:coarse){ a,button,summary,label{ touch-action:manipulation; } }
@media (prefers-contrast:more){
  :root{ --ink2:var(--ink); --line2:var(--ink3); }
}
/* the kill switch — every animation in the theme dies here */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
