:root{
  --ink:#0c0c0c;--paper:#fffdf9;--cream:#fbefe7;--sky:#8fd2e8;--mint:#84b798;--sun:#f3cf00;--red:#e51b23;
  --muted:#66645f;--line:#e6e2db;--shadow:0 20px 60px rgba(20,20,20,.12);--radius:30px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);line-height:1.5}img{max-width:100%}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.06)}.nav{height:76px;display:flex;align-items:center;gap:24px}.logo{font-size:1.25rem;font-weight:950;letter-spacing:-.04em;text-decoration:none;white-space:nowrap}.logo span{font-family:"Brush Script MT","Segoe Script",cursive;font-size:1.5rem}.nav-links{margin-left:auto;display:flex;align-items:center;gap:4px}.nav-links a{padding:10px 12px;border-radius:999px;text-decoration:none;font-weight:800;font-size:.9rem}.nav-links a:hover,.nav-links a.active{background:#f1eee8}.nav-donate{background:var(--ink)!important;color:white!important;padding:11px 17px!important}.menu-btn{display:none;margin-left:auto;border:0;background:#eee9e1;border-radius:999px;padding:10px 14px;font-weight:900}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:0;cursor:pointer;border-radius:999px;padding:14px 22px;font-weight:900;transition:.2s transform,.2s box-shadow}.btn:hover{transform:translateY(-2px)}.btn.dark{background:var(--ink);color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.16)}.btn.sun{background:var(--sun);color:#111}.btn.white{background:#fff;border:1px solid #ded9d0}.btn.sky{background:var(--sky);color:#111}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--sky);border-radius:999px;padding:8px 14px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;font-size:.76rem}.section{padding:86px 0}.section-head{max-width:760px;margin-bottom:32px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section-head h2{font-size:clamp(2.3rem,5vw,4.5rem);line-height:.94;letter-spacing:-.06em;margin:10px 0 14px}.section-head p{font-size:1.08rem;color:var(--muted);margin:0}.card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);box-shadow:var(--shadow)}.hero{position:relative;overflow:hidden;padding:42px 0 72px;background:linear-gradient(145deg,#fff 0%,#fcf4ed 68%,#f4efd9 100%)}.hero:before,.hero:after{content:"";position:absolute;border-radius:44% 56% 52% 48%/45% 40% 60% 55%;z-index:0}.hero:before{width:310px;height:310px;background:var(--sun);right:-150px;top:50px;transform:rotate(-20deg)}.hero:after{width:280px;height:360px;background:var(--mint);left:-180px;bottom:-100px;transform:rotate(20deg)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}.hero h1{font-size:clamp(4.1rem,9vw,8.1rem);line-height:.79;letter-spacing:-.08em;margin:20px 0 24px}.hero h1 .script{display:block;font-family:"Brush Script MT","Segoe Script",cursive;font-weight:900;font-size:1.02em}.hero-copy{font-size:clamp(1.08rem,2vw,1.38rem);max-width:650px;color:#2b2a27}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.hero-photo{position:relative;min-height:590px}.hero-photo .main-photo{position:absolute;inset:15px 25px 35px 45px;width:calc(100% - 70px);height:calc(100% - 50px);object-fit:cover;border-radius:44px;box-shadow:var(--shadow)}.hero-photo .mini{position:absolute;width:190px;height:150px;object-fit:cover;border:8px solid #fff;border-radius:25px;box-shadow:0 14px 35px rgba(0,0,0,.2)}.hero-photo .mini.one{left:0;bottom:0;transform:rotate(-5deg)}.hero-photo .mini.two{right:0;top:0;transform:rotate(5deg)}.hero-sticker{position:absolute;right:0;bottom:20px;background:var(--sun);padding:18px 22px;border-radius:22px;transform:rotate(-3deg);font-weight:950;font-size:1.05rem;box-shadow:0 10px 28px rgba(0,0,0,.16)}.personal-box{margin-top:24px;display:flex;max-width:560px;background:#fff;border:1px solid #e2ddd5;padding:8px;border-radius:999px;box-shadow:0 10px 24px rgba(0,0,0,.06)}.personal-box input{flex:1;border:0;outline:0;padding:8px 14px;background:transparent;min-width:0}.personal-box button{border:0;background:var(--ink);color:#fff;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer}.personal-line{font-weight:900;margin-top:12px;min-height:24px}.countdown-band{background:var(--ink);color:#fff;padding:28px 0}.countdown-wrap{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.countdown-title small{display:block;color:#aaa;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.countdown-title strong{font-size:clamp(1.35rem,3vw,2.4rem)}.countdown{display:flex;gap:10px}.timebox{min-width:82px;background:#fff;color:#111;border-radius:18px;padding:12px 10px;text-align:center}.timebox b{display:block;font-size:2rem;line-height:1}.timebox span{font-size:.7rem;text-transform:uppercase;font-weight:900;color:#666}.impact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px}.impact-copy{padding:36px}.impact-copy h3{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.05em;line-height:.98;margin:10px 0 18px}.impact-copy p{color:var(--muted);font-size:1.05rem}.progress-card{background:var(--sky);padding:34px;border-radius:var(--radius);position:relative;overflow:hidden}.progress-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:var(--sun);right:-80px;bottom:-85px}.progress-big{font-size:clamp(4rem,8vw,7rem);font-weight:950;letter-spacing:-.08em;line-height:1}.progress-track{height:18px;background:rgba(255,255,255,.58);border-radius:999px;overflow:hidden;margin:18px 0}.progress-fill{height:100%;width:72%;background:#111;border-radius:999px}.progress-meta{display:flex;justify-content:space-between;font-weight:900}.video-feature{background:#0b0b0b;color:#fff}.video-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:34px;align-items:center}.video-copy h2{font-size:clamp(3rem,6vw,5.5rem);line-height:.88;letter-spacing:-.07em;margin:12px 0 22px}.video-copy p{color:#cfcfcf;font-size:1.06rem}.video-shell{position:relative;padding-top:56.25%;border-radius:28px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.45);background:#222}.video-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.stories-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.story-card{overflow:hidden}.story-card img{width:100%;height:260px;object-fit:cover}.story-body{padding:24px}.source{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:950;color:#777}.story-body h3{font-size:1.4rem;line-height:1.1;letter-spacing:-.03em;margin:8px 0 10px}.story-body p{color:var(--muted)}.story-link{font-weight:900;text-decoration:none}.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.media-card{padding:18px}.media-card h3{margin:14px 4px 5px}.media-card p{color:var(--muted);margin:0 4px 8px}.profile-cta{display:grid;grid-template-columns:.95fr 1.05fr;gap:30px;align-items:center;background:var(--cream);border-radius:38px;padding:30px;overflow:hidden}.profile-cta img{width:100%;border-radius:24px;background:#111}.profile-cta h2{font-size:clamp(2.6rem,5vw,4.7rem);line-height:.9;letter-spacing:-.06em;margin:10px 0 18px}.cruise-cta{background:linear-gradient(135deg,#eaf5ff,#c8dcf7);border-radius:38px;overflow:hidden;display:grid;grid-template-columns:1.02fr .98fr}.cruise-copy{padding:42px}.cruise-copy h2{font-size:clamp(2.6rem,5vw,4.8rem);line-height:.9;letter-spacing:-.06em;margin:10px 0 16px}.cruise-image{min-height:420px;background-size:cover;background-position:center}.game-teaser{background:var(--sun);border-radius:38px;padding:42px;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.game-teaser h2{font-size:clamp(2.5rem,5vw,4.6rem);line-height:.9;letter-spacing:-.06em;margin:0 0 12px}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center}.about-grid img{width:100%;height:570px;object-fit:cover;border-radius:34px}.about-copy h2{font-size:clamp(2.8rem,5vw,5rem);line-height:.9;letter-spacing:-.07em;margin:12px 0 18px}.about-copy p{font-size:1.06rem;color:var(--muted)}.quote{font-size:1.45rem!important;color:#111!important;font-weight:900;line-height:1.25}.donate-strip{position:relative;overflow:hidden;background:var(--sky);border-radius:40px;padding:44px;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.donate-strip:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:var(--sun);right:-120px;bottom:-140px}.donate-strip h2{position:relative;z-index:1;font-size:clamp(2.6rem,5vw,4.7rem);line-height:.9;letter-spacing:-.06em;margin:0 0 12px}.donate-strip p{position:relative;z-index:1;margin:0}.donate-strip .btn{position:relative;z-index:2}.page-hero{padding:70px 0 45px;background:linear-gradient(145deg,#fff,#f9f0e7)}.page-hero h1{font-size:clamp(3.2rem,7vw,6.4rem);line-height:.88;letter-spacing:-.07em;margin:16px 0}.page-hero p{max-width:760px;color:var(--muted);font-size:1.12rem}.terms{max-width:900px;margin:auto}.terms h2{font-size:2rem;margin-top:45px}.terms h3{font-size:1.25rem;margin-top:32px}.terms p,.terms li{color:#46443f}.terms li{margin:8px 0}.terms .permit{display:inline-block;background:var(--sun);padding:10px 15px;border-radius:12px;font-weight:950}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:860px;margin:auto}.memory-card{aspect-ratio:1/1;border:0;background:transparent;perspective:1000px;cursor:pointer;padding:0;min-width:0;display:block}.memory-inner{display:block;position:relative;width:100%;height:100%;transition:transform .45s;transform-style:preserve-3d}.memory-card.flipped .memory-inner,.memory-card.matched .memory-inner{transform:rotateY(180deg)}.memory-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.1)}.memory-back{display:grid;place-items:center;background:var(--sky);font-family:"Brush Script MT","Segoe Script",cursive;font-size:2rem;font-weight:900}.memory-front{transform:rotateY(180deg);background:#fff}.memory-front img{width:100%;height:100%;object-fit:cover}.game-stats{display:flex;justify-content:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.stat-pill{background:#fff;border:1px solid var(--line);padding:10px 15px;border-radius:999px;font-weight:900}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-card{padding:26px}.field{width:100%;border:1px solid #d2cec6;border-radius:14px;padding:13px 15px;background:#fff;margin:6px 0 14px}.field:focus{outline:3px solid rgba(143,210,232,.35);border-color:#111}.field-label{font-weight:900;font-size:.9rem}.admin-note{background:#f4f1eb;border-radius:16px;padding:14px;font-size:.9rem;color:#555}.footer{margin-top:70px;background:#0c0c0c;color:#fff;padding:50px 0}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:30px}.footer a{color:#d9d9d9;text-decoration:none}.footer p{color:#b9b9b9}.footer-links{display:grid;gap:8px}.footer-bottom{border-top:1px solid #333;margin-top:35px;padding-top:22px;color:#999;font-size:.85rem;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:980px){.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:14px 20px;border-bottom:1px solid #ddd;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.menu-btn{display:block}.hero-grid,.video-grid,.impact-grid,.profile-cta,.cruise-cta,.about-grid{grid-template-columns:1fr}.hero-photo{min-height:520px}.countdown-wrap{grid-template-columns:1fr}.countdown{justify-content:flex-start}.cruise-image{min-height:360px}.admin-grid{grid-template-columns:1fr}}
@media(max-width:650px){.wrap{width:min(100% - 28px,var(--max))}.section{padding:64px 0}.hero{padding-top:24px}.hero h1{font-size:clamp(3.8rem,18vw,6rem)}.hero-photo{min-height:410px}.hero-photo .main-photo{inset:10px 15px 25px 25px;width:calc(100% - 40px);height:calc(100% - 35px)}.hero-photo .mini{width:135px;height:108px;border-width:5px}.hero-sticker{font-size:.85rem;padding:12px 14px}.countdown{gap:6px}.timebox{min-width:0;flex:1;padding:10px 4px}.timebox b{font-size:1.5rem}.stories-grid,.media-grid{grid-template-columns:1fr}.story-card img{height:220px}.memory-grid{grid-template-columns:repeat(3,1fr);gap:9px}.game-teaser,.donate-strip{grid-template-columns:1fr;padding:30px 24px}.footer-grid{grid-template-columns:1fr}.personal-box{border-radius:20px;flex-direction:column}.personal-box button{width:100%}}
.name-gate{position:fixed;inset:0;z-index:100;background:rgba(10,10,10,.82);backdrop-filter:blur(12px);display:none;place-items:center;padding:20px}.name-gate.open{display:grid}.name-gate-card{position:relative;width:min(620px,100%);background:var(--paper);border-radius:36px;padding:42px;box-shadow:0 35px 100px rgba(0,0,0,.4);overflow:hidden}.name-gate-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:var(--sun);right:-90px;top:-90px}.name-gate-card h2{font-size:clamp(3rem,8vw,5.7rem);line-height:.85;letter-spacing:-.07em;margin:12px 0 18px}.name-gate-card h2 span{font-family:"Brush Script MT","Segoe Script",cursive}.name-gate-card p{color:var(--muted);font-size:1.05rem}.gate-form{display:flex;gap:8px;background:#fff;border:1px solid #ddd6cd;border-radius:999px;padding:7px;margin-top:20px;position:relative;z-index:2}.gate-form input{flex:1;min-width:0;border:0;outline:0;padding:10px 14px;font-size:1.05rem}.gate-form button{border:0;border-radius:999px;background:#111;color:#fff;padding:13px 20px;font-weight:900;cursor:pointer}.gate-note{font-size:.82rem!important;margin-top:10px!important}@media(max-width:560px){.name-gate-card{padding:30px 22px}.gate-form{border-radius:18px;flex-direction:column}.gate-form button{width:100%}}

.admin-lock{position:fixed;inset:0;z-index:9999;background:linear-gradient(145deg,#111,#252525);display:grid;place-items:center;padding:20px}.admin-lock.hidden{display:none}.admin-lock-card{width:min(520px,100%);background:#fff;border-radius:28px;padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.4)}.admin-lock-card h2{font-size:clamp(2rem,5vw,3.4rem);line-height:.95;letter-spacing:-.05em;margin:10px 0 12px}.admin-lock-card p{color:#666}.admin-lock-form{display:flex;gap:8px;margin-top:18px}.admin-lock-form input{flex:1;min-width:0;border:1px solid #ccc;border-radius:999px;padding:13px 16px}.admin-lock-error{color:#a22;font-weight:800;min-height:22px;margin-top:9px}@media(max-width:540px){.admin-lock-form{display:grid}.memory-grid{grid-template-columns:repeat(3,1fr);gap:10px}.memory-back{font-size:1.35rem}.memory-face{border-radius:15px}}


/* Tinsinix memory game: campaign symbols only */
.memory-front{padding:10px;background:linear-gradient(145deg,#fffaf4,#edf8fb);}
.memory-back{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#111;color:#fff;font-weight:900;letter-spacing:-.03em;}
.memory-back span{font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(1.45rem,4vw,2.6rem);line-height:1;}
.memory-back small{font:900 .78rem/1 Inter,system-ui,sans-serif;letter-spacing:.12em;margin-top:8px;color:#f2ce00;}
.memory-symbol{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:16px;padding:10px;overflow:hidden;}
.memory-symbol strong{display:block;line-height:.95;letter-spacing:-.06em;max-width:100%;overflow-wrap:anywhere;}
.memory-symbol small{display:block;margin-top:9px;font-size:.67rem;line-height:1.15;font-weight:900;letter-spacing:.08em;opacity:.72;}
.memory-symbol-big{background:#91d3e9;color:#111}.memory-symbol-big strong{font-size:clamp(1.65rem,5vw,3.25rem);}
.memory-symbol-word{background:#fbf0e9;color:#111}.memory-symbol-word strong{font-size:clamp(1rem,3.2vw,2rem);}
.memory-symbol-script{background:#f2ce00;color:#111}.memory-symbol-script strong{font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(1.7rem,5vw,3.25rem);letter-spacing:-.04em;}
.memory-symbol-icon{background:#82b496;color:#111}.memory-symbol-icon strong{font-size:clamp(2.7rem,7vw,4.9rem);line-height:.8}.memory-symbol-icon small{font-size:.8rem;}
@media(max-width:520px){.memory-front{padding:6px}.memory-symbol{padding:6px;border-radius:12px}.memory-symbol small{font-size:.55rem;margin-top:6px}}

/* Stories: text-only by default; thumbnails are optional */
.stories-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;padding:16px 18px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:20px}.stories-toolbar b{display:block;font-size:1rem}.stories-toolbar span{display:block;color:var(--muted);font-size:.88rem;margin-top:2px}.view-switch{display:flex;gap:6px;padding:5px;background:#f0eee9;border-radius:999px}.view-btn{border:0;background:transparent;padding:9px 13px;border-radius:999px;font-weight:900;cursor:pointer}.view-btn.active{background:#111;color:#fff}.stories-grid.text-only{grid-template-columns:1fr}.stories-grid.text-only .story-card{display:block}.stories-grid.text-only .story-body{padding:26px 28px}.stories-grid.text-only .story-body h3{font-size:clamp(1.35rem,3vw,2rem);margin:8px 0 10px;max-width:900px}.stories-grid.text-only .story-body p{max-width:900px;margin:0 0 16px}.stories-grid.with-images .story-card{overflow:hidden}.story-image-wrap{height:260px;overflow:hidden;background:#f3f1ec}.story-image-wrap img{width:100%;height:100%;object-fit:cover;display:block}.stories-grid.text-only .story-image-wrap{display:none}@media(max-width:650px){.stories-toolbar{align-items:flex-start;flex-direction:column}.view-switch{width:100%}.view-btn{flex:1}.story-image-wrap{height:210px}}

/* Tinsinix people horizontal story scroller */
.tinsinix-people-section{padding-bottom:44px;background:#fff}.script-inline{font-family:"Brush Script MT","Segoe Script",cursive;font-weight:900}.people-scroller{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:4px max(20px,calc((100vw - var(--max))/2)) 22px;scrollbar-width:thin}.people-slide{position:relative;flex:0 0 min(390px,82vw);height:540px;border-radius:30px;overflow:hidden;scroll-snap-align:start;background:#111;box-shadow:0 16px 44px rgba(0,0,0,.14);text-decoration:none;color:#fff}.people-slide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.people-slide:hover img{transform:scale(1.035)}.people-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 28%,rgba(0,0,0,.82) 100%)}.people-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:30px 26px}.people-overlay span{display:inline-block;background:var(--sun);color:#111;border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:950;letter-spacing:.1em}.people-overlay h3{font-size:clamp(1.55rem,3vw,2.25rem);line-height:.98;letter-spacing:-.04em;margin:12px 0 10px}.people-overlay p{margin:0 0 12px;color:#eee;font-size:.95rem}.people-overlay b{font-size:.9rem}.people-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:4px}.people-footer span{color:var(--muted)}
@media(max-width:650px){.people-slide{height:470px;flex-basis:84vw}.people-overlay{padding:24px 20px}.people-footer{align-items:flex-start;flex-direction:column}.people-footer .btn{width:100%}}
/* Tinsinix people stories stay on-site: only the donation CTA leaves the card. */
.people-donate{display:inline-flex;align-items:center;background:#fff;color:#111!important;text-decoration:none;border-radius:999px;padding:9px 13px;font-size:.86rem;font-weight:950;margin-top:2px}.people-donate:hover{background:var(--sun)}

/* Homepage calendar action */
.calendar-btn{background:var(--sun);color:var(--ink);padding:10px 18px 10px 14px;text-align:left;box-shadow:0 10px 24px rgba(121,103,0,.18)}.calendar-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}.calendar-btn span{display:flex;flex-direction:column;line-height:1.05}.calendar-btn small{margin-bottom:4px;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;opacity:.68}.calendar-btn:hover{box-shadow:0 14px 30px rgba(121,103,0,.25)}.calendar-btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}@media(max-width:650px){.hero-actions .calendar-btn{width:100%;justify-content:flex-start}}
