/* Animated two-tone pointers, activated by mouse, pen or touch at any width. */
html.cursor-managed,html.cursor-managed *{cursor:none!important}
.site-cursor{position:fixed;left:0;top:0;width:0;height:0;z-index:10002;pointer-events:none;opacity:0;transition:opacity .22s ease;isolation:isolate;will-change:transform}
.site-cursor.is-visible{opacity:1}
.site-cursor>.cursor-glyph{position:absolute;left:-20px;top:-20px;width:40px;height:40px;max-width:none;overflow:visible;transition:transform .18s;transform-origin:center;stroke-linecap:round;stroke-linejoin:round}
.site-cursor.is-hot>.cursor-glyph{transform:scale(1.12)}
.site-cursor.mode-3.is-hot>.cursor-glyph{transform:rotate(12deg) scale(1.08)}
.site-cursor.mode-4.is-hot>.cursor-glyph{transform:rotate(45deg) scale(1.08)}
.site-cursor.is-pressed>.cursor-glyph{transform:scale(.86)}
.cursor-action,.cursor-action-disc{opacity:0;transition:opacity .15s}
.site-cursor.is-hot .cursor-action,.site-cursor.is-hot .cursor-action-disc{opacity:1}

.cursor-glyph{display:block;stroke-linecap:round;stroke-linejoin:round}
.cursor-picker{position:fixed;left:22px;bottom:22px;z-index:91;width:min(560px,calc(100% - 44px));padding:14px 16px;background:#f4f5f6 url(../images/paper.webp) center/512px;color:#0d1013;border:1px solid #8db4c6;border-radius:10px;box-shadow:0 5px 20px rgba(0,0,0,.2);font:400 13px/1.4 var(--f-t)}
.cursor-picker summary{display:flex;align-items:center;gap:12px;list-style:none;font:500 19px/1.2 var(--f-d);text-transform:uppercase;letter-spacing:.04em}
.cursor-picker summary::-webkit-details-marker{display:none}
.cursor-picker summary>svg{width:22px;height:22px;margin-left:auto;fill:none;stroke:#0b6f99;stroke-width:1.6}
.cursor-picker:not([open]) summary>svg{transform:rotate(180deg)}
.cursor-picker__current{font:400 12px/1.2 var(--f-t);text-transform:none;letter-spacing:0;color:#526777}
.cursor-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px}
.cursor-options button{display:flex;flex-direction:column;align-items:center;gap:5px;min-height:75px;padding:5px 4px 9px;border:1px solid #bdcdd5;border-radius:6px;background:#e5edf1;color:#10232e;font:400 11px/1.2 var(--f-t)}
.cursor-options button>.cursor-glyph{width:40px;height:40px;max-width:none}
.cursor-options button[aria-pressed="true"]{border-color:#0b6f99;background:#c1efff;box-shadow:inset 0 0 0 1px #0b6f99}
.cursor-picker__foot{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:11px;color:#526777}
.cursor-picker__foot a,.cursor-picker__foot button{text-decoration:underline;text-underline-offset:3px}
.cursor-mobile-note{display:block;font-size:11px;color:#526777;margin-top:10px}
.cursor-gallery{margin:0;background:#0e1115 url(../images/card-black.webp) center/512px;color:#f4f5f6}
.cursor-gallery__wrap{max-width:1500px;margin:auto;padding:36px clamp(20px,4vw,60px) 50px}
.cursor-gallery__back{display:inline-block;margin-bottom:32px;font:400 13px/1.4 var(--f-t);color:#a7c8d8;text-decoration:underline;text-underline-offset:4px}
.cursor-gallery__eyebrow{font:400 11px/1.4 var(--f-d);letter-spacing:.2em;text-transform:uppercase;color:#29c5ff;margin-bottom:12px}
.cursor-gallery h1{font:600 clamp(40px,5vw,70px)/1.05 var(--f-d);text-transform:uppercase;margin:0 0 18px}
.cursor-gallery__lead{max-width:650px;font:400 16px/1.5 var(--f-t);color:#b5c5cf;margin-bottom:30px}
.cursor-gallery__mobile{display:none}
.cursor-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.cursor-card{min-width:0;background:#f4f5f6 url(../images/paper.webp) center/512px;color:#0d1013;border:1px solid #8db4c6;border-radius:8px;overflow:hidden}
.cursor-card__try{display:block;width:100%;padding:20px;text-align:left;background:transparent;border:0}
.cursor-card__try[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #0b6f99;background:#e3f5fc}
.cursor-card__number{display:block;font:500 13px/1 var(--f-d);color:#0b6f99;margin-bottom:16px}
.cursor-card__title{display:block;min-height:58px;font:500 26px/1.1 var(--f-d);margin:0 0 18px;text-transform:uppercase}
.cursor-swatches{position:relative;display:grid;grid-template-columns:1fr 1fr;margin-bottom:18px;border:1px solid #becbd2;border-radius:5px;overflow:hidden}
.cursor-swatch{display:grid;place-items:center;height:132px}
.cursor-swatch--dark{background:#11171d}
.cursor-swatch--light{background:#fff}
.cursor-swatch>.cursor-glyph{width:56px;height:56px;max-width:none}
.cursor-card__note{display:block;min-height:60px;font:400 13px/1.45 var(--f-t);color:#4c5f6c}
.cursor-card__action{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid #bdcdd5;font:500 13px/1.3 var(--f-d);letter-spacing:.08em;text-transform:uppercase}
.cursor-card__site{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 20px;background:#dce9ef;font:400 12px/1.4 var(--f-t);color:#124d67}
.cursor-gallery__tools{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px;font:400 13px/1.5 var(--f-t);color:#b5c5cf}
.cursor-gallery__tools button{padding:10px 16px;border:1px solid #577787;border-radius:6px}
.cursor-gallery__tools button[aria-pressed="true"]{color:#29c5ff;border-color:#29c5ff}
@media(max-width:1100px){.cursor-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.cursor-cards{grid-template-columns:1fr}.cursor-card__note{min-height:0}.cursor-card__try{padding:20px}.cursor-swatch{height:132px}.cursor-gallery__wrap{padding-top:24px}.cursor-gallery__back{margin-bottom:26px}.cursor-picker{left:10px;bottom:10px;width:calc(100% - 20px);padding:12px}.cursor-options{grid-template-columns:repeat(3,minmax(0,1fr))}.cursor-options button{min-height:68px}.cursor-picker__foot{font-size:10px}}
@media(prefers-reduced-motion:reduce){.site-cursor,.site-cursor>.cursor-glyph,.cursor-action,.cursor-action-disc{transition:none}.site-cursor.mode-3.is-hot>.cursor-glyph,.site-cursor.mode-4.is-hot>.cursor-glyph{transform:scale(1.08)}}

/* Small composited surface with ample transparent padding around the short trail. */
.cursor-magic-layer{position:fixed;left:0;top:0;width:192px;height:192px;max-width:none;z-index:10001;pointer-events:none;background:transparent;filter:none;will-change:transform;contain:strict;opacity:0;transition:opacity .22s ease}
.site-cursor>.cursor-glyph{filter:none}
.cursor-options button{min-height:90px}
.cursor-options button>span{display:block;min-height:26px;line-height:1.2}
.cursor-demo{position:absolute;inset:0;width:100%;height:100%;max-width:none;pointer-events:none}
.cursor-demo__core{position:absolute;left:0;top:0;width:40px;height:40px;pointer-events:none;will-change:transform}
.cursor-demo__core>.cursor-glyph{width:40px;height:40px;max-width:none;overflow:visible;filter:none}
.cursor-comet-core{transform-origin:20px 20px;animation:magic-breathe 1.35s ease-in-out infinite}
.cursor-core-light{animation:magic-twinkle .9s ease-in-out infinite}
.cursor-rosette{transform-origin:20px 20px;animation:magic-orbit 8s linear infinite}
.cursor-orbit{transform-origin:20px 20px;animation:magic-orbit 3.6s linear infinite}
.cursor-glyph--2 .cursor-rosette{animation:none}
.cursor-pearl{animation:magic-pearl 1.8s ease-in-out infinite}
.cursor-center-star{transform-origin:20px 20px;animation:magic-twinkle 1.15s ease-in-out infinite}
.cursor-glyph--3>path:nth-of-type(2){animation:magic-facet 1.7s ease-in-out infinite}
.cursor-glyph--3>path:nth-of-type(4){animation:magic-facet 1.7s ease-in-out infinite reverse}
.cursor-glyph--4>path:first-child{transform-origin:20px 20px;animation:magic-orbit 5s linear infinite}
.cursor-glyph--5 .cursor-badge{animation:magic-badge 1.8s ease-in-out infinite}
@keyframes magic-breathe{0%,100%{transform:scale(.88)}50%{transform:scale(1.09)}}
@keyframes magic-pearl{0%,100%{fill:#effcff}50%{fill:#cff4ff}}
@keyframes magic-twinkle{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes magic-orbit{to{transform:rotate(360deg)}}
@keyframes magic-facet{0%,100%{opacity:.62}50%{opacity:1}}
@keyframes magic-badge{0%,100%{stroke:#d7f6ff;stroke-width:.8}50%{stroke:#eed7a7;stroke-width:1.4}}
@media(prefers-reduced-motion:reduce){.cursor-pearl,.cursor-center-star,.cursor-comet-core,.cursor-core-light,.cursor-rosette,.cursor-orbit,.cursor-glyph--3>path,.cursor-glyph--4>path:first-child,.cursor-badge{animation:none}}

.site-cursor:not(.is-visible) .cursor-glyph *{animation-play-state:paused}

.cursor-magic-layer.is-visible{opacity:1}
.site-cursor.is-immediate,.cursor-magic-layer.is-immediate{opacity:0!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.cursor-magic-layer{transition:none}}
