@font-face{font-family:"Pulse Bodoni";font-style:normal;font-weight:400 900;font-display:swap;src:url("./bodoni-moda-latin.woff2") format("woff2")}
.pulse-logo{width:100%;max-width:1000px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;font-family:"Pulse Bodoni",Georgia,serif;font-variation-settings:"opsz" 8;color:#17252f}
.pulse-logo__art{position:relative;width:42%;max-width:400px;aspect-ratio:740/773}
.pulse-logo__art img,.pulse-logo__art canvas{display:block;width:100%;height:auto;aspect-ratio:740/773}
.pulse-logo__art canvas{display:none;position:absolute;inset:0}
.pulse-logo.is-playing .pulse-logo__art img{visibility:hidden}
.pulse-logo.is-playing .pulse-logo__art canvas{display:block}
.pulse-logo__lockup{width:96%;max-width:980px;text-align:center;margin-top:10px}
.pulse-logo__project{font-size:clamp(15px,3.1vw,26px);font-weight:700;letter-spacing:.34em;margin-left:.34em}
.pulse-logo__word{font-size:clamp(64px,14vw,124px);font-weight:900;line-height:.96;letter-spacing:.04em;margin:.02em 0 0 .04em}
.pulse-logo__rule{display:grid;grid-template-columns:1fr 76px 1fr;align-items:center;gap:12px;margin:16px 0 6px}
.pulse-logo__rule span{height:1px;background:#c3c9c4}.pulse-logo__rule span:nth-child(2){height:2px;background:#a8874f}
.pulse-logo__lines{display:flex;flex-direction:column;align-items:center;gap:26px;margin-top:26px}
.pulse-logo__lines>*{margin:0;text-wrap:balance}
.pulse-logo__line1{font-size:clamp(15px,2.35vw,25px);font-weight:700;line-height:1.3}
.pulse-logo__line2{font-size:clamp(12.5px,1.85vw,19px);font-weight:600;font-style:italic;line-height:1.4;color:#2a3f4e}
.pulse-logo__line3{font-size:clamp(11.5px,1.65vw,17px);font-weight:600;line-height:1.45;color:#3d4f5c}
.pulse-logo.is-playing .pulse-logo__wordgroup{opacity:var(--word,0);transform:translateY(calc(14px * (1 - var(--word,0))))}
.pulse-logo.is-playing .pulse-logo__rule{opacity:var(--word,0)}
.pulse-logo.is-playing .pulse-logo__line1{opacity:var(--line1,0);transform:translateY(calc(10px * (1 - var(--line1,0))))}
.pulse-logo.is-playing .pulse-logo__line2{opacity:var(--line2,0);transform:translateY(calc(8px * (1 - var(--line2,0))))}
.pulse-logo.is-playing .pulse-logo__line3{opacity:var(--line3,0)}
.pulse-logo__skip{display:none;margin:20px auto 0;border:1px solid #5c6f7b;border-radius:4px;padding:8px 12px;background:#faf9f6;color:#17252f;font:14px/1.4 system-ui;cursor:pointer}
.pulse-logo.is-playing .pulse-logo__skip{display:block}.pulse-logo__skip:focus-visible{outline:3px solid #17252f;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.pulse-logo.is-playing .pulse-logo__art img{visibility:visible}.pulse-logo.is-playing .pulse-logo__art canvas{display:none}.pulse-logo.is-playing .pulse-logo__wordgroup,.pulse-logo.is-playing .pulse-logo__rule,.pulse-logo.is-playing .pulse-logo__lines>*{opacity:1;transform:none}.pulse-logo.is-playing .pulse-logo__skip{display:none}}

.pulse-logo{padding:35px 20px 0}.pulse-logo__art{width:clamp(155px,22vw,240px)}.pulse-logo__word{font-size:clamp(62px,7vw,80px)}.pulse-logo__line1{font-size:clamp(28px,3.1vw,39px);max-width:850px}.pulse-logo__line2{font-size:clamp(18px,2vw,23px);max-width:800px}.pulse-logo__line3{font-size:clamp(16px,1.8vw,20px)}.pulse-logo__lines{gap:20px}.pulse-logo__project{font-size:16px}.pulse-logo__lockup{margin-top:0}
/* Identity may animate; the visitor's actual message is readable immediately. */
.pulse-logo.is-playing .pulse-logo__lines>*{opacity:1;transform:none}
.pulse-logo__tagline{font:400 20px/1.5 system-ui,sans-serif;margin:20px 0}
@media print{.pulse-logo .pulse-logo__art img{visibility:visible!important}.pulse-logo .pulse-logo__art canvas,.pulse-logo__skip{display:none!important}.pulse-logo .pulse-logo__wordgroup,.pulse-logo .pulse-logo__rule,.pulse-logo .pulse-logo__lines>*{opacity:1!important;transform:none!important}}
