/* Shared finishing layer. Content, geometry and screenshot crops stay intact. */
:root{--finish-ease:cubic-bezier(.22,.68,.25,1);--finish-line:#d8def0}
::selection{background:#dce2ff;color:#111a43}

/* Depth belongs to the sticky navigation only when content passes beneath it. */
.header{box-shadow:0 1px 0 #111a4303;transition:background-color .25s ease,box-shadow .25s ease}
.header.is-scrolled{background-color:#fffffff5;box-shadow:0 4px 18px #111a430b,0 1px 0 #dce1ef66}
.nav-dropdown>summary::after{margin-top:-3px;transition:transform .2s var(--finish-ease)}
.nav-dropdown[open]>summary::after{margin-top:-3px}
.nav-dropdown:has([aria-current=page])>summary{color:var(--blue);background-size:100% 1px}
.nav-panel{border-color:var(--finish-line);box-shadow:0 5px 12px #111a4305,0 24px 54px #111a4317}
.nav-dropdown[open]>.nav-panel{animation:finish-menu .18s var(--finish-ease) both}
.menu-toggle{transition:border-color .18s,background-color .18s,color .18s}
.menu-toggle[aria-expanded=true]{background:#f0f2ff;border-color:#c7cef6;color:var(--blue)}

/* Use the existing primary-button treatment; add a clear, small press response. */
.button>span[aria-hidden=true]{display:inline-block;transition:transform .2s var(--finish-ease)}
.button:active{transform:translateY(1px);box-shadow:inset 0 1px 2px #111a4314,0 1px 3px #111a4312}
.button.light:active{background-color:#edf0ff}
.document-toc a,.capture-zoom-toggle,.capture-viewer .close-dialog{
 transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.document-toc a:focus-visible{background:#f2f4ff;border-color:#aeb8f0}
.capture-zoom-toggle:active,.capture-viewer .close-dialog:active{background:#e8ecff}
.review-arrow:active:not(:disabled){transform:translateY(1px);box-shadow:none}

/* A fine rim links the real product images to the rest of the interface. */
.app-capture .capture-link{transition:border-color .22s,box-shadow .22s,transform .22s}
.app-capture .capture-link:focus-visible{border-color:#aeb8ef}

/* Quiet material and light; informational panels do not pretend to be buttons. */
.offer-panel{border-color:var(--finish-line);background:linear-gradient(145deg,#fff 65%,#f7f8ff);box-shadow:0 3px 7px #111a4303,0 18px 45px #111a4309}
.pricing-layout .offer-panel{border:1px solid var(--finish-line);border-radius:12px;padding:30px}
.pricing-layout .trial-card{border-radius:12px}
.trial-card{background-image:radial-gradient(ellipse at 0 0,#ffffff14,transparent 65%),linear-gradient(125deg,#353adf,#2b30d1 65%,#252ab7);box-shadow:inset 0 1px 0 #ffffff2e,0 14px 36px #2227ad16}
.contact-panel{background-image:radial-gradient(ellipse at 0 0,#6c77bb24,transparent 75%),linear-gradient(135deg,#172450,#111a43);box-shadow:inset 0 1px 0 #ffffff24,0 14px 36px #111a4312}
.trial-card,.contact-panel,.offer-panel{transition:box-shadow .25s ease,border-color .25s ease}
.trial-card:focus-within{box-shadow:inset 0 1px 0 #ffffff2e,0 16px 38px #2227ad24}
.contact-panel:focus-within{box-shadow:inset 0 1px 0 #ffffff24,0 16px 38px #111a4322}
.offer-panel:focus-within{border-color:#afb9ee;box-shadow:0 3px 7px #111a4305,0 18px 45px #111a4312}
.benchmark{background:linear-gradient(140deg,#f6f7ff,#fff 85%);box-shadow:inset 0 1px 0 #fff,0 0 0 1px #e4e8f3,0 12px 34px #111a4306}
.benchmark-result{font-variant-numeric:lining-nums tabular-nums}
.contact-panel a:focus-visible{outline-color:#bdc8ff}

/* Native disclosures keep their keyboard behavior, with one shared visual language. */
.faq-list summary,.faq-group summary{position:relative;list-style:none;padding-right:45px;transition:color .18s}
.faq-group summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after,.faq-group summary::after{
 content:"";position:absolute;right:2px;top:22px;width:26px;height:26px;border:1px solid #d7def2;border-radius:50%;
 background-color:#f7f8ff;
 background-image:linear-gradient(var(--blue),var(--blue)),linear-gradient(var(--blue),var(--blue));
 background-repeat:no-repeat;background-position:center;background-size:10px 1px,1px 10px;
 transition:background-size .2s var(--finish-ease),background-color .2s,border-color .2s;
}
.faq-list details[open] summary::after,.faq-group details[open] summary::after{content:"";background-size:10px 1px,1px 0;background-color:#e9edff;border-color:#bdc8f3}
.faq-list details[open],.faq-group details[open]{border-bottom-color:#bfc9ec}
.faq-list details[open] summary,.faq-group details[open] summary{color:var(--blue)}
.faq-list details[open]>div,.faq-group details[open]>div,.review-detail[open] .review-full{animation:finish-disclosure .24s var(--finish-ease) both}
.faq-group details>div{padding-left:0}

/* Image reading opens softly; the screenshot itself is never distorted. */
.image-dialog[open]{animation:finish-dialog .2s var(--finish-ease) both}
.image-dialog[open]::backdrop{animation:finish-backdrop .18s ease both}
.footer-grid a:not(.footer-brand-link){width:fit-content;max-width:100%;background-image:linear-gradient(#dce2ff,#dce2ff);background-repeat:no-repeat;background-position:left bottom;background-size:0 1px;transition:color .18s,background-size .22s var(--finish-ease)}
.footer-grid a:not(.footer-brand-link):focus-visible{background-size:100% 1px;text-decoration:none;outline-color:#bdc8ff}
.footer-bottom a:focus-visible{outline-color:#bdc8ff}

@media(hover:hover) and (pointer:fine){
 .button:hover>span[aria-hidden=true]{transform:translate(2px,-2px)}
 .menu-toggle:hover{border-color:#bec8ef;background:#f6f7ff}
 .document-toc a:hover{color:var(--blue);border-color:#bfc9ed;background:#f5f7ff}
 .app-capture .capture-link:hover{border-color:#bac5eb}
 .faq-list summary:hover::after,.faq-group summary:hover::after{background-color:#e9edff;border-color:#bdc8f3}
 .footer-grid a:not(.footer-brand-link):hover{background-size:100% 1px;text-decoration:none}
}
@keyframes finish-menu{from{opacity:.65;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes finish-disclosure{from{opacity:.6;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
@keyframes finish-dialog{from{opacity:.7;transform:translateY(5px) scale(.995)}to{opacity:1;transform:none}}
@keyframes finish-backdrop{from{opacity:.5}to{opacity:1}}
@media(max-width:1060px){
 .nav-panel{box-shadow:none}
 .nav-dropdown:has([aria-current=page])>summary{background-size:0 1px}
}
@media(max-width:720px){
 .header.is-scrolled{box-shadow:0 3px 12px #111a430b}
 .pricing-layout .offer-panel{padding:24px}
 .faq-list summary::after,.faq-group summary::after{top:21px}
 .trial-card,.contact-panel{box-shadow:inset 0 1px 0 #ffffff24,0 10px 24px #111a4310}
}
@media(max-width:380px){.pricing-layout .offer-panel{padding:20px}}
@media(prefers-reduced-motion:reduce){
 .button>span[aria-hidden=true],.button:active,.review-arrow:active:not(:disabled){transform:none!important}
 .nav-dropdown[open]>.nav-panel,.faq-list details[open]>div,.faq-group details[open]>div,.review-detail[open] .review-full,.image-dialog[open],.image-dialog[open]::backdrop{animation:none!important}
}
@media print{
 .offer-panel,.trial-card,.contact-panel,.benchmark{background:none;box-shadow:none}
 .footer-grid a{background:none}
}
