:root{--navy:#082b53;--blue:#1e5b8d;--sky:#6faedb;--red:#d84050;--ink:#10243a;--muted:#647487;--line:#dce5ed;--soft:#f3f7fa;--white:#fff;--shadow:0 18px 55px rgba(8,43,83,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.5}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.site-header{border-bottom:1px solid #e8eef3;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.fac-brand{display:flex;align-items:center;color:var(--navy);text-decoration:none}.fac-symbol{width:38px;height:38px;border:6px solid var(--navy);border-radius:50%;position:relative;margin-right:8px}.fac-symbol:after{content:"";position:absolute;width:11px;height:18px;background:var(--red);border-radius:50% 50% 70% 70%;transform:rotate(25deg);left:10px;top:4px}.fac-wordmark{font-size:34px;font-weight:800;letter-spacing:-2px}.fac-name{font-size:9px;line-height:1.08;text-transform:uppercase;margin-left:9px;color:#536171}.header-note{color:var(--muted);font-size:14px}
.event-hero{background:linear-gradient(135deg,#f8fbfd 0%,#eef5fa 55%,#e4f0f8 100%);padding:74px 0 82px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);gap:76px;align-items:center}.eyebrow,.section-kicker{display:block;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero-copy h1{font-size:clamp(38px,4.35vw,56px);line-height:1.03;letter-spacing:-.04em;margin:17px 0 12px;color:var(--navy)}.event-secondary-title{max-width:650px;margin:0 0 24px;color:#31597e;font-size:clamp(23px,2.45vw,32px);font-weight:700;line-height:1.14;letter-spacing:-.025em}.event-secondary-title span{display:inline-block;margin-right:10px;color:var(--sky);font-weight:500}.hero-lead{font-size:19px;max-width:650px;color:#53697e;margin:0 0 24px}.event-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}.event-tags span{background:#fff;border:1px solid #d5e3ee;border-radius:999px;padding:7px 13px;color:var(--navy);font-size:13px;font-weight:700}.event-facts{display:grid;gap:14px;margin:0 0 32px}.event-facts div{display:grid;grid-template-columns:78px 1fr;gap:14px}.event-facts dt{color:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.event-facts dd{margin:0;font-weight:600}.flyer-wrap{position:relative}.flyer-wrap:before{content:"";position:absolute;inset:10% -14% -8% 18%;border-radius:50%;background:rgba(111,174,219,.25)}.flyer-wrap img{position:relative;display:block;width:min(100%,430px);margin:auto;border-radius:24px;box-shadow:0 28px 65px rgba(7,36,65,.23)}
.primary-button,.secondary-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;border-radius:12px;padding:0 22px;font-family:Arial,"Helvetica Neue",sans-serif;font-size:15px;font-weight:800;line-height:1;text-decoration:none;border:0;cursor:pointer}.primary-button{background:var(--navy);color:#fff;box-shadow:0 10px 22px rgba(8,43,83,.18)}.primary-button:hover{background:#0d3c70}.secondary-button{background:#fff;color:var(--navy);border:1px solid #cbd9e4}.desktop-cta{min-height:52px;padding-inline:29px;font-size:16px}
.content-section{padding:88px 0;background:#fff}.content-grid{display:grid;grid-template-columns:minmax(260px,.67fr) minmax(0,1.33fr);gap:32px;align-items:start}.info-card,.form-card,.certificate-card,.table-card,.login-card{border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.info-card{padding:34px;position:sticky;top:105px}.info-card h2,.form-heading h2,.closed-state h2,.certificate-card h2,.confirmation-state h2{color:var(--navy);font-size:28px;line-height:1.15;margin:10px 0 14px;letter-spacing:-.025em}.info-card p,.form-heading p,.closed-state p,.certificate-card p,.confirmation-state p{color:var(--muted)}.mini-detail{padding:18px 0;border-top:1px solid var(--line);display:grid;gap:3px}.mini-detail strong{font-size:12px;color:var(--blue);text-transform:uppercase}.info-card .secondary-button{margin-top:18px;width:100%}.contact-box{margin-top:24px;padding:18px;background:var(--soft);border-radius:15px;display:grid;gap:3px}.contact-box small{color:var(--muted);text-transform:uppercase;font-weight:700}.contact-box a{color:var(--navy);font-weight:800;text-decoration:none}.form-card{padding:40px}.form-heading{margin-bottom:30px}.registration-form{display:grid;gap:21px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label>span,legend{display:block;margin-bottom:8px;font-size:13px;font-weight:800;color:#334b62}input,select{width:100%;min-height:48px;border:1px solid #cbd8e3;border-radius:11px;background:#fff;padding:10px 13px;color:var(--ink);font:inherit;outline:none}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(30,91,141,.11)}fieldset{padding:0;margin:0;border:0}.choice-row{display:flex;gap:10px}.choice{display:flex;align-items:center;gap:8px;border:1px solid #cbd8e3;border-radius:11px;padding:10px 17px}.choice input,.privacy-check input{width:18px;min-height:18px;margin:0;accent-color:var(--blue)}.choice span{margin:0}.privacy-check{display:flex;align-items:flex-start;gap:11px;padding:17px;background:var(--soft);border-radius:12px}.privacy-check span{margin:0;font-weight:400;line-height:1.45}.submit-button{width:100%;min-height:56px;font-size:16px}.confirmation-state{min-height:500px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:32px 20px}.confirmation-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:24px;border-radius:50%;background:#e4f5ec;color:#17613a;font-size:29px;font-weight:800}.confirmation-state h2{font-size:34px}.confirmation-state p{max-width:560px;margin:0 0 12px;font-size:17px}.confirmation-state .confirmation-note{margin-bottom:28px;padding:16px 18px;border-left:4px solid var(--sky);background:var(--soft);border-radius:0 12px 12px 0;font-size:15px}.alert{border-radius:12px;padding:14px 16px;margin-bottom:23px;font-size:14px}.alert-success{background:#e8f7ef;color:#17613a}.alert-warning{background:#fff4dc;color:#77500a}.alert-error{background:#fdebec;color:#8a2933}.alert-info{background:#edf5fb;color:#174f78}
.certificate-section{background:var(--soft);padding:70px 0}.certificate-card{padding:34px 40px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.certificate-form{display:flex;gap:10px;align-items:end}.certificate-form label{flex:1}footer{background:var(--navy);color:#fff;padding:27px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;font-size:14px}.footer-inner a{color:#fff}
.admin-body{background:var(--soft)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:30px}.login-card{width:min(430px,100%);padding:38px;display:grid;gap:19px}.login-card h1{margin:0;color:var(--navy)}.admin-brand{font-size:34px;font-weight:900;color:var(--navy)}.admin-header{height:66px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4vw}.admin-header div{display:flex;gap:12px;align-items:center}.admin-header strong{font-size:26px}.admin-header span{opacity:.7}.admin-header a{color:#fff;font-size:14px}.admin-main{width:min(1400px,calc(100% - 40px));margin:42px auto 70px}.admin-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}.admin-title h1{margin:7px 0 0;font-size:32px;color:var(--navy)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.stats-grid article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px;display:grid;gap:6px}.stats-grid span{font-size:13px;color:var(--muted)}.stats-grid strong{font-size:32px;color:var(--navy)}.admin-controls{display:flex;gap:12px;margin:20px 0}.status-button{border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}.status-button.is-open{background:#dff5e9;color:#17613a}.status-button.is-closed{background:#f6e5e7;color:#8a2933}.status-button:disabled{opacity:.55;cursor:not-allowed}.table-card{overflow:hidden}.table-toolbar{padding:18px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.table-toolbar form{display:flex;gap:8px;flex:1}.table-toolbar input{max-width:430px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:1050px;font-size:13px}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid #e8edf2;vertical-align:top}th{background:#f8fafc;color:#53677a;font-size:11px;text-transform:uppercase;letter-spacing:.05em}td a{color:var(--blue)}td small{display:block;color:var(--muted);margin-top:3px}.member-badge{font-size:11px;font-weight:800;background:#e8f1f8;color:var(--blue);padding:4px 8px;border-radius:99px}.empty-table{text-align:center;padding:40px;color:var(--muted)}
@media(max-width:900px){.hero-grid,.content-grid,.certificate-card{grid-template-columns:1fr}.hero-grid{gap:48px}.hero-copy{text-align:center}.hero-lead{margin-inline:auto}.event-tags{justify-content:center}.event-facts{width:min(560px,100%);margin-inline:auto;margin-bottom:30px;text-align:left}.flyer-wrap img{width:min(82vw,390px)}.info-card{position:static}.desktop-cta{display:none}.certificate-card{gap:18px}.stats-grid{grid-template-columns:repeat(3,1fr)}.admin-title{align-items:start;flex-direction:column}}
@media(max-width:620px){.container,.admin-main{width:min(100% - 26px,1160px)}.site-header{position:static}.header-inner{height:68px}.fac-name,.header-note{display:none}.event-hero{padding:48px 0 56px}.hero-copy h1{font-size:36px}.event-secondary-title{margin-inline:auto;font-size:23px}.hero-lead{font-size:17px}.event-facts div{grid-template-columns:1fr;gap:2px}.content-section{padding:50px 0}.info-card,.form-card{padding:25px;border-radius:19px}.field-row{grid-template-columns:1fr}.certificate-form,.table-toolbar,.table-toolbar form,.footer-inner{flex-direction:column;align-items:stretch}.stats-grid{grid-template-columns:1fr}.admin-controls{align-items:flex-start;flex-direction:column}.admin-title h1{font-size:26px}.secondary-button,.primary-button{width:100%}}
