/* All pack pages share a workflow rail and one selected demonstration. */
.pack-purchase { margin-top:32px; display:grid; gap:22px; }
.pack-purchase-actions { display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; }
.pack-purchase-actions > .btn { min-width:170px; }
.pack-page .pack-product-heading { align-items:start; gap:48px; padding:36px; border:1px solid var(--pack-hero-edge); border-radius:24px; background:var(--pack-hero-fill); }
.pack-product-copy { min-width:0; }
.pack-page .pack-product-heading h1 { margin-bottom:20px; }
.pack-product-hero .pack-purchase { margin-top:28px; gap:18px; }
.pack-page .pack-cover { align-self:start; }
.pack-page .pack-composition { max-width:1020px; margin:80px auto 0; }
.pack-composition > .section-heading { align-items:end; margin-bottom:24px; }
.pack-composition > .section-heading h2 { font-size:clamp(32px,3vw,44px); line-height:1.12; letter-spacing:-.035em; text-wrap:balance; }
.pack-page .pack-category-list { gap:12px; }
.pack-page .pack-category { border:1px solid #302b2d; border-radius:18px; background:#0d0c0d; }
.pack-page .pack-category[open] { border-color:#50363f; background:#151315; }
.pack-page .pack-category.is-closing { border-color:#302b2d; background:#0d0c0d; }
.pack-page .pack-category summary { border:0; border-radius:18px; background:transparent; padding:18px 20px; }
.pack-page .pack-category > .pack-category-content { display:block; padding:0; }
.pack-category-body { padding:2px 20px 20px; }
.pack-category-heading { display:flex; align-items:center; gap:14px; min-width:0; }
.pack-category-copy { min-width:0; }
.pack-category-copy strong { font-size:20px; line-height:1.25; font-weight:600; letter-spacing:-.025em; }
.pack-category-symbol { flex-shrink:0; width:28px; height:28px; color:var(--accent-ink); }
.pack-workflow-symbol { flex-shrink:0; width:22px; height:22px; color:inherit; }
:is(.pack-category-symbol,.pack-workflow-symbol) > svg { width:100%; height:100%; }
.pack-icon-accent { stroke:currentColor; }
.pack-showcase { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto; align-items:start; gap:24px; }
.pack-showcase-menu { grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:24px; min-width:0; }
.pack-showcase-output { display:grid; grid-template-columns:minmax(0,1fr) 220px; grid-column:1; grid-row:2; align-items:center; gap:28px; min-width:0; }
.pack-showcase-intro { display:flex; align-items:baseline; justify-content:space-between; gap:16px 32px; }
.pack-showcase-intro h2 { color:#dcd5d9; font-size:44px; line-height:1.12; font-weight:600; letter-spacing:-.035em; text-wrap:balance; }
.pack-showcase-intro p { flex-shrink:0; margin:0; font-size:14px; line-height:1.5; color:var(--muted); }
.pack-workflow-tabs { display:flex; flex-direction:row; flex-wrap:nowrap; align-items:stretch; gap:28px; min-width:0; padding:0; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; background:linear-gradient(#242124,#242124) bottom / 100% 1px no-repeat; }
.pack-workflow-tabs::-webkit-scrollbar { display:none; }
.pack-workflow-tab { position:relative; display:flex; align-items:center; flex:0 0 auto; width:auto; min-height:48px; padding:12px 0; border:0; border-radius:0; background:transparent; color:var(--muted); text-align:center; font:500 14px/1.4 'Onest',Arial,sans-serif; white-space:nowrap; cursor:pointer; transition:color .18s ease; }
.pack-workflow-tab::after { content:''; position:absolute; inset-inline:0; bottom:0; height:2px; background:var(--accent-ink); opacity:0; transform:scaleX(.65); transition:opacity .18s ease,transform .24s cubic-bezier(.16,1,.3,1); }
.pack-workflow-tab[aria-selected="true"] { color:var(--text); }
.pack-workflow-tab[aria-selected="true"]::after { opacity:1; transform:scaleX(1); }
.pack-workflow-tab:focus-visible { outline:2px solid var(--accent-ink); outline-offset:-4px; }
.pack-demo { grid-column:1; grid-row:1; min-width:0; }
.pack-reveal,.pack-demo-media { position:relative; aspect-ratio:16/9; min-width:0; overflow:hidden; border-radius:12px; background:#0b0b0b; }
.pack-reveal { cursor:ew-resize; touch-action:pan-y; }
.pack-demo-media > img,.pack-reveal-after,.pack-reveal-before,.pack-reveal-before > img { position:absolute; inset:0; width:100%; height:100%; }
.pack-demo-media > img,.pack-reveal img { object-fit:cover; object-position:var(--preview-position,center); user-select:none; }
.pack-reveal-before { clip-path:inset(0 calc(100% - var(--reveal,50%)) 0 0); }
.pack-reveal-labels { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.pack-reveal-label { display:inline-flex; align-items:center; gap:8px; color:#c7bac0; font-size:14px; font-weight:500; line-height:22px; }
.pack-reveal-label > svg { width:18px; height:18px; }
.pack-reveal-label-after { color:var(--accent-ink); }
.pack-reveal-divider { position:absolute; inset-block:12px; left:var(--reveal,50%); width:2px; border-radius:999px; background:var(--text); transform:translateX(-50%); pointer-events:none; }
.pack-reveal .pack-reveal-range { position:absolute; inset:0; z-index:3; width:100%; height:100%; margin:0; padding:0; border:0; border-radius:0; opacity:0; appearance:none; pointer-events:none; }
.pack-reveal:focus-within { outline:2px solid var(--accent-ink); outline-offset:4px; }
.pack-demo-video > video { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:contain; }
.pack-demo-caption { grid-column:2; grid-row:1; display:flex; flex-direction:column; align-items:center; align-self:center; gap:14px; padding:38px 0 4px; min-width:0; text-align:center; }
.pack-demo-title { font-size:26px; font-weight:600; line-height:1.2; letter-spacing:-.035em; text-wrap:balance; }
.pack-demo-caption .pack-demo-copy { margin:0; color:#c7bac0; font-size:15px; line-height:1.6; }
.pack-demo-caption > .btn { min-width:160px; min-height:54px; width:100%; margin-top:10px; padding:14px 20px; font-size:15px; }
.pack-demo-caption .pack-demo-disclosure { margin:6px 0 0; color:#b2a6ac; font-size:11px; line-height:1.6; }
.pack-reveal-help-touch { display:none; }
.pack-collection-panel { --collection-ink:#dcd5d9; padding:0; }
.pack-collection-heading { display:flex; align-items:baseline; justify-content:space-between; gap:40px; margin-bottom:40px; padding:0; }
.pack-collection-heading h2 { color:var(--collection-ink); font-size:44px; line-height:1.12; font-weight:600; letter-spacing:-.035em; text-wrap:balance; }
.pack-collection-tabs { display:flex; flex-shrink:0; gap:26px; margin:0; }
.pack-collection-pack { position:relative; display:inline-flex; align-items:baseline; justify-content:center; min-width:44px; min-height:48px; padding:18px 3px 8px; border:0; border-radius:0; background:transparent; color:#aaa0a6; text-align:center; transition:color 180ms ease; }
.pack-collection-pack::before { content:""; position:absolute; top:2px; left:50%; width:6px; height:6px; border-radius:50%; background:var(--accent-hover); opacity:0; transform:translateX(-50%); transition:opacity 180ms ease; }
.pack-collection-pack > span { font-size:17px; font-weight:500; letter-spacing:-.015em; line-height:1.4; }
.pack-collection-pack[aria-selected="true"] { color:var(--accent-ink); }
.pack-collection-pack[aria-selected="true"]::before { opacity:1; }
.pack-collection-pack:focus-visible { outline:2px solid var(--accent-ink); outline-offset:4px; }
.pack-collection-stage { min-width:0; }
.pack-collection-setup-group { max-width:1020px; margin:64px auto 0; scroll-margin-top:112px; }
.pack-collection-setup-group .pack-evidence-setup { margin-top:0; }
.pack-collection-setup-group .pack-evidence-heading h2 { font-size:34px; }
.pack-collection-rights { max-width:1020px; margin:26px auto 0; }
.pack-page .pack-compatibility { display:block; background:linear-gradient(145deg,#232429,#151619 65%,#101113); margin-top:56px; padding:36px; border-radius:24px; }
.pack-setup-heading { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.pack-setup-heading h2 { font-size:38px; max-width:22ch; line-height:1.12; font-weight:700; letter-spacing:-.035em; text-wrap:balance; }
.pack-setup-heading p { color:var(--muted); font-size:16px; line-height:1.65; margin-top:14px; }
.pack-setup-heading > .btn { flex-shrink:0; }
.pack-compatibility .pack-setup-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; margin:36px 0 28px; }
.pack-setup-grid dt { display:flex; flex-direction:column; align-items:flex-start; gap:14px; font-size:19px; font-weight:600; }
.pack-setup-grid svg { color:var(--accent-ink); }
.pack-setup-grid dd { margin-top:12px; font-size:15px; line-height:1.65; color:var(--muted); }
.pack-setup-note { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.pack-setup-note p { margin:0; font-size:13px; line-height:1.6; color:var(--muted); }
@media(max-width:1100px) {
 .pack-page .pack-product-heading { padding:28px; gap:32px; }
 .pack-collection-heading { gap:28px; }
 .pack-collection-heading h2 { font-size:36px; }
 .pack-collection-tabs { gap:20px; }
 .pack-compatibility .pack-setup-grid { grid-template-columns:1fr 1fr; gap:28px 40px; }
 .pack-setup-grid dt { flex-direction:row; align-items:center; }
 .pack-setup-heading { align-items:start; flex-direction:column; gap:22px; }
}
@media(max-width:836px) {
 .pack-page .pack-product-heading { padding:20px; gap:28px; border-radius:20px; }
 .pack-page .pack-product-heading h1 { font-size:clamp(32px,8vw,38px); margin-bottom:16px; overflow-wrap:anywhere; }
 .pack-product-hero .pack-description { font-size:16px; line-height:1.6; }
 .pack-product-hero .pack-purchase { margin-top:24px; }
 .pack-product-hero .pack-purchase-actions > .btn { padding-inline:18px; }
 .pack-purchase-actions { flex-direction:column; }
 .pack-purchase-actions > .btn { width:100%; white-space:normal; text-align:center; }
 .pack-page .pack-composition { margin-top:52px; }
 .pack-composition > .section-heading { align-items:start; margin-bottom:24px; gap:12px; }
 .pack-composition > .section-heading h2 { font-size:32px; }
 .pack-page .pack-category summary { display:grid; grid-template-columns:28px minmax(0,1fr); gap:4px 12px; padding:20px 18px; }
 .pack-page .pack-category summary > .pack-category-heading { display:contents; overflow-wrap:normal; }
 .pack-page .pack-category summary > :last-child { grid-column:2; grid-row:2; display:flex; align-items:center; justify-content:space-between; }
 .pack-page .pack-category summary > :last-child::after { margin-left:12px; }
 .pack-category-body { padding:0 18px 18px; }
 .pack-category-copy { grid-column:2; grid-row:1; }
 .pack-category-copy strong { font-size:20px; }
 .pack-category-symbol { width:28px; height:28px; grid-column:1; grid-row:1/3; align-self:center; }
 .pack-showcase { gap:20px; }
 .pack-showcase-menu { gap:20px; }
 .pack-showcase-output { display:flex; flex-direction:column; align-items:stretch; gap:18px; }
 .pack-showcase-intro { flex-direction:column; gap:12px; }
 .pack-showcase-intro h2 { font-size:32px; line-height:1.1; }
 .pack-demo-caption { padding:0; gap:10px; }
 .pack-demo-title { font-size:22px; }
 .pack-demo-caption .pack-demo-copy { font-size:14px; }
 .pack-demo-caption > .btn { margin-top:6px; }
 .pack-demo-caption .pack-demo-disclosure { margin-top:2px; }
 .pack-workflow-tabs { gap:24px; }
 .pack-workflow-symbol { width:22px; height:22px; }
 .pack-reveal,.pack-demo-media { aspect-ratio:4/3; border-radius:8px; }
 .pack-collection-heading { flex-direction:column; align-items:stretch; gap:20px; margin-bottom:24px; }
 .pack-collection-heading h2 { font-size:32px; }
 .pack-collection-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
 .pack-collection-pack { min-width:0; padding-inline:0; }
 .pack-collection-pack > span { font-size:clamp(14px,3.85vw,15px); }
 .pack-collection-setup-group { margin-top:48px; }
 .pack-collection-setup-group .pack-evidence-heading h2 { font-size:30px; }
 .pack-page .pack-compatibility { margin-top:40px; padding:28px 22px; }
 .pack-setup-heading h2 { font-size:30px; }
 .pack-setup-heading > .btn { width:100%; white-space:normal; text-align:center; }
 .pack-compatibility .pack-setup-grid { grid-template-columns:1fr; gap:26px; margin:28px 0; }
 .pack-setup-grid dt { font-size:18px; }
 .pack-setup-grid dd { margin-top:8px; }
 .pack-setup-note { grid-template-columns:1fr; gap:10px; }
}
@media(hover:none), (pointer:coarse) {
 .pack-reveal-help-pointer { display:none; }
 .pack-reveal-help-touch { display:inline; }
}
@media(hover:hover) and (pointer:fine) {
 .pack-collection-pack:not([aria-selected="true"]):hover { color:var(--collection-ink); }
 .pack-workflow-tab:hover { color:var(--text); }
}
@media(prefers-reduced-motion:reduce) {
 .pack-collection-pack,.pack-collection-pack::before { transition:none; }
 .pack-workflow-tab,.pack-workflow-tab::after { transition:none; }
}
