:root{--bg:#050505;--surface:#101014;--surface2:#18181d;--red:#df1230;--red2:#ff3150;--text:#ececef;--muted:#a0a0a8;--line:#2d2d34;--radius:16px;--radius-sm:11px;--shadow:0 20px 70px rgba(0,0,0,.48)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Arial,sans-serif;line-height:1.6}.hidden{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer}.topbar{height:78px;display:flex;align-items:center;gap:26px;padding:0 clamp(16px,5vw,78px);position:sticky;top:0;z-index:20;background:rgba(5,5,5,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;letter-spacing:1px;font-size:.78rem;line-height:1.15}.brand b{color:var(--red)}.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1px solid var(--red);background:#000}.nav-links{display:flex;gap:22px;margin-left:auto}.nav-links a{color:var(--muted);text-decoration:none;font-size:.88rem}.nav-links a:hover{color:#fff}.top-controls,.auth-controls{display:flex;align-items:center;gap:8px}.top-controls select{background:#101014;color:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}.menu-btn{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.4rem}.hero{min-height:calc(100vh - 78px);position:relative;overflow:hidden;display:flex;align-items:center;padding:70px clamp(18px,9vw,150px)}.hero-grid{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(to bottom,black,transparent)}.hero:after{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(223,18,48,.19),transparent 65%);right:-150px;top:-100px}.hero-content{position:relative;z-index:1;max-width:750px}.eyebrow{color:var(--red2);font-size:.75rem;letter-spacing:3px;font-weight:800;margin:0 0 12px}.hero h1{font-size:clamp(3.2rem,9vw,8rem);line-height:.88;margin:0;letter-spacing:-4px}.hero h1 span{color:var(--red);display:block}.hero-copy{max-width:560px;color:var(--muted);font-size:1.1rem;margin:28px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{border:1px solid var(--line);border-radius:12px;padding:11px 18px;text-decoration:none;color:#fff;background:rgba(255,255,255,.02);font-weight:800;text-transform:uppercase;letter-spacing:.6px;font-size:.78rem;transition:.2s}.btn.primary{background:var(--red);border-color:var(--red);box-shadow:0 8px 30px rgba(223,18,48,.18)}.btn.primary:hover{background:var(--red2);transform:translateY(-1px)}.btn.ghost:hover{border-color:#777;background:#151519}.full{width:100%}.hero-card{position:absolute;right:10%;bottom:13%;z-index:2;border-left:3px solid var(--red);border-radius:0 var(--radius) var(--radius) 0;padding:20px 30px;background:rgba(15,15,18,.78);box-shadow:var(--shadow)}.hero-card span,.hero-card small{display:block;color:var(--muted);font-size:.72rem;letter-spacing:2px}.hero-card strong{font-size:2rem;line-height:.95;display:block;margin:8px 0}.section{padding:100px clamp(18px,9vw,150px);max-width:1600px;margin:auto}.alt{background:linear-gradient(180deg,#09090b,#050505);max-width:none}.section-heading h2{font-size:clamp(2rem,5vw,4rem);margin:0;letter-spacing:-2px}.about-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:28px;margin-top:35px;align-items:start}.about-photo-wrap{background:#0b0b0d;border:1px solid var(--line);border-radius:24px;padding:8px;overflow:hidden;box-shadow:var(--shadow)}.about-photo{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:18px}.about-copy{color:var(--muted);font-size:1.02rem}.about-copy b{color:#fff}.about-copy .btn{display:inline-block;margin-top:12px}.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.achievement{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-height:145px;display:flex;flex-direction:column;justify-content:end}.achievement strong{font-size:2rem;color:var(--red)}.achievement span{color:var(--muted);font-size:.85rem}.row-heading,.admin-top{display:flex;justify-content:space-between;align-items:end;gap:20px}.panel{margin-top:30px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.panel h3{margin-top:0}form{display:grid;gap:14px}input,textarea{width:100%;background:#09090b;border:1px solid var(--line);border-radius:11px;color:#fff;padding:13px;outline:none}input:focus,textarea:focus{border-color:var(--red)}textarea{min-height:130px;resize:vertical}.announcement-list{display:grid;gap:14px;margin-top:25px}.announcement{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:relative}.announcement h3{margin:0 0 8px}.announcement p{color:var(--muted);white-space:pre-wrap}.meta{font-size:.75rem;color:#777}.delete-btn{position:absolute;right:16px;top:16px;border:0;border-radius:8px;background:#261015;color:var(--red2);padding:6px 9px;font-weight:bold}.users-list{display:grid;gap:10px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;background:#09090b;border:1px solid var(--line);border-radius:12px}.user-actions{display:flex;gap:7px}.user-actions button{background:#18181c;color:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 10px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.contact-cards{display:grid;gap:10px}.contact-cards a{padding:20px;background:var(--surface);border-left:3px solid var(--red);border-radius:0 var(--radius) var(--radius) 0;color:#fff;text-decoration:none}footer{border-top:1px solid var(--line);padding:30px clamp(18px,5vw,80px);display:flex;gap:20px;justify-content:space-between;align-items:center;color:var(--muted);font-size:.8rem;flex-wrap:wrap}.brand-footer{color:#fff;font-weight:900}.text-btn{background:none;border:0;color:var(--muted);padding:4px 8px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:50;display:grid;place-items:center;padding:18px}.modal-box{width:min(520px,100%);max-height:90vh;overflow:auto;background:#0e0e12;border:1px solid #333;border-radius:20px;padding:30px;position:relative;box-shadow:var(--shadow)}.close-modal{position:absolute;right:15px;top:10px;background:none;border:0;color:#fff;font-size:2rem}.modal-box p{color:var(--muted)}label{display:grid;gap:6px;color:#bbb;font-size:.85rem}.form-message{min-height:20px}.legal-content{white-space:pre-wrap;color:var(--muted)}.cookie-banner{position:fixed;z-index:40;bottom:18px;left:18px;right:18px;max-width:760px;margin:auto;padding:16px;background:#151519;border:1px solid #333;border-radius:18px;box-shadow:var(--shadow);display:flex;gap:20px;align-items:center;justify-content:space-between}.cookie-banner p{margin:0;color:var(--muted);font-size:.85rem}.session-name{font-size:.75rem;color:var(--muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1000px){.about-grid{grid-template-columns:1fr 1fr}.about-photo-wrap{grid-row:span 2}}@media(max-width:760px){.topbar{gap:10px}.menu-btn{display:block}.nav-links{display:none;position:absolute;top:78px;left:0;right:0;padding:20px;background:#090909;flex-direction:column;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.top-controls{margin-left:0}.top-controls select{width:58px}.session-name{display:none}.hero{padding-top:100px}.hero-card{display:none}.about-grid,.contact-section{grid-template-columns:1fr;gap:24px}.about-photo-wrap{grid-row:auto;max-width:520px}.row-heading,.admin-top{align-items:start;flex-direction:column}.user-row{align-items:flex-start;flex-direction:column}.cookie-banner{align-items:flex-start;flex-direction:column}.hero h1{letter-spacing:-2px}.section{padding-top:75px;padding-bottom:75px}}

/* v3 authentication + announcement comments */
.session-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d8d8dc;font-size:.78rem;font-weight:700}
.auth-box{width:min(560px,100%)}
.auth-switch{text-align:center;margin:18px 0 0!important;color:var(--muted)}
.link-btn{border:0;background:none;color:var(--red2);font-weight:800;padding:0 3px;text-decoration:underline;text-underline-offset:3px}
.comment-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.comment-heading{font-size:.85rem;letter-spacing:1px;text-transform:uppercase;color:#cfcfd4;margin:0 0 12px}
.comment-list{display:grid;gap:10px;margin-bottom:14px}
.comment{background:#09090b;border:1px solid #242429;border-radius:12px;padding:13px 14px;position:relative}
.comment-author{font-weight:800;font-size:.82rem}.comment-time{font-size:.72rem;color:#74747c;margin-left:8px}.comment-body{margin:7px 0 0!important;color:#b8b8bd!important;font-size:.92rem}.comment-form{display:flex;gap:9px;align-items:flex-start}.comment-form textarea{min-height:72px;border-radius:12px}.comment-form .btn{align-self:stretch;white-space:nowrap}
.login-to-comment{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:13px 14px;border-radius:12px;background:#09090b;border:1px dashed #34343a;color:var(--muted);font-size:.88rem}.delete-comment{position:absolute;right:10px;top:9px;background:none;border:0;color:#ff5b70;font-size:.72rem;font-weight:800}
.announcement{border-radius:18px}.panel{border-radius:20px}.achievement{border-radius:16px}.contact-cards a{border-radius:16px}.modal-box{border-radius:22px}.cookie-banner{border-radius:18px}.btn{border-radius:12px}input,textarea{border-radius:12px}.topbar{border-bottom-left-radius:0;border-bottom-right-radius:0}
@media(max-width:760px){.comment-form{flex-direction:column}.comment-form .btn{width:100%;min-height:42px}.login-to-comment{align-items:flex-start;flex-direction:column}}
