/* Ornatio V38. Only hero positioning and accessibility utilities.
   No editorial/planes/frosted overrides: remaining sections use the original CSS. */
[hidden]{display:none!important}
html{scroll-padding-top:98px}
.hero-shell{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--canvas);
}
.ambient-3d{
  position:absolute;inset:0;z-index:0;
  overflow:hidden;pointer-events:none;user-select:none;
  background:transparent;
}
.ambient-3d canvas{
  display:block;width:100%;height:100%;
  opacity:1;filter:none;transform:none;
  mask-image:none;-webkit-mask-image:none;
  pointer-events:auto;cursor:grab;touch-action:pan-y;
}
.ambient-3d--unavailable{display:none}
.hero-shell .hero{position:relative;z-index:1}
/* Keep a real empty zone between text and model. There is no veil or gradient. */
.hero-shell .hero>div{width:58.333%;max-width:735px}
:where(a,button,input,textarea):focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.contact-copy a:focus-visible,footer a:focus-visible{outline-color:var(--chartreuse)}
@media(min-width:901px) and (max-width:1100px){
  .hero h1{font-size:clamp(44px,5.15vw,60px)}
}
@media(max-width:900px){
  .ambient-3d{display:none!important}
  .hero-shell{min-height:auto}
  .hero-shell .hero>div{width:100%;max-width:735px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn{transition:none}
}

.ambient-3d canvas.is-dragging{cursor:grabbing}

.hero-shell.is-dragging,.hero-shell.is-dragging *{cursor:grabbing!important;user-select:none!important}
