/* ASKK: purposeful feedback, native semantics and progressive motion. */
.reveal{animation-duration:.45s}.hero-content{animation-duration:.5s}.js-motion .reveal.is-visible{transition-duration:.45s}
:root{--motion-fast:180ms;--motion-normal:240ms;--motion-ease:cubic-bezier(.16,1,.3,1)}
.button{position:relative;transition:background var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast) var(--motion-ease)}
.button span[aria-hidden],.text-link span[aria-hidden]{display:inline-block;transition:transform var(--motion-normal) var(--motion-ease)}
.button:hover span[aria-hidden],.button:focus-visible span[aria-hidden],.text-link:hover span[aria-hidden],.text-link:focus-visible span[aria-hidden]{transform:translate(3px,-3px)}
.button:active{transform:translateY(1px);box-shadow:inset 0 2px 0 rgba(0,0,0,.15)}
.button:disabled{transform:none}.button:disabled span{transform:none}
#primary-nav>a:not(.nav-contact){border-bottom:0}
#primary-nav>a:not(.nav-contact):after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform var(--motion-normal) var(--motion-ease)}
#primary-nav>a:not(.nav-contact):hover:after,#primary-nav>a:not(.nav-contact):focus-visible:after,#primary-nav>a[aria-current]:after{transform:scaleX(1)}
#primary-nav>a[aria-current]:after{transition:none}
.site-header{transition:background var(--motion-normal),box-shadow var(--motion-normal)}
.story:focus-within .story-picture img,.story:hover .story-picture img{transform:scale(1.035)}
.story h3 a{transition:color var(--motion-fast)}.story:hover h3 a,.story:focus-within h3 a{color:var(--gold)}
.learning-controls{margin:32px 0 16px}.learning-controls [role=group]{display:flex;flex-wrap:wrap;gap:10px}
.learning-jump{display:flex;gap:24px;flex-wrap:wrap;padding:16px 0 0}.learning-jump .text-link{font-size:13px}.learning-hub,.cooperation-hub{scroll-margin-top:120px}
.learning-controls button{background:transparent;border:1px solid var(--line);padding:10px 18px;color:var(--ink);min-height:44px;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast)}
.learning-controls button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.learning-controls [role=status]{font-size:13px;color:var(--muted);margin:16px 0}
.learning-list,.partner-list{border-top:1px solid var(--line)}
.learning-list article,.partner-list article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:32px;padding:32px 0;border-bottom:1px solid var(--line)}
.learning-list article[hidden]{display:none}.learning-list h3,.partner-list h3{font:400 30px/1.2 var(--serif);margin-bottom:12px}.learning-list p,.partner-list p{margin:0 0 12px}.learning-list .eyebrow{margin-bottom:12px}.learning-original{font-size:13px;color:var(--muted)}
.learning-number,.partner-number{align-self:start;color:var(--gold);font-size:13px}.learning-list .button{align-self:center}.learning-intro{max-width:680px;font-size:20px}.learning-checked{margin-top:28px}.cooperation-note{display:flex;gap:48px;justify-content:space-between;align-items:center;margin-top:32px}.cooperation-note p{max-width:650px;margin:0}
.table-container{max-width:100%;overflow-x:auto;margin:24px 0;overscroll-behavior-inline:contain}.table-container:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.prose .table-container table{display:table;overflow:visible;max-width:none;min-width:100%;margin:0}
.detail-mark{transition:transform var(--motion-normal) var(--motion-ease)}details[open]>.summary .detail-mark,details[open]>summary .detail-mark{transform:rotate(45deg)}
.inquiry.is-submitting button[type=submit]:before{content:'';width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:askk-spin .7s linear infinite}
@keyframes askk-spin{to{transform:rotate(360deg)}}
@media(min-width:901px) and (max-width:1240px){#primary-nav{gap:13px;font-size:12px}.header-inner{gap:16px}.brand small{display:none}}
@media(max-width:900px){#primary-nav.is-open>a{animation:askk-nav-link .28s var(--motion-ease) both;animation-delay:calc(var(--nav-index,0)*25ms)}.learning-list article,.partner-list article{grid-template-columns:32px minmax(0,1fr);gap:16px}.learning-list .button,.partner-list .text-link{grid-column:2;justify-self:start}.cooperation-note{align-items:flex-start;flex-direction:column;gap:24px}}
@media(max-width:900px){#primary-nav.is-closing{display:flex;flex-direction:column;align-items:stretch;gap:8px;pointer-events:none;max-height:calc(100dvh - 130px)}}
@keyframes askk-nav-link{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:600px){.learning-list h3,.partner-list h3{font-size:26px}.learning-list article,.partner-list article{padding:24px 0}.learning-list .button{max-width:100%;gap:16px}}
@media(prefers-reduced-motion:reduce){.button,.button span,.text-link span,.site-header,#primary-nav>a:after,.detail-mark,.learning-controls button,.story h3 a{transition:none!important}.button:hover,.button:active,.button:hover span,.button:focus-visible span,.text-link:hover span,.text-link:focus-visible span{transform:none!important}#primary-nav.is-open>a,.inquiry.is-submitting button:before{animation:none!important}.story:hover .story-picture img,.story:focus-within .story-picture img{transform:none!important}}
h1,h2,h3{text-wrap:balance}h1,h2,.learning-list h3,.partner-list h3{font-optical-sizing:auto}
.story-picture img{transition:transform .45s var(--motion-ease)}
.inquiry input:focus-visible,.inquiry textarea:focus-visible,.inquiry select:focus-visible{border-color:var(--navy);box-shadow:0 0 0 3px rgba(16,44,61,.12)}
.gallery-filters,.learning-controls [role=group]{position:relative;isolation:isolate}
.filter-indicator{position:absolute;left:0;top:0;background:var(--navy);pointer-events:none;transform-origin:0 0;z-index:0}
.gallery-filters.has-indicator button,.learning-controls [role=group].has-indicator button{position:relative;z-index:1;background:transparent}
.gallery-filters.has-indicator button[aria-pressed=true],.learning-controls [role=group].has-indicator button[aria-pressed=true]{border-color:transparent;color:white}
dialog.lightbox[open]{animation:askk-lightbox-in .2s var(--motion-ease) both}
@keyframes askk-lightbox-in{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){dialog.lightbox[open]{animation:none!important}.story-picture img{transition:none!important}}
@media print{.learning-controls{display:none}.table-container{overflow:visible}.prose .table-container table{min-width:0;width:100%}}
