:root{--ink:#18201c;--cream:#f4eddc;--orange:#ef6b32;--yellow:#f4c84b;--green:#234b3a;--paper:#fffaf0;--line:rgba(24,32,28,.18);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink)}a{color:inherit}button{font:inherit}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:900;letter-spacing:.12em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--orange);color:white;transform:rotate(-8deg);font-family:Georgia,serif;font-size:24px}.tiny-link{font-size:12px;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;border-bottom:1px solid}
.hero{min-height:720px;display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;padding:7vw 5vw 5vw;overflow:hidden}.hero-copy{align-self:center}.kicker,.section-label{font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.hero h1,.about h2,.day h2,.finale h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;line-height:.9;margin:.18em 0}.hero h1{font-size:clamp(72px,9vw,145px)}em{color:var(--orange);font-weight:400}.intro{font-family:Georgia,serif;font-size:clamp(19px,2vw,28px);line-height:1.45;max-width:610px}.button{display:inline-flex;gap:35px;align-items:center;margin-top:28px;background:var(--ink);color:white;padding:18px 24px;text-decoration:none;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.1em}.button:hover{background:var(--orange)}
.dog-card{position:relative;min-height:570px;background:var(--yellow);border-radius:48% 48% 12px 12px;overflow:hidden;transform:rotate(2deg);box-shadow:10px 12px 0 var(--ink)}.sun{position:absolute;width:280px;height:280px;border-radius:50%;background:var(--orange);right:-60px;top:-50px}.dog{position:absolute;left:50%;bottom:48px;width:300px;height:440px;transform:translateX(-50%)}.head,.body,.ear,.leg{position:absolute;background:#d8a86e}.body{width:220px;height:250px;border-radius:50% 50% 35% 35%;left:40px;top:180px}.head{width:210px;height:190px;border-radius:48%;left:45px;top:45px;z-index:3;background:radial-gradient(circle at 30% 30%,#edc892 0 4%,transparent 5%),#d8a86e;background-size:18px 18px}.ear{width:78px;height:160px;border-radius:60%;top:55px;z-index:2;background:#b98251}.ear-l{left:15px;transform:rotate(16deg)}.ear-r{right:15px;transform:rotate(-16deg)}.eye{position:absolute;width:15px;height:15px;background:#231c18;border-radius:50%;top:72px}.eye-l{left:58px}.eye-r{right:58px}.snout{position:absolute;width:100px;height:70px;border-radius:50%;background:#e8bd84;left:55px;top:98px}.nose{position:absolute;width:37px;height:28px;border-radius:50%;background:#3c2b24;left:87px;top:110px}.bow{position:absolute;z-index:5;top:220px;left:123px;font-size:50px;color:var(--green);transform:rotate(45deg)}.leg{width:48px;height:160px;top:330px;border-radius:30px}.leg-l{left:68px}.leg-r{right:68px}.caption{position:absolute;left:24px;bottom:24px;font-size:11px;font-weight:900;letter-spacing:.12em}.dog-card small{position:absolute;left:24px;bottom:9px;font-size:9px}
.ticker{overflow:hidden;background:var(--green);color:var(--cream);padding:15px 0;white-space:nowrap;font-weight:900;letter-spacing:.1em}.ticker div{width:max-content;animation:scroll 24s linear infinite}@keyframes scroll{to{transform:translateX(-50%)}}
.about,.credentials,.quote,.day,.finale{padding:8vw 5vw;border-bottom:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.about h2,.day h2{font-size:clamp(52px,6.7vw,104px)}.copy{align-self:end;font-family:Georgia,serif;font-size:22px;line-height:1.55;max-width:520px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.cards article{position:relative;min-height:370px;padding:32px;border:1px solid var(--ink);background:var(--paper);display:flex;flex-direction:column}.cards article:nth-child(2){background:var(--orange);color:white;transform:rotate(-1deg)}.cards article:nth-child(3){background:var(--yellow);transform:rotate(1deg)}.cards h3{font-family:Georgia,serif;font-size:36px;margin:16px 0}.cards article>p:not(.number){font-size:16px;line-height:1.5;max-width:280px}.cards strong{margin-top:auto;font-size:10px;letter-spacing:.15em}.number{font-size:11px;font-weight:bold}.icon{position:absolute;right:26px;top:22px;font-size:42px}.ball{color:#2677d8}.bark{font-size:18px;border:2px solid;padding:8px;transform:rotate(7deg)}.sofa{font-size:50px}
.quote{text-align:center;background:var(--ink);color:var(--cream)}.quote .section-label{color:var(--yellow)}blockquote{font-family:Georgia,serif;font-size:clamp(100px,17vw,260px);line-height:.8;margin:.35em 0 .15em;color:var(--orange);letter-spacing:-.08em}.translation{font-family:Georgia,serif;font-style:italic;font-size:20px}
.day{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--paper)}ol{list-style:none;margin:20px 0 0;padding:0}li{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:center;padding:22px 0;border-top:1px solid var(--line)}li time{font-family:monospace}li span{font-family:Georgia,serif;font-size:27px}li b{text-transform:uppercase;font-size:10px;letter-spacing:.12em}
.finale{text-align:center;background:var(--yellow);padding-top:10vw;padding-bottom:10vw}.finale h2{font-size:clamp(80px,13vw,190px)}.finale>p{font-family:Georgia,serif;font-size:24px}.mini-dog{font-size:50px}.bark-button{margin-top:25px;border:0;background:var(--orange);color:white;padding:20px 32px;font-weight:900;letter-spacing:.12em;cursor:pointer;box-shadow:5px 5px 0 var(--ink)}.bark-button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}.bark-button.pop{animation:pop .25s}@keyframes pop{50%{transform:scale(.94) rotate(-2deg)}}.bark-output{height:55px;margin-top:28px;font-family:Georgia,serif;font-size:28px;font-style:italic}footer{display:flex;justify-content:space-between;padding:28px 5vw;font-size:10px;font-weight:bold;letter-spacing:.12em}
@media(max-width:800px){.site-header{height:70px}.tiny-link{display:none}.hero{grid-template-columns:1fr;padding-top:70px}.hero h1{font-size:22vw}.dog-card{min-height:500px;margin:20px 8px 15px}.about-grid,.day{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.cards article{min-height:300px}.cards article:nth-child(2),.cards article:nth-child(3){transform:none}blockquote{font-size:28vw}.day{gap:20px}li{grid-template-columns:70px 1fr}li b{display:none}footer{gap:30px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}}

.gallery{padding:8vw 5vw 10vw;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.05fr .95fr;grid-template-areas:"heading hero" "couch hero" "couch looking" "toy sitting";gap:2.4vw;align-items:start;background:var(--cream)}
.gallery-heading{grid-area:heading;padding:2vw 3vw 4vw 0}.gallery-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;line-height:.9;font-size:clamp(58px,8vw,120px);margin:.25em 0}.gallery-heading>p:last-child{font-family:Georgia,serif;font-size:20px;line-height:1.5;max-width:430px}
.photo{margin:0;position:relative;background:var(--ink);box-shadow:8px 9px 0 var(--ink);overflow:hidden}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.photo:hover img{transform:scale(1.025)}.photo figcaption{display:flex;justify-content:space-between;position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:rgba(24,32,28,.82);color:white;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.photo--hero{grid-area:hero;height:760px;transform:rotate(1deg)}.photo--couch{grid-area:couch;height:570px;transform:rotate(-1deg)}.photo--looking{grid-area:looking;height:430px}.photo--toy{grid-area:toy;height:520px;transform:rotate(1deg)}.photo--sitting{grid-area:sitting;height:520px;transform:rotate(-1deg)}
@media(max-width:800px){.gallery{grid-template-columns:1fr;grid-template-areas:"heading" "hero" "couch" "looking" "toy" "sitting";gap:28px}.gallery-heading{padding-right:0}.photo--hero,.photo--couch,.photo--looking,.photo--toy,.photo--sitting{height:125vw;max-height:650px;transform:none}.photo--looking{height:100vw;max-height:520px}}
@media(prefers-reduced-motion:reduce){.photo img{transition:none}.photo:hover img{transform:none}}
