/* Series art stays inside the opening. Functional UI keeps Alan's global tokens. */
.alan-library[data-series-style] {--lib-paper:var(--alan-ui-paper,#fff);--lib-surface:var(--alan-ui-surface,#f5f5f7);--lib-ink:var(--alan-ui-ink,#1d1d1f);--lib-muted:var(--alan-ui-muted,#62626a);--lib-line:var(--alan-ui-line,rgba(29,29,31,.14));--lib-accent:var(--alan-ui-accent,#14263d);}
html[data-alan-theme="dark"] .alan-library[data-series-style] {--lib-paper:var(--alan-ui-paper,#11151c);--lib-surface:var(--alan-ui-surface,#202630);--lib-ink:var(--alan-ui-ink,#f5f5f7);--lib-muted:var(--alan-ui-muted,#b6bcc6);--lib-line:var(--alan-ui-line,rgba(245,245,247,.19));--lib-accent:var(--alan-ui-accent,#abc2dc);}
.alan-library[data-series-style]>.alan-library-atmosphere {background:radial-gradient(ellipse at 78% 12%,hsl(var(--lib-world-h) var(--lib-world-s) 86%/.55),transparent 72%),var(--lib-paper);}
html[data-alan-theme="dark"] .alan-library[data-series-style]>.alan-library-atmosphere {background:radial-gradient(ellipse at 78% 12%,hsl(var(--lib-world-h) var(--lib-world-s) 23%/.45),transparent 72%),var(--lib-paper);}
.alan-series-sr {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.alan-series-deck {margin-top:4px;}
.alan-series-deck__track {display:grid;grid-auto-flow:column;grid-auto-columns:100%;align-items:stretch;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:28px;touch-action:pan-x pan-y pinch-zoom;padding-bottom:0;}
/* Enhanced touch rails keep vertical page scrolling native while pointer events
   handle deliberate sideways swipes. Without JS, both native axes remain enabled. */
.alan-series-deck.is-enhanced .alan-series-deck__track {touch-action:pan-y pinch-zoom;}
.alan-series-deck__track.is-shifting {scroll-snap-type:none;}
.alan-series-deck__track.is-dragging {scroll-snap-type:none;user-select:none;cursor:grabbing;}
.alan-series-deck__track>.alan-series-banner {scroll-snap-align:start;scroll-snap-stop:always;}
.alan-series-banner {--series-paper:hsl(var(--series-h) 22% 96%);--series-surface:hsl(var(--series-h) 20% 91%);--series-ink:hsl(var(--series-h) 22% 17%);--series-muted:hsl(var(--series-h) 12% 37%);--series-accent:hsl(var(--series-h) var(--series-s) 32%);--series-line:hsl(var(--series-h) 18% 30%/.2);display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:clamp(400px,32vw,490px);background:var(--series-paper);color:var(--series-ink);border:1px solid var(--series-line);border-radius:28px;overflow:hidden;isolation:isolate;position:relative;}
html[data-alan-theme="dark"] .alan-series-banner {--series-paper:hsl(var(--series-h) 16% 12%);--series-surface:hsl(var(--series-h) 18% 17%);--series-ink:hsl(var(--series-h) 20% 94%);--series-muted:hsl(var(--series-h) 12% 75%);--series-accent:hsl(var(--series-h) var(--series-s) 78%);--series-line:hsl(var(--series-h) 18% 75%/.22);}
.alan-series-banner__copy {display:flex;flex-direction:column;align-items:start;justify-content:center;padding:clamp(28px,4.5vw,68px);position:relative;z-index:10;}
.alan-series-banner .alan-series-banner__eyebrow {color:var(--series-muted);display:flex;gap:28px;align-items:center;letter-spacing:.13em;margin:0;}
.alan-series-banner__eyebrow>span {font-variant-numeric:tabular-nums;}
.alan-series-banner :is(h1,h2) {font:450 clamp(30px,3.15vw,46px)/1.04 var(--lib-sans);letter-spacing:-.055em;margin:32px 0 24px;max-width:18ch;text-wrap:balance;}
.alan-series-banner__copy>p {font:400 15px/1.7 var(--lib-sans);color:var(--series-muted);max-width:42ch;margin:0;}
.alan-series-banner .alan-series-banner__action {display:inline-flex;align-items:center;gap:32px;min-height:52px;padding:8px 8px 8px 22px;margin-top:36px;border:1px solid var(--series-line);border-radius:60px;color:var(--series-ink);font:500 12px/1.5 var(--lib-sans);background:var(--series-paper);transition:background .3s,box-shadow .3s;}
.alan-series-banner__action>span[aria-hidden] {display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--series-ink);color:var(--series-paper);font-size:19px;transition:transform .4s cubic-bezier(.22,.75,.25,1);}
.alan-series-banner__action:is(:hover,:focus-visible) {box-shadow:0 8px 28px color-mix(in srgb,var(--series-ink) 9%,transparent);}
.alan-series-banner__action:is(:hover,:focus-visible)>span[aria-hidden] {transform:rotate(45deg);}
/* Continue each series' background behind the fixed ALAN./Menu controls.
   Theme keeps an 80px CMS header spacer: overlap only the background, then
   add precisely the same height as inner padding. The banner does not move. */
.alan-library[data-series-style] {
 margin-top:calc(-1 * var(--alan-ui-header-height,5rem));
 padding-top:var(--alan-ui-header-height,5rem);
}
/* The arrow remains over the banner, without its own header strip. */
.alan-library[data-series-style] .alan-library-opening {position:relative;padding-top:clamp(12px,1vw,18px);}
.alan-library[data-series-style] .alan-library-breadcrumb--return {
 position:absolute;z-index:20;top:calc(clamp(12px,1vw,18px) + 12px);left:clamp(14px,2vw,28px);
 margin:0;color:var(--lib-ink);
}
.alan-series-banner--detail {margin-top:0;min-height:clamp(430px,35vw,540px);}
@media(max-width:600px) {
 .alan-library[data-series-style] .alan-library-breadcrumb--return {left:auto;right:12px;top:calc(clamp(12px,1vw,18px) + 10px);}
}
.alan-series-banner--detail h1 {font-size:clamp(34px,3.5vw,52px);}
/* A registered canvas preserves Photoshop coordinates and transparent cutout ratios. */
.alan-series-art {position:relative;display:flex;align-items:center;min-width:0;overflow:hidden;background:var(--series-surface);isolation:isolate;}
.alan-series-art__canvas {position:relative;width:100%;aspect-ratio:16/9;flex:none;isolation:isolate;}
.alan-series-art:not(.has-art) .alan-series-art__canvas {aspect-ratio:4/3;}
.alan-series-art__geometry {position:absolute;inset:8%;pointer-events:none;color:var(--series-accent);}
.alan-series-art__geometry>span {position:absolute;inset:0;border:1px solid currentColor;opacity:.24;}
.alan-series-art__geometry>span:nth-child(2) {inset:15%;border-radius:50%;}
.alan-series-art__geometry>span:nth-child(3) {inset:32%;transform:rotate(45deg);}
.alan-series-art__type {position:absolute;inset:18% 14%;display:flex;flex-direction:column;justify-content:center;gap:24px;color:var(--series-accent);}
.alan-series-art__type>small {font:500 9px/1.5 var(--lib-sans);letter-spacing:.14em;text-transform:uppercase;}
.alan-series-art__type>span {font:400 clamp(30px,3.2vw,46px)/.98 var(--lib-serif);letter-spacing:-.06em;text-wrap:balance;}
.alan-series-art__type>i {width:48px;height:1px;background:currentColor;transform-origin:left;}
.alan-series-art.has-art .alan-series-art__type,.alan-series-art.has-art .alan-series-art__geometry {display:none;}
.alan-series-plane {position:absolute;left:var(--plane-x);top:var(--plane-y);width:var(--plane-w);height:var(--plane-h);transform:translate(-50%,-50%);z-index:var(--plane-order);opacity:var(--plane-opacity);pointer-events:none;}
.alan-series-plane__motion,.alan-series-plane :is(picture,img) {display:block;width:100%;height:100%;}
.alan-series-plane img {object-fit:contain;}
.alan-series-plane--background img,.alan-series-plane--atmosphere img {object-fit:cover;}
.alan-series-art__mobile {display:none;position:relative;width:100%;aspect-ratio:4/5;}
.alan-series-art__mobile :is(picture,img) {display:block;width:100%;height:100%;object-fit:cover;}
/* Classical functional heading; the decorative studies below supply each material. */
.alan-series-banner--classical :is(h1,h2) {font-family:var(--lib-serif);font-weight:400;letter-spacing:-.05em;}
.alan-series-deck__controls {visibility:hidden;display:flex;align-items:center;justify-content:center;gap:20px;padding-top:12px;font:500 10px/1.5 var(--lib-sans);color:var(--lib-muted);font-variant-numeric:tabular-nums;}
.alan-series-deck__controls>div {display:flex;align-items:center;gap:4px;}
.alan-series-deck__controls button {width:44px;height:44px;border:1px solid var(--lib-line);border-radius:50%;background:var(--lib-paper);color:var(--lib-ink);font-size:18px;}
.alan-series-deck__controls [data-series-index] {border:0;border-radius:0;display:grid;place-items:center;background:transparent;}
.alan-series-deck__controls [data-series-index]>span {width:5px;height:5px;border-radius:20px;background:var(--lib-muted);transition:width .4s;}
.alan-series-deck__controls [aria-pressed="true"]>span {width:6px;background:var(--lib-ink);}
/* Publication slider remains functional as a smaller, secondary editorial moment. */
.alan-library-publication-picks {margin-block:clamp(64px,8vw,112px) 0;}
.alan-library-publication-picks__heading {margin-bottom:28px;}
.alan-library-publication-picks__heading h2 {font:450 clamp(28px,3vw,42px)/1.12 var(--lib-sans);letter-spacing:-.045em;margin:14px 0 0;}
.alan-library-publication-picks .alan-library-feature {grid-template-columns:1.35fr 1fr;min-height:280px;}
.alan-library-publication-picks .alan-library-feature__copy {padding:28px 36px;}
.alan-library-publication-picks .alan-library-feature h2 {font-size:clamp(24px,2.3vw,34px);max-width:28ch;margin:14px 0;}
.alan-library-publication-picks .alan-library-feature__copy>p {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.alan-library-publication-picks .alan-library-feature__action {margin-top:16px;}
.alan-library-publication-picks .alan-library-feature__media {aspect-ratio:auto;min-height:280px;}
.alan-library.is-searching .alan-library-publication-picks {display:none;}
@media(max-width:1000px) {
 .alan-series-banner {grid-template-columns:1fr 1fr;min-height:450px;}
 .alan-series-banner__copy {padding:32px;}
 .alan-series-banner :is(h1,h2) {font-size:34px;}
 .alan-series-banner__copy>p {font-size:14px;}
 .alan-series-art__type>span {font-size:36px;}
}
@media(max-width:600px) {
 .alan-series-banner {grid-template-columns:1fr;min-height:0;border-radius:24px;}
 .alan-series-banner__copy {padding:28px;justify-content:start;}
 .alan-series-banner :is(h1,h2) {font-size:clamp(32px,8.8vw,46px);margin:24px 0 18px;}
 .alan-series-banner__copy>p {font-size:13px;}
 .alan-series-banner__action {margin-top:24px;}
 .alan-series-art {align-self:end;}
 .alan-series-art:not(.has-art) .alan-series-art__canvas {aspect-ratio:4/3;}
 .alan-series-art__type {inset:16% 18%;gap:14px;}
 .alan-series-art__type>span {font-size:clamp(28px,8vw,40px);}
 .alan-series-art.has-mobile .alan-series-art__canvas {display:none;}
 .alan-series-art.has-mobile .alan-series-art__mobile {display:block;}
 .alan-series-deck__track {border-radius:24px;}
 .alan-series-deck__controls {gap:8px;}
 .alan-series-deck__controls [data-series-index] {width:32px;}
 .alan-series-deck__controls button {width:40px;}
 .alan-library-publication-picks .alan-library-feature {grid-template-columns:1fr;}
 .alan-library-publication-picks .alan-library-feature__media {grid-row:1;aspect-ratio:16/9;min-height:0;}
 .alan-library-publication-picks .alan-library-feature__copy {padding:24px;}
 .alan-library-publication-picks .alan-library-feature h2 {font-size:25px;}
}
@media(prefers-reduced-motion:reduce) {.alan-series-banner * {transition:none!important;animation:none!important;}.alan-series-deck__track {scroll-behavior:auto!important;}}
@media print {.alan-series-deck__track {display:block;overflow:visible;}.alan-series-banner {break-inside:avoid;margin-bottom:24px;}.alan-series-deck__controls {display:none!important;}}

.alan-series-deck.is-enhanced .alan-series-deck__controls {visibility:visible;}
.alan-series-deck__controls>div[role="group"] {flex:1;flex-wrap:wrap;justify-content:center;}
.alan-series-deck__controls>span,.alan-series-deck__controls>div:last-child {flex:none;}

.alan-series-deck__track::-webkit-scrollbar {display:none;}
/* Art studies have distinct material and spatial language, without substitute photos. */
.alan-series-study {position:absolute;inset:0;width:100%;height:100%;color:var(--series-accent);}
.alan-series-study__fine {stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;opacity:.5;}
.alan-series-study__marks {stroke:currentColor;stroke-width:1;opacity:.26;}
.alan-series-study__wash {fill:currentColor;opacity:.045;}
.alan-series-study__paper {fill:var(--series-paper);stroke:var(--series-line);stroke-width:1;filter:drop-shadow(0 8px 12px rgb(0 0 0/.035));}
.alan-series-study__glass {fill:var(--series-paper);fill-opacity:.6;stroke:currentColor;stroke-opacity:.3;stroke-width:1;filter:drop-shadow(0 16px 18px rgb(0 0 0/.06));}
.alan-series-study__reflection {fill:var(--series-ink);opacity:.035;}
.alan-series-banner:is(.alan-series-banner--classical,.alan-series-banner--sketchbook,.alan-series-banner--digital) .alan-series-art__geometry {display:none;}
.alan-series-banner:is(.alan-series-banner--classical,.alan-series-banner--sketchbook,.alan-series-banner--digital) .alan-series-art__type {inset:auto 10% 5%;transform:none;align-items:start;text-align:left;gap:0;z-index:1;}
.alan-series-banner:is(.alan-series-banner--classical,.alan-series-banner--sketchbook,.alan-series-banner--digital) .alan-series-art__type>span,
.alan-series-banner:is(.alan-series-banner--classical,.alan-series-banner--sketchbook,.alan-series-banner--digital) .alan-series-art__type>i {display:none;}
.alan-series-art.has-art .alan-series-study {display:none;}
.alan-series-banner--classical .alan-series-art {background:radial-gradient(ellipse at 52% 43%,color-mix(in srgb,var(--series-paper) 85%,transparent) 12%,transparent 62%),radial-gradient(ellipse at 50% 120%,color-mix(in srgb,var(--series-accent) 18%,transparent),transparent 70%),var(--series-surface);}
.alan-series-banner--classical .alan-series-art:not(.has-art)::after {background:radial-gradient(ellipse at 50% 42%,transparent 35%,color-mix(in srgb,var(--series-surface) 70%,transparent) 95%);}
.alan-series-banner--sketchbook .alan-series-art {background:repeating-linear-gradient(90deg,transparent 0 23px,color-mix(in srgb,var(--series-accent) 4%,transparent) 23px 24px),repeating-linear-gradient(0deg,transparent 0 23px,color-mix(in srgb,var(--series-accent) 4%,transparent) 23px 24px),var(--series-surface);}
.alan-series-banner--sketchbook .alan-series-study {transform:rotate(-4deg);}
.alan-series-banner--digital .alan-series-art {background:radial-gradient(ellipse at 80% 15%,color-mix(in srgb,var(--series-accent) 22%,transparent),transparent 68%),linear-gradient(145deg,var(--series-surface),var(--series-paper));}
.alan-series-banner--digital .alan-series-study__fine {opacity:.6;}
.alan-series-banner--detail .alan-series-art:not(.has-art) .alan-series-art__canvas {aspect-ratio:4/3;}
.alan-series-deck__controls [data-series-index] {width:36px;}
.alan-series-deck__controls [data-series-index]>span {transition:background .3s,box-shadow .3s;}
.alan-series-deck__controls [aria-pressed="true"]>span {box-shadow:0 0 0 4px color-mix(in srgb,var(--lib-ink) 8%,transparent);}
@media(max-width:600px) {
 .alan-series-banner :is(h1,h2),.alan-series-banner--detail h1 {font-size:30px;line-height:1.1;}
 .alan-series-banner__copy {padding:28px;}
 .alan-series-art:not(.has-art) .alan-series-art__canvas {aspect-ratio:16/11;}
}

