
:root{font-family:Arial,Helvetica,sans-serif;color:#301a14;background:white;font-synthesis:none;-webkit-font-smoothing:antialiased;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:1px solid #80695c;outline-offset:6px}.calling-card{min-height:100svh;display:flex;flex-direction:column;padding:26px clamp(24px,4.6vw,90px);overflow-x:clip}.masthead{display:flex;align-items:center;justify-content:space-between;min-height:75px}.family-brand{width:200px;display:block;line-height:0;margin-left:-10px}.family-brand img{width:100%;height:auto}.welcome{font-size:12px;letter-spacing:.18em;color:#7c7069}.portrait-section{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0 36px}.portrait-wrap{position:relative;width:min(1030px,100%,calc((100svh - 370px)*1.777));min-width:0}.portrait{position:relative;aspect-ratio:1692/930;isolation:isolate}.ink-art{width:100%;height:100%;display:block;overflow:visible}.pepper-head{transform-origin:1440px 703px;transition:transform .85s cubic-bezier(.22,1,.36,1)}[data-pepper=true] .pepper-head{transform:rotate(-6deg)}.person-hit{position:absolute;display:block;background:none;border:0;padding:0;border-radius:40%;min-width:28px}.person-hit:focus-visible{outline:1px dotted #a79991;outline-offset:8px}.family-note{position:absolute;left:var(--note-x,50%);top:var(--note-y,0%);transform:translate(-50%,-95%) rotate(-5deg);opacity:0;pointer-events:none;transition:opacity .28s,transform .5s cubic-bezier(.22,1,.36,1);white-space:nowrap;z-index:4}.family-note.is-open{opacity:1;transform:translate(-50%,-110%) rotate(-5deg)}.note-name{font:italic 500 clamp(22px,3vw,37px)/1.4 Bodoni,Georgia,serif;letter-spacing:-.035em}.intro{position:relative;margin-top:8px;text-align:left}h1{font:500 clamp(38px,5.7vw,78px)/1.04 Bodoni,Georgia,serif;letter-spacing:-.035em;margin:0;font-kerning:normal}.headline-human{display:block;padding-right:1.2em}.headline-dog{display:block;padding-left:1.5em;margin-top:.02em}.headline-dog em{font-weight:500;color:#665049}.discovery-hint{font-size:12px;letter-spacing:.06em;margin:25px 0 0;text-align:center;color:#81756e}.page-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#786c65;font-size:12px;min-height:44px}.contact-trigger,.replay{border:0;background:none;padding:10px 0;font-size:12px}.contact-trigger{color:#301a14;font-size:14px;display:flex;gap:14px;align-items:center}.contact-trigger span{font-size:19px;transition:transform .3s}.contact-trigger:hover span{transform:translate(3px,-3px)}.replay{display:flex;gap:9px;align-items:center;color:#786c65}.replay span{font-size:21px;transition:transform .7s}.replay:hover span{transform:rotate(-120deg)}
.revealing .art-layer{mask:url(#ink-reveal)}.ink-strokes path{stroke-dasharray:1;stroke-dashoffset:0}.revealing .ink-strokes path{animation:writeInk var(--duration) cubic-bezier(.32,.04,.23,1) var(--delay) both}.ink-finish{opacity:1}.revealing .ink-finish{animation:finishInk .55s 2.25s both}@keyframes writeInk{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes finishInk{from{opacity:0}to{opacity:1}}
.contact-dialog{border:0;padding:0;background:white;color:#301a14;width:min(480px,calc(100vw - 36px));max-height:85svh;margin:auto;box-shadow:0 25px 120px #301a1420}.contact-dialog::backdrop{background:#30221d20;backdrop-filter:blur(7px)}.contact-inner{padding:55px 42px 35px;position:relative}.contact-close{position:absolute;right:13px;top:11px;border:0;background:none;width:44px;height:44px;font-size:25px}.contact-kicker{font-size:12px;letter-spacing:.17em;margin:0 0 28px;color:#81756e}.contact-inner h2{font:500 44px/1.05 Bodoni,Georgia,serif;letter-spacing:-.04em;margin:0 0 30px}.email-link{font-size:clamp(18px,4.6vw,24px);letter-spacing:-.025em;text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid #d6cbc5}.copy-email{border:0;background:none;padding:16px 0 5px;font-size:14px;color:#786c65;text-decoration:underline;text-underline-offset:4px}.copy-status{min-height:16px;font-size:12px;line-height:1.4;color:#786c65;margin:8px 0 0}
@media(min-width:1500px){.portrait-wrap{width:min(1150px,100%,calc((100svh - 400px)*1.777))}}
@media(max-width:680px){.calling-card{padding:22px 22px 16px}.masthead{min-height:90px;align-items:flex-start}.family-brand{width:177px}.welcome{display:none}.portrait-section{padding:40px 0 48px;gap:25px}.portrait-wrap{width:calc(100% + 26px);max-width:none}.intro{margin-top:0}h1{font-size:clamp(36px,8.5vw,56px);letter-spacing:-.035em}.headline-human{padding-right:1em}.headline-dog{padding-left:.8em}.note-name{font-size:clamp(19px,5vw,27px)}.discovery-hint{margin-top:25px;font-size:12px}.page-footer{gap:14px;flex-wrap:wrap}.home-note{max-width:155px;line-height:1.5}.replay{font-size:0;margin-left:auto}.replay span{font-size:23px}.contact-inner{padding:48px 26px 27px}.contact-inner h2{font-size:39px}}
@media(max-height:700px) and (min-width:681px){.calling-card{padding-top:15px;padding-bottom:15px}.masthead{min-height:55px}.family-brand{width:155px}.portrait-section{padding:12px 0 15px}.portrait-wrap{width:min(850px,100%,calc((100svh - 290px)*1.777))}h1{font-size:48px}.discovery-hint{margin-top:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.revealing .art-layer{mask:none}.pepper-head{transform:none!important}.family-note{transform:translate(-50%,-110%) rotate(-5deg)}}
@font-face{font-family:Space;src:url('./fonts/space-grotesk-bold.woff2') format('woff2');font-weight:700;font-display:swap}
h1{font-family:Space,Arial,sans-serif;font-weight:700;font-size:clamp(38px,6.1vw,84px);line-height:.98;letter-spacing:-.055em;text-transform:uppercase}.headline-human{padding-right:1.2em}.headline-dog{padding-left:1.1em;margin-top:.12em}.headline-dog em{font-style:normal;font-weight:700;color:transparent;-webkit-text-stroke:1.4px #301a14}.intro{margin-top:18px}.family-note,.family-note.is-open{transform:translate(-50%,-115%);transition:opacity .2s}.note-name{display:flex;font:700 clamp(18px,2.45vw,32px)/1.3 Space,Arial,sans-serif;letter-spacing:-.035em;text-transform:uppercase}.name-char{display:inline-block;overflow:hidden;padding:.12em .025em;margin:0 -.025em}.name-char>span{display:block;animation:nameArrive .65s cubic-bezier(.16,1,.3,1) calc(var(--i)*.032s) both;transform-origin:20% 100%}@keyframes nameArrive{0%{transform:translateY(120%) rotate(12deg) scale(.88);filter:blur(4px);opacity:0}100%{transform:translateY(0) rotate(0) scale(1);filter:blur(0);opacity:1}}.contact-inner h2{font-family:Space,Arial,sans-serif;font-weight:700;font-size:39px;letter-spacing:-.055em}
@media(max-width:680px){h1{font-size:clamp(27px,7.7vw,48px);letter-spacing:-.055em}.headline-human{padding-right:.7em}.headline-dog{padding-left:.65em}.headline-dog em{-webkit-text-stroke:1px #301a14}.note-name{font-size:clamp(15px,4vw,23px)}.intro{margin-top:14px}.contact-inner h2{font-size:34px}}
@media(max-height:700px) and (min-width:681px){h1{font-size:clamp(40px,5vw,62px)}.portrait-wrap{width:min(850px,100%,calc((100svh - 300px)*1.777))}}
@media(prefers-reduced-motion:reduce){.family-note,.family-note.is-open{transform:translate(-50%,-115%)}.name-char>span{animation:none;filter:none;transform:none}}

.calling-card{justify-content:center;padding:38px clamp(22px,4.6vw,90px)}.portrait-section{flex:0;width:100%;padding:10px 0;gap:10px}.portrait-wrap{width:min(1150px,100%,calc((100svh - 240px)*1.777))}.intro{margin-top:8px}h1{font-size:clamp(38px,6vw,78px)}.family-note{transition:opacity .16s}.note-name{line-height:1.4}.name-char{overflow:visible;padding:.15em .04em;margin:0 -.04em}.name-char>span{animation:nameSpring .82s linear calc(var(--i)*.035s) both;transform-origin:50% 100%}@keyframes nameSpring{0%{opacity:0;transform:translateY(22px) scale(.68,.8) rotate(-7deg);filter:blur(3px)}28%{opacity:1;transform:translateY(-9px) scale(1.07,.94) rotate(3deg);filter:blur(0)}48%{transform:translateY(4px) scale(.98,1.04) rotate(-1.5deg)}66%{transform:translateY(-2px) scale(1.015,.99) rotate(.7deg)}83%{transform:translateY(.8px) scale(1)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0);filter:blur(0)}}
@media(max-width:680px){.calling-card{padding:36px 20px}.portrait-section{gap:30px;padding:25px 0}.portrait-wrap{width:calc(100% + 24px)}.intro{margin-top:0}h1{font-size:clamp(28px,8.3vw,50px)}.note-name{font-size:clamp(15px,4vw,23px)}}
@media(max-height:600px) and (min-width:681px){.calling-card{padding:25px}.portrait-wrap{width:min(900px,100%,calc((100svh - 180px)*1.777))}h1{font-size:40px}.portrait-section{gap:0}}
@media(prefers-reduced-motion:reduce){.name-char>span{animation:none;transform:none;filter:none}}
.font-preview h1,.font-preview .note-name{font-family:var(--design-font),sans-serif;font-weight:var(--design-weight)}.font-preview h1 em{font-weight:var(--design-weight)}.calling-card{position:relative;padding-bottom:125px}.portrait-wrap{width:min(1150px,100%,calc((100svh - 335px)*1.777))}.pigeon-footer{position:absolute;bottom:22px;left:clamp(24px,4.6vw,90px);right:clamp(24px,4.6vw,90px);display:flex;align-items:center;justify-content:center;gap:25px;animation:footerArrive 1.1s 2.8s both}.pigeon-footer address{font-style:normal;font-size:13px;line-height:1.6;color:#70655f;letter-spacing:.01em}.address-break{display:none}.pigeon-trigger{border:0;background:none;position:relative;display:flex;align-items:center;justify-content:center;padding:0;width:108px;height:90px;flex-shrink:0}.pigeon{width:108px;height:108px;object-fit:contain;mix-blend-mode:multiply;animation:pigeonHop 4s 3.8s infinite;transform-origin:50% 86%;filter:contrast(1.1)}.pigeon-label{position:absolute;bottom:105%;left:50%;transform:translate(-50%,7px);opacity:0;white-space:nowrap;font-size:13px;pointer-events:none;transition:opacity .25s,transform .35s}.pigeon-trigger:hover .pigeon-label,.pigeon-trigger:focus-visible .pigeon-label{opacity:1;transform:translate(-50%,0)}.pigeon-trigger:hover .pigeon{animation-play-state:paused}@keyframes footerArrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pigeonHop{0%,8%,40%,100%{transform:translate(0,0) rotate(0)}12%{transform:translate(1px,1px) scale(1.03,.96)}17%{transform:translate(-2px,-10px) rotate(-5deg)}23%{transform:translate(0,0) scale(1.04,.96)}28%{transform:translate(3px,-6px) rotate(3deg)}34%{transform:translate(0,0) rotate(-2deg)}60%{transform:rotate(2deg)}66%{transform:rotate(-2deg)}72%{transform:rotate(0)}}
.letter-dialog{padding:0;border:1px solid #e8e2de;width:min(640px,calc(100vw - 30px));max-height:90svh;overflow:auto;background:#fff;color:#301a14;margin:auto;box-shadow:0 35px 120px #301a1426}.letter-dialog::backdrop{background:#30221d30;backdrop-filter:blur(7px)}.letter-panel{padding:44px 42px 30px;position:relative}.letter-close{position:absolute;right:13px;top:10px;background:none;border:0;width:44px;height:44px;font-size:26px}.letter-eyebrow{font-size:12px;letter-spacing:.17em;margin:0 0 16px;color:#786c65}.letter-panel h2{font:700 clamp(28px,4vw,40px)/1.1 Space,Arial,sans-serif;letter-spacing:-.045em;margin:0 0 32px}#message-form{display:grid;gap:20px}#message-form label{display:grid;gap:8px;font-size:13px;line-height:1.4}.letter-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}#message-form input,#message-form select,#message-form textarea{width:100%;min-width:0;border:1px solid #dcd4ce;border-radius:0;background:#fff;padding:12px;font:16px/1.4 Arial,sans-serif;color:#301a14}#message-form textarea{resize:vertical;min-height:125px}#message-form :is(input,select,textarea):focus{outline:1px solid #80695c;outline-offset:2px}.letter-bottom{display:flex;gap:24px;align-items:center;justify-content:space-between}.letter-bottom p{font-size:12px;line-height:1.6;color:#786c65;max-width:240px;margin:0}.prepare-mail{border:0;background:#301a14;color:white;padding:15px 19px;white-space:nowrap;font-size:14px}.prepare-mail span{margin-left:12px}#mail-status{font-size:13px;line-height:1.6;margin:0}#mail-status[hidden]{display:none}#mail-draft{text-decoration:underline;text-underline-offset:3px}
@media(max-width:680px){.calling-card{padding-bottom:145px}.portrait-wrap{width:calc(100% + 24px)}.pigeon-footer{left:22px;right:22px;bottom:20px;gap:14px}.pigeon-footer address{font-size:12px}.address-break{display:block}.pigeon-label{left:auto;right:0;transform:translateY(7px);font-size:12px}.pigeon-trigger:hover .pigeon-label,.pigeon-trigger:focus-visible .pigeon-label{transform:translateY(0)}.letter-panel{padding:45px 23px 25px}.letter-row{grid-template-columns:1fr}.letter-bottom{align-items:stretch;flex-direction:column;gap:16px}.letter-bottom p{max-width:none}}
@media(prefers-reduced-motion:reduce){.pigeon-footer,.pigeon{animation:none}.pigeon-label{transition:none}}
.mail-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.prepare-mail:disabled{opacity:.6;cursor:wait}.letter-dialog input,.letter-dialog textarea,.letter-dialog select{border-radius:0}
:root{--paper:#153c32;--ink:#d3e2c9;--design-font:'Clash Display';--design-weight:600;background:var(--paper);color:var(--ink);color-scheme:dark}html,body{min-height:100%;background:var(--paper);color:var(--ink)}body{transition:background .8s,color .8s}.calling-card{min-height:100svh;background:transparent;padding:50px 6vw 124px;justify-content:center;overflow:hidden}.portrait-section{padding:0;gap:20px}.portrait-wrap{width:min(990px,85vw,calc((100svh - 285px)*1.777));transform:translateX(-1.5%)}.art-layer{filter:url(#ink-tone)}.revealing .art-layer{mask:none;animation:inkBreathe 1.8s cubic-bezier(.19,1,.22,1) both}.ink-art{overflow:visible}.intro{margin:0;align-self:center}h1,.font-preview h1{font-family:var(--design-font),Arial,sans-serif;font-weight:var(--design-weight);font-size:clamp(27px,3.1vw,46px);line-height:1.15;letter-spacing:-.035em;text-transform:none;display:flex;align-items:baseline;flex-wrap:wrap;justify-content:center;gap:.28em;animation:wordsArrive 1s .7s both}.headline-human,.headline-dog{display:inline;padding:0;margin:0}.headline-dog em,.font-preview h1 em{font-style:normal;color:var(--ink);font-weight:inherit;-webkit-text-stroke:0;opacity:.58}.headline-dog{color:var(--ink)}.note-name{font-family:var(--design-font),Arial,sans-serif;font-weight:var(--design-weight);font-size:clamp(16px,2.1vw,26px);letter-spacing:-.015em;text-transform:none;color:var(--ink)}.name-char>span{animation:nameSpring .72s cubic-bezier(.2,.6,.25,1) calc(var(--i)*.025s) both}.person-hit:focus-visible{outline-color:var(--ink)}.family-note{z-index:3}.pigeon-footer{left:6vw;right:6vw;bottom:24px;justify-content:flex-start;gap:20px;animation:footerArrive 1.3s 2.3s both}.pigeon-footer address{font-family:Space,Arial,sans-serif;font-size:13px;line-height:1.5;color:var(--ink);opacity:.6;letter-spacing:-.015em}.pigeon-trigger{height:70px;width:86px;color:var(--ink)}.pigeon{display:none}.pigeon-trigger:after{content:'';width:86px;height:86px;background:var(--ink);mask:url('./assets/brieftaube.png') center/contain no-repeat;-webkit-mask:url('./assets/brieftaube.png') center/contain no-repeat;animation:pigeonHop 6s 3s infinite;transform-origin:50% 86%;opacity:.82}.pigeon-trigger:hover:after{animation-play-state:paused}.pigeon-label{font-family:Space,Arial,sans-serif;font-size:13px;bottom:95%;left:0;transform:translate(0,5px);opacity:0}.pigeon-trigger:hover .pigeon-label,.pigeon-trigger:focus-visible .pigeon-label{transform:translate(0,0);opacity:1}.pigeon-trigger:focus-visible{outline-color:var(--ink)}
.letter-dialog{color-scheme:light;background:#f5f3eb;color:#23382f;border:0;width:min(680px,calc(100vw - 32px));box-shadow:0 30px 150px #0005}.letter-dialog[open]{animation:letterArrive .55s cubic-bezier(.16,1,.3,1) both}.letter-dialog::backdrop{background:#061c1877;backdrop-filter:blur(9px)}.letter-panel{padding:48px 48px 38px}.letter-eyebrow{font:12px/1.4 Space,Arial,sans-serif;letter-spacing:.15em;color:#6b746a}.letter-panel h2{font:600 clamp(29px,4.5vw,43px)/1.08 'Clash Display',Arial,sans-serif;letter-spacing:-.03em;max-width:390px;margin:0 0 35px}.letter-close{color:#23382f}.letter-row{gap:26px}#message-form{gap:24px}#message-form label{font-size:12px;color:#697369;gap:7px}#message-form input,#message-form select,#message-form textarea{border:0;border-bottom:1px solid #b5beb0;background:transparent;color:#23382f;padding:10px 0;border-radius:0;font-size:16px}#message-form select{padding-right:20px}#message-form textarea{border:1px solid #c7cec1;padding:13px;min-height:135px}#message-form :is(input,select,textarea):focus{outline:0;border-color:#23382f;box-shadow:0 1px 0 #23382f}#message-form :is(input,textarea)::placeholder{color:#92988e}.letter-bottom{align-items:center;gap:20px}.letter-bottom p{color:#6b746a;font-size:12px;max-width:200px}.prepare-mail{background:#23382f;color:#f5f3eb;border-radius:0;font-size:13px;padding:16px 20px}.prepare-mail:hover{background:#3a5445}#mail-status{color:#23382f}.letter-dialog button:focus-visible{outline-color:#23382f}
@keyframes inkBreathe{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes wordsArrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes letterArrive{from{opacity:0;transform:translateY(30px) rotate(-1.5deg) scale(.97)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes nameSpring{0%{opacity:0;transform:translateY(15px) rotate(-4deg)}45%{opacity:1;transform:translateY(-4px) rotate(1deg)}70%{transform:translateY(1.5px)}100%{opacity:1;transform:translateY(0) rotate(0)}}@keyframes pigeonHop{0%,12%,32%,100%{transform:translateY(0) rotate(0)}15%{transform:scale(1.03,.97)}19%{transform:translateY(-7px) rotate(-3deg)}23%{transform:scale(1.02,.98)}27%{transform:translateY(-3px) rotate(2deg)}60%{transform:rotate(2deg)}67%{transform:rotate(-1deg)}}
@media(max-width:680px){.calling-card{padding:40px 20px 140px}.portrait-wrap{width:calc(100% + 18px);transform:none}.portrait-section{gap:30px}.intro{width:100%}h1,.font-preview h1{font-size:clamp(24px,6.5vw,37px);max-width:400px;margin:auto;gap:0 .25em}.pigeon-footer{left:26px;right:26px;bottom:26px;gap:18px}.pigeon-footer address{font-size:12px}.pigeon-trigger{width:76px}.pigeon-trigger:after{width:76px;height:76px}.pigeon-label{left:auto;right:0;white-space:nowrap}.letter-panel{padding:44px 26px 28px}.letter-bottom{align-items:stretch}.letter-bottom p{max-width:none}.letter-panel h2{font-size:33px}.note-name{font-size:clamp(15px,4vw,23px)}}
@media(max-height:600px) and (min-width:681px){.calling-card{padding:25px 5vw 85px}.portrait-wrap{width:min(800px,85vw,calc((100svh - 185px)*1.777))}.portrait-section{gap:10px}h1{font-size:29px}.pigeon-footer{bottom:10px}.pigeon-trigger{height:55px}.pigeon-trigger:after{width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){.pigeon-trigger:after,.letter-dialog[open],.revealing .art-layer,h1,.font-preview h1{animation:none!important;transform:none!important}.pigeon-footer{animation:none}.name-char>span{animation:none}}
h1,.font-preview h1{letter-spacing:-.012em;word-spacing:.06em;gap:.4em}.letter-panel h2{letter-spacing:-.015em;word-spacing:.04em}
.headline-dog em,.font-preview h1 em{opacity:1;color:var(--ink);-webkit-text-stroke:0}.pigeon-trigger:after{display:none}.pigeon-brush{display:block;width:78px;height:78px;overflow:visible;animation:pigeonHop 6s 3s infinite;transform-origin:50% 92%}.pigeon-trigger:hover .pigeon-brush{animation-play-state:paused}@media(max-width:680px){.pigeon-brush{width:70px;height:70px}}@media(prefers-reduced-motion:reduce){.pigeon-brush{animation:none}}
.pigeon-trigger.free-flight{position:fixed;top:0;left:0;right:auto;bottom:auto;margin:0;z-index:30;will-change:transform;width:86px;height:86px}.free-flight .pigeon-brush{animation:none;transform:rotate(var(--bank,0deg));transition:transform .16s}.free-flight.is-flying .pigeon-brush{animation:wingBeat .19s ease-in-out infinite alternate}.free-flight.flight-paused .pigeon-brush{animation-play-state:paused}.free-flight .pigeon-label{left:50%;right:auto;bottom:100%;transform:translate(var(--label-shift,-25%),5px)}.free-flight:hover .pigeon-label,.free-flight:focus-visible .pigeon-label{transform:translate(var(--label-shift,-25%),0)}.free-flight .pigeon-label.below{top:100%;bottom:auto}@keyframes wingBeat{from{transform:rotate(calc(var(--bank,0deg) - 4deg)) scale(.86,1.04) translateY(-2px)}to{transform:rotate(calc(var(--bank,0deg) + 4deg)) scale(1.11,.94) translateY(2px)}}
@media(prefers-reduced-motion:reduce){.pigeon-trigger.free-flight .pigeon-brush{animation:none}}

.bird-wing-left{transform-origin:443px 480px}.bird-wing-right{transform-origin:822px 480px}.free-flight.is-flying .pigeon-brush{animation:flightBob .28s ease-in-out infinite alternate}.free-flight.is-flying .bird-wing-left{animation:leftWingStroke .28s ease-in-out infinite alternate}.free-flight.is-flying .bird-wing-right{animation:rightWingStroke .28s ease-in-out -.035s infinite alternate}.free-flight.flight-paused .bird-wing{animation-play-state:paused}.bird-wing{transition:transform .3s}@keyframes leftWingStroke{from{transform:rotate(-12deg) scaleX(.86)}to{transform:rotate(66deg) scaleX(1.18)}}@keyframes rightWingStroke{from{transform:rotate(12deg) scaleX(.86)}to{transform:rotate(-66deg) scaleX(1.18)}}@keyframes flightBob{from{transform:rotate(var(--bank,0deg)) translateY(-1px)}to{transform:rotate(var(--bank,0deg)) translateY(1.5px)}}@media(prefers-reduced-motion:reduce){.bird-wing,.free-flight.is-flying .pigeon-brush{animation:none!important;transform:none!important}}

:root{--paper:#f2eddf;--ink:#302b25;color-scheme:light}
body{background:radial-gradient(ellipse at 22% 16%,#fffdf44a,transparent 64%),radial-gradient(ellipse at 85% 85%,#b7a17c12,transparent 65%),var(--paper)}
body:after{content:'';position:fixed;inset:0;z-index:40;pointer-events:none;background:url('./assets/paper-grain.svg') repeat;mix-blend-mode:multiply;opacity:.62}
.art-layer{opacity:.94}.ink-art{mix-blend-mode:multiply}h1{color:var(--ink);text-shadow:.2px .3px .4px #302b2528}
.pigeon-footer{align-items:center}.pigeon-footer address{opacity:.76}.family-address-name{display:block;font-weight:600;margin-bottom:3px}
.footer-credit{display:flex;align-items:center;gap:13px;margin-left:auto;color:var(--ink);font:11px/1.4 Space,Arial,sans-serif;white-space:nowrap}
.reblaus-credit{display:flex;align-items:center;padding:12px 0 12px 5px;color:var(--ink);transition:filter .45s,color .45s}
.reblaus-logo{display:block;width:82px;height:24px;background:currentColor;mask:url('./assets/reblaus-logo.webp') center/contain no-repeat;-webkit-mask:url('./assets/reblaus-logo.webp') center/contain no-repeat}
.reblaus-credit:hover,.reblaus-credit:focus-visible{color:#926525;filter:drop-shadow(0 0 3px #d7ac65) drop-shadow(0 0 10px #e2bb75)}
.pigeon-brush{animation:none}.pigeon-trigger:not(.free-flight) .bird-wing-left{animation:restingLeft 5.4s 3s infinite}.pigeon-trigger:not(.free-flight) .bird-wing-right{animation:restingRight 5.4s 3.05s infinite}
@keyframes restingLeft{0%,25%,100%{transform:rotate(0)}7%,19%{transform:rotate(22deg)}13%,23%{transform:rotate(3deg)}}
@keyframes restingRight{0%,26%,100%{transform:rotate(0)}8%,20%{transform:rotate(-19deg)}14%,24%{transform:rotate(-2deg)}}
.letter-dialog{background:#f2eddf url('./assets/paper-grain.svg');color:var(--ink)}.letter-dialog::backdrop{background:#302b2544}
@media(max-width:680px){.pigeon-footer{flex-wrap:wrap;column-gap:12px;row-gap:4px;bottom:18px}.pigeon-footer address{font-size:11px;flex:1}.pigeon-trigger{flex-shrink:0}.footer-credit{width:100%;justify-content:flex-end;gap:10px}.reblaus-logo{width:68px;height:20px}.reblaus-credit{padding:4px 0}.calling-card{padding-bottom:170px}}
@media(prefers-reduced-motion:reduce){.pigeon-trigger .bird-wing{animation:none!important}.reblaus-credit{transition:none}}


.pigeon-perch{width:86px;height:70px;flex:0 0 86px;position:relative}
@keyframes footerArrive{from{opacity:0}to{opacity:1}}

.reblaus-credit{position:relative;isolation:isolate;filter:none!important;color:var(--ink);padding:14px 0 14px 5px}
.reblaus-logo{position:relative;width:82px;height:14px;mask:none;-webkit-mask:none;background:none;overflow:visible}
.reblaus-logo:before,.reblaus-logo:after{content:'';position:absolute;inset:0;mask:url('./assets/reblaus-logo.webp') left top/100% auto no-repeat;-webkit-mask:url('./assets/reblaus-logo.webp') left top/100% auto no-repeat;transition:opacity .55s,filter .65s,background-color .55s}
.reblaus-logo:before{background:var(--ink)}
.reblaus-logo:after{background:linear-gradient(110deg,transparent 28%,#fff6d6 47%,#d7af63 53%,transparent 72%);background-size:260% 100%;background-position:120% 0;opacity:0}
.reblaus-credit:before{content:'';position:absolute;inset:7px -12px;background:radial-gradient(ellipse,#d7ac6566,transparent 70%);filter:blur(7px);opacity:0;transform:scale(.7);transition:opacity .6s,transform .8s;z-index:-1;pointer-events:none}
.reblaus-credit:is(:hover,:focus-visible):before{opacity:1;transform:scale(1.18)}
.reblaus-credit:is(:hover,:focus-visible) .reblaus-logo:before{background:#67471e;filter:drop-shadow(0 0 2px #f7d89a) drop-shadow(0 0 6px #d2a05399)}
.reblaus-credit:is(:hover,:focus-visible) .reblaus-logo:after{opacity:1;animation:logoLightPass 1.35s cubic-bezier(.2,.6,.25,1) both}
@keyframes logoLightPass{from{background-position:120% 0}to{background-position:-20% 0}}
@media(max-width:680px){.pigeon-perch{width:76px;flex-basis:76px}.reblaus-logo{width:68px;height:11.5px}.reblaus-credit{padding:8px 0}}
@media(max-height:600px) and (min-width:681px){.pigeon-perch{height:55px}}
@media(prefers-reduced-motion:reduce){.reblaus-logo:before,.reblaus-logo:after,.reblaus-credit:before{transition:none}.reblaus-credit:is(:hover,:focus-visible) .reblaus-logo:after{animation:none}}
@font-face{font-family:'Caveat Brush';src:url('./fonts/caveat-brush.woff2') format('woff2');font-display:swap;font-weight:400;font-style:normal}
.intro h1{font-family:'Caveat Brush',cursive;font-weight:400;font-size:clamp(40px,4.4vw,63px);line-height:1.04;letter-spacing:.005em;word-spacing:0;display:flex;flex-direction:column;align-items:center;gap:2px;text-shadow:none;filter:url(#handwritten-ink)}
.intro .headline-human{transform:rotate(-1.2deg) translateX(-.08em)}.intro .headline-dog{transform:rotate(.65deg)}
.pigeon-trigger .pigeon-label{display:block;position:absolute;top:auto;bottom:calc(100% + 25px);left:50%;right:auto;width:220px;white-space:normal;pointer-events:none;opacity:0;transform:translateX(-50%);transition:opacity .18s;perspective:600px;text-align:center;font-family:'Caveat Brush',cursive;font-size:29px;line-height:1.02;color:var(--ink);z-index:5}
.pigeon-trigger:hover .pigeon-label,.pigeon-trigger:focus-visible .pigeon-label{transform:translateX(-50%);opacity:1}
.message-word{display:block;opacity:0;transform:translateY(18px) rotate(-7deg) scale(.82);transform-origin:50% 100%}
.pigeon-trigger:is(:hover,:focus-visible) .message-word{animation:messageInkArrival .85s calc(var(--word)*.095s) cubic-bezier(.18,.7,.2,1) both}
@keyframes messageInkArrival{0%{opacity:0;transform:translateY(18px) rotate(-7deg) scale(.82);filter:blur(3px)}45%{opacity:1;transform:translateY(-5px) rotate(2deg) scale(1.04);filter:blur(0)}70%{transform:translateY(2px) rotate(-.8deg) scale(.99)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1);filter:blur(0)}}
.pigeon-trigger.free-flight .pigeon-label{display:none}
@media(max-width:680px){.intro h1{font-size:clamp(38px,10vw,51px);gap:4px}.pigeon-trigger .pigeon-label{left:auto;right:-4px;width:205px;bottom:calc(100% + 24px);transform:none;text-align:right;font-size:27px}.pigeon-trigger:is(:hover,:focus-visible) .pigeon-label{transform:none}}
@media(max-height:600px) and (min-width:681px){.intro h1{font-size:39px;gap:0}}
@media(prefers-reduced-motion:reduce){.pigeon-trigger:is(:hover,:focus-visible) .message-word{animation:none;opacity:1;transform:none}.pigeon-trigger .pigeon-label{transition:none}}
.pigeon-footer{z-index:60}.pigeon-trigger.free-flight{z-index:100}.bird-opaque-body{opacity:1}
@media(min-width:681px){.portrait-wrap{width:min(990px,85vw,calc((100svh - 345px)*1.777))}.pigeon-trigger .pigeon-label{left:auto;right:20px;transform:none;text-align:right}.pigeon-trigger:is(:hover,:focus-visible) .pigeon-label{transform:none}}
@media(max-height:600px) and (min-width:681px){.portrait-wrap{width:min(800px,85vw,calc((100svh - 245px)*1.777))}}

.footer-credit{align-items:flex-end;gap:11px;line-height:1}
.footer-credit>span{font-family:'Cabinet Grotesk',Arial,sans-serif;font-weight:800;font-size:17px;line-height:.8;letter-spacing:-.025em;display:block}
.footer-credit .reblaus-credit{padding:0;display:block;line-height:0;flex-shrink:0}
.footer-credit .reblaus-credit:after{content:'';position:absolute;inset:-12px -6px}
.footer-credit .reblaus-credit:before{inset:-8px -12px}
.footer-credit .reblaus-logo{width:76px;height:13px}
@media(max-width:680px){.footer-credit{gap:9px;min-height:26px;align-items:flex-end}.footer-credit>span{font-size:15px}.footer-credit .reblaus-logo{width:68px;height:11.6px}}
.footer-credit>span{transform:translateY(2px)}

.pigeon-trigger:not(.free-flight):hover .bird-wing-left{animation:greetingWingLeft .64s ease-in-out 2}
.pigeon-trigger:not(.free-flight):hover .bird-wing-right{animation:greetingWingRight .64s ease-in-out .045s 2}
@keyframes greetingWingLeft{0%,100%{transform:rotate(0) scaleX(1)}45%{transform:rotate(57deg) scaleX(1.12)}75%{transform:rotate(-7deg) scaleX(.96)}}
@keyframes greetingWingRight{0%,100%{transform:rotate(0) scaleX(1)}45%{transform:rotate(-53deg) scaleX(1.1)}75%{transform:rotate(6deg) scaleX(.97)}}
.note-name,.font-preview .note-name{font-family:'Caveat Brush',cursive;font-weight:400;font-style:normal;font-size:clamp(25px,2.8vw,37px);line-height:1.25;letter-spacing:.005em;text-transform:none}
.pepper-head{transform-origin:1490px 733px;transition:transform .8s cubic-bezier(.22,1,.36,1)}
[data-pepper=true] .pepper-head{transform:rotate(12deg)}
@media(max-width:680px){.note-name,.font-preview .note-name{font-size:clamp(21px,5.3vw,28px)}}

.letter-dialog{width:min(530px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #302b251a;border-radius:24px 28px 22px 26px;box-shadow:0 24px 80px #302b2520,0 5px 18px #302b250c;color:var(--ink);background:var(--paper) url('./assets/paper-grain.svg')}
.letter-dialog::backdrop{background:#302b253d;backdrop-filter:blur(7px)}
.letter-panel{padding:38px 36px 28px}.letter-close{top:15px;right:17px;color:var(--ink);font-family:'Caveat Brush',cursive;font-size:32px}
.letter-eyebrow{font:10px/1.5 Space,Arial,sans-serif;letter-spacing:.1em;color:var(--ink);opacity:.55;margin:0 35px 7px 0}
.letter-panel h2{font:400 43px/1.1 'Caveat Brush',cursive;letter-spacing:0;word-spacing:0;margin:0 0 22px;max-width:none}
.letter-progress{display:flex;gap:20px;margin-bottom:27px;font:12px/1.4 Space,Arial,sans-serif;color:#302b2577}.letter-progress span{padding-bottom:7px;border-bottom:1px solid transparent;transition:color .25s}.letter-progress .current{color:var(--ink);border-color:var(--ink)}
#message-form{display:block}.letter-step{animation:letterStepIn .4s ease-out}.letter-step[hidden],.letter-actions [hidden]{display:none!important}.recipient-options{border:0;padding:0;margin:0;min-width:0}.recipient-options legend{font:400 29px/1.2 'Caveat Brush',cursive;padding:0}.letter-intro{font:13px/1.5 Space,Arial,sans-serif;opacity:.65;margin:8px 0 20px}.recipient-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
#message-form .recipient-choice{display:flex;position:relative;align-items:center;flex-direction:row;justify-content:space-between;gap:8px;padding:12px 14px;border:1px solid #302b2523;border-radius:12px 15px 11px 14px;cursor:pointer;transition:background .25s,border-color .25s,transform .3s;color:var(--ink)}
.recipient-choice input{position:absolute;opacity:0;width:1px;height:1px}.recipient-choice span{font:400 29px/1.1 'Caveat Brush',cursive}.recipient-choice i{opacity:0;font:20px 'Caveat Brush',cursive;transform:scale(.5) rotate(-15deg);transition:transform .3s,opacity .2s}.recipient-choice:has(:checked){background:#302b250a;border-color:#302b2590;transform:rotate(-.6deg)}.recipient-choice:has(:checked) i{opacity:1;transform:scale(1) rotate(0)}.recipient-choice:has(:focus-visible){outline:2px solid var(--ink);outline-offset:3px}.recipient-choice:hover{background:#302b2506;transform:translateY(-2px)}
.recipient-summary{font:400 26px/1.2 'Caveat Brush',cursive;margin:0 0 20px;transform:rotate(-1deg)}
#message-form .letter-step>label{font:400 23px/1.2 'Caveat Brush',cursive;color:var(--ink);display:flex;flex-direction:column;gap:9px;margin:0 0 20px}
#message-form input:not([type=radio]),#message-form textarea{font:15px/1.5 Space,Arial,sans-serif;color:var(--ink);border:1px solid #302b2533;background:#fff9ee30;border-radius:10px;padding:12px 14px;width:100%;box-sizing:border-box}
#message-form textarea{min-height:140px;resize:vertical;max-height:30dvh}#message-form :is(input,textarea)::placeholder{color:#302b2570}#message-form :is(input,textarea):focus{border-color:#302b2580;box-shadow:0 0 0 3px #302b2508;outline:none}
.letter-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px}.letter-back{border:0;background:none;padding:12px 0;font:14px Space,Arial,sans-serif;color:var(--ink)}.prepare-mail{margin-left:auto;background:var(--ink);color:var(--paper);border:0;border-radius:12px 15px 11px 14px;padding:12px 20px;font:400 23px/1.2 'Caveat Brush',cursive;transition:transform .2s,background .2s}.prepare-mail:hover{background:#494137;transform:translateY(-2px)}.letter-privacy,#mail-status{font:12px/1.5 Space,Arial,sans-serif;color:var(--ink);opacity:.75}.letter-actions button:disabled{opacity:.5;cursor:wait}
@keyframes letterStepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:560px){.letter-panel{padding:34px 23px 24px}.letter-panel h2{font-size:37px}.recipient-grid{gap:10px}.recipient-choice span{font-size:27px}.letter-progress{gap:17px;margin-bottom:22px}.letter-dialog{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){.letter-step{animation:none}.recipient-choice,.recipient-choice i{transition:none}}
.recipient-wheel-frame{position:relative;margin:18px 0 0}.recipient-wheel{display:block;height:216px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;padding:72px 0;box-sizing:border-box;mask-image:linear-gradient(transparent,#000 29%,#000 71%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 29%,#000 71%,transparent)}.recipient-wheel::-webkit-scrollbar{display:none}
#message-form .recipient-wheel .recipient-choice{height:72px;min-height:72px;scroll-snap-align:center;display:flex;justify-content:center;gap:14px;padding:0;border:0;background:none;border-radius:0;transform:none;color:var(--ink);opacity:calc(1 - var(--distance,1)*.3);transition:opacity .25s}
.recipient-wheel .recipient-choice span{font-size:39px;transform:scale(calc(1 - var(--distance,1)*.12));transition:transform .3s}.recipient-wheel .recipient-choice i{position:absolute;right:18%;font-size:24px}.recipient-wheel .recipient-choice:has(:focus-visible){outline-offset:-5px}.wheel-marker{position:absolute;left:12%;right:12%;top:72px;height:72px;border-top:1px solid #302b2535;border-bottom:1px solid #302b2535;transform:rotate(-.6deg);pointer-events:none}.wheel-hint{font:11px/1.5 Space,Arial,sans-serif;text-align:center;opacity:.5;margin:10px 0 0}.email-hint{font:12px/1.5 Space,Arial,sans-serif;color:#8d3d2e;margin:-8px 0 18px}.email-hint:empty{display:none}#message-form input[aria-invalid=true]{border-color:#8d3d2e}
@media(prefers-reduced-motion:reduce){.recipient-wheel .recipient-choice span{transition:none}}

.pigeon-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;bottom:26px}
.pigeon-footer address{margin:0;line-height:1.45;transform:translateY(2px)}
.pigeon-footer .footer-credit{width:auto;min-height:0;align-self:end;justify-self:end;margin:0;align-items:flex-end}
.pigeon-perch{position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);width:64px;height:64px}
.pigeon-perch .pigeon-trigger{width:64px;height:64px}.pigeon-brush{width:61px;height:61px}
.pigeon-trigger.free-flight{width:64px;height:64px}
.pigeon-trigger .pigeon-label{font-size:22px;line-height:1.06;width:170px;left:50%;right:auto;bottom:calc(100% + 12px);text-align:center;transform:translateX(-50%)}
.pigeon-trigger:is(:hover,:focus-visible) .pigeon-label{transform:translateX(-50%)}
@media(max-width:680px){.pigeon-footer{left:24px;right:24px;bottom:22px;gap:14px;grid-template-columns:minmax(0,1fr) auto}.pigeon-footer address{font-size:11px}.pigeon-footer .footer-credit{gap:7px}.footer-credit>span{font-size:13px}.footer-credit .reblaus-logo{width:59px;height:10px}.pigeon-perch{bottom:64px;width:58px;height:58px}.pigeon-perch .pigeon-trigger{width:58px;height:58px}.pigeon-brush{width:55px;height:55px}.pigeon-trigger .pigeon-label{font-size:21px;width:160px;bottom:calc(100% + 10px)}.calling-card{padding-bottom:185px}}
.pigeon-perch{left:calc(50% - 32px);transform:none}@media(max-width:680px){.pigeon-perch{left:calc(50% - 29px)}}
.pigeon-footer address{transform:translateY(5px)}@media(max-width:680px){.pigeon-footer address{transform:translateY(4px)}}

@font-face{font-family:'Protest Revolution';src:url('./fonts/protest-revolution.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.intro h1,.font-preview .intro h1{font-family:'Protest Revolution',cursive;font-weight:400;font-size:clamp(38px,4.3vw,61px);line-height:1.14;letter-spacing:0;filter:none}
.note-name,.font-preview .note-name{font-family:'Protest Revolution',cursive;font-weight:400;font-size:clamp(25px,2.8vw,37px);line-height:1.3;letter-spacing:0}
@media(max-width:680px){.intro h1,.font-preview .intro h1{font-size:clamp(31px,8.3vw,44px);gap:5px}.note-name,.font-preview .note-name{font-size:clamp(21px,5.3vw,28px)}}


@media(hover:none){.pigeon-trigger:not(.free-flight):hover .bird-wing-left{animation:restingLeft 5.4s 3s infinite}.pigeon-trigger:not(.free-flight):hover .bird-wing-right{animation:restingRight 5.4s 3.05s infinite}}
@media(prefers-reduced-motion:reduce){.pigeon-trigger .bird-wing{animation:none!important}}


.pigeon-perch{width:76px;height:76px;left:calc(50% - 38px)}
.pigeon-perch .pigeon-trigger,.pigeon-trigger.free-flight{width:76px;height:76px}
.pigeon-brush{width:73px;height:73px}
@media(max-width:680px){.pigeon-perch{width:78px;height:78px;left:calc(50% - 39px)}.pigeon-perch .pigeon-trigger{width:78px;height:78px}.pigeon-brush{width:75px;height:75px}}

.postcard-dialog{width:min(890px,calc(100vw - 32px));border-radius:5px 8px 6px 4px;max-height:calc(100dvh - 32px);box-shadow:0 35px 100px #302b2533,0 2px 5px #302b2514;border:1px solid #fff8}
.postcard-dialog .letter-panel{padding:46px 44px 30px;background:linear-gradient(105deg,#fff4,transparent 48%,#302b2503)}
.postcard-dialog .letter-close{top:5px;right:8px;width:38px;height:38px;font-size:28px;opacity:.65}
.postcard-dialog #message-form{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0 34px}
.postcard-writing{min-width:0;padding-right:34px;border-right:1px solid #302b2528;display:flex;flex-direction:column}
.postcard-kicker{font:11px/1.5 Space,Arial,sans-serif;letter-spacing:.14em;margin:0 0 11px;opacity:.55}
.postcard-dialog h2{font-size:42px;line-height:1.03;margin:0 0 28px;transform:rotate(-1deg)}
.postcard-dialog #message-form label{color:var(--ink)}
.postcard-dialog #message-form .postcard-subject,.postcard-dialog #message-form .postcard-field{display:flex;flex-direction:column;font:400 22px/1.25 'Caveat Brush',cursive;gap:0;margin:0 0 20px}
.postcard-dialog #message-form input:not([type=radio]){background:transparent;border:0;border-bottom:1px solid #302b2540;border-radius:0;padding:9px 0 8px;font:16px/1.5 Space,Arial,sans-serif;box-shadow:none}
.postcard-dialog #message-form :is(input,textarea):focus{outline:0;box-shadow:0 1px 0 var(--ink);border-color:var(--ink)}
.postcard-dialog #message-form :is(input,textarea)::placeholder{color:#302b257a}
.postcard-dialog #message-form .postcard-message{display:flex;flex:1;flex-direction:column;font:400 25px/1.2 'Caveat Brush',cursive;gap:10px}
.postcard-dialog #message-form textarea{width:100%;min-height:225px;max-height:none;flex:1;resize:vertical;border:0;border-radius:0;padding:0;font:20px/34px 'Caveat Brush',cursive;background:repeating-linear-gradient(transparent 0 33px,#302b2518 33px 34px);box-shadow:none}
.postcard-signoff{font:22px/1.3 'Caveat Brush',cursive;margin:19px 0 0;opacity:.5;transform:rotate(-2deg)}
.postcard-address{min-width:0}.postcard-postage{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 12px;min-height:130px}
.postcard-origin{font:10px/1.8 Space,Arial,sans-serif;letter-spacing:.09em;opacity:.46;transform:rotate(-8deg)}.postcard-origin span{font:23px/1.3 'Caveat Brush',cursive;letter-spacing:0}
.postage-stamp{position:relative;flex-shrink:0;width:108px;height:132px;padding:7px;border:0;color:var(--ink);background:#e6dfcb;transform:rotate(5deg);transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .4s;filter:drop-shadow(1px 3px 2px #302b2510);mask:radial-gradient(circle at 4px 4px,transparent 3px,#000 3.5px) -4px -4px/12px 12px,linear-gradient(#000 0 0) center/calc(100% - 12px) calc(100% - 12px) no-repeat;mask-composite:add}
.stamp-inner{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #302b253e;background:#f2eddf50}
.stamp-inner img{display:block;width:75px;height:85px;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}.stamp-action{font:20px/1.25 'Caveat Brush',cursive;display:block}
.postage-stamp:hover,.postage-stamp:focus-visible{transform:rotate(-3deg) translateY(-4px);filter:drop-shadow(3px 7px 3px #302b2520)}.postage-stamp:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.postage-stamp.is-ready{background:#d7c69e}.postage-stamp.is-ready:is(:hover,:focus-visible) img{transform:translateY(-3px) rotate(-6deg)}.postage-stamp:disabled{cursor:wait;opacity:.6}
.postcard-dialog .recipient-options legend{font-size:22px}.postcard-dialog .recipient-wheel-frame{margin:0}.postcard-dialog .recipient-wheel{height:120px;padding:40px 0}.postcard-dialog #message-form .recipient-wheel .recipient-choice{height:40px;min-height:40px}.postcard-dialog .recipient-wheel .recipient-choice span{font-size:31px}.postcard-dialog .recipient-wheel .recipient-choice i{right:10%;font-size:18px}.postcard-dialog .wheel-marker{top:40px;height:40px;left:0;right:0;border-top:0;transform:rotate(-.35deg)}.postcard-dialog .wheel-hint{margin:0 0 18px;font-size:11px;opacity:.55}
.postcard-dialog .email-hint{font-size:12px;margin:-10px 0 0}.postcard-dialog #message-form input[aria-invalid=true]{border-color:#8d3d2e}.postcard-dialog #mail-status{grid-column:1/-1;margin:22px 0 0;padding-top:15px;border-top:1px solid #302b2520;font-size:14px;opacity:1}.postcard-dialog #mail-status[hidden]{display:none}
@media(max-width:620px){.postcard-dialog{width:calc(100vw - 22px);max-height:calc(100dvh - 22px)}.postcard-dialog .letter-panel{padding:35px 24px 25px}.postcard-dialog #message-form{grid-template-columns:1fr;gap:25px}.postcard-writing{border-right:0;border-bottom:1px solid #302b2528;padding:0 0 23px}.postcard-dialog h2{font-size:37px;margin-bottom:23px}.postcard-dialog #message-form textarea{min-height:170px}.postcard-dialog .postcard-signoff{margin-top:12px}.postcard-postage{min-height:115px;margin-bottom:4px}.postage-stamp{width:98px;height:120px}.stamp-inner img{width:65px;height:75px}.postcard-dialog #mail-status{margin:0}.postcard-dialog #message-form .postcard-field:last-of-type{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.postage-stamp,.stamp-inner img{transition:none}.postage-stamp:is(:hover,:focus-visible),.postage-stamp.is-ready:is(:hover,:focus-visible) img{transform:none}}

.postcard-dialog{background-color:#eee2c7;background-image:radial-gradient(ellipse at 0 10%,#9a6a2720,transparent 35%),radial-gradient(ellipse at 100% 95%,#8f64232b,transparent 45%),url('./assets/paper-grain.svg');border-color:#b69d6a40;border-radius:3px 5px 2px 4px}
.postcard-dialog .letter-panel{padding:40px 38px 43px;background:linear-gradient(90deg,transparent 48%,#775a1305 50%,transparent 52%)}
.postcard-dialog .letter-panel:after{content:'';position:absolute;bottom:0;left:0;right:0;height:11px;background:repeating-linear-gradient(125deg,#537788 0 24px,#e5d7b7 24px 49px,#ac6050 49px 73px,#e5d7b7 73px 98px);opacity:.65;pointer-events:none}
.postcard-dialog #message-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px}
.postcard-writing{padding-right:28px;border-color:#74664840}.postcard-kicker{font:10px/1.7 Space,Arial,sans-serif;letter-spacing:.16em;margin:1px 0 39px;color:#6b5f49;opacity:1}
.postcard-dialog #message-form .postcard-subject,.postcard-dialog #message-form .postcard-field{font:11px/1.5 Space,Arial,sans-serif;text-transform:uppercase;letter-spacing:.13em;color:#6b5f49;margin-bottom:23px}
.postcard-dialog #message-form .postcard-message{font:11px/1.5 Space,Arial,sans-serif;text-transform:uppercase;letter-spacing:.13em;color:#6b5f49;gap:13px}
.postcard-dialog #message-form textarea{background:transparent;font:22px/1.6 'Caveat Brush',cursive;text-transform:none;letter-spacing:0;min-height:270px;color:#453c2f}
.postcard-dialog #message-form input:not([type=radio]),.postcard-dialog #message-form select{font:19px/1.5 'Caveat Brush',cursive;color:#453c2f;border:0;border-bottom:1px solid #76684e70;border-radius:0;background-color:transparent;letter-spacing:.01em;text-transform:none;padding:8px 0;box-shadow:none;width:100%}
.postcard-dialog #message-form input[type=email]{font:15px/1.8 Space,Arial,sans-serif;letter-spacing:0}
.postcard-dialog #message-form select{appearance:auto;cursor:pointer;padding-right:10px}.postcard-dialog #message-form select option{background:#eee2c7;color:#453c2f;font:16px Arial,sans-serif}
.vintage-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin:0 0 30px;min-height:100px}.postcard-dialog .vintage-card-heading h2{font:italic 600 clamp(36px,4.1vw,53px)/1.1 Georgia,serif;letter-spacing:-.06em;color:#618598;margin:0;transform:rotate(-4deg)}.vintage-card-heading p{font:10px/1.6 Space,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#746648;margin:16px 0 0}
.vintage-stamp{width:61px;height:84px;border:1px solid #8c7b5666;padding:5px;flex-shrink:0;display:flex;align-items:center;flex-direction:column;justify-content:center;transform:rotate(2deg)}.vintage-stamp img{width:45px;height:58px;object-fit:contain;mix-blend-mode:multiply;opacity:.65}.vintage-stamp span{font:6px/1.5 Space,Arial,sans-serif;letter-spacing:.02em;color:#746648}
.postcard-send{width:100%;border:0;color:#453c2f;background:repeating-linear-gradient(125deg,transparent 0 3px,#79674515 3px 4px);padding:13px 15px;display:flex;align-items:center;justify-content:center;gap:14px;transition:background-color .3s,transform .3s}.postcard-send .stamp-action{font:12px/1.5 Space,Arial,sans-serif;text-transform:uppercase;letter-spacing:.2em}.postcard-send:hover,.postcard-send:focus-visible{background-color:#79674512;transform:translateY(-2px)}.postcard-send.is-ready{color:#34596a;background-color:#53778812}.postcard-send:disabled{opacity:.5;cursor:wait}
@media(max-width:620px){.postcard-dialog .letter-panel{padding:37px 24px 36px}.postcard-dialog #message-form{grid-template-columns:1fr;gap:25px}.postcard-writing{padding-right:0}.postcard-kicker{margin-bottom:25px}.postcard-dialog #message-form textarea{min-height:190px}.vintage-card-heading{margin-bottom:25px}.postcard-dialog .vintage-card-heading h2{font-size:48px}.postcard-dialog #message-form .postcard-field:last-of-type{margin-bottom:23px}}
@media(prefers-reduced-motion:reduce){.postcard-send{transition:none;transform:none}}
.postcard-dialog .vintage-card-heading>div:first-child{min-width:0;flex:1}
.postcard-dialog .vintage-card-heading .original-postcard-title{position:relative;width:min(210px,100%);aspect-ratio:115/61;overflow:hidden;margin:-7px 0 -8px;transform:none;mix-blend-mode:multiply;line-height:0}
.original-postcard-title img{position:absolute;width:347.8261%;max-width:none;height:auto;left:-181.7391%;top:-57.377%;display:block}
.vintage-stamp.mauritius-stamp{width:73px;height:auto;border:0;padding:0;transform:rotate(3deg);filter:drop-shadow(1px 2px 1px #483b2525)}
.vintage-stamp.mauritius-stamp img{width:100%;height:auto;object-fit:contain;opacity:1;mix-blend-mode:normal;display:block}
@media(max-width:620px){.vintage-stamp.mauritius-stamp{width:63px}.postcard-dialog .vintage-card-heading .original-postcard-title{width:min(185px,100%)}}
.original-postcard-title img{filter:url(#postcard-blue-ink)}


.postcard-dialog .letter-panel:after{inset:0;height:auto;padding:10px;border-radius:3px;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor}
.postcard-dialog #message-form select:invalid{color:#786f60;font:15px/1.8 Space,Arial,sans-serif;letter-spacing:0}

.postcard-dialog .postcard-writing{padding-top:26px}

.letter-dialog.postcard-departing{overflow:visible;pointer-events:none;background:transparent;box-shadow:none}
.letter-dialog.postcard-departing::backdrop{background:transparent;backdrop-filter:none;transition:background .65s,backdrop-filter .65s}


.mobile-card-head,.mobile-card-control{display:none}
.postcard-dialog [hidden]{display:none!important}
.sent-postmark{position:absolute;right:48px;top:70px;z-index:5;pointer-events:none;border:3px double #34596a;border-radius:50%;width:145px;height:100px;padding:18px 8px;text-align:center;font:9px/1.7 Space,Arial,sans-serif;letter-spacing:.08em;color:#34596a;opacity:0;transform:rotate(-15deg) scale(.8)}
.sent-postmark strong{font-size:14px;letter-spacing:.1em}
.postcard-sent .sent-postmark{opacity:.88;transform:rotate(-15deg) scale(1);transition:transform .25s cubic-bezier(.2,.9,.3,1.3),opacity .15s}
@media(max-width:620px){
.postcard-dialog{width:calc(100vw - 20px);max-width:460px;max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-radius:5px}
.postcard-dialog .letter-panel{padding:26px 24px 25px;min-height:0;background:none}
.postcard-dialog .letter-close{position:absolute;z-index:6;top:12px;right:12px;width:44px;height:44px;opacity:1;font-size:30px}
.mobile-card-head{display:block;padding:0 38px 19px 0}
.mobile-card-title{position:relative;overflow:hidden;width:115px;aspect-ratio:115/61;mix-blend-mode:multiply}
.card-progress{font:11px/1.5 Space,Arial,sans-serif;letter-spacing:.06em;margin:5px 0 0;color:#746648}
.postcard-dialog #message-form{display:block}
.postcard-dialog .postcard-writing{border:0;padding:0;min-height:0}
.postcard-dialog #message-form .postcard-subject{margin-bottom:20px}
.postcard-dialog #message-form input:not([type=radio]),.postcard-dialog #message-form input[type=email],.postcard-dialog #message-form select,.postcard-dialog #message-form select:invalid{font-size:18px;min-height:44px}
.postcard-dialog #message-form textarea{min-height:150px;height:clamp(150px,29dvh,270px);font-size:22px;line-height:1.5;resize:vertical;background:repeating-linear-gradient(transparent 0 32px,#302b2515 32px 33px)}
.mobile-card-control{display:block;border:0;cursor:pointer;color:#34596a;font:17px/1.4 'Caveat Brush',cursive;background:transparent;min-height:44px}
.card-next{width:100%;margin-top:22px;padding:12px 14px;text-align:right;background:#5377880d;border-top:1px solid #53778830;font-size:22px}
.card-back{padding:0 0 8px;text-align:left;margin:-10px 0 6px}
.postcard-address .vintage-card-heading{min-height:0;height:0;margin:0 0 16px;justify-content:flex-end}
.postcard-address .vintage-card-heading>div:first-child{display:none}
.postcard-dialog .vintage-stamp.mauritius-stamp{width:42px;position:absolute;top:63px;right:28px}
.postcard-dialog[data-side="1"] .mobile-card-head{padding-right:76px}
.postcard-dialog #message-form .postcard-field{margin-bottom:17px}
.postcard-dialog #message-form .postcard-field:last-of-type{margin-bottom:22px}
.postcard-dialog .postcard-send{min-height:50px;padding:14px 10px}
.postcard-dialog .postcard-send .stamp-action{font-size:11px;letter-spacing:.1em}
.postcard-dialog #mail-status{margin:16px 0 0;font-size:13px}
.postcard-dialog .email-hint{margin:-10px 0 12px}
.sent-postmark{top:95px;right:30px}
.postcard-dialog .letter-panel:after{padding:6px}
}
@media(max-width:620px) and (max-height:550px){.mobile-card-head{padding-bottom:12px}.mobile-card-title{width:82px}.postcard-dialog .letter-panel{padding-top:18px}.postcard-dialog #message-form textarea{height:150px}.postcard-address .vintage-card-heading{height:15px}}
@media(prefers-reduced-motion:reduce){.postcard-sent .sent-postmark{transition:none}}

html{min-height:100%;background:#f4efe5;color-scheme:light}body{min-height:100svh;background:#f4efe5;isolation:isolate}
body:before{content:'';position:fixed;inset:-100px 0;z-index:-1;pointer-events:none;background:linear-gradient(#f4efe5a6,#f4efe5a6),url('./assets/buetten-papier.webp') center/115% 120% no-repeat,#f4efe5}
body:after{display:none}
.pigeon-footer{bottom:40px}
.postcard-dialog{background-color:#f4efe5;background-image:linear-gradient(#f4efe5a6,#f4efe5a6),url('./assets/buetten-papier.webp');background-size:115% 120%;background-position:center}
@media(max-width:680px){.pigeon-footer{bottom:38px;left:30px;right:30px}.calling-card{padding-top:52px;padding-bottom:168px}}


@media(max-width:680px){.calling-card{padding-top:calc(52px + env(safe-area-inset-top,0px));padding-bottom:calc(168px + env(safe-area-inset-bottom,0px))}.pigeon-footer{bottom:calc(38px + env(safe-area-inset-bottom,0px));left:max(30px,env(safe-area-inset-left,0px));right:max(30px,env(safe-area-inset-right,0px))}}
