.motion-brand{display:block;width:160px;padding:8px 13px;background:#f5f2e8;flex-shrink:0}.motion-brand img{width:100%;height:auto}.topbar{align-items:center}.topbar nav{font-size:14px}.hero-kicker{font-size:13px}.hero-aside:focus-visible{outline-offset:10px}.hero-aside:hover{color:var(--acid)}.grind-portrait img{object-position:50% 45%}.stat .stat-link{display:block;margin-top:22px;color:var(--acid);font-size:14px}.gallery-section .section-top>a{font-size:14px;text-decoration:underline;text-underline-offset:5px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 24px}.gallery-card:nth-child(n){grid-column:auto;margin:0}.gallery-card:nth-child(3n+2){padding-top:60px}.gallery-card:nth-child(3n){padding-top:120px}.gallery-grid.is-filtered .gallery-card{padding-top:0}.gallery-card:nth-child(n) .photo-open>img,.gallery-card:nth-child(n) .photo-open>svg{width:100%;aspect-ratio:4/5;object-fit:cover;filter:none;display:block;transition:transform .55s}.gallery-card:nth-child(n) .photo-open>svg{height:auto}.photo-open:hover>svg{transform:scale(1.035)}.gallery-card figcaption{min-height:99px}.gallery-card h3{font-size:16px;line-height:1.4}.gallery-card figcaption p,.gallery-card figcaption>span{font-size:12px}.lightbox-media{min-width:0;display:grid;place-items:center;background:#050505}.lightbox-media .lightbox-image{max-height:85svh;width:100%;height:auto;object-fit:contain}.motion-video{border:0;display:block;width:min(100%,370px);aspect-ratio:9/16;min-height:440px;max-height:85svh;background:#050505}.lightbox-controls button:disabled{opacity:.25;cursor:default}.lightbox-info #lightbox-caption{white-space:pre-wrap;overflow-wrap:anywhere}.lightbox-info #lightbox-credit{white-space:pre-wrap}.journal-retry{padding:8px 0;text-decoration:underline;text-underline-offset:4px;font-weight:600}.hero-intro .cta{font-size:14px}.footer-bottom nav{align-items:center}.grind-portrait .photo-caption{font-size:12px;line-height:1.6}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card:nth-child(n){padding:0}.gallery-card:nth-child(2n){padding-top:55px}.gallery-grid.is-filtered .gallery-card{padding-top:0}.topbar nav .nav-social{display:none}.lightbox-layout{grid-template-columns:1fr}.lightbox-media .lightbox-image{max-height:60svh}.lightbox-info{padding:28px}.motion-video{max-height:65svh}.motion-brand{width:145px}}
@media(max-width:580px){.topbar nav{display:none}.motion-brand{width:137px}.hero-kicker{font-size:12px}.gallery-section{padding-top:55px;padding-bottom:60px}.gallery-grid{gap:24px 14px}.gallery-card:nth-child(2n){padding-top:35px}.gallery-card h3{font-size:14px}.gallery-card figcaption{min-height:95px;gap:6px}.gallery-card figcaption>span{display:none}.gallery-card .open-icon{width:34px;height:34px;right:10px;bottom:10px}.filters{gap:7px}.filter{padding:8px 13px;font-size:13px}.gallery-heading{margin-bottom:28px}.section-top>a{max-width:110px;text-align:right}.gallery-card figcaption p{font-size:12px}.lightbox-info h2{font-size:36px}.lightbox-info{padding:26px 22px}.motion-video{width:100%;max-width:350px;min-height:400px}.footer-bottom nav{gap:14px}.stat .number{font-size:64px}}
@media(prefers-reduced-motion:reduce){.photo-open>svg{transition:none!important}.photo-open:hover>svg{transform:none}}
/* A birthday wall of personal notes, with space for every voice. */
.birthday-wall{padding:80px var(--gutter) 65px;background:#f4ede0;color:#173b2c;position:relative}.birthday-wall .section-top{border-color:#87987e60;color:#58664b}.birthday-main-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.birthday-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;margin:40px 0 45px}.birthday-script{font:italic clamp(24px,3vw,36px)/1.3 Georgia,serif;color:#b8472c;margin-bottom:20px}.birthday-heading h2{font-size:clamp(62px,8.6vw,124px);letter-spacing:-.025em;line-height:.98}.birthday-heading h2 em{font-style:normal;color:#d85830}.birthday-invitation{max-width:360px;justify-self:end}.birthday-invitation>p{font-size:18px;line-height:1.8;margin-bottom:24px}.wish-compose{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 22px;background:#173b2c;color:#fff8e9;font-weight:600;font-size:15px;width:100%;border:0}.wish-compose:hover{background:#245841}.birthday-invitation>small{display:block;font-size:12px;line-height:1.7;margin-top:14px;color:#607052}.wish-wall{columns:3;column-gap:24px;padding:18px 5px 8px}.wish-note{position:relative;display:inline-block;width:100%;break-inside:avoid;padding:28px 28px 25px;margin:0 0 28px;box-shadow:4px 7px 0 #163a2510;border:1px solid #173b2c17;transform:rotate(-1deg);transition:transform .25s,box-shadow .25s}.wish-note:nth-child(2n){transform:rotate(1.5deg)}.wish-note:hover{transform:rotate(0) translateY(-3px);box-shadow:5px 12px 20px #163a251c}.wish-tone-0{background:#fffdf7;color:#173b2c}.wish-tone-1{background:#ed9666;color:#342718}.wish-tone-2{background:#193d2c;color:#fbf2db}.wish-note-mark{display:block;font-size:32px;line-height:1;margin-bottom:20px;color:currentColor;opacity:.65}.wish-note-message{font:20px/1.65 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere}.wish-note-signature{border-top:1px solid currentColor;padding-top:18px;margin-top:24px;display:flex;flex-direction:column;gap:3px}.wish-note-signature>span{font-size:11px;opacity:.7;letter-spacing:.08em;text-transform:uppercase}.wish-note-signature>strong{font-size:15px;overflow-wrap:anywhere}.wish-wall-count{font-size:14px;color:#6b7359;text-align:center;margin:16px 0 0}.wish-empty{column-span:all;min-height:200px;border-block:1px dashed #9eac915e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:28px}.wish-spark{font-size:55px;line-height:1.2;color:#d65b31;display:block}.wish-empty>p{font:italic 28px/1.4 Georgia,serif}.wish-empty>small{font-size:14px;color:#667457}.birthday-launch{border-top:1px solid #b7c0a7;display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:55px;padding-top:38px}.birthday-launch h3{font-size:clamp(40px,4.5vw,64px);margin-top:16px}.birthday-launch>.cta{background:#d65b31;color:#fff9ee;padding:20px 25px;display:flex;gap:35px;font-weight:600;font-size:15px}.birthday-launch>.cta:hover{background:#b74b27}.is-birthday .hero-title small{font-size:.17em;letter-spacing:.13em}.is-birthday .hero-aside .display{color:var(--acid)}.is-birthday .hero-kicker{letter-spacing:.08em}.is-birthday .hero-aside{background:#111210a8;padding:18px 20px;border:1px solid #ffffff40}
#wish-dialog{width:min(540px,calc(100vw - 32px));background:#fbf5e9;color:#173b2c;padding:36px;border:0;border-radius:6px;max-height:90svh;overflow:auto}#wish-dialog .close-dialog{background:#173b2c;color:#fff8e9}#wish-title,.wish-success h2{font-size:64px;line-height:1;margin:25px 0 28px}#wish-form>.eyebrow{display:block;font-size:11px;padding-right:35px;color:#a94b2e}#wish-form fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:22px}#wish-form label{font-size:14px;font-weight:600;display:flex;flex-direction:column;gap:8px}#wish-form input,#wish-form textarea{background:#fffdf8;border:1px solid #bac5af;font:400 16px/1.6 var(--body);color:#183b2b;width:100%;padding:11px 13px;border-radius:3px}#wish-form textarea{resize:vertical;min-height:135px}.wish-privacy{font-size:12px;line-height:1.7;color:#5b6c4b}.wish-form-error{color:#a23621;font-size:14px;line-height:1.5}#wish-form .wish-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.wish-success{padding:20px 0}.wish-success>p{font-size:17px;line-height:1.8;margin-bottom:25px}.wish-compose:disabled{opacity:.5}
@media(max-width:850px){.birthday-heading{grid-template-columns:1fr;gap:28px}.birthday-invitation{justify-self:start;max-width:500px}.wish-wall{columns:2}.birthday-launch{align-items:flex-start;flex-direction:column}.birthday-heading h2{font-size:clamp(60px,12vw,100px)}}
@media(max-width:580px){.birthday-wall{padding:50px 22px}.birthday-wall .section-top{align-items:flex-start;gap:20px}.birthday-wall .section-top .eyebrow{font-size:11px}.birthday-main-link{max-width:135px;text-align:right;font-size:12px;line-height:1.7}.birthday-heading{margin:30px 0}.birthday-heading h2{font-size:17vw}.birthday-script{font-size:26px}.birthday-invitation>p{font-size:16px}.wish-wall{columns:1;padding:12px 4px}.wish-note{padding:24px;margin-bottom:22px}.wish-note-message{font-size:20px}.wish-empty>p{font-size:23px}.birthday-launch{margin-top:35px}.birthday-launch>.cta{font-size:14px;padding:17px 20px}.birthday-launch .eyebrow{font-size:11px}#wish-dialog{padding:28px 23px}#wish-title,.wish-success h2{font-size:58px}.is-birthday .hero-aside{padding:11px;max-width:135px}.is-birthday .hero-aside .display{font-size:40px}}
@media(prefers-reduced-motion:reduce){.wish-note,.wish-note:nth-child(2n),.wish-note:hover{transform:none;transition:none}}
/* A transparent, light wordmark belongs in the cinematic scene. */
[hidden]{display:none!important}.motion-brand{padding:0;background:transparent;width:160px;mix-blend-mode:screen}.motion-brand img{filter:grayscale(1) invert(1);mix-blend-mode:screen}.runner.is-photo img{filter:saturate(.5) contrast(1.07)!important}.speed-trails{position:absolute;inset:24% 0 15%;overflow:hidden;z-index:3;opacity:.55}.speed-trails i{position:absolute;top:25%;left:-40%;width:35%;height:1px;background:linear-gradient(90deg,transparent,#ff652daa,transparent);transform:rotate(-12deg);animation:speed-pass 4s cubic-bezier(.2,.7,.4,1) infinite}.speed-trails i:nth-child(2){top:56%;animation-delay:1.4s;width:24%;opacity:.5}.speed-trails i:nth-child(3){top:80%;animation-delay:2.6s;opacity:.35}@keyframes speed-pass{0%,15%{translate:0 0;opacity:0}35%{opacity:1}85%,100%{translate:440% -55px;opacity:0}}[data-motion=off] .speed-trails i{animation:none}
/* Photos and notes travel together, without duplicating anyone's greeting. */
.wish-wall-tools{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:10px;color:#657352;font-size:12px}.wish-wall-tools>div{display:flex;gap:8px;align-items:center}.wish-wall-tools button{padding:9px 13px;border:1px solid #71826266;border-radius:30px;white-space:nowrap}.wish-wall-tools button:hover{background:#173b2c;color:#fff9ee}.wish-wall{columns:auto;display:flex;gap:26px;overflow-x:auto;overflow-y:hidden;align-items:flex-start;padding:23px 12px 27px;scrollbar-width:thin;scrollbar-color:#829577 #e5ddce;overscroll-behavior-x:contain}.wish-note{flex:0 0 min(355px,84vw);width:min(355px,84vw);margin:0;padding:25px;animation:note-drift 7s ease-in-out infinite alternate}.wish-note:nth-child(2n){animation-delay:-3s}.wish-note:nth-child(3n){animation-delay:-5s}.wish-note:has(.wish-note-photo){padding-top:15px}.wish-note-photo{position:relative;background:#fffaf0;padding:8px 8px 27px;box-shadow:0 2px 7px #132a2519;margin-bottom:24px;transform:rotate(-2deg)}.wish-note-photo:before{content:'';position:absolute;top:-9px;left:35%;width:90px;height:25px;background:#ead9aca3;transform:rotate(4deg);z-index:1}.wish-note-photo img{display:block;width:100%;height:235px;object-fit:contain;background:#f4eee1}.wish-note-photo>span{position:absolute;bottom:6px;left:12px;right:12px;font:italic 12px Georgia,serif;color:#66704f}.wish-note:has(.wish-note-photo) .wish-note-mark{display:none}.wish-download{display:inline-flex;gap:6px;align-items:center;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding-top:19px;opacity:.8;text-decoration:underline;text-underline-offset:4px}.wish-download:hover{opacity:1}.wish-download:disabled{opacity:.4}.wish-note-signature{margin-top:18px;padding-top:15px}.wish-note-message{font-size:19px;line-height:1.6}.wish-wall:hover .wish-note,.wish-wall:focus-within .wish-note,.wall-paused .wish-note,[data-motion=off] .wish-note{animation-play-state:paused}.wish-empty{flex:1;min-width:100%}.wish-photo-label small{font-weight:400;font-size:12px;color:#647357}.wish-photo-preview{background:#e6e4d4;padding:12px}.wish-photo-preview img{width:100%;height:180px;object-fit:contain}.wish-photo-preview button{display:block;margin:8px auto 0;font-size:12px;text-decoration:underline}.wish-photo-label input{font-size:13px!important}@keyframes note-drift{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-7px) rotate(1deg)}}
/* The same cinematic language, entirely dedicated to the published event. */
.motion-event{padding:80px var(--gutter);background:#121c16}.motion-event .section-top>a{font-size:13px;text-decoration:underline;text-underline-offset:5px}.event-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:start}.event-layout:has(.event-photograph[hidden]){grid-template-columns:1fr}.event-location{color:#e97343;margin-bottom:25px}.event-layout h2{font-size:clamp(50px,6.5vw,100px);max-width:950px;overflow-wrap:anywhere}.event-date{font-size:20px;margin:25px 0;color:#b6c9a6}.event-goal{font:italic 29px/1.45 Georgia,serif;color:#f2a67b;margin:30px 0;max-width:720px}.event-description{font-size:17px;line-height:1.85;white-space:pre-wrap;max-width:720px}.event-source{margin-top:32px;display:inline-flex;padding:17px 25px;background:var(--acid);color:#111}.event-photograph{transform:rotate(2deg);padding:12px 12px 18px;background:#eee9de;color:#24372b}.event-photograph img{width:100%;max-height:600px;object-fit:contain}.event-photograph figcaption{font:italic 14px/1.5 Georgia,serif;margin-top:12px}.event-facts{display:flex;flex-wrap:wrap;margin-top:60px;border-block:1px solid #ffffff30;gap:0}.event-fact{flex:1;min-width:160px;padding:30px;border-right:1px solid #ffffff30}.event-fact>span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#afbf9e}.event-fact>strong{display:block;font-size:29px;margin-top:12px}.is-event .hero-title{font-size:clamp(55px,11vw,160px);line-height:.98;max-width:1100px;margin:auto;overflow-wrap:anywhere}.is-event .hero-title small{font:600 13px/1.7 var(--body);letter-spacing:.2em;margin-bottom:25px}.is-event .hero-title-wrap{top:29%;z-index:9}.is-event .runner{display:none}.is-event .hero-intro{width:440px;max-width:60%}.is-event .hero-intro>p{max-width:400px}.is-event .hero-aside{background:#122418c9;border:1px solid #ffffff40;padding:20px;width:220px}.is-event .hero-aside .display{font-size:50px}.event-hero-logo{max-width:160px;max-height:75px;object-fit:contain;padding:8px;background:#fffaf0;margin:0 0 14px auto}.next-event-soon{display:inline-block;padding:17px 24px;border:1px solid #bdcba755;color:#c0cdae;font-size:15px}
@media(max-width:700px){.event-layout{grid-template-columns:1fr;gap:35px}.motion-event{padding:45px 24px}.event-fact{padding:22px 10px;min-width:130px}.event-fact>strong{font-size:23px}.is-event .hero-title-wrap{top:28%}.is-event .hero-title{font-size:12vw}.is-event .hero-aside{width:140px;padding:12px}.is-event .hero-intro{max-width:60%}.is-event .hero-intro .cta{padding:12px;font-size:12px}.wish-wall-tools{align-items:flex-start}.wish-wall-tools>span{max-width:140px;line-height:1.7}.wish-wall{gap:20px;padding-inline:8px}.motion-brand{width:140px}}
@media(prefers-reduced-motion:reduce){.speed-trails i,.wish-note{animation:none!important}}
.birthday-invitation .wish-compose{min-height:82px;padding:18px 20px 18px 28px;border-radius:50px;background:#d76135;color:#fffaf1;font-size:17px;box-shadow:0 6px 0 #a74325,0 12px 25px #a6532520;transition:transform .2s,box-shadow .2s,background .2s;text-align:left}.birthday-invitation .wish-compose>span{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:50%;background:#fce7bd;color:#8d3b22;font-size:25px}.birthday-invitation .wish-compose:hover{background:#bd4c26;transform:translateY(-2px);box-shadow:0 8px 0 #943c21,0 16px 30px #a653252a}.birthday-invitation .wish-compose:active{transform:translateY(4px);box-shadow:0 2px 0 #943c21}.birthday-invitation>small{margin-top:22px;text-align:center}#wish-form .wish-compose,.wish-success .wish-compose{border-radius:32px;min-height:58px;padding-inline:24px}@media(max-width:580px){.birthday-invitation .wish-compose{min-height:76px;font-size:16px;padding-left:23px}.birthday-invitation .wish-compose>span{flex-basis:40px;width:40px;height:40px}}

.wish-compass svg{width:36px;height:36px}.compass-needle{transform-origin:20px 20px;animation:compass-seek 6s ease-in-out infinite}.wish-compose:hover .compass-needle{animation-duration:2.8s}@keyframes compass-seek{0%,100%{transform:rotate(35deg)}25%{transform:rotate(65deg)}55%{transform:rotate(15deg)}75%{transform:rotate(43deg)}}[data-motion=off] .compass-needle{animation:none;transform:rotate(35deg)}@media(prefers-reduced-motion:reduce){.compass-needle{animation:none!important;transform:rotate(35deg)}}

.runner.is-photo{max-width:none}.runner.is-photo img{object-fit:contain}

@media(max-width:760px){.hero-bottom{display:grid;grid-template-columns:1fr;gap:14px;bottom:24px}.hero-intro{width:100%;max-width:100%}.hero-intro p{max-width:100%;font-size:14px}.hero-intro .cta{width:100%;min-height:56px;justify-content:space-between;border-radius:28px}.hero-aside{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;min-height:52px;border-radius:28px;background:#102019b3}.hero-aside .display{font:700 11px/1.2 var(--body);letter-spacing:.09em;border:1px solid #ff642d70;border-radius:12px;padding:5px 7px}.hero-aside>p:nth-child(2){display:none}.hero-aside .aside-detail{display:block;font-size:12px}.is-birthday .hero-aside{width:100%;max-width:none;flex:initial;padding:12px 18px;min-height:56px;text-align:left}.is-birthday .hero-aside .display{font:700 11px/1.2 var(--body);letter-spacing:.09em;margin:0;flex:none}.is-birthday .hero-aside .aside-detail{flex:1;text-align:right}.runner.is-photo{height:77%;bottom:16%}.hero-kicker{max-width:calc(100% - 40px);line-height:1.5;font-size:10px}.hero-title-wrap{top:24%}.birthday-launch{gap:24px}.birthday-invitation>p{font-size:16px}.birthday-invitation .wish-compose{font-size:15px}.topbar{min-height:82px}}
