
/* Responsive editorial enhancements, scoped to preserve legal notices */
:root{--ynb-crimson:#8c102b;--ynb-gold:#d8b46b;--ynb-ivory:#faf7f1}
html{scroll-padding-top:94px}
body{overflow-x:hidden}
img{max-width:100%;height:auto}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #d8b46b!important;outline-offset:4px}
.ynb-progress{position:fixed;top:0;left:0;width:0;height:3px;z-index:10001;background:linear-gradient(90deg,#9d1635,#e5c478);pointer-events:none}
.ynb-menu-toggle{display:none;align-items:center;justify-content:center;gap:6px;flex-direction:column;width:44px;height:44px;border:1px solid #d8b46b66;border-radius:12px;background:transparent;color:inherit;cursor:pointer}
.ynb-menu-toggle span{display:block;width:20px;height:2px;background:currentColor;border-radius:4px;transition:transform .2s,opacity .2s}
.ynb-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(8px) rotate(45deg)}
.ynb-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.ynb-menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-8px) rotate(-45deg)}
.ynb-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.ynb-reveal.ynb-visible{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){
 .detail-card,.article-card,.practice-card,.milestone,.ynb-hover-card{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
 .detail-card:hover,.article-card:hover,.practice-card:hover,.milestone:hover,.ynb-hover-card:hover{transform:translateY(-5px);box-shadow:0 16px 42px #10274416}
}
@media(max-width:850px){
 nav{padding:12px 5%!important;min-height:70px;gap:10px;flex-wrap:nowrap!important}
 nav .brand{font-size:clamp(10px,2.7vw,13px)!important;letter-spacing:.07em!important;min-width:0}
 nav .brand img{width:42px!important;height:42px!important;object-fit:contain}
 .ynb-menu-toggle{display:flex!important;margin-left:auto;flex:none}
 nav .links{display:none!important;position:absolute;top:100%;left:0;right:0;z-index:200;background:#102744!important;box-shadow:0 20px 35px #06142735;padding:16px 6% 24px!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;border-top:1px solid #d8b46b55}
 nav.ynb-nav-open .links{display:flex!important}
 nav .links a{display:block!important;padding:13px 12px!important;color:#fff!important;border-radius:9px;font-size:15px!important}
 nav .links a:hover,nav .links a:focus-visible{background:#ffffff15}
 nav .links a.pill{text-align:center;background:#8c102b!important;margin-top:8px}
 .hero,.inner-hero{padding-left:6%!important;padding-right:6%!important}
 .section,.inner-body,.content{max-width:100%;overflow-wrap:break-word}
 .detail-grid{grid-template-columns:1fr!important}
 .ynb-practices{min-height:unset!important;padding:68px 6% 64px!important}
 .ynb-practices .practice-stage{max-width:100%!important}
 .ynb-practices .practice-phrase{font-size:clamp(15px,3.8vw,21px)!important}
 .ynb-practices .practice-selected{min-width:0!important;font-size:clamp(24px,6vw,35px)!important;padding:13px 15px!important}
 .ynb-practices .practice-stage-inner{width:100%!important}
 .ynb-practices .practice-choices{gap:8px!important}
 .ynb-practices .practice-choices button{min-height:43px}
 .footer{padding:34px 6%!important}
 .dpdp .wrap{width:min(100% - 36px,1100px)!important}
 .dpdp .timeline{max-width:100%!important}
 .dpdp h1{font-size:clamp(38px,9vw,65px)!important;overflow-wrap:break-word}
}
@media(max-width:480px){
 .ynb-practices h2{font-size:clamp(36px,10vw,48px)!important}
 .ynb-practices .practice-neighbour.far{opacity:.35}
 .ynb-practices .practice-phrase{display:block!important}
 .ynb-practices .practice-current{display:flex!important;flex-direction:column!important;gap:10px}
 .ynb-practices .practice-selected{width:100%;max-width:100%}
 .ynb-practices .practice-controls{gap:12px}
 .gate-panel{max-height:90dvh;overflow:auto}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 .ynb-reveal{opacity:1!important;transform:none!important}
}
