.studio-page .letter-action { text-decoration: none; }
.event-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(12px,2vw,24px); }
.event-card { display:block; overflow:hidden; border-radius:6px; background:var(--cream); border:1px solid var(--line); text-decoration:none; }
.event-card:hover .event-arrow { background:var(--p-accent); color:#fff5ee; }
.event-art { position:relative; aspect-ratio:1.85; overflow:hidden; background:var(--cloud); }
.event-art img { width:100%; height:100%; object-fit:cover; transition:scale .3s ease-out; }
.event-card:hover .event-art img { scale:1.025; }
.event-art-wedding img { object-position:50% 45%; }
.event-art span { position:absolute; inset:auto 11px 9px auto; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:#fff5e7; color:#62243b; font:italic 600 31px/1 var(--font-italic); }
.event-info { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px clamp(11px,2vw,22px); }
.event-info > div > span { color:var(--p-accent); font-size:10px; font-weight:800; letter-spacing:.12em; }
.event-info h3 { font-size:clamp(23px,3.3vw,48px); margin-top:3px; }
.event-arrow { flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:var(--p-accent); background:var(--blush); font-size:22px; transition:background-color .2s,color .2s; }
.catalog-demo-links { display:flex; flex-wrap:wrap; gap:3px 18px; margin-bottom:9px; }
.studio-page main > .demo-library,.studio-page main > .comparison { height:auto; min-height:0; padding:var(--space-page) 0; }
.studio-page main > .demo-library > .wrap,.studio-page main > .comparison > .wrap { height:auto; display:block; }
.demo-library { background:var(--paper); }
.library-head { display:flex; justify-content:space-between; gap:17px; align-items:end; margin-bottom:clamp(18px,3vw,37px); }
.library-head .eyebrow { color:var(--p-accent); margin-bottom:9px; }
.library-head h1 { font-size:clamp(41px,5.35vw,77px); text-wrap:balance; }
.library-head p:last-child { max-width:53ch; color:var(--p-muted); margin-top:11px; }
.library-head > .btn { flex:none; }
.library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(13px,2.4vw,32px); }
.library-card { background:var(--cream); border:1px solid var(--line); border-radius:6px; overflow:hidden; min-width:0; }
.library-art { position:relative; isolation:isolate; display:block; background:var(--edition-bg); aspect-ratio:1.7; overflow:hidden; }
.library-art img { width:100%; height:100%; object-fit:cover; transition:transform .29s ease-out; }
.library-card:has(.library-actions a:is(:hover,:focus-visible)) .library-art img { transform:scale(1.035); }
.library-card[data-look="paper"] .library-art img,.library-card[data-look="chapter"] .library-art img { object-position:50% 40%; }
.library-card[data-look="lemon"] .library-art img { object-position:50% 54%; }
.library-monogram { position:absolute; bottom:13px; right:13px; display:grid; place-items:center; padding:7px; min-width:62px; aspect-ratio:1; border-radius:50%; color:var(--edition-accent); background:var(--edition-paper); font:italic 600 clamp(23px,3vw,44px)/1 var(--font-italic); }
.library-num { position:absolute; top:12px; left:12px; padding:5px 8px; color:var(--edition-ink); background:var(--edition-paper); border-radius:3px; font-size:12px; font-weight:800; }
.library-body { padding:15px clamp(12px,2vw,25px) 17px; }
.library-meta { display:flex; justify-content:space-between; gap:7px; align-items:center; font-size:12px; color:var(--p-muted); font-weight:750; }
.library-meta strong { color:var(--p-accent); white-space:nowrap; }
.library-body h2 { font-size:clamp(25px,3vw,44px); margin-top:7px; }
.library-body h2 + p { font-size:14px; color:var(--p-muted); margin-top:5px; }
.library-actions { display:flex; align-items:center; gap:8px 16px; flex-wrap:wrap; margin-top:12px; }
.library-tail { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:5px 18px; margin-top:17px; font-size:13px; color:var(--p-muted); }
.plan-demo-links { display:grid; gap:1px; border-top:1px solid var(--line); margin-bottom:10px; }
.plan-demo-links a { font-size:12px; min-height:44px; }
.comparison { background:var(--cream); border-top:1px solid var(--line); }
.comparison h2 { font-size:clamp(35px,5vw,67px); margin-bottom:16px; }
.comparison-scroll { position:relative; max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:5px; }
.comparison table { border-collapse:collapse; width:100%; min-width:660px; text-align:center; font-size:14px; }
.comparison th,.comparison td { padding:11px; border-bottom:1px solid var(--line); }
.comparison tr:last-child th,.comparison tbody tr:last-child td { border-bottom:0; }
.comparison thead th { background:var(--blush); }
.comparison th:first-child { text-align:left; }
.comparison tbody th { font-weight:750; }
.matrix-check { color:var(--p-accent); font-weight:800; }
.comparison p { margin-top:9px; color:var(--p-muted); font-size:13px; }
@media(max-width:700px) {
  .event-grid,.library-grid { grid-template-columns:1fr; }
  .library-head { display:block; }
  .library-head > .btn { margin-top:12px; }
  .library-body h2 { font-size:clamp(25px,7vw,38px); }
  .event-art { aspect-ratio:1.9; }
}
@media(prefers-reduced-motion:reduce) {
  .event-card:hover .event-art img,.library-card .library-art img { scale:none; transform:none; transition:none; }
}

