@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/dm-sans-400.woff') format('woff');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/dm-sans-600.woff') format('woff');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('assets/dm-sans-700.woff') format('woff');}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url('assets/manrope-800.woff') format('woff');}
:root{--navy:#082d3c;--teal:#086c68;--cream:#fbf9f1;--line:#d9ddd5;--x:50%;--y:50%;font-family:'DM Sans',sans-serif;color:var(--navy);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #1367c7;outline-offset:5px}button:disabled{opacity:.35;cursor:default}.skip{position:fixed;top:-80px;left:16px;background:white;padding:14px;z-index:100}.skip:focus{top:10px}.masthead{max-width:1600px;margin:auto;min-height:126px;display:flex;align-items:center;justify-content:space-between;padding:21px 4.2%;gap:25px}.brand img{width:255px;height:auto;display:block}.header-right{display:flex;align-items:center;gap:30px}.location{font-size:10px;font-weight:700;letter-spacing:1.8px;display:flex;align-items:center;gap:10px}.tiny-sun{font-size:29px;color:#cd6429}.centre-brand{object-fit:contain;margin-left:6px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--navy);color:white;border:1px solid var(--navy);border-radius:100px;padding:18px 25px;font-size:13px;font-weight:650;white-space:nowrap;transition:transform .2s,background .2s}.button:hover{background:#14505b;transform:translateY(-2px)}.button span[aria-hidden]{font-size:19px}.button.small{padding:11px 20px;font-size:12px;background:transparent;color:var(--navy)}main{max-width:1600px;margin:auto;padding:0 4.2%}.section-intro{border-top:1px solid var(--line);padding:24px 0 27px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.9px;font-weight:650}.intro-right{display:flex;align-items:center;gap:13px}.dot{width:4px;height:4px;background:var(--navy);border-radius:50%}.deck{position:relative}.deck:before,.deck:after{content:'';position:absolute;border-radius:0 0 29px 29px;height:50px;bottom:-9px;left:13px;right:13px;background:#e5c976;z-index:0}.deck:after{bottom:-17px;left:28px;right:28px;background:#eae5d2;z-index:-1}.tabs{display:flex;align-items:stretch;gap:3px;padding:0 9px;overflow:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:1;min-width:110px;white-space:nowrap;border:0;background:#eaece3;border-radius:18px 18px 0 0;padding:17px 12px 19px;font-size:11px;font-weight:600;position:relative;transition:background .25s}.tabs button span{font-size:9px;opacity:.55;margin-right:8px}.tabs button:nth-child(2){background:#efdbcb}.tabs button:nth-child(3){background:#d5e7d9}.tabs button:nth-child(4){background:#e7e4ed}.tabs button:nth-child(5){background:#f1d5c0}.tabs button:nth-child(6){background:#d1e5e5}.tabs button:nth-child(7){background:#eadfbc}.tabs button[aria-selected=true]{background:#ffe59a;padding-top:14px;border-top:3px solid var(--navy);font-weight:800}.panels{position:relative;z-index:1}.panel{border-radius:24px;position:relative;min-height:650px;padding:54px 5%;overflow:hidden;isolation:isolate;touch-action:pan-y;background:#ffe49a}.panel[hidden]{display:none!important}.panel:after{content:'';pointer-events:none;position:absolute;inset:0;z-index:5;background:radial-gradient(ellipse at var(--x) var(--y),#ffffff35 0,transparent 55%);mix-blend-mode:soft-light}.overview{background:radial-gradient(ellipse at 85% 35%,#ffd36f 0,transparent 55%),linear-gradient(120deg,#fff0b5,#ffe18e 60%,#fdbb79);display:grid;grid-template-columns:56% 44%;padding-bottom:80px}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:700;display:flex;align-items:center;gap:9px;line-height:1.5}.live-dot{height:6px;width:6px;border-radius:50%;background:var(--teal)}h1,h2,p{margin:0}h1,h2{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.065em}h1{font-size:clamp(54px,5.8vw,91px);line-height:1.03;margin-top:24px;position:relative;z-index:2}h1 .year{color:var(--teal);font-size:1.16em;text-shadow:1px 1px #c6b45f,2px 2px #bdad5c,3px 3px #b3a354,4px 4px #ad9f52,7px 10px 18px #8a6f2930;display:block;line-height:1.04}.year-star{font-size:.67em;display:inline-block;color:#eb7937;margin-left:26px;vertical-align:8%;text-shadow:none;font-weight:400}.hero-date{font-size:24px;font-weight:700;letter-spacing:-.8px;margin-top:13px}.hero-location{display:flex;gap:9px;align-items:center;font-size:13px;margin-top:17px}.hero-location svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.6}.actions{display:flex;align-items:center;gap:24px;margin-top:28px;flex-wrap:wrap}.text-link{font-size:12px;font-weight:650;border-bottom:1px solid #234f5070;padding:8px 0;display:inline-flex;gap:16px}.text-link:hover{color:var(--teal)}.panel-copy{z-index:3;position:relative}.art-zone{--rx:0deg;--ry:0deg;--tx:0px;--ty:0px;perspective:1000px;position:relative}.hero-art{margin:-37px -26px -20px -10px;min-height:500px}.render{height:100%;width:100%;object-fit:contain;position:relative;z-index:2;transform:rotateX(var(--rx)) rotateY(var(--ry)) translate(var(--tx),var(--ty));filter:drop-shadow(16px 28px 16px #523d2533);transition:transform .22s ease-out,filter .25s;pointer-events:none}.spine{position:absolute;height:113%;width:110%;top:-6%;left:-9%;object-fit:contain}.art-halo{position:absolute;width:83%;aspect-ratio:1;background:radial-gradient(circle,#fff4c0 10%,#f4c45e40 65%,transparent 70%);top:15%;left:0;border-radius:50%}.orbit{position:absolute;width:92%;aspect-ratio:1;border:1px solid #bd902a40;border-radius:50%;top:13%;left:-5%;transform:rotate(-35deg) scaleY(.83)}.orb{position:absolute;width:60px;height:60px;border-radius:50%;right:3%;top:20%;background:radial-gradient(circle at 30% 20%,#f7e8ad,#c69645);box-shadow:8px 18px 20px #7a5b1b22}.anniversary-seal{width:140px;height:140px;border-radius:50%;position:absolute;right:0;bottom:28px;z-index:3;background:#f7f9cf;border:1px solid #fff9;box-shadow:5px 10px 22px #79692b26;transform:rotate(10deg);display:flex;align-items:center;flex-direction:column;justify-content:center}.anniversary-seal strong{font:800 57px/.9 Manrope;letter-spacing:-5px}.anniversary-seal>span{letter-spacing:4px;font-size:13px;font-weight:700;margin-top:6px}.anniversary-seal small{font-size:7px;text-align:center;letter-spacing:1.3px;line-height:1.4;margin-top:7px}.art-spark{position:absolute;color:var(--teal);font-size:75px;z-index:3;font-weight:400}.spark-one{top:4%;right:4%;font-size:60px}.spark-two{bottom:11%;left:2%;font-size:39px}.panel-footnote{position:absolute;bottom:26px;left:5%;right:5%;font-size:12px;letter-spacing:.05px;border-top:1px solid #956c2a38;padding-top:20px}.deck-controls{display:flex;align-items:center;justify-content:space-between;padding:42px 5px 30px}.page-indicator{display:flex;align-items:center;gap:13px;font-size:11px}.page-indicator>span:first-child{font-weight:700}.progress-track{width:80px;background:#dce0d4;height:2px}.progress-track span{display:block;background:var(--teal);height:100%;width:14.285%;transition:width .3s}.current-title{border-left:1px solid #cfd5ca;padding-left:20px;margin-left:7px;font-size:12px}.navigation{display:flex;gap:9px;align-items:center}.nav-arrow{border-radius:50%;width:43px;height:43px;border:1px solid #bcc9be;background:transparent;font-size:22px}.nav-arrow.next{background:var(--navy);color:white;border-color:var(--navy)}.swipe-hint{display:none;font-size:8px;letter-spacing:1.3px;margin-right:7px}footer{max-width:1600px;margin:0 auto;padding:25px 4.2% 30px;display:flex;gap:25px;justify-content:space-between;font-size:10px;color:#52645f;border-top:1px solid var(--line)}.footer-separator{margin:0 12px;opacity:.4}.credits-button{border:0;background:none;font-size:10px;padding:0;text-decoration:underline;text-underline-offset:4px}h2{font-size:clamp(42px,4.8vw,69px);line-height:1.08;margin:22px 0}.period{color:#df713c}.panel p{font-size:15px;line-height:1.75;max-width:610px}.panel .hero-date{font-size:24px;line-height:1.3}.panel .hero-location{font-size:13px}.theme{background:linear-gradient(120deg,#f8d4b5,#f4a782)}.theme-layout{display:grid;grid-template-columns:70% 30%;align-items:center}.theme h2{font-size:clamp(49px,6.9vw,100px);line-height:1.05}.theme h2 span:not(.period){color:#a74330}.theme .theme-subtitle{font-size:24px;line-height:1.4;max-width:490px;margin-bottom:30px;letter-spacing:-.5px}.hope-sculpture{height:430px;transform:rotate(-17deg);margin-left:-20px}.sculpture-ring{position:absolute;width:240px;height:320px;border-radius:50%;border:53px solid #146d68;box-shadow:inset 5px 8px 12px #001d2d66,inset -5px -8px 10px #a7ddc699,10px 15px 10px #793f2944;transform:rotate(-12deg)}.ring-two{top:110px;left:-20px;border-color:#ffdc83;transform:rotate(24deg);z-index:-1}.hope-sculpture>span{font-size:130px;position:absolute;top:100px;left:55px;color:#ffedb3;text-shadow:2px 4px #bfa165,8px 11px 10px #5a3b3344}.celebrating{background:linear-gradient(120deg,#e3efcd,#c6dfc2);display:grid;grid-template-columns:41% 55%;gap:4%;align-items:center}.celebrating h2{font-size:92px;color:var(--teal)}.centre-signature{display:flex;align-items:center;gap:18px;margin-top:30px;font-size:11px;line-height:1.7}.centre-signature img{object-fit:contain}.gallery{min-width:0;position:relative;z-index:6}.photo-frame{border-radius:19px;overflow:hidden;background:#dae4d4;box-shadow:0 12px 22px #153d3320}.photo-open{width:100%;padding:0;display:block;border:0;position:relative;background:none}.photo-frame img{display:block;width:100%;height:330px;object-fit:cover}.expand-icon{position:absolute;right:16px;bottom:16px;border-radius:50%;background:#fffffff0;width:36px;height:36px;font-size:23px;display:grid;place-items:center}.gallery-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px}.gallery-caption{font-size:11px;line-height:1.4}.gallery-arrows{display:flex;gap:11px;align-items:center;white-space:nowrap}.gallery-arrows button,.lightbox-bottom button{width:34px;height:34px;border:1px solid #58776966;background:transparent;border-radius:50%;font-size:19px}.photo-counter{font-size:10px}.photo-tabs{display:flex;gap:6px;margin-top:15px}.photo-tabs button{width:34px;height:4px;min-height:24px;background:transparent;border:0;padding:10px 0;background-clip:content-box;background-color:#527a5e44}.photo-tabs button[aria-pressed=true]{background-color:var(--navy)}.papers{background:linear-gradient(120deg,#eeebf8,#d7d3ee);display:grid;grid-template-columns:59% 41%}.papers h2{font-size:55px}.papers h2 span{color:#66618a}.papers p+p{margin-top:18px}.notice{border-top:1px solid #756a9750;margin-top:25px;padding-top:20px;font-size:12px;line-height:1.7;max-width:580px}.secondary-art{min-height:460px;margin:-20px -20px -20px 0;align-self:stretch;display:flex;align-items:center}.secondary-art .render{position:absolute;height:110%;top:-5%}.art-disc{background:#ffffff3a;border-radius:50%;position:absolute;width:100%;aspect-ratio:1}.secondary-art .art-spark{right:0;top:15px;font-size:50px}.sponsorship{background:linear-gradient(120deg,#fce0bd,#ffbb8d);display:grid;grid-template-columns:54% 46%}.sponsorship h2 span{color:#b05231}.sponsorship .contact-label{margin-top:32px;font-size:12px}address{font-style:normal;font-size:14px;line-height:1.8;border-left:3px solid #b05231;padding-left:20px;margin-top:16px}address strong{font-size:22px}.venue{background:linear-gradient(120deg,#d9eeea,#b0d8dc);padding-top:35px;padding-bottom:26px}.venue-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.venue h2{font-size:42px;margin:13px 0 24px}.venue h2>span:not(.period){font-weight:500;color:var(--teal)}.venue .photo-frame img{height:300px}.photo-tag{position:absolute;left:20px;bottom:20px;font-size:9px;letter-spacing:1.7px;background:#fffefaef;padding:12px 15px;border-radius:30px}.venue .photo-tabs{position:absolute;left:50%;bottom:5px;transform:translateX(-50%)}.save-date{background:linear-gradient(120deg,#fff0a7,#ffcf7d);display:grid;grid-template-columns:56% 44%}.save-date h2 span{color:var(--teal)}.save-date .save-date-large{font-size:26px;font-weight:700;letter-spacing:-1px;margin-bottom:24px}.save-date .calendar-hint{font-size:10px;margin-top:16px;opacity:.75}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{border:0;border-radius:22px;padding:35px;max-width:90vw;color:var(--navy);background:var(--cream)}dialog::backdrop{background:#092e3dd4;backdrop-filter:blur(8px)}#photo-dialog{padding:14px;width:min(1100px,94vw);overflow:visible}#photo-dialog>img{width:100%;max-height:76vh;object-fit:contain;display:block;border-radius:12px}.dialog-close{position:absolute;right:12px;top:12px;width:38px;height:38px;z-index:10;border:0;background:white;border-radius:50%;font-size:26px;box-shadow:0 2px 9px #0002}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 5px 0;font-size:13px}#credits-dialog{max-width:570px}#credits-dialog h2{font-size:35px}#credits-dialog p{font-size:14px;line-height:1.7;margin:15px 0}#credits-dialog a{text-decoration:underline}.panel-enter{animation:reveal .4s ease both}@keyframes reveal{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){.panel{min-height:720px}.hero-art{min-height:530px}}
@media(max-width:1100px){.tabs button{font-size:10px;padding-left:8px;padding-right:8px;min-width:100px}.tabs button span{display:none}.panel{padding:40px 5%;min-height:615px}.overview{padding-bottom:90px}h1{font-size:61px}.hero-art{margin-left:-20px;margin-right:-30px}.anniversary-seal{width:115px;height:115px;right:0;bottom:65px}.anniversary-seal strong{font-size:47px}.actions{gap:15px}.button{font-size:12px;padding:15px 20px;gap:18px}.panel p{font-size:14px}.papers h2{font-size:43px}.celebrating h2{font-size:74px}.photo-frame img{height:310px}.location{display:none}.theme h2{font-size:72px}.sculpture-ring{width:180px;height:260px;border-width:40px}.hope-sculpture>span{font-size:95px;left:45px}.venue .photo-frame img{height:290px}.venue h2{font-size:36px}.venue .button{font-size:10px}}
@media(max-width:760px){.masthead{padding:20px 5%;min-height:94px;gap:12px}.brand img{width:190px}.header-right{gap:12px}.header-right .button{display:none}.centre-brand{width:34px;height:45px}.section-intro{padding:17px 0 23px;font-size:8px;letter-spacing:1.4px}.intro-right{font-size:8px}.intro-right .dot{display:none}main{padding:0 4%}.tabs{padding:0 4px;gap:3px}.tabs button{min-width:106px;padding:16px 13px;font-size:10px}.tabs button span{display:inline;margin-right:5px;font-size:8px}.panel{border-radius:19px;padding:32px 7%;min-height:0}.overview{display:block;padding-bottom:65px;min-height:790px}.eyebrow{font-size:8px;letter-spacing:1.5px}h1{font-size:clamp(50px,10.7vw,78px);margin-top:22px}.year-star{margin-left:22px}h1 .year{font-size:1.14em}.panel .hero-date{font-size:20px;margin-top:13px}.panel .hero-location{font-size:11px;margin-top:14px}.actions{gap:17px;margin-top:24px}.button{font-size:11px;padding:14px 18px;gap:21px}.text-link{font-size:11px;gap:9px}.hero-art{height:285px;min-height:0;margin:8px 0 -20px}.spine{height:130%;width:70%;left:7%;top:-15%;transform:rotate(13deg) rotateX(var(--rx)) rotateY(var(--ry)) translate(var(--tx),var(--ty));filter:drop-shadow(16px 15px 10px #523d2533)}.art-halo{width:67%;top:8%;left:12%}.orbit{width:67%;top:2%;left:12%;transform:scaleY(.8)}.orb{width:35px;height:35px;right:18%;top:12%}.anniversary-seal{width:100px;height:100px;right:1%;bottom:39px}.anniversary-seal strong{font-size:40px}.anniversary-seal>span{font-size:9px}.anniversary-seal small{font-size:6px}.spark-one{font-size:40px;right:6%;top:3%}.spark-two{font-size:30px;left:0;bottom:20%}.panel-footnote{font-size:10px;line-height:1.6;bottom:21px;left:7%;right:7%;padding-top:14px}.deck-controls{padding-top:34px;padding-bottom:23px}.current-title{display:none}.progress-track{width:42px}.page-indicator{gap:9px;font-size:9px}.nav-arrow{width:37px;height:37px;font-size:20px}.swipe-hint{display:inline}.navigation{gap:7px}footer{flex-direction:column;gap:11px;padding:20px 5% 26px;font-size:9px}.credits-button{align-self:flex-start;font-size:9px}h2{font-size:47px}.theme-layout{display:block}.theme h2{font-size:clamp(39px,9vw,65px);margin-top:28px}.theme .theme-subtitle{font-size:21px;margin-top:22px}.hope-sculpture{height:260px;width:230px;margin:35px auto 0;transform:rotate(-15deg) scale(.85)}.sculpture-ring{width:180px;height:240px;border-width:42px}.ring-two{top:65px;left:30px}.hope-sculpture>span{font-size:100px;top:68px;left:45px}.celebrating,.papers,.sponsorship,.save-date{display:block}.celebrating h2{font-size:76px}.panel p{font-size:14px;line-height:1.8}.celebrating .gallery{margin-top:30px}.photo-frame img{height:245px}.gallery-bar{gap:10px}.gallery-caption{font-size:10px;max-width:60%}.gallery-arrows{gap:8px}.gallery-arrows button{height:30px;width:30px}.photo-counter{font-size:9px}.centre-signature{margin-top:24px}.papers h2{font-size:43px}.secondary-art{height:280px;min-height:0;margin:10px 0 0}.secondary-art .render{height:120%;top:-10%;width:90%;left:5%}.art-disc{width:70%;left:15%;top:5%;aspect-ratio:1}.secondary-art .art-spark{top:25px;right:0;font-size:40px}.notice{font-size:11px}.sponsorship h2{font-size:46px}.sponsorship .secondary-art{height:310px}.venue-heading{display:block}.venue h2{font-size:36px;margin-top:20px}.venue .button{margin-bottom:25px}.venue .photo-frame img{height:260px}.photo-tag{font-size:7px;left:10px;bottom:12px;padding:10px;max-width:75%}.venue .photo-tabs{position:static;transform:none}.venue .gallery-bar{align-items:flex-start}.venue .gallery-caption{max-width:50%;font-size:10px}.save-date .save-date-large{font-size:22px;margin-bottom:20px}.save-date .calendar-hint{font-size:9px}.save-date .secondary-art{height:300px}dialog{padding:25px}.lightbox-bottom p{font-size:11px}.photo-tabs button{width:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.render{transform:none!important}.panel:after{display:none}}
@media print{.masthead,footer,.tabs,.deck-controls,.art-zone,.actions,.photo-tabs,.gallery-arrows,.credits-button{display:none!important}.panel[hidden],.panel{display:block!important;break-inside:avoid;min-height:0;background:white;padding:20px}.panel{overflow:visible}.panel:after,.deck:after,.deck:before{display:none}.panel-footnote{position:static;margin-top:20px}h1{font-size:45px}h2{font-size:30px}.section-intro{display:none}.overview{min-height:0}.panel-enter{animation:none}}
@media(min-width:761px){.spine{transform:rotate(23deg) rotateX(var(--rx)) rotateY(var(--ry)) translate(var(--tx),var(--ty));height:115%;left:-6%;top:-7%}.sponsorship h2{font-size:clamp(38px,4.2vw,61px)}}
@media(max-width:760px){.sponsorship h2{font-size:clamp(32px,8.9vw,46px)}}
@media(prefers-reduced-motion:reduce){.spine{transform:rotate(23deg)!important}}
/* Theme-only rehabilitation journey illustration. */
#theme .hope-sculpture{transform:none;perspective:900px;display:flex;align-items:center;justify-content:center;height:480px;margin-left:-10px}
#theme .theme-journey{position:relative;width:115%;height:100%;object-fit:contain;max-width:none;filter:drop-shadow(12px 20px 15px #723d3238)}
.trust-brand{display:block;width:160px;height:auto;max-height:70px;object-fit:contain;flex:none}
@media(max-width:760px){.masthead .brand img{width:145px}.header-right{gap:8px}.trust-brand{width:105px;max-height:50px}.centre-brand{margin-left:0}}
