/* Studio voice and river details, refined from Alex’s page notes. */
.boutique .hero-channel-link{color:var(--rust-dark);text-decoration:underline;text-decoration-color:#a33e2170;text-decoration-thickness:1px;text-underline-offset:4px;font-weight:550;transition:text-decoration-color .2s}
.boutique .hero-channel-link:hover{color:#7d2d18;text-decoration-color:currentColor}
.boutique .founder-portrait figcaption{align-items:baseline;font-size:9px}
.boutique .founder-portrait figcaption>span:first-child{color:#676b5f}
.boutique .founder-portrait figcaption>span:last-child{color:var(--ink);text-align:right;white-space:nowrap}
.boutique .hero-colophon .river-entry{gap:17px;align-items:center;min-height:54px}
.river-entry svg{display:block;width:66px;height:54px;overflow:visible;flex-shrink:0}
.river-entry .entry-bank{fill:none;stroke:#a33e2145;stroke-width:1.5}
.river-entry .entry-current{fill:none;stroke:var(--rust-dark);stroke-width:1.6;stroke-dasharray:100;stroke-dashoffset:0}
.entry-source{fill:var(--rust-dark)}
.entry-destination{fill:var(--paper);stroke:var(--rust-dark);stroke-width:1.5}
.entry-pulse{fill:var(--rust-dark);opacity:0;offset-path:path('M4 8H24V22H43V43');offset-anchor:center;offset-rotate:0deg}
.river-entry:is(:hover,:focus-visible) .entry-pulse{animation:entry-flow 1.1s ease-in-out both}
.river-entry:is(:hover,:focus-visible) .entry-current{animation:current-draw 1.1s ease both}
@keyframes entry-flow{0%{offset-distance:0;opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes current-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
/* A small printed insert adds shape and a useful preview of the newsletter. */
.boutique-home .letter-section{gap:8%;grid-template-columns:1fr 1fr;align-items:center;background-image:linear-gradient(90deg,transparent 49.9%,#f3e9d80b 50%,transparent 50.1%)}
.boutique-home .letter-title{position:relative;z-index:1;min-width:0}
.boutique-home .letter-title h2{font-size:clamp(52px,5.8vw,82px)}
.boutique-home .letter-content{padding-top:0;max-width:540px}
.letter-insert{position:relative;max-width:360px;margin:26px 6px 0 2px;background:var(--paper);color:var(--ink);padding:20px 22px 21px;transform:rotate(-1.6deg);border:1px solid #6d2b1c40;box-shadow:6px 7px 0 #742f1a44}
.letter-insert::before{content:'';position:absolute;top:-5px;left:14px;width:calc(100% - 8px);height:100%;background:transparent;border:1px solid #f3e9d84d;transform:rotate(2.5deg);z-index:-1}
.letter-insert-top{display:flex;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #a2957e80;font:8px/1.6 var(--mono);letter-spacing:.06em;color:#715444}
.letter-insert-body{display:flex;align-items:center;gap:23px;padding-top:17px}
.coffee-cup-mark{width:65px;height:65px;flex-shrink:0;fill:none;stroke:var(--rust-dark);stroke-width:1.8;stroke-linejoin:miter}
.coffee-cup-mark .cup-coffee{fill:#a33e2120;stroke:none}
.coffee-cup-mark .cup-steam{stroke:#a33e2190}
.letter-insert ol{margin:0;padding:0;list-style:none;counter-reset:letter-topics;display:grid;gap:9px;font:500 13px/1.5 var(--sans)}
.letter-insert li{counter-increment:letter-topics;display:flex;gap:12px;align-items:baseline}
.letter-insert li::before{content:'0' counter(letter-topics);font:8px var(--mono);color:#90624c}
.boutique .letter-signoff{margin-top:22px;gap:14px;align-items:center;font-size:13px;line-height:1.5}
.alex-signature{display:block;width:112px;height:auto;max-width:34%;transform:rotate(-4deg);flex-shrink:0}
.boutique-home .letter-section .newsletter-form{margin-top:25px}
.boutique-home .letter-section .signup-benefit{border-top:1px solid #f3e9d84d;padding-top:16px;max-width:440px;margin-top:20px}
.boutique-home .letter-section .email-row input{min-height:56px}
.boutique-home .letter-section .email-row .button{min-height:56px}
/* Three currents meet in a conversation; no generic arrow glyph. */
.boutique .boutique-contact{padding-top:58px;padding-bottom:64px}
.boutique .boutique-contact .contact-river-link{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:nowrap}
.boutique .boutique-contact .contact-words{display:block;margin:0;font:inherit;letter-spacing:inherit;transition:none;transform:none}
.boutique .boutique-contact .contact-words em{display:inline-block}
.contact-confluence{display:block;width:clamp(116px,15vw,200px);height:auto;flex-shrink:0;overflow:visible;fill:none;stroke-linecap:square;stroke-linejoin:miter;--connection-ink:#ed8c62}
.confluence-banks{stroke:#ed8c624d;stroke-width:1.5}
.confluence-currents{stroke:var(--connection-ink);stroke-width:1.8}
.confluence-currents path{stroke-dasharray:100;stroke-dashoffset:0}
.confluence-sources{fill:var(--connection-ink)}
.confluence-message{stroke:var(--paper);stroke-width:1.5;transition:stroke .2s}
.confluence-dots{fill:var(--paper)}
.contact-river-link:is(:hover,:focus-visible) .confluence-currents path{animation:current-draw 1s ease both}
.contact-river-link:is(:hover,:focus-visible) .confluence-currents path:nth-child(2){animation-delay:.12s}
.contact-river-link:is(:hover,:focus-visible) .confluence-currents path:nth-child(3){animation-delay:.24s}
.contact-river-link:is(:hover,:focus-visible) .confluence-message{stroke:var(--connection-ink)}
.contact-river-link.is-current-visible .confluence-currents path{animation:current-draw 1.3s ease both}
.contact-river-link.is-current-visible .confluence-currents path:nth-child(2){animation-delay:.12s}
.contact-river-link.is-current-visible .confluence-currents path:nth-child(3){animation-delay:.24s}
@media(min-width:1400px){.letter-insert{max-width:410px;padding:23px 26px}.letter-insert ol{font-size:15px}.coffee-cup-mark{width:78px;height:78px}.letter-insert-top{font-size:9px}}
@media(max-width:1000px) and (min-width:761px){.boutique-home .letter-section{gap:6%}.letter-insert{padding:17px 14px}.letter-insert-body{gap:14px}.letter-insert ol{font-size:12px}.coffee-cup-mark{width:48px;height:48px}.letter-insert-top{font-size:7px}.boutique .letter-signoff{font-size:12px}}
@media(max-width:760px){.boutique-home .letter-section{grid-template-columns:1fr;gap:28px;background-image:none}.boutique-home .letter-title h2{font-size:clamp(48px,11.5vw,70px)}.letter-insert{margin-top:22px;padding:18px 20px;max-width:380px}.letter-insert ol{font-size:13px}.letter-insert-body{gap:20px}.boutique .letter-signoff{margin-top:20px}.boutique .hero-colophon .river-entry{font-size:9px;gap:7px}.river-entry svg{width:46px;height:45px}.boutique .founder-portrait figcaption{font-size:8px;gap:12px}.boutique .boutique-contact .contact-river-link{gap:24px}.boutique .boutique-contact .contact-words{max-width:70%}.contact-confluence{width:94px}.boutique .boutique-contact{padding-top:40px;padding-bottom:48px}}
@media(max-width:400px){.letter-insert{padding:15px}.letter-insert-top{font-size:7px}.letter-insert-body{gap:13px}.letter-insert ol{font-size:12px}.coffee-cup-mark{width:48px;height:48px}.boutique .letter-signoff{font-size:12px}.alex-signature{width:100px}.boutique .hero-colophon{gap:12px}.boutique .hero-colophon .river-entry{gap:0;font-size:8px}.river-entry svg{width:40px}.boutique .boutique-contact .contact-river-link{gap:15px}.contact-confluence{width:75px}.boutique .boutique-contact .contact-words{max-width:calc(100% - 90px)}}
@media(prefers-reduced-motion:reduce){.river-entry .entry-pulse{display:none}.river-entry .entry-current,.contact-river-link .confluence-currents path{animation:none!important;stroke-dashoffset:0!important}.hero-channel-link,.confluence-message{transition:none}}
