@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Playfair+Display:wght@600;700&display=swap');
:root{--bg:#050505;--panel:#111;--text:#f5f5f5;--muted:#999;--line:#292929;--accent:#d7ff3f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}
header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:20px 5vw;background:#050505ee;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.logo{font-size:28px;font-weight:800;letter-spacing:.08em}nav{display:flex;gap:28px;color:#aaa}nav a:hover{color:#fff}header button{background:none;border:0;color:#fff;font-size:30px;cursor:pointer}
.hero{height:78vh;min-height:560px;position:relative;overflow:hidden}.hero-slides{position:absolute;inset:0;width:100%;height:100%}.hero-carousel-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.55) 55%,rgba(0,0,0,.35))}@keyframes cathmiCarousel{0%,5%{opacity:0;transform:scale(1.04)}8%,25%{opacity:1;transform:scale(1.08)}30%,100%{opacity:0;transform:scale(1.08)}}.hero-content{position:relative;z-index:2;padding:16vh 5vw 0;max-width:900px}.hero-content small,.contact small{color:var(--accent);font-weight:800;letter-spacing:.16em}.hero h1{font-size:clamp(76px,18vw,220px);line-height:.78;letter-spacing:-.07em;margin:20px 0}.hero p{font-size:clamp(19px,2.2vw,28px);max-width:720px;color:#ddd}.hero-link{display:inline-block;margin-top:22px;padding:13px 20px;background:var(--accent);color:#000;font-weight:800}
.search{display:none;padding:25px 5vw;background:#111;border-bottom:1px solid var(--line)}.search.open{display:flex;gap:10px}.search input{flex:1;padding:15px;background:#050505;border:1px solid #444;color:#fff}.search button,main button{padding:12px 18px;background:transparent;color:#fff;border:1px solid #444;border-radius:20px;cursor:pointer}
main{padding:7vh 5vw}h2{font:600 clamp(36px,5vw,60px) "Playfair Display",serif}#grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:var(--panel);border:1px solid var(--line);padding:23px;min-height:390px;display:flex;flex-direction:column}.tag{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.card h3{font:600 25px/1.1 "Playfair Display",serif}.card p{color:#aaa}.date{margin-top:auto;color:#666;font-size:12px}.read{margin-top:18px;text-align:left;border:0!important;border-top:1px solid #333!important;border-radius:0!important;width:100%}.read:hover{color:var(--accent)}
#topics{margin-top:100px;padding-top:35px;border-top:1px solid var(--line)}#topics button{margin:0 7px 10px 0}.contact{padding:10vh 5vw;background:#111;border-block:1px solid var(--line)}.contact a{color:var(--accent)}footer{padding:28px 5vw;color:#777;display:flex;justify-content:space-between}
.modal{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.86);padding:5vh 5vw;overflow:auto}.modal-card{max-width:850px;margin:auto;background:#111;border:1px solid #333;padding:42px}.modal-card h2{font-size:clamp(38px,6vw,65px);line-height:1.05}.modal-card p{color:#bbb;font-size:17px}.modal-close{float:right;background:none;border:0;color:#fff;font-size:30px;cursor:pointer}.source{margin-top:30px;padding-top:18px;border-top:1px solid #333;color:#777!important;font-size:12px!important}
@media(max-width:1100px){#grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){nav{display:none}.hero{height:70vh;min-height:500px}.hero-content{padding-top:12vh}#grid{grid-template-columns:1fr}footer{display:block}}
