/* Versora R17 / Phase 5 — final responsive, motion and visual polish.
   Scoped to Service Single + Article Single. */
:root{--vsr-r17-ease:cubic-bezier(.22,.78,.24,1);--vsr-r17-shadow:0 26px 72px rgba(13,20,30,.095)}

/* Service — tactile depth without changing the R14/R16 structure. */
.vsr-service-single .vsr-inner-hero--service-single .vsr-inner-hero__figure,
.vsr-service-single .vsr-service-commerce__shell,
.vsr-service-single .vsr-service-trust__shell{transform:translateZ(0);transition:transform .38s var(--vsr-r17-ease),box-shadow .38s var(--vsr-r17-ease),border-color .3s ease}
.vsr-service-single .vsr-inner-hero--service-single .vsr-inner-hero__figure:hover{transform:translateY(-5px) rotate(-.35deg);box-shadow:0 48px 116px rgba(0,0,0,.52)}
.vsr-service-single .vsr-service-commerce__shell:hover,.vsr-service-single .vsr-service-trust__shell:hover{border-color:#ddd6c8;box-shadow:var(--vsr-r17-shadow)}
.vsr-service-single :where(.vsr-service-fit__card,.vsr-service-related__card,.vsr-service-trust__grid article,.vsr-service-process .versora-ui-process>article){transition:transform .3s var(--vsr-r17-ease),box-shadow .3s ease,border-color .3s ease,background-color .3s ease}
.vsr-service-single .vsr-service-trust__grid article:hover{background:#fffdf8;transform:translateY(-3px)}
.vsr-service-single .vsr-service-process .versora-ui-process>article:hover{background:rgba(17,24,34,.96)!important;transform:translateY(-3px)}
.vsr-service-single :where(.vsr-inner-hero__button,.versora-btn,.vsr-service-final__link,.vsr-service-related__link){transition:transform .2s var(--vsr-r17-ease),box-shadow .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.vsr-service-single :where(.vsr-inner-hero__button,.versora-btn):active{transform:translateY(1px) scale(.985)}
.vsr-service-single :where(a,button):focus-visible{outline:3px solid rgba(255,177,22,.42);outline-offset:3px}
.vsr-service-single .vsr-service-final{position:relative;overflow:hidden}.vsr-service-single .vsr-service-final:after{content:"";position:absolute;left:-80px;top:-110px;width:230px;aspect-ratio:1;border:1px solid rgba(255,177,22,.12);border-radius:50%;pointer-events:none}

/* Article — refined reading rhythm and premium editorial details. */
.vsr-article-hero__media,.vsr-article-content,.vsr-article-author-card,.vsr-article-related__card{transform:translateZ(0)}
.vsr-article-hero__media{transition:transform .42s var(--vsr-r17-ease),box-shadow .42s ease}.vsr-article-hero__media:hover{transform:translateY(-5px) rotate(-.4deg);box-shadow:0 46px 112px rgba(0,0,0,.33)}
.vsr-article-content{box-shadow:0 30px 88px rgba(17,24,39,.065)}
.vsr-article-content__body :where(p,li){text-wrap:pretty}
.vsr-article-content__body :where(h2,h3){text-wrap:balance}
.vsr-article-content__body a{transition:color .18s ease,text-decoration-color .18s ease}.vsr-article-content__body a:hover{color:#5e3f00!important;text-decoration-color:#ffb116}
.vsr-article-toc,.vsr-article-share,.vsr-article-author-card{transition:border-color .25s ease,box-shadow .25s ease,transform .25s var(--vsr-r17-ease)}
.vsr-article-toc:hover,.vsr-article-share:hover{border-color:#ddd8cd;box-shadow:0 18px 44px rgba(18,24,33,.065)}
.vsr-article-author-card:hover{transform:translateY(-3px);border-color:#e2d5b9;box-shadow:0 28px 68px rgba(18,24,33,.075)}
.vsr-article-share :where(button,a):active{transform:scale(.97)}
.vsr-article-main :where(a,button):focus-visible,.vsr-article-hero :where(a,button):focus-visible,.vsr-article-final :where(a,button):focus-visible{outline:3px solid rgba(255,177,22,.4);outline-offset:3px}
.vsr-article-progress>span{will-change:width}

/* R17 IntersectionObserver motion. No JS = no hidden content. */
html.vsr-r17-motion-enabled .vsr-r17-reveal-target{opacity:0;transform:translateY(22px);filter:blur(2px);transition:opacity .62s var(--vsr-r17-ease),transform .62s var(--vsr-r17-ease),filter .62s ease;transition-delay:var(--vsr-r17-delay,0ms)}
html.vsr-r17-motion-enabled .vsr-r17-reveal-target.is-visible{opacity:1;transform:none;filter:none}
html.vsr-r17-motion-enabled .vsr-r17-reveal-target[data-vsr-r17-direction="scale"]{transform:scale(.975) translateY(12px)}
html.vsr-r17-motion-enabled .vsr-r17-reveal-target[data-vsr-r17-direction="scale"].is-visible{transform:none}

/* Wide desktop: keep long titles controlled and prevent cards from stretching awkwardly. */
@media(min-width:1280px){
  .vsr-service-single .vsr-service-fit__card{min-height:184px}.vsr-service-single .vsr-service-related__body{min-height:250px}
  .vsr-article-layout{grid-template-columns:minmax(230px,280px) minmax(0,800px);gap:clamp(48px,5vw,78px)}
}

/* Tablet landscape / small laptop. */
@media(max-width:1120px){
  .vsr-service-single .vsr-inner-hero--service-single .vsr-inner-hero__grid{grid-template-columns:minmax(0,1fr) minmax(360px,.86fr);gap:38px}
  .vsr-service-single .vsr-inner-hero--service-single h1{font-size:clamp(2.75rem,5vw,4.6rem)}
  .vsr-service-single .vsr-service-commerce__shell{gap:30px}
  .vsr-article-shell{width:min(100% - 40px,1240px)}.vsr-article-reading-width{width:min(100% - 40px,860px)}
}

/* True tablet: collapse hero and preserve hierarchy before mobile breakpoint. */
@media(max-width:960px){
  .vsr-service-single .vsr-inner-hero--service-single .vsr-inner-hero__grid{grid-template-columns:1fr}.vsr-service-single .vsr-inner-hero--service-single .vsr-inner-hero__visual{max-width:720px;width:100%}
  .vsr-service-single .vsr-service-fit__grid,.vsr-service-single .vsr-service-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vsr-service-single .vsr-service-trust__grid{grid-template-columns:1fr 1fr}.vsr-service-single .vsr-service-trust__grid article:nth-child(2){border-left:0}.vsr-service-single .vsr-service-trust__grid article:last-child{grid-column:1/-1;border-top:1px solid #e7eaee}
  .vsr-article-hero__grid{grid-template-columns:1fr}.vsr-article-hero__media{max-width:760px;width:100%;margin-inline:auto}.vsr-article-hero__content{max-width:860px}
}

@media(max-width:780px){
  .vsr-service-single .vsr-service-fit__grid,.vsr-service-single .vsr-service-related__grid,.vsr-service-single .vsr-service-trust__grid{grid-template-columns:1fr}.vsr-service-single .vsr-service-trust__grid article,.vsr-service-single .vsr-service-trust__grid article:nth-child(2),.vsr-service-single .vsr-service-trust__grid article:last-child{grid-column:auto;border-left:0;border-top:0;border-bottom:1px solid #e7eaee}.vsr-service-single .vsr-service-trust__grid article:last-child{border-bottom:0}
  .vsr-service-single .vsr-service-final>div:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}.vsr-service-single .vsr-service-final .versora-btn{width:100%;text-align:center}
  .vsr-article-hero h1{max-width:18ch}.vsr-article-content__body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.vsr-article-content__body pre{max-width:100%;-webkit-overflow-scrolling:touch}
  .vsr-article-share--standalone>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.vsr-article-share--standalone :where(button,a){text-align:center}
}

/* Mobile polish: thumb-friendly controls, tighter visual weight, no horizontal drift. */
@media(max-width:560px){
  .vsr-service-single .versora-container,.vsr-article-shell,.vsr-article-reading-width{width:min(100% - 24px,1240px)}
  .vsr-service-single .vsr-inner-hero--service-single .vsr-inner-hero__actions{display:grid;grid-template-columns:1fr}.vsr-service-single .vsr-inner-hero--service-single .vsr-inner-hero__button{justify-content:center;width:100%;text-align:center}
  .vsr-service-single .vsr-inner-hero--service-single .vsr-inner-hero__facts{display:grid;grid-template-columns:1fr;margin:-22px 8px 0}.vsr-service-single .vsr-inner-hero--service-single .vsr-inner-hero__facts>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-left:0;border-bottom:1px solid rgba(255,255,255,.09)}.vsr-service-single .vsr-inner-hero--service-single .vsr-inner-hero__facts>div:last-child{border-bottom:0}
  .vsr-service-single .vsr-service-section-head{grid-template-columns:1fr}.vsr-service-single .vsr-service-section-head__index{display:none}.vsr-service-single .vsr-service-commerce__signals{grid-template-columns:1fr}.vsr-service-single .vsr-service-final>div:last-child{grid-template-columns:1fr}.vsr-service-single .vsr-service-final__link{text-align:center;padding:8px}
  .vsr-service-single .vsr-service-fit__card{grid-template-columns:36px minmax(0,1fr);gap:12px}.vsr-service-single .vsr-service-fit__card>b{width:36px;height:36px}
  .vsr-article-hero__topline{gap:10px}.vsr-article-hero__topline a{max-width:68%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vsr-article-hero__media figcaption{position:static;margin:7px 0 0;border-radius:13px;background:#101720}.vsr-article-author-mini>img{width:42px;height:42px}.vsr-article-meta-chips{width:100%}
  .vsr-article-content__body :where(p,li){font-size:.94rem;line-height:2.05}.vsr-article-content__body blockquote{padding:20px 20px 20px 17px}.vsr-article-share--standalone>div{grid-template-columns:1fr}.vsr-article-related__card,.vsr-article-related__card.is-featured{grid-template-columns:92px minmax(0,1fr)}
}

@media(max-width:390px){
  .vsr-service-single .vsr-inner-hero--service-single h1,.vsr-article-hero h1{font-size:clamp(2.05rem,10.5vw,2.75rem)}
  .vsr-service-single .vsr-service-overview__story,.vsr-service-single .vsr-service-deliverables,.vsr-service-single .vsr-service-commerce__card{padding:19px!important}
  .vsr-article-content__body{padding:22px 17px}.vsr-article-related__card,.vsr-article-related__card.is-featured{grid-template-columns:82px minmax(0,1fr)}
}

@media(hover:none){
  .vsr-service-single .vsr-inner-hero--service-single .vsr-inner-hero__figure:hover,.vsr-service-single .vsr-service-trust__grid article:hover,.vsr-service-single .vsr-service-process .versora-ui-process>article:hover,.vsr-article-hero__media:hover,.vsr-article-author-card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  html.vsr-r17-motion-enabled .vsr-r17-reveal-target{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .vsr-service-single *,.vsr-article-main *,.vsr-article-hero *,.vsr-article-final *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
