:root{
  --bg:#ffffff;
  --ink:#0a0a0a;
  --muted:#707070;
  --line:#dfdfdf;
  --soft:#f3f3f3;
  --pad:clamp(18px,3.2vw,52px);
  --header-h:78px;
  --radius:26px;
}
*{box-sizing:border-box}
html{
  background:var(--bg);
  color:var(--ink);
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  margin:0;
  min-height:100vh;
  background:var(--bg);
  color:var(--ink);
  overflow-x:hidden;
}
body.locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
img,video,svg{display:block;max-width:100%}
::selection{background:var(--ink);color:var(--bg)}

#xiro-site{
  min-height:100vh;
  width:100%;
}
#swup{
  width:100%;
  min-height:100svh;
}
.xiro-project-view #site-footer{
  display:none!important;
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

/* ==========================================================
   v52.16 — Apple WebKit / iOS shared viewport compatibility
   Keeps the same design while avoiding Safari dynamic-toolbar
   viewport jumps and touch scrolling differences.
   ========================================================== */
html.xiro-ios-webkit,
html.xiro-ios-webkit body{
  min-height:100%;
  min-height:-webkit-fill-available;
}
html.xiro-apple-webkit body{
  -webkit-font-smoothing:antialiased;
  -webkit-tap-highlight-color:transparent;
}
html.xiro-apple-webkit #xiro-site,
html.xiro-apple-webkit #swup{
  min-height:var(--xiro-vvh,100vh);
}
html.xiro-apple-webkit img,
html.xiro-apple-webkit video,
html.xiro-apple-webkit svg{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
html.xiro-ios-webkit body{
  overscroll-behavior-y:none;
}


/* v52.17 — shared Apple/desktop rendering consistency. */
body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
html.xiro-apple-webkit,
html.xiro-apple-webkit body{
  width:100%;
  max-width:100%;
}
html.xiro-apple-webkit #swup{
  min-height:var(--xiro-vvh,100vh);
}
