:root{--ink:#081c23;--muted:#b6c3c6;--yellow:#ffc400;--paper:#f6f5ee;--line:#294048}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--yellow);outline-offset:6px}button:focus-visible{outline-color:#fff}.wrap{max-width:1280px;margin:auto;padding-left:48px;padding-right:48px}header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.wordmark{font-weight:900;letter-spacing:-1px;font-size:23px;line-height:1.1;display:block}.wordmark>span:not(.small){color:var(--yellow);margin:0 3px;font-size:30px}.wordmark .small{display:block;margin-top:8px;font-size:10px;letter-spacing:2.2px;font-weight:600;color:var(--muted)}nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:700}.button{background:var(--yellow);color:var(--ink);font-weight:700;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 23px;border:1px solid var(--yellow);border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#ffdc62;transform:translateY(-2px)}.button span{font-size:22px;line-height:1}.button.compact{padding:12px 19px}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:50px;align-items:center;padding-top:62px;padding-bottom:68px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 26px;display:flex;align-items:center;gap:12px}.rule{width:30px;height:2px;background:var(--yellow)}h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-weight:900;font-stretch:condensed;font-size:clamp(48px,6.4vw,83px);line-height:.99;letter-spacing:-1.5px;margin:0 0 25px}h1 span{color:var(--yellow)}.intro{font-size:21px;font-weight:700;max-width:390px;line-height:1.4;margin-bottom:14px}.support{color:var(--muted);max-width:435px;line-height:1.7;margin:0 0 30px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-button{background:transparent;border:0;color:var(--paper);padding:10px 0;font-size:14px;font-weight:700}.text-button:hover{text-decoration:underline}.hero-note{font-size:11px;letter-spacing:1.8px;font-weight:700;margin-top:25px;color:var(--muted)}.hero-note span{color:var(--yellow);margin:0 10px}.hero-art{background:#000;border:1px solid #4c4932;transform:rotate(2deg);box-shadow:13px 13px 0 #112c35;padding:16px 18px}.hero-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.art-top,.art-bottom{font-size:10px;letter-spacing:1.4px;display:flex;justify-content:space-between;gap:12px;color:#dec76d;font-weight:700}.art-top{padding-bottom:12px;border-bottom:1px solid #383321}.art-bottom{padding-top:12px;border-top:1px solid #383321}.event-strip{background:var(--yellow);color:var(--ink)}.strip-inner{display:grid;grid-template-columns:1fr 1.2fr 1fr;padding-top:29px;padding-bottom:29px;gap:35px}.strip-inner>div{display:flex;flex-direction:column;border-right:1px solid #b18b00;padding-right:20px}.strip-inner>div:last-child{border:0;padding-right:0}.label{font-size:11px;letter-spacing:1.6px;font-weight:700;display:block;margin-bottom:8px}.strip-inner strong{font-size:22px;line-height:1.3}.strip-inner>div>span:last-child{font-size:14px;margin-top:4px}.day{padding-top:83px;padding-bottom:83px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:45px}h2{font-size:clamp(35px,4.4vw,56px);line-height:1.08;letter-spacing:-1.8px;margin:0;font-weight:800}.section-top>p{max-width:395px;color:var(--muted);margin:0 0 4px;font-size:17px;line-height:1.7}.day .eyebrow,.visit .eyebrow{color:#afc0c4}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.features article{border-top:1px solid #4b6067;padding-top:22px}.number{color:var(--yellow);font-size:14px}h3{font-size:24px;letter-spacing:-.5px;margin:21px 0 12px}.features p{margin:0;color:var(--muted);line-height:1.7}.visit{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);padding-top:70px;padding-bottom:80px}.visit-title>p:last-child{margin-top:27px;color:var(--muted);line-height:1.9}.venue{border:1px solid #38505a;background:#102b34;padding:35px 38px}.venue .label{color:var(--yellow)}.venue h3{font-size:29px;margin-top:12px}.venue>p{color:var(--muted)}.eircode{border-top:1px solid #38505a;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 0 25px}.eircode>span{font-size:23px;letter-spacing:2px;font-weight:700}.eircode button{background:transparent;color:var(--paper);border:1px solid #677c83;border-radius:3px;padding:7px 10px;font-size:12px}.eircode button:hover{background:#24404a}.venue .button{width:100%}.venue .small-text{font-size:12px;margin-bottom:0}.donate{background:var(--paper);color:var(--ink);padding:62px 0}.donation-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.donate .eyebrow{font-size:11px;margin-bottom:20px}.donate h2{font-size:clamp(32px,3.4vw,44px)}.donate h2 span{color:#476068}.donate p:last-child{max-width:575px;margin-bottom:0;color:#44595e}.donate .button{flex-shrink:0}footer{padding-top:33px;padding-bottom:33px;display:flex;justify-content:space-between;align-items:center;gap:25px}footer .wordmark{font-size:16px}footer .wordmark>span:not(.small){font-size:22px}footer p,footer>a:last-child{font-size:12px;color:var(--muted)}.skip{position:absolute;top:-100px;background:var(--yellow);color:var(--ink);padding:10px;z-index:9}.skip:focus{top:10px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--paper);color:var(--ink);padding:13px 22px;border-radius:4px;box-shadow:0 4px 30px #0005;z-index:10;display:none;max-width:90vw}.toast.visible{display:block}@media(min-width:1500px){.hero{padding-top:80px;padding-bottom:85px}}@media(max-width:850px){.wrap{padding-left:25px;padding-right:25px}.hero{gap:25px}h1{font-size:57px}.hero-art{padding:12px}.art-top,.art-bottom{font-size:8px}.actions{gap:12px}.strip-inner{gap:20px}.strip-inner strong{font-size:19px}.section-top>p{max-width:330px}.visit{gap:30px}.venue{padding:25px}.donation-inner{flex-direction:column;align-items:flex-start}footer{flex-wrap:wrap}}@media(max-width:600px){header{min-height:92px}.wordmark{font-size:18px}.wordmark>span:not(.small){font-size:23px}.wordmark .small{font-size:8px;letter-spacing:1.5px}nav{gap:12px}nav>a:not(.button){display:none}.button.compact{padding:10px 14px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:43px;gap:38px}.hero h1{font-size:clamp(48px,13.5vw,78px)}.eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:22px}.hero .intro{font-size:20px}.hero-art{width:90%;margin:auto;max-width:390px;box-shadow:8px 8px 0 #112c35}.art-top,.art-bottom{font-size:9px}.strip-inner{grid-template-columns:1fr 1fr;gap:22px}.strip-inner>div{border:0;padding:0}.strip-inner>div:last-child{grid-column:1/-1;border-top:1px solid #b18b00;padding-top:18px}.strip-inner strong{font-size:18px}.strip-inner>div>span:last-child{font-size:13px}.day{padding-top:52px;padding-bottom:48px}.section-top{display:block;margin-bottom:30px}.section-top>p{margin-top:22px;max-width:100%;font-size:16px}.features{grid-template-columns:1fr;gap:26px}.features article{display:grid;grid-template-columns:30px 1fr;gap:0 10px}.number{padding-top:6px}.features h3{margin:0 0 8px}.features p{grid-column:2}.visit{grid-template-columns:1fr;padding-top:45px;padding-bottom:50px;gap:20px}.venue{padding:25px}.donate{padding:44px 0}.donation-inner{gap:28px}footer{align-items:flex-start;gap:15px}footer p{order:3;width:100%;margin:0}footer>a:last-child{margin-left:auto}.label{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.story{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center;padding-top:80px;padding-bottom:75px;border-bottom:1px solid var(--line)}.family-figure{margin:0;min-width:0}.family-frame{position:relative;overflow:hidden;aspect-ratio:1536/2048;background:#142d34;border-radius:3px}.family-frame img{display:block;width:100%;height:auto}.family-figure figcaption{font-size:14px;color:var(--muted);line-height:1.6;margin-top:16px}.story-copy .eyebrow{color:var(--yellow);font-size:12px;line-height:1.6}.story-copy>p:not(.eyebrow){color:var(--muted);line-height:1.75}.story-copy .story-intro{font-size:21px;color:var(--paper)!important;font-weight:600;line-height:1.5!important}.story-purpose{border-left:3px solid var(--yellow);padding:2px 0 2px 22px;margin:27px 0}.story-purpose h3{font-size:21px;margin:0 0 10px}.story-purpose p{margin:0;color:var(--muted);line-height:1.75}.story-copy>.button{margin-top:9px}nav{gap:23px}@media(max-width:850px){.story{gap:30px;align-items:start}.story-copy .eyebrow{letter-spacing:1px}nav{gap:15px}nav>a{font-size:13px}}@media(max-width:650px){.story{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:28px}.story-copy{grid-row:1}.family-figure{max-width:440px;width:100%;margin:auto}.story-copy .story-intro{font-size:20px}.story-copy h2{font-size:40px}nav>a:not(.button){display:none}}

.truck-contact{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;padding-top:64px;padding-bottom:70px;border-top:1px solid var(--line)}.truck-contact .eyebrow{color:var(--yellow);font-size:14px;letter-spacing:1.4px;line-height:1.6;margin-bottom:20px}.truck-invite>p:not(.eyebrow),.social-panel>p:not(.eyebrow){color:var(--muted);line-height:1.75;margin:22px 0 26px}.truck-invite h2{font-size:clamp(35px,4vw,50px)}.social-panel{border-left:1px solid var(--line);padding-left:38px;min-width:0}.social-panel h3{font-size:29px;margin:0}.social-links{display:flex;flex-wrap:wrap;gap:12px}.social-links a{display:flex;flex-direction:column;gap:4px;flex:1 1 150px;border:1px solid #677c83;border-radius:3px;padding:13px 17px;font-weight:700;font-size:16px}.social-links a span{color:var(--muted);font-size:14px;font-weight:400}.social-links a:hover{border-color:var(--yellow);background:#102b34}@media(min-width:651px) and (max-width:1050px){header{flex-wrap:wrap;padding-top:24px;padding-bottom:24px}header nav{flex-wrap:wrap;gap:18px}}@media(max-width:850px){.truck-contact{gap:30px}.social-panel{padding-left:25px}}@media(max-width:650px){.truck-contact{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:35px}.social-panel{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:30px}}

.lineup{padding-top:64px;padding-bottom:70px;border-top:1px solid var(--line)}.lineup .eyebrow{color:var(--yellow);font-size:14px;line-height:1.6}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-card{position:relative;display:block;padding:0;background:#000;border:1px solid #38505a;border-radius:3px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3;min-width:0}.gallery-card[hidden]{display:none}.gallery-card img{width:100%;height:100%;display:block;object-fit:contain}.gallery-card:hover{border-color:var(--yellow)}.photo-number{position:absolute;bottom:10px;left:10px;background:#081c23e6;color:var(--paper);padding:4px 9px;font-size:12px;letter-spacing:1px;border-radius:2px}.gallery-toggle{margin-top:28px}.photo-dialog{background:#081c23;color:var(--paper);border:1px solid #38505a;border-radius:5px;padding:18px;width:min(1100px,94vw);max-width:94vw;max-height:94dvh}.photo-dialog::backdrop{background:#000e}.photo-toolbar,.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.photo-toolbar p{margin:0;font-size:14px;color:var(--muted)}.photo-dialog button{background:#102b34;color:var(--paper);border:1px solid #677c83;border-radius:3px;min-height:44px;padding:9px 15px;font-size:16px}.photo-dialog button:hover{border-color:var(--yellow)}#photo-large{display:block;width:100%;height:65dvh;object-fit:contain;margin:16px 0;background:#000}.photo-controls p{font-size:14px;text-align:center;margin:0;color:var(--muted)}body.photo-open{overflow:hidden}@media(min-width:651px) and (max-width:1200px){header{flex-wrap:wrap;padding-top:24px;padding-bottom:24px}header nav{flex-wrap:wrap;gap:18px}}@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.lineup{padding-top:45px;padding-bottom:45px}.gallery-grid{gap:12px}.photo-number{font-size:12px;bottom:5px;left:5px}.photo-controls{flex-wrap:wrap}.photo-controls p{order:3;width:100%}.photo-dialog{padding:12px}#photo-large{height:58dvh}}
