@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:'Asap Condensed';src:url('assets/fonts/asap-condensed-800.ttf') format('truetype');font-weight:800;font-display:swap}@font-face{font-family:Recoleta;src:url('assets/fonts/recoleta-bold.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Recoleta;src:url('assets/fonts/recoleta-regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--yellow:#ffda70;--cream:#f5eddd;--brown:#3e2416;--pink:#f5aaa9}*{box-sizing:border-box}body{margin:0;background:var(--yellow);color:var(--brown);font-family:'DM Sans',sans-serif;padding:clamp(22px,4.3vw,70px);min-height:100svh;display:grid;place-items:center}.frame{width:100%;max-width:1440px;background:var(--cream);padding:28px clamp(28px,5vw,80px) 24px;position:relative;box-shadow:0 22px 70px -45px #63390c66}header{display:flex;justify-content:space-between;align-items:center;height:105px;gap:20px}.logo{width:160px;height:auto;mix-blend-mode:darken}.header-note{font-family:'Asap Condensed',sans-serif;font-size:11px;letter-spacing:.13em;line-height:1.6;text-align:right}main{display:grid;grid-template-columns:1fr 1fr;gap:5.5%;align-items:center;padding:22px 0 24px}.message{padding-bottom:20px}.eyebrow{font:800 15px 'Asap Condensed';letter-spacing:.18em;display:flex;gap:11px;align-items:center;margin:0 0 25px}.eyebrow>span{width:7px;height:7px;border-radius:50%;background:#8a9d73;box-shadow:0 0 0 4px #8a9d7319}h1{font:700 clamp(38px,4.1vw,64px)/1.09 Recoleta,Georgia,serif;letter-spacing:-.035em;margin:0 0 28px}h1>span{position:relative;z-index:0}h1>span:after{content:'';position:absolute;left:-2px;right:-7px;bottom:3px;height:13px;background:var(--pink);z-index:-1;border-radius:40%;transform:rotate(-2deg)}.intro{font-size:15px;line-height:1.8;max-width:370px;color:#76604f;margin:0 0 32px}.launch{display:flex;gap:22px;align-items:center;font-size:11px;line-height:1.6;font-weight:600;max-width:360px;margin:0}.launch>span{padding-bottom:9px;border-bottom:1px solid #3e241640}.launch svg{width:30px;height:30px;fill:none;stroke:#c77877;stroke-width:3;transform:rotate(12deg);flex-shrink:0}.portrait{position:relative;margin:0;min-width:0}.dog{display:block;aspect-ratio:4/5;width:100%;height:auto;max-height:570px;object-fit:cover;object-position:center;background:var(--yellow)}.motto{overflow:hidden;position:absolute;right:-25px;top:26px;width:137px;height:137px;background:var(--pink);padding:11px;transform:rotate(11deg);border-radius:50%;box-shadow:0 5px 0 #3e241610}.motto img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:darken}figcaption{font:800 9px 'Asap Condensed';letter-spacing:.13em;padding-top:11px;text-align:right}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:23px;font-size:8px;letter-spacing:.08em}footer p{font:400 13px Recoleta;margin:0;letter-spacing:0}.skip{position:absolute;top:-100px;left:15px;padding:12px;background:var(--brown);color:var(--cream);z-index:20}.skip:focus{top:10px}a:focus-visible{outline:3px solid var(--brown);outline-offset:4px}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message{animation:appear .6s ease-out both}.portrait{animation:appear .8s .1s ease-out both}@media(min-width:1600px){main{gap:9%}.intro{font-size:16px}}@media(max-width:1000px){body{padding:25px}.frame{padding:20px 35px}.logo{width:140px}h1{font-size:4.9vw}.intro{font-size:13px}.motto{width:108px;height:108px;right:-15px;top:20px}.launch{font-size:10px;gap:12px}.dog{min-height:400px;object-fit:cover}}@media(max-width:700px){body{padding:16px}.frame{padding:16px 25px 21px}header{height:85px}.logo{width:127px}.header-note{font-size:9px;letter-spacing:.08em}main{grid-template-columns:1fr;gap:30px;padding:33px 0 0}.message{padding:0}.eyebrow{font-size:13px;margin-bottom:19px}h1{font-size:clamp(36px,8.7vw,55px);margin-bottom:23px}.intro{font-size:13px;line-height:1.75;max-width:370px;margin-bottom:22px}.launch{font-size:10px;max-width:none}.portrait{margin:0}.dog{height:auto;min-height:0;max-height:none;aspect-ratio:4/4.5}.motto{width:105px;height:105px;right:-12px;top:20px;padding:10px}figcaption{font-size:8px;padding-top:10px}footer{flex-wrap:wrap;font-size:7px;padding-top:28px;gap:18px}footer p{font-size:12px;order:3;width:100%;text-align:center}footer>span:last-child{margin-left:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Decorative motion restarts with each document load and repeats. */
.eyebrow>.paw-trail{display:flex;align-items:center;gap:9px;width:auto;height:38px;border-radius:0;background:none;box-shadow:none;margin-left:9px}.paw-trail svg{width:27px;height:31px;fill:var(--brown);opacity:.75;transform:rotate(-18deg) translateY(3px);animation:paw-walk 3s ease-in-out infinite}.paw-trail svg:nth-child(2){transform:rotate(16deg) translateY(-3px);animation-delay:.4s}.paw-trail svg:nth-child(3){animation-delay:.8s}
.motto{animation:motto-sway 4.5s ease-in-out infinite;transform-origin:50% 15%;transition:box-shadow .3s}.motto:hover{box-shadow:0 9px 0 #3e241614}.launch svg{animation:heart-beat 4s ease-in-out infinite}.eyebrow>span:first-child{animation:ready-glow 4s ease-in-out infinite}h1>span:after{transform-origin:left center;animation:underline-grow .9s .3s ease-out both}.dog{transition:filter .5s}.portrait:hover .dog{filter:saturate(1.05) brightness(1.025)}
@keyframes paw-walk{0%,12%,65%,100%{opacity:.65;scale:1;translate:0 0}25%,42%{opacity:1;scale:1.14;translate:0 -4px}}
@keyframes motto-sway{0%,100%{transform:rotate(9deg) translateY(0)}50%{transform:rotate(13deg) translateY(-4px)}}@keyframes heart-beat{0%,55%,100%{transform:rotate(12deg) scale(1)}65%{transform:rotate(12deg) scale(1.14)}75%{transform:rotate(12deg) scale(1)}83%{transform:rotate(12deg) scale(1.08)}}@keyframes ready-glow{0%,100%{box-shadow:0 0 0 3px #8a9d7319}50%{box-shadow:0 0 0 7px #8a9d7308}}@keyframes underline-grow{from{transform:rotate(-2deg) scaleX(0)}to{transform:rotate(-2deg) scaleX(1)}}
@media(max-width:700px){.paw-trail svg{width:24px}.eyebrow>.paw-trail{gap:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.paw-trail svg{opacity:.85}}
