:root{--bg:#f8fafc;--surface:#ffffff;--surface-2:#f1f5f9;--text:#0f172a;--muted:#64748b;--brand:#CC3000;--brand-2:#22c55e;--border:#e2e8f0;--ring:0 0 0 4px rgba(79, 70, 229, 0.15);--shadow-1:0 1px 2px rgba(15, 23, 42, 0.06), 0 1px 1px rgba(15, 23, 42, 0.04);--shadow-2:0 8px 24px rgba(15, 23, 42, 0.08), 0 2px 8px rgba(15, 23, 42, 0.06)}
*,::after,::before{box-sizing:border-box}
body,html{height:100%}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;color:var(--text);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:1rem;top:-40px;background:var(--text);color:#fff;padding:.5rem .75rem;border-radius:.5rem;box-shadow:var(--shadow-1);transition:top 150ms ease;z-index:999}
.skip-link:focus{top:1rem;outline:0;box-shadow:var(--ring)}
.container{width:100%;max-width:1100px;margin-inline:auto;padding-inline:1.25rem}
#content{padding:28px 10px 48px}
@media (min-width:640px){.container{padding-inline:1.5rem}}
#content{padding-left:1.25rem;padding-right:1.25rem}
@media (min-width:640px){#content{padding-left:1.5rem;padding-right:1.5rem}}
.hero-copy p,.main-nav a,.muted{color:var(--muted)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.8);backdrop-filter:saturate(160%) blur(8px);border-bottom:1px solid var(--border)}
.brand,.nav{align-items:center}
.nav{display:flex;justify-content:space-between;height:100px}
.brand{display:inline-flex;gap:.5rem;font-weight:700;letter-spacing:.2px}
.main-nav{display:none;gap:1rem}
.main-nav a{font-weight:500}
.footer-nav a:hover,.main-nav a:hover,details[open] summary{color:var(--text)}
.cta,.search input{box-shadow:var(--shadow-1)}
.cta{display:inline-flex;align-items:center;gap:.5rem;background:var(--text);color:#fff;padding:.5rem .9rem;border-radius:.65rem;font-weight:600}
.cta:hover{background:#111827}
@media (min-width:768px){.main-nav{display:inline-flex}
}
.hero{position:relative;padding:56px 0 28px}
.hero-inner{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}
.hero-copy h1{font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:0 0 .5rem}
.hero-copy p{margin:0 0 1rem;font-size:1.05rem}
.controls{display:grid;gap:.75rem}
.slider{position:relative;margin:0 auto 16px;max-width:600px}
.slides{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;height:320px;overflow:hidden;border-radius:.75rem;border:1px solid var(--border);box-shadow:var(--shadow-2)}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.slide-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(15,23,42,.6);color:#fff;border:0;width:48px;height:48px;border-radius:999px;display:grid;place-items:center;cursor:pointer;z-index:2;font-size:22px;line-height:1}
.slide-btn:hover{background:rgba(15,23,42,.8)}
.slide-btn.prev{left:6px}
.slide-btn.next{right:6px}
.search{position:relative;display:flex;align-items:center}
.search input{width:100%;height:44px;padding:0 2.25rem 0 .9rem;border:1px solid var(--border);background:var(--surface);border-radius:.75rem}
.search input:focus{outline:0;box-shadow:var(--ring),var(--shadow-1)}
.search svg{position:absolute;right:10px;color:var(--muted)}
.filters{display:flex;gap:.5rem;flex-wrap:wrap}
.chip,details summary{cursor:pointer;font-weight:600}
.chip{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.4rem .7rem;border-radius:999px;font-size:.95rem;box-shadow:var(--shadow-1)}
.chip:hover{transform:translateY(-1px)}
.chip.is-active{background:#eef2ff;border-color:#e0e7ff;color:#3730a3}
.hero-art{position:relative;height:220px}
.hero-img {
width: 100%;
height: 100%;
border-radius: 1rem;
}
.blob{position:absolute;border-radius:50%;filter:blur(22px);opacity:.6}
.blob.b1{width:180px;height:180px;left:10%;top:10%;background:#e0e7ff}
.blob.b2{width:220px;height:220px;right:15%;top:5%;background:#dcfce7}
.blob.b3{width:120px;height:120px;left:40%;bottom:0;background:#fee2e2}
@media (min-width:840px){.hero{padding:72px 0 36px}
.hero-inner{grid-template-columns:1.1fr .9fr}
.hero-art{height:320px}
}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.5rem}
.pranks{padding:12px 0 48px}
.grid{position:relative}
.grid-sizer,.card{width:100%}
@media (min-width:560px){.grid-sizer,.card{width:calc((100% - 16px)/2)}}
@media (min-width:900px){.grid-sizer,.card{width:calc((100% - 32px)/3)}}
.badge,.card{border:1px solid var(--border)}
.card{background:var(--surface);border-radius:1rem;padding:1rem;box-shadow:var(--shadow-2);display:grid;gap:.5rem;transition:transform 160ms ease,box-shadow 160ms ease;position:relative;margin-bottom:8px}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,23,42,.12)}
.card h3 {
margin: 0;
font-size: 1.1rem;
padding-right: 21px;
}
.card a{color:blue}
.card-img{width:100%;height:auto;border-radius:.75rem;display:block}
.card-emoji {
position: absolute;
top: 2px;
opacity: 0.8;
right: -3px;
font-size: 45px;
line-height: 1;
}
.badge{display:inline-flex;align-items:center;gap:.3rem;background:#f1f5f9;color:#0f172a;padding:.22rem .5rem;border-radius:999px;font-weight:600;font-size:.8rem}
.meta{display:flex;flex-wrap:wrap;gap:.5rem;color:var(--muted);font-size:.95rem}
.desc{color:#1f2937}
details{border-top:1px dashed var(--border);padding-top:.5rem}
details summary{color:#334155}
.no-results{margin-top:1rem;padding:1rem;text-align:center;color:var(--muted)}
.safety{padding:24px 0 12px}
.safety-img {
height: auto;
border-radius: .75rem;
display: block;
margin: 0 auto .75rem;
border: 1px solid var(--border);
box-shadow: var(--shadow-2);
}
.safety-list{display:grid;gap:.5rem;list-style:none;padding-left:0}
.safety-list li{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem;box-shadow:var(--shadow-1)}
.s-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:999px;background:#eef2ff;border:1px solid #e0e7ff;font-size:18px}
.faq{padding:24px 0 48px}
.faq-img {
height: auto;
border-radius: .75rem;
display: block;
margin: 0 auto .75rem;
border: 1px solid var(--border);
box-shadow: var(--shadow-2);
}
.email-field input,.faq details{border:1px solid var(--border);border-radius:.75rem}
.faq details{background:var(--surface);padding:.75rem 1rem;box-shadow:var(--shadow-1);margin-bottom:.5rem}
.newsletter{padding:16px 0 56px}
.newsletter-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow-2);padding:1.25rem}
.email-field input{width:100%;height:44px;padding:0 .9rem;background:#fff}
.email-field input:focus{outline:0;box-shadow:var(--ring)}
.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 1rem;border-radius:.75rem;background:var(--brand);color:#fff;font-weight:700;border:1px solid #a52800;box-shadow:var(--shadow-1);margin-top:.6rem}
.btn:hover{background:#a52800}
.hint{margin:.35rem 0 0}
@media (min-width:560px){.newsletter-card form{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:start}
.btn{margin-top:0}
}
.site-footer{border-top:1px solid var(--border);background:var(--surface)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:18px 5px 70px;flex-wrap:wrap}
.footer-nav{display:flex;gap:.75rem;flex-wrap:wrap}
.footer-nav a{color:var(--muted)}
.to-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:999px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-2);display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity 150ms ease,transform 150ms ease,visibility 150ms}
.to-top.show{opacity:1;visibility:visible}
.to-top:hover{transform:translateY(-2px)}
ul{margin:0}
h2{margin:0 0 .35rem;font-size:clamp(1.25rem,2.25vw,1.6rem)}
p,h1,h2,h3{color:inherit}
h1,h2,h3{color:#005898}
p{margin:.1rem 0 .6rem}
@media (max-width:640px){.footer-inner{flex-direction:column;align-items:flex-start;gap:.5rem}.footer-nav{gap:.5rem}}
.ext-promo{padding:16px 0 56px}
.ext-promo-card{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 60%,#eef2ff 100%);border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow-2);padding:1.25rem;transition:transform 160ms ease,box-shadow 160ms ease,background 300ms ease}
.ext-promo-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.12)}
.ext-promo-inner{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center}
.ext-promo-hero{width:100%;height:auto;border-radius:.75rem;border:1px solid var(--border);box-shadow:var(--shadow-2);display:block}
@media (min-width:840px){.ext-promo-inner{grid-template-columns:1.1fr .9fr}}
.ext-list{padding-left:1rem}
.ext-list li{margin:.2rem 0;display:flex;align-items:center;gap:.5rem}
.ext-list li:hover{color:#111827}
.ext-icon{color:#4f46e5;opacity:.9}
.btn-animated{position:relative;overflow:hidden}
.btn-animated::after{content:"";position:absolute;inset:-2px;border-radius:.85rem;background:conic-gradient(from 0deg,#005898,#CC3000,#005898);filter:blur(10px);opacity:.0;transition:opacity 200ms ease}
.btn-animated:hover::after{opacity:.25}
.btn-animated span{position:relative}

/* About page enhancements */
.about-cards{display:grid;grid-template-columns:1fr;gap:1rem;margin:12px 0 20px}
.about-card{background:var(--surface);border:1px solid var(--border);border-radius:.9rem;padding:1rem;box-shadow:var(--shadow-1);display:grid;gap:.5rem;transition:transform 160ms ease,box-shadow 160ms ease}
.about-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.10)}
.about-card .icon{width:40px;height:40px;display:grid;place-items:center;border-radius:999px;background:#eef2ff;border:1px solid #e0e7ff;color:#005898}
@media (min-width:840px){.about-cards{grid-template-columns:repeat(3,1fr)}}
.stat-badges{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:10px 0 20px}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:.75rem;box-shadow:var(--shadow-1);text-align:center}
.stat b{display:block;font-size:1.15rem;color:#005898}
.stat span{color:var(--muted);font-size:.95rem}
@media (min-width:600px){.stat-badges{grid-template-columns:repeat(4,1fr)}}
.about-quote{border-left:4px solid #005898;background:linear-gradient(180deg,#fff,#f8fafc);padding:.9rem 1rem;border-radius:.5rem;border:1px solid var(--border);box-shadow:var(--shadow-1);margin:12px 0 20px}
.about-quote p{margin:0}
.about-callout{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 60%,#eef8ff 100%);border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow-2);padding:1.1rem;margin:12px 0 24px;display:grid;gap:.5rem}