:root{color-scheme:dark;--bg:#060b17;--bg2:#0a1022;--panel:#0e172c;--panel2:#111e36;--line:rgba(158,194,255,.14);--line-bright:rgba(158,194,255,.25);--white:#f5f8ff;--muted:#9baac4;--blue:#78a9ff;--ice:#cae1ff;--accent:#466ef5;--container:1216px;--shadow:0 20px 64px rgba(0,0,0,.23)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;min-height:100vh;direction:rtl;background:var(--bg);color:var(--white);font:500 14px/1.85 'Cairo',Tahoma,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{cursor:pointer}::selection{background:#466ef5;color:#fff}[hidden]{display:none!important}.container{width:min(var(--container),calc(100% - 56px));margin-inline:auto}#home,#violations,#penalties,#notes{scroll-margin-top:100px}
.ambient{position:absolute;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(100px);opacity:.19}.ambient-one{width:440px;height:520px;right:-250px;top:480px;background:#315ada}.ambient-two{width:500px;height:600px;left:-320px;top:1230px;background:#1435ad}
/* Top navigation */
.topbar{position:sticky;top:0;z-index:30;background:rgba(5,10,22,.84);border-bottom:1px solid rgba(135,166,229,.12);backdrop-filter:blur(23px);-webkit-backdrop-filter:blur(23px)}.nav-inner{height:85px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;direction:ltr}.brand-image{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:15px;border:1px solid #4568af5e;background:radial-gradient(circle at center,#1e3a72,#071020 74%);box-shadow:0 0 24px #387bff1a;overflow:hidden}.brand-image img{width:51px;height:51px;object-fit:cover}.brand-label{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.brand-label b,.footer-brand strong{font:900 23px/1 'Outfit','Arial',sans-serif;letter-spacing:2.2px;color:#fff}.brand-label small,.footer-brand small{font:700 9px/1.9 'Outfit','Arial',sans-serif;letter-spacing:2.2px;color:#90a7d0}.desktop-nav{display:flex;align-items:center;gap:30px;height:100%}.desktop-nav a{height:100%;align-content:center;position:relative;color:#a6b4cc;font-weight:700;font-size:12px;transition:color .18s}.desktop-nav a:hover,.desktop-nav a.nav-active{color:#f0f6ff}.desktop-nav a.nav-active:after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;background:linear-gradient(90deg,transparent,#88b9ff,transparent)}.nav-cta{display:flex;align-items:center;gap:20px;border:1px solid #719aff56;border-radius:10px;padding:9px 14px 9px 12px;color:#e7f1ff;background:#1727497a;font-size:11px;font-weight:800;white-space:nowrap;transition:background .2s,transform .2s}.nav-cta:hover{background:#253c6d;transform:translateY(-1px)}.nav-cta span:last-child{font-size:17px;color:#95bcff}.mobile-menu-button,.mobile-nav{display:none}
/* Hero */
.hero{position:relative;min-height:565px;margin-top:30px;display:flex;isolation:isolate;overflow:hidden;border:1px solid #769fff39;border-radius:23px;background:linear-gradient(115deg,#081126,#070d1c 53%,#111c39);box-shadow:0 24px 85px #01030b66}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 72% 46%,#205ed533,transparent 54%),linear-gradient(90deg,#050916 8%,#050c20ca 43%,#040a1a11 90%);pointer-events:none;z-index:-1}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#020612c7 0,transparent 28%);z-index:-1;pointer-events:none}.hero-banner{position:absolute;inset:0;z-index:-3;background:url('assets/society-wallpaper.webp') center/cover no-repeat;opacity:.46;filter:saturate(1.2)}.hero-stars{position:absolute;inset:0;z-index:-1;background-image:radial-gradient(1px 1px at 18% 22%,#d3e3ffbb,transparent),radial-gradient(2px 2px at 57% 14%,#a1c5ffaf,transparent),radial-gradient(1px 1px at 92% 35%,#a6d0ffb0,transparent),radial-gradient(1px 1px at 48% 69%,#8dc2ffad,transparent);pointer-events:none}.hero-content{position:relative;z-index:3;width:58%;padding:76px 70px 70px 30px;align-self:center}.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:6px 13px;color:#b9d3ff;background:#5485ff18;border:1px solid #85b0ff34;border-radius:100px;font-size:11px;font-weight:800;letter-spacing:.1px}.eyebrow i,.note-dot,.count-dot{width:7px;height:7px;flex-shrink:0;display:inline-block;background:#8fbaff;border-radius:50%;box-shadow:0 0 0 4px #8fbaff19,0 0 12px #4887ff88}.hero-overline{display:block;color:#8eaef0;letter-spacing:3.2px;font:700 12px/1.5 'Outfit',Arial,sans-serif;margin-top:31px;direction:ltr;text-align:right}.hero h1{font-size:clamp(38px,4.4vw,66px);letter-spacing:-1.8px;line-height:1.46;margin:11px 0 14px;font-weight:900;text-shadow:0 7px 24px #000a}.hero h1 em{color:#b3d5ff;font-style:normal;background:linear-gradient(135deg,#f2f7ff,#80b0ff 62%,#90bbff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero p{max-width:545px;font-size:13px;line-height:2.2;color:#b5c6de;font-weight:600;margin:0 0 24px}.hero-actions{display:flex;gap:11px;flex-wrap:wrap}.button-primary,.button-secondary{border-radius:10px;min-height:48px;display:inline-flex;justify-content:center;align-items:center;gap:34px;padding:10px 20px;font-size:12px;font-weight:800;transition:.22s ease;white-space:nowrap}.button-primary{background:linear-gradient(115deg,#4e7df5,#3670d4);border:1px solid #85afff66;box-shadow:0 8px 34px #3375e939}.button-primary:hover{background:linear-gradient(115deg,#628cfa,#4086ed);transform:translateY(-2px)}.button-secondary{background:#09172c9e;border:1px solid #9cbaee56;color:#d9e9fc}.button-secondary:hover{background:#142b50;transform:translateY(-2px)}.button-primary span,.button-secondary span{font-size:18px;font-family:Arial,sans-serif}.hero-detail{display:flex;align-items:center;gap:12px;margin-top:34px;font-size:10px;color:#86a5d5;font-weight:700}.hero-detail-line{display:inline-block;width:33px;height:1px;background:#80b2f9}.hero-art{width:52%;position:absolute;z-index:2;height:100%;left:3%;top:0;display:flex;align-items:center;justify-content:center}.hero-art img{width:min(100%,455px);max-height:540px;object-fit:contain;filter:drop-shadow(0 0 28px #2c61ff87) drop-shadow(0 20px 48px #010a22aa);transform:translateY(10px);animation:float 7s ease-in-out infinite}.hero-orbit{width:70%;height:65%;border:1px solid #5c99ff21;border-radius:50%;position:absolute;top:18%;left:16%;box-shadow:0 0 90px #2463ff44,inset 0 0 45px #266cfc19;transform:rotate(-12deg)}@keyframes float{0%,100%{transform:translateY(10px)}50%{transform:translateY(0px)}}.hero-footer{position:absolute;bottom:24px;right:33px;left:33px;display:flex;justify-content:space-between;color:#a2bff46b;font:700 10px 'Outfit',Arial,sans-serif;letter-spacing:3px;direction:ltr}
/* Summary */
.overview{margin-top:20px;display:grid;grid-template-columns:repeat(3,1fr) 1.5fr;gap:12px}.stat-card,.stat-note{border:1px solid var(--line);background:linear-gradient(140deg,#111e37d8,#0a1428d7);border-radius:14px;min-height:100px;display:flex;align-items:center;padding:16px 22px}.stat-card{gap:17px}.stat-icon{font:600 24px Arial,sans-serif;color:#85b9ff;border:1px solid #8db4fa2c;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:13px;background:#5483dd12}.stat-card div{display:flex;flex-direction:column}.stat-card strong{font:800 27px/1.1 'Outfit',Arial,sans-serif;direction:ltr;text-align:right;color:#eaf4ff}.stat-card div span{color:#8fa6c7;font-size:10px;font-weight:700;margin-top:7px}.stat-note{gap:15px;color:#9fb4ce;font-size:10px;line-height:2.1;font-weight:700}
/* Section headings */
.section{padding-top:96px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:27px}.section-kicker{display:block;direction:ltr;text-align:right;font:800 11px/1.4 'Outfit',Arial,sans-serif;letter-spacing:2.6px;color:#76a5ef;margin-bottom:11px}.section-heading h2{font-size:clamp(28px,3.5vw,39px);font-weight:900;line-height:1.5;letter-spacing:-.9px;margin:0 0 4px}.section-heading h2 span{color:#a7ceff}.section-heading p{color:#98adc8;font-size:12px;font-weight:600;margin:0}.section-identity{color:#53698e;letter-spacing:2px;font:800 12px 'Outfit',Arial,sans-serif;direction:ltr;white-space:nowrap;padding-bottom:8px}.section-identity span{color:#79adff}
/* Finder / results */
.finder{padding:21px;background:linear-gradient(125deg,#101d36,#0c172a);border:1px solid #7fa8f53a;border-radius:17px;box-shadow:var(--shadow)}.finder-top{display:flex;gap:20px;justify-content:space-between;align-items:center}.search-wrap{display:flex;align-items:center;gap:11px;padding:0 16px;border:1px solid #547db94b;border-radius:11px;background:#060f20;min-height:55px;width:min(750px,100%);color:#82a8d7;transition:border-color .2s,box-shadow .2s}.search-wrap:focus-within{border-color:#6a9cff;box-shadow:0 0 0 3px #5489e719}.search-wrap input{flex:1;width:100%;min-width:30px;background:none;border:0;color:#edf4ff;outline:none;font-size:12px}.search-wrap input::placeholder{color:#62799b}.search-wrap kbd{font-size:10px;color:#5f779a;border:1px solid #30476970;border-radius:5px;padding:2px 8px;white-space:nowrap}.finder-count{white-space:nowrap;color:#a4b8d6;font-size:11px;font-weight:700;display:flex;align-items:center;gap:9px}.finder-count strong{color:#e4edff;font:800 19px 'Outfit',Arial,sans-serif}.count-dot{width:6px;height:6px}.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:17px}.filter{background:#152440;border:1px solid #5f83bb38;color:#a6bad9;padding:7px 16px;border-radius:8px;font-size:11px;font-weight:800;transition:.16s ease}.filter:hover{background:#20385d;color:#fff}.filter.active{background:linear-gradient(110deg,#3463ce,#457cee);color:#fff;border-color:#76a4ff8a;box-shadow:0 4px 16px #2b63d535}.filter.danger-filter.active{background:#b65368;border-color:#dc8ea3}.results-heading{display:flex;justify-content:space-between;margin-top:28px;margin-bottom:12px;font-weight:800;font-size:12px;color:#e3ebf7}.subtle-text{font-size:10px;color:#849bbc;font-weight:600}.violation-grid{display:flex;flex-direction:column;gap:27px}.grade-group{min-width:0}.group-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.group-title>div{display:flex;align-items:center;gap:12px;flex:1}.group-mark{font:800 15px 'Outfit',Arial,sans-serif;color:#8cb7ff;background:#386cfb1f;border:1px solid #75aeff42;padding:6px 8px;border-radius:7px}.group-mark.group-danger{color:#ff9aac;background:#f4547218;border-color:#ff9aaa4d}.group-title h3{font-size:15px;font-weight:900;white-space:nowrap;margin:0}.group-line{height:1px;background:linear-gradient(90deg,transparent,#5e8dc65c);flex:1;max-width:220px}.group-title>span{color:#8fa4be;background:#111e35;border:1px solid var(--line);padding:2px 11px;border-radius:99px;font-size:10px;white-space:nowrap}.rules-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.rule-card{position:relative;display:flex;flex-direction:column;justify-content:flex-start;min-height:129px;gap:14px;border:1px solid rgba(118,152,209,.16);border-radius:13px;background:linear-gradient(145deg,rgba(17,29,51,.98),rgba(10,18,35,.97));padding:17px 18px;transition:border-color .2s,transform .2s,background .2s;overflow:hidden}.rule-card:hover{border-color:#81adf366;transform:translateY(-2px);background:linear-gradient(145deg,#162949,#101d36)}.rule-card:before{content:"";position:absolute;width:65px;height:65px;border-radius:50%;background:#3269f1;opacity:.065;filter:blur(20px);top:-16px;left:-16px}.rule-top{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative}.rule-category{color:#668ec7;font-size:10px;font-weight:800}.rule-code{direction:ltr;display:flex;align-items:center;gap:9px;font:800 13px 'Outfit',Arial,sans-serif;background:#162b50;color:#c5deff;border:1px solid #749ff63c;border-radius:8px;padding:3px 9px;min-width:72px;justify-content:space-between;transition:.15s ease}.rule-code:hover{background:#345cad;border-color:#79aafa;color:#fff}.rule-code svg{opacity:.7}.rule-card p{color:#e1e8f4;line-height:2.0;font-weight:700;font-size:11.5px;margin:0;position:relative;overflow-wrap:anywhere}.rule-danger{border-color:#9d415055;background:linear-gradient(140deg,#281a2a,#100f24)}.rule-danger .rule-category{color:#d992aa}.rule-danger .rule-code{background:#482639;border-color:#d5718940;color:#ffc5d1}.source-warning{margin-top:22px;color:#87a0c2;font-size:11px;font-weight:600;border-right:2px solid #648be0;padding-right:14px}.data-notes{margin-top:12px}.data-notes details{background:#0d192e;border:1px solid var(--line);border-radius:10px}.data-notes summary{cursor:pointer;padding:12px 16px;color:#c5d8f7;font-weight:800;font-size:11px;list-style:none;display:flex;justify-content:space-between}.data-notes summary::-webkit-details-marker{display:none}.data-notes details[open] summary>span{transform:rotate(45deg)}.data-notes details>div{padding:0px 22px 15px;color:#9fb4d6;font-size:11px}.data-notes ul{margin:5px 0 0;padding-inline-start:22px}.data-notes li{margin-bottom:6px}.data-notes li strong{color:#e3eeff}.empty-state{text-align:center;padding:75px 20px;background:#101b31;border:1px solid var(--line);border-radius:13px}.empty-symbol{font-size:45px;color:#9dbefd}.empty-state h3{font-size:20px;margin:4px}.empty-state p{color:#a0b1ca}.empty-state button{padding:9px 18px;border-radius:8px;background:#315ed5;color:white;border:1px solid #729cfc}
.rule-top-actions{display:inline-flex;align-items:center;gap:8px}
.star-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;min-width:32px;background:#162b50;border:1px solid #749ff63c;border-radius:8px;color:#8fa4be;font-size:16px;cursor:pointer;transition:.15s ease;padding:0}
.star-btn:hover{background:#345cad;color:#fbbf24;border-color:#fbbf24}
.star-btn.is-starred{background:#854d0e40;border-color:#f59e0b;color:#fbbf24;box-shadow:0 0 14px #f59e0b60}
.filters .filter[data-grade="favorites"]{display:inline-flex;align-items:center;gap:6px}
.filters .filter[data-grade="favorites"] .fav-star-icon{color:#fbbf24}
.filters .filter[data-grade="favorites"].active{background:linear-gradient(110deg,#b45309,#d97706);border-color:#fbbf24}
/* Penalties */
.penalty-headline{display:flex;align-items:center;justify-content:space-between;padding:18px 21px;border:1px solid #759df647;background:linear-gradient(120deg,#182c50,#101d37);border-radius:14px 14px 0 0;gap:20px}.penalty-headline>div{display:flex;align-items:center;gap:14px}.penalty-headline-star{font-size:24px;color:#91b9ff;background:#4670db29;border:1px solid #6d99f650;border-radius:11px;width:43px;height:43px;display:grid;place-items:center}.penalty-headline strong{display:block;font-size:13px}.penalty-headline small{display:block;color:#9eb4d5;font-size:10px}.penalty-count{white-space:nowrap;border:1px solid #7496cb48;border-radius:8px;padding:5px 12px;color:#b7c9e3;font-size:10px}.table-overflow{overflow-x:auto;border:1px solid #799cee31;border-top:none;border-radius:0 0 14px 14px;background:linear-gradient(110deg,#0c182d,#101a2c);scrollbar-color:#45679d #101b32;scrollbar-width:thin}.penalties-table{width:100%;border-collapse:separate;border-spacing:0;min-width:875px;text-align:right;line-height:1.85}.penalties-table th,.penalties-table td{padding:20px 14px;border-bottom:1px solid #83a7e71a;vertical-align:middle;font-size:11px;font-weight:700}.penalties-table thead th{font-size:11px;color:#a6c3f2;background:#182b4a;font-weight:900;white-space:nowrap}.penalties-table th:first-child{position:sticky;right:0;z-index:2;width:170px;background:#162741}.penalties-table tbody th:first-child{background:#0e213b;box-shadow:-2px 0 7px #0208171b}.penalties-table tbody tr:hover td{background:#294e7a24}.penalties-table tbody tr:last-child>th,.penalties-table tbody tr:last-child>td{border-bottom:none}.rank-cell{font-size:11px;white-space:nowrap}.rank-cell span{display:block;direction:ltr;text-align:right;color:#5e7dab;font:800 10px 'Outfit',Arial,sans-serif;margin-bottom:4px}.penalties-table td{color:#d5e1f2;min-width:108px}.penalties-table td.strong-penalty{color:#f8bec8}.penalty-footnote{margin:16px 0 0;display:flex;align-items:start;gap:10px;color:#b9c9df;font-size:11px;font-weight:700;background:#151e34;border-right:3px solid #7d9ff4;padding:13px 17px;border-radius:7px;line-height:2.1}.penalty-footnote span{font:900 17px 'Outfit',Arial,sans-serif;color:#a6c5ff}
/* Notes and closing */
.notes-section{padding-bottom:90px}.notes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.note-card{min-height:142px;padding:18px;border-radius:13px;border:1px solid rgba(129,165,221,.18);background:linear-gradient(130deg,#15223b,#0c182c);display:flex;flex-direction:column;gap:13px}.note-number{display:flex;align-items:center;justify-content:space-between;font:800 17px 'Outfit',Arial,sans-serif;color:#6e9ce8}.note-number span{color:#7398ca87}.note-card p{font-size:11px;color:#d6e1f3;font-weight:700;line-height:2.15;margin:0}.closing-panel{margin-top:32px;position:relative;overflow:hidden;display:flex;align-items:center;gap:19px;padding:27px 31px;border-radius:17px;background:linear-gradient(95deg,#192f57,#0d192e 65%,#172b4c);border:1px solid #7ba7fb3f}.closing-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 50%,#476ff422,transparent 25%);pointer-events:none}.closing-icon{width:90px;height:93px;flex-shrink:0;display:grid;place-items:center;position:relative}.closing-icon img{height:100%;filter:drop-shadow(0 0 14px #6095fc88)}.closing-panel>div:nth-child(2){flex:1}.closing-panel>div:nth-child(2)>span{font:800 10px 'Outfit',Arial,sans-serif;letter-spacing:2px;color:#8db8fe;direction:ltr;text-align:right;display:block}.closing-panel h3{font-size:20px;margin:3px 0;font-weight:900}.closing-panel p{color:#9cb3d0;font-size:11px;font-weight:600;margin:0}.closing-panel>a{align-self:center;display:grid;place-items:center;width:43px;height:43px;border-radius:10px;background:#3262a83b;border:1px solid #9eb9fa4d;color:#dceaff;font-size:22px;z-index:1}.closing-panel>a:hover{background:#3970c0}
.footer{border-top:1px solid var(--line);background:#050a15}.footer-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{direction:ltr;display:flex;align-items:center;gap:10px}.footer-brand img{width:45px;height:45px;object-fit:cover}.footer-brand>span{display:flex;flex-direction:column}.footer-brand strong{font-size:18px}.footer-brand small{font-size:8px}.footer p{font-size:10px;color:#8295b1;font-weight:600;text-align:center}.footer a{font-size:11px;color:#a8c4f7;font-weight:800;white-space:nowrap}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,18px);background:#1b3763;border:1px solid #82acff8a;color:#f4f8ff;box-shadow:0 8px 35px #010713b3;font-weight:800;font-size:12px;padding:11px 20px;border-radius:9px;opacity:0;pointer-events:none;z-index:50;transition:opacity .18s,transform .18s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:1100px){.desktop-nav{gap:18px}.nav-inner{gap:16px}.rules-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview{grid-template-columns:repeat(3,1fr)}.stat-note{grid-column:span 3;min-height:58px}.hero-content{padding-right:43px}.hero-art{left:0}}
@media (max-width:780px){.container{width:calc(100% - 28px)}.nav-inner{height:70px}.desktop-nav,.nav-cta{display:none}.mobile-menu-button{display:flex;flex-direction:column;justify-content:center;gap:5px;background:#14213b;border:1px solid #7094d74e;border-radius:10px;width:41px;height:41px;padding:10px}.mobile-menu-button span{height:2px;background:#bdd4ff;width:100%;border-radius:2px}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:10px 16px 18px;background:#0a1224;border-top:1px solid var(--line);gap:0}.mobile-nav a{font-size:12px;font-weight:800;color:#b5c9e6;padding:10px;border-bottom:1px solid #85ade91e}.hero{min-height:680px;margin-top:15px;border-radius:17px;display:block}.hero-content{width:100%;padding:40px 28px 0;z-index:4;position:relative}.hero-art{width:100%;height:405px;top:auto;bottom:0;left:0;right:0;justify-content:center;opacity:.72}.hero-art img{max-width:390px;height:390px;transform:translateY(55px);animation:none;filter:drop-shadow(0 0 20px #366fff80)}.hero-orbit{width:340px;height:280px;top:16%;left:calc(50% - 170px)}.hero:before{background:linear-gradient(180deg,#050916d9 8%,#061126be 47%,#0509166b 100%)}.hero h1{font-size:clamp(38px,7vw,54px);margin-top:11px}.hero p{font-size:12px;max-width:430px}.hero-footer{bottom:16px}.hero-detail{margin-top:22px}.overview{gap:9px;margin-top:11px}.stat-card{padding:12px;min-height:85px;gap:8px}.stat-icon{width:36px;height:36px;font-size:20px}.stat-card strong{font-size:22px}.stat-card div span{font-size:9px}.stat-note{padding:12px 16px}.section{padding-top:72px}.section-heading{align-items:start}.section-identity{display:none}.finder{padding:15px}.rules-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-section{padding-bottom:60px}}
@media (max-width:540px){body{font-size:13px}.container{width:calc(100% - 22px)}.brand-label b{font-size:20px}.brand-image{width:46px;height:46px}.brand-image img{width:46px;height:46px}.hero{min-height:682px;border-radius:13px}.hero-content{padding:32px 20px 0}.eyebrow{font-size:9px}.hero-overline{margin-top:23px;letter-spacing:2.2px;font-size:10px}.hero h1{font-size:39px;margin:13px 0 8px}.hero p{font-size:11px;line-height:2}.hero-actions{gap:8px}.button-primary,.button-secondary{min-height:43px;font-size:10px;gap:14px;padding:8px 11px}.hero-art{height:360px;bottom:17px}.hero-art img{max-width:330px;max-height:360px}.hero-footer{font-size:8px;right:15px;left:15px;bottom:10px}.overview{grid-template-columns:repeat(3,1fr);gap:7px}.stat-card{padding:12px 7px;flex-direction:column;text-align:center;gap:7px;min-height:112px}.stat-card strong{font-size:22px;text-align:center}.stat-card div span{font-size:8px;line-height:1.55;min-height:25px}.stat-note{grid-column:span 3;min-height:unset;font-size:9px}.section{padding-top:60px}.section-heading{margin-bottom:18px}.section-kicker{font-size:9px}.section-heading h2{font-size:28px}.section-heading p{font-size:10px;line-height:2}.finder{padding:11px;border-radius:12px}.finder-top{flex-direction:column;align-items:stretch;gap:8px}.search-wrap{min-height:51px;padding:0 11px}.search-wrap input{font-size:10px}.search-wrap kbd{display:none}.finder-count{justify-content:flex-start;margin-right:7px}.filters{gap:6px;margin-top:12px}.filter{padding:6px 11px;font-size:10px}.results-heading{margin-top:21px}.rules-cards{grid-template-columns:minmax(0,1fr);gap:8px}.rule-card{min-height:100px;padding:12px 15px;gap:7px}.rule-card p{font-size:11px}.violation-grid{gap:25px}.group-title h3{font-size:13px}.group-title>span{font-size:9px}.notes-grid{grid-template-columns:minmax(0,1fr)}.note-card{min-height:90px;padding:14px;gap:6px}.penalty-headline{padding:12px;gap:8px}.penalty-headline-star{width:35px;height:35px;flex-shrink:0}.penalty-headline strong{font-size:10px}.penalty-headline small{font-size:9px}.penalty-count{display:none}.closing-panel{gap:8px;padding:13px}.closing-icon{width:65px;height:65px}.closing-panel>div:nth-child(2)>span{font-size:7px;letter-spacing:1px}.closing-panel h3{font-size:14px}.closing-panel p{font-size:9px}.closing-panel>a{width:33px;height:33px;flex-shrink:0}.footer-inner{padding:20px 0;flex-wrap:wrap;justify-content:center;gap:10px}.footer p{order:3;width:100%;margin:0}.footer-brand strong{font-size:14px}.footer-brand small{font-size:7px}.footer a{font-size:10px}}
/* Motion is enabled by default independently of OS reduced-motion preference; visitors can disable it using the in-page control. */
/* Avoid RTL canvas overflow from off-screen decorative glows. */
.ambient{display:none}

@media (max-width:540px){.hero{min-height:752px}.hero-art{height:360px;bottom:0}.hero-art img{transform:none}}

/* ==========================================================
   SOCIETY | Premium interface refresh — v2
   ========================================================== */
:root{--bg:#050a15;--bg2:#080f20;--panel:#111f39;--accent:#527ef9;--ice:#c1dbff;--line:rgba(132,174,241,.18);--line-bright:rgba(151,196,255,.33);--container:1350px}
body{background:radial-gradient(ellipse 67% 600px at 50% 0%,rgba(41,85,166,.12),transparent 85%),#050a15}
body::before{content:"";pointer-events:none;position:fixed;inset:0;z-index:-1;opacity:.15;background-image:linear-gradient(rgba(76,116,185,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(76,116,185,.15) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,black,transparent 85%)}
#permissions{scroll-margin-top:103px}
.topbar{background:rgba(6,12,26,.91);border-bottom-color:rgba(132,174,241,.2)}
.nav-inner{height:81px}.desktop-nav{gap:clamp(11px,1.8vw,29px)}.desktop-nav a{font-size:12px}.desktop-nav a.nav-active:after{height:3px;background:linear-gradient(90deg,transparent,#6d94ff 30%,#b8d8ff 65%,transparent);box-shadow:0 0 15px #7bafff65}
.brand-image{border-color:#82a7ef4d}.brand-image img{object-fit:contain;padding:3px}
.hero{min-height:600px;border-color:#609dfd5c;box-shadow:0 28px 90px #0007,0 0 0 1px #345cab0c;background:#06101f}
.hero-banner{background-image:url('assets/society-wallpaper.webp');background-position:center;opacity:.28;filter:brightness(.75) saturate(1.35)}
.hero:before{background:linear-gradient(90deg,rgba(2,7,17,.96),rgba(5,14,34,.90) 37%,rgba(5,13,30,.58) 69%,rgba(4,10,25,.76)),radial-gradient(ellipse at 19% 48%,#1f6afc60,transparent 54%)}
.hero:after{background:linear-gradient(0deg,#020612b0,transparent 28%),linear-gradient(180deg,#050b19a6,transparent 25%)}
.hero-content{width:58%;padding-right:clamp(32px,5vw,87px)}
.hero h1{font-size:clamp(40px,4.3vw,70px);line-height:1.42}
.hero-art img{width:min(100%,515px);max-height:560px;filter:drop-shadow(0 0 38px #2a69ed96) drop-shadow(0 26px 55px #020713);transform:translateY(6px)}
.hero-orbit{border-color:#629dfb2e;box-shadow:0 0 140px #286eff54,inset 0 0 40px #276aff24}
.hero-footer{z-index:4}
.stat-card,.stat-note{background:linear-gradient(145deg,#13213c,#0b1427);border-color:#6c99e534;min-height:107px}
.stat-card:hover{border-color:#689efb80;transform:translateY(-2px)}.stat-card{transition:border-color .2s,transform .2s}
.section{padding-top:103px}.section-heading h2{font-size:clamp(30px,3.2vw,42px)}
.finder{background:linear-gradient(125deg,#13243f,#0c1729);border-color:#679dff50}
.rule-card{transition:transform .2s,border-color .2s,background .2s}.rule-card:hover{transform:translateY(-2px)}
/* Penalty overview, calculator and corrected table */
.penalty-headline{padding:22px 27px;background:linear-gradient(110deg,#1c3255,#111e36);border-color:#709fe949}
.penalty-headline-star{width:51px;height:51px;border-radius:13px;font-size:25px}
.penalty-headline strong{font-size:15px}.penalty-headline small{font-size:11px;line-height:1.7}.penalty-count{font-size:11px}
.penalty-calculator{display:grid;grid-template-columns:1.1fr 1.65fr 1.2fr;align-items:center;gap:22px;margin:0;padding:23px 27px;border:1px solid #739af345;border-top:0;border-bottom:1px solid #759fff32;background:linear-gradient(110deg,#0f1c31,#0b182b)}
.calc-intro{min-width:0}.calc-label,.calc-outcome-label{display:block;color:#80abf8;font-size:10px;font-weight:900;letter-spacing:.5px}.calc-intro h3{font-size:15px;font-weight:900;line-height:1.6;margin:5px 0}.calc-intro p{color:#9db2d1;font-size:10px;line-height:1.85;font-weight:600;margin:0}
.calc-controls{display:flex;flex-direction:column;gap:7px;min-width:0}.calc-controls>label,.calc-label-under{color:#b1c8e5;font-weight:800;font-size:10px}
.calc-controls select{color:#edf5ff;background:#101f39;border:1px solid #6e9bdf78;border-radius:10px;outline:none;padding:7px 13px;height:41px;font:800 11px 'Cairo',Tahoma,sans-serif;max-width:100%;cursor:pointer}
.calc-controls select:focus{border-color:#9dbeff;box-shadow:0 0 0 3px #7294df2c}
.calc-grade-buttons{display:flex;gap:5px;flex-wrap:wrap}.calc-grade{padding:5px 8px;border:1px solid #7093c146;background:#182844;color:#a4bbda;font-size:10px;font-weight:900;border-radius:6px;flex:1;min-width:45px}.calc-grade:hover{color:#fff;border-color:#6595ff9c}.calc-grade.selected{background:#426fee;color:#fff;border-color:#86b5ff;box-shadow:0 3px 11px #3257d637}
.calc-outcome{min-height:116px;border:1px solid #769ff95d;border-radius:12px;background:linear-gradient(115deg,#1b3154,#0b1a32);padding:14px 18px;display:flex;flex-direction:column;justify-content:center;gap:7px}.calc-outcome strong{font-size:clamp(14px,1.5vw,19px);font-weight:900;color:#f2f6ff;line-height:1.9;overflow-wrap:anywhere}.calc-outcome strong.critical-result{color:#ffadbb}.calc-outcome strong.discretion-result{color:#ffd8a1}.calc-outcome small{color:#8ca8d2;font-size:10px;font-weight:800}
.table-overflow{background:#0c172a;border-color:#799fed4a;scrollbar-color:#456fb5 #111f38}
.penalties-table{min-width:1020px;table-layout:fixed;text-align:center;line-height:1.95}
.penalties-table th,.penalties-table td{padding:22px 12px;border-color:#7fa6ec1b;font-size:12px;line-height:2.0;overflow-wrap:normal;white-space:normal}
.penalties-table thead th{background:#1b3151;font-size:12px;color:#b6d1ff;height:64px}
.penalties-table thead th:first-child{background:#182b49;z-index:4;width:176px;min-width:176px}
.penalties-table tbody tr{background:linear-gradient(130deg,#0b182b,#0e1b30)}
.penalties-table tbody tr:nth-child(2n){background:linear-gradient(130deg,#0c1b30,#0f1c34)}
.penalties-table tbody th:first-child{background:#122844;text-align:right}
.penalties-table td{color:#eef4ff;min-width:130px;font-weight:800}
.penalties-table td.penalty-critical{color:#ffc2cc}
.penalties-table td.penalty-discretion{color:#ffd9a4;font-size:12px;line-height:2.1}
.penalties-table td.penalty-medium{color:#c1d7ff}
.penalties-table td.merged-penalty{background:#1826429c;letter-spacing:.01px;text-align:center;padding-inline:24px}
.penalties-table tbody tr:hover{background:#152a49}.penalties-table tbody tr:hover td{background:#1c355a75}
.rank-cell{font-size:12px;line-height:1.75}.rank-cell span{font-size:11px;color:#7aa4ec;margin-bottom:6px}.rank-cell strong{font-size:12px;color:#eef3ff;white-space:normal}
.penalty-footnote{background:#18243c;color:#c5d4e9;border-right:4px solid #7b9afa;margin-top:17px;padding:14px 20px;font-size:12px}
/* Rank powers */
.permissions-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border:1px solid #699af84d;border-radius:15px 15px 0 0;background:linear-gradient(100deg,#1b3156,#101c34)}
.permissions-heading>div{display:flex;align-items:center;gap:14px}.permissions-heading strong{display:block;font-size:14px;font-weight:900}.permissions-heading small{display:block;color:#a4b8d9;font-size:10px;font-weight:700}.permissions-heading>span{border:1px solid #8fa9e34b;color:#aac9f9;padding:6px 13px;border-radius:9px;font-size:11px;font-weight:800;white-space:nowrap}
.authority-symbol{display:grid;place-items:center;width:45px;height:45px;border:1px solid #7caaff55;background:#3f66d735;border-radius:11px;color:#a6c7ff;font-size:25px}
.permissions-grid{border:1px solid #699af84d;border-top:0;border-radius:0 0 15px 15px;background:linear-gradient(140deg,#0d172c,#0a1428);padding:19px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.permission-card{min-width:0;background:linear-gradient(145deg,#142742,#0b192f);border:1px solid #6f9df93a;border-radius:12px;padding:17px;display:flex;flex-direction:column;min-height:250px;transition:transform .2s,border-color .2s,box-shadow .2s}
.permission-card:hover{transform:translateY(-3px);border-color:#8dbeff90;box-shadow:0 15px 24px #0005}
.permission-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px}
.permission-id{font:900 12px 'Outfit',Arial,sans-serif;color:#7faafb;direction:ltr}.permission-type{font-size:9px;font-weight:800;color:#97b4e0;border:1px solid #7ca1da30;background:#49689b22;padding:2px 8px;border-radius:50px}
.permission-card h3{font-size:19px;line-height:1.65;font-weight:900;margin:9px 0 12px;color:#f5f9ff;letter-spacing:-.4px}
.permission-lines{margin-top:auto;border-top:1px solid #81acee27}.permission-line{display:flex;align-items:center;gap:12px;justify-content:space-between;border-bottom:1px solid #81acee1b;padding:10px 0;min-height:43px}.permission-line:last-child{border-bottom:0;padding-bottom:0}.permission-action{font-size:10px;font-weight:900;color:#b5d0ff;white-space:nowrap}.permission-action.permission-dismiss{color:#ffb4c5}.permission-target{font-size:10px;font-weight:800;line-height:1.8;color:#eff4ff;text-align:left}
.staff-course{display:flex;gap:19px;align-items:flex-start;margin-top:16px;padding:22px 25px;background:linear-gradient(112deg,#1b2d4d,#0c1b32);border:1px solid #87aeff75;border-right:4px solid #7ba4fc;border-radius:12px}
.course-icon{width:48px;height:48px;flex:0 0 48px;border-radius:13px;display:grid;place-items:center;font-size:25px;background:#4977d442;border:1px solid #a4c5ff48;color:#aed2ff}
.course-eyebrow{font-size:10px;color:#95bbfa;font-weight:900}.staff-course h3{font-size:16px;font-weight:900;margin:0}.staff-course p{font-size:12px;line-height:2.2;color:#ccdcf0;margin:3px 0 0;font-weight:700}.staff-course strong{color:#fff}
.notes-section{padding-top:91px}
.closing-panel{background:linear-gradient(95deg,#1a315d,#0d192d 60%,#19315a)}
.closing-icon img{object-fit:contain}
.footer-brand img{object-fit:contain}
/* Accessible focus outlines */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,.table-overflow:focus-visible{outline:2px solid #a9c7ff;outline-offset:3px}
@media (max-width:1220px){.permissions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.penalty-calculator{grid-template-columns:1fr 1.7fr}.calc-outcome{grid-column:1/-1;min-height:80px}.calc-outcome strong{font-size:18px}.calc-outcome small{font-size:10px}}
@media (max-width:980px){.nav-inner{gap:10px}.desktop-nav{gap:15px}.brand-label b{font-size:19px}.desktop-nav a{font-size:10px}.nav-cta{gap:10px}.permissions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.penalty-calculator{grid-template-columns:1fr 1.4fr}.permissions-heading small{line-height:2}}
@media (max-width:780px){.hero{min-height:730px}.hero-content{padding-top:42px}.hero:before{background:linear-gradient(180deg,#061023ee 7%,#08172fda 48%,#030812ab 100%)}.hero-banner{opacity:.18}.hero-art{opacity:.88}.hero-art img{max-width:425px;max-height:425px}.hero-footer{font-size:9px}.section{padding-top:71px}.penalty-calculator{padding:20px;gap:17px}.permissions-grid{padding:12px;gap:10px}.staff-course{padding:19px}.notes-section{padding-bottom:60px}.permissions-section{padding-top:70px}}
@media (max-width:540px){.hero{min-height:760px}.hero-content{padding-top:35px}.hero-art{height:390px;bottom:2px}.hero-art img{max-width:370px;max-height:390px}.stat-card{min-height:110px}.stat-note{padding:13px}.penalty-headline{padding:16px}.penalty-headline strong{font-size:12px}.penalty-headline small{font-size:10px}.penalty-calculator{grid-template-columns:1fr;gap:15px;padding:15px}.calc-intro h3{font-size:14px}.calc-controls select{width:100%;font-size:12px}.calc-grade{min-width:40px;white-space:nowrap}.calc-outcome{grid-column:auto;min-height:95px}.calc-outcome strong{font-size:17px}.permissions-heading{padding:13px;align-items:flex-start}.permissions-heading>span{font-size:9px;padding:4px 9px}.permissions-heading strong{font-size:12px}.permissions-heading small{font-size:9px}.authority-symbol{width:36px;height:36px;flex:0 0 36px}.permissions-grid{grid-template-columns:minmax(0,1fr);padding:9px;gap:9px}.permission-card{min-height:0;padding:16px}.permission-card h3{font-size:17px;margin-bottom:6px}.permission-line{padding:9px 0}.permission-action,.permission-target{font-size:11px}.staff-course{gap:10px;padding:15px}.staff-course h3{font-size:14px}.staff-course p{font-size:11px}.course-icon{width:35px;height:35px;flex-basis:35px;font-size:21px}.penalties-table th,.penalties-table td{font-size:12px}.penalty-footnote{font-size:11px}}

/* SOCIETY v3 — artwork restoration and officer promotions */
#promotions{scroll-margin-top:105px}
/* No rotated ornament, no opaque background square: original transparency preserved */
.hero{min-height:615px}
.hero-content{width:56%;z-index:5}
.hero-art{width:44%;height:100%;left:2.5%;right:auto;top:0;bottom:0;opacity:1;overflow:visible;pointer-events:none;isolation:isolate}
.hero-art::before{content:"";position:absolute;z-index:-1;width:83%;aspect-ratio:1;left:8%;top:16%;border-radius:50%;background:radial-gradient(circle,rgba(61,122,255,.30) 0%,rgba(43,85,183,.13) 37%,transparent 70%);filter:blur(20px)}
.hero-art img{display:block;position:relative;width:auto;max-width:100%;height:min(570px,93%);max-height:unset;object-fit:contain;animation:none;transform:none;filter:drop-shadow(0 12px 32px rgba(16,75,209,.36)) drop-shadow(0 25px 44px rgba(0,4,18,.64))}
.hero-orbit{display:none!important}
.hero-art img:hover{transform:none}
.hero:before{background:linear-gradient(90deg,rgba(3,9,22,.91),rgba(3,11,26,.83) 31%,rgba(6,15,36,.5) 69%,rgba(4,10,23,.88)),radial-gradient(circle at 20% 54%,rgba(45,105,228,.25),transparent 40%)}
.hero-banner{opacity:.28;background-position:center}
.hero-footer{z-index:5}
.promotions-section{position:relative}
.promotions-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 35px;border-radius:18px 18px 0 0;border:1px solid rgba(108,151,234,.5);background:radial-gradient(ellipse at 0% 30%,rgba(67,103,209,.3),transparent 55%),linear-gradient(120deg,#172d51,#0b172b 65%);overflow:hidden}
.promotions-hero-copy{flex:1;min-width:0;max-width:615px}.promotions-upper,.promotion-browser-label,.promo-notice-kicker,.promotion-current-kicker{font:800 10px 'Outfit',Arial,sans-serif;color:#9fc1ff;letter-spacing:1.5px}.promotions-hero h3{font-weight:900;font-size:26px;line-height:1.6;margin:9px 0 5px;color:#fff}.promotions-hero h3 span{color:#99c6ff}.promotions-hero p{color:#adc2df;font-size:11px;font-weight:700;line-height:2.15;margin:0}.promotions-hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;min-width:420px}.promotions-hero-facts>div{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:14px 11px;background:rgba(8,20,44,.6);border:1px solid rgba(118,166,248,.27);border-radius:12px}.promotions-hero-facts strong{font:800 26px 'Outfit',Arial,sans-serif;color:#f5faff;direction:ltr}.promotions-hero-facts small{font-size:10px;line-height:1.8;font-weight:800;color:#9ebce8;margin-top:3px}
.promotion-browser{border:1px solid rgba(108,151,234,.43);border-top:0;border-radius:0 0 18px 18px;background:linear-gradient(140deg,#0c1930,#091427);padding:27px}.promotion-browser-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.promotion-browser-head h3{font-size:18px;margin:3px 0 0;font-weight:900}.promotion-browser-hint{font-size:10px;color:#8ba7cd;font-weight:700}
.promotion-rank-tabs{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;margin-bottom:19px}.promotion-tab{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-height:77px;border:1px solid #7194ce4a;border-radius:10px;background:#111f36;color:#acc1e0;font-size:11px;font-weight:900;white-space:nowrap;padding:8px 5px;transition:background .2s,border-color .2s,transform .2s}.promotion-tab:hover{color:#fff;background:#1c3154;border-color:#7eafff8c;transform:translateY(-2px)}.promotion-tab:focus-visible{outline:2px solid #b6d2ff;outline-offset:3px}.promotion-tab.is-active{background:linear-gradient(150deg,#3d6fe6,#234eaf);color:#fff;border-color:#a3c8ff;box-shadow:0 5px 18px #3671ec45}.promotion-tab-num{direction:ltr;font:800 11px 'Outfit',Arial,sans-serif;color:#779bcb}.promotion-tab.is-active .promotion-tab-num{color:#cfddff}
.promotion-detail{display:grid;grid-template-columns:minmax(215px,.85fr) minmax(0,2.15fr);min-height:285px;border:1px solid #7a9fe54d;border-radius:15px;overflow:hidden;background:linear-gradient(120deg,#101d34,#0b182e)}.promotion-current{padding:29px 27px;background:radial-gradient(circle at 8% 94%,#3968c65c,transparent 56%),linear-gradient(140deg,#213e6a,#11233f);display:flex;align-items:flex-start;flex-direction:column}.promotion-current-number{font:900 42px/1.1 'Outfit',Arial,sans-serif;color:#ebf6ff;direction:ltr}.promotion-current-number span{font-size:12px;color:#87ace5}.promotion-current-kicker{margin-top:27px}.promotion-current h4{font-size:29px;line-height:1.7;font-weight:900;margin:5px 0 0}.promotion-current p{font-size:11px;font-weight:800;color:#b4caeb;margin:0}.promotion-current-progress{display:block;margin-top:auto;width:100%;height:5px;background:#91baff34;border-radius:10px;overflow:hidden}.promotion-current-progress>span{display:block;height:100%;border-radius:10px;background:#afd3ff}
.promotion-requirement-area{padding:24px 26px}.promotion-requirement-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.promotion-requirement-heading strong{font-size:14px;font-weight:900}.promotion-requirement-heading small{border:1px solid #759bd349;background:#193050;color:#a3c3f7;border-radius:100px;padding:3px 11px;font-size:10px;font-weight:800}.promotion-requirements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.promotion-req{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:92px;padding:13px 15px;border:1px solid #7397d345;background:linear-gradient(150deg,#152945,#111f36);border-radius:10px}.promotion-req-label{color:#a6bddf;font-size:10px;line-height:1.8;font-weight:800}.promotion-req strong{color:#f5f9ff;font-size:24px;line-height:1.3;font-weight:900;white-space:normal}.promotion-req strong span{color:#97b9ed;font-size:11px}.promotion-req.req-special strong{font-size:18px;color:#aad1ff}.promotion-req.req-files strong{font-size:22px}
.promotion-appointment{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;max-width:650px;margin-inline:auto}.appointment-star{display:grid;place-items:center;width:65px;height:65px;border-radius:18px;font-size:32px;background:#245cbe47;border:1px solid #84b7ff87;color:#afd1ff}.appointment-caption{color:#8fb8f5;font-size:11px;font-weight:900}.promotion-appointment strong{color:#fff;font-size:22px;line-height:1.75;font-weight:900}.promotion-appointment small{color:#90acd1;font-size:10px;font-weight:700}
.promotions-notices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:16px}.promotions-notice{display:flex;align-items:flex-start;gap:13px;padding:20px 18px;border:1px solid #7094d849;background:linear-gradient(130deg,#152541,#0c192e);border-radius:12px}.promo-notice-symbol{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:1px solid #86b7ff5c;border-radius:11px;background:#3972d138;color:#accaff;font:900 20px 'Outfit',Arial,sans-serif}.promotions-notice h3{font-size:13px;font-weight:900;margin:3px 0 5px}.promotions-notice p{color:#aec0d9;font-size:11px;font-weight:700;line-height:2;margin:0}.promotions-notice.notice-reset{border-color:#89b0fd7e}.promotions-notice.notice-reset .promo-notice-symbol{color:#e2edff;background:#4478e250}
@media(max-width:1270px){.promotion-rank-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.promotion-tab{min-height:66px;flex-direction:row;gap:7px}.promotions-hero-facts{min-width:350px}}
@media(max-width:1100px){.desktop-nav,.nav-cta{display:none}.mobile-menu-button{display:flex;flex-direction:column;justify-content:center;gap:5px;background:#14213b;border:1px solid #7094d74e;border-radius:10px;width:41px;height:41px;padding:10px}.mobile-menu-button span{height:2px;background:#bdd4ff;width:100%;border-radius:2px}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:10px 20px 18px;background:#0a1224;border-top:1px solid var(--line);gap:0}.mobile-nav a{font-size:12px;font-weight:800;color:#b5c9e6;padding:10px;border-bottom:1px solid #85ade91e}.hero-content{width:57%}.hero-art{left:0;width:43%}.promotions-hero{flex-direction:column;align-items:stretch}.promotions-hero-facts{min-width:0}}
@media(max-width:780px){.hero{min-height:750px}.hero-content{width:100%;padding-top:40px;position:relative;z-index:5}.hero-art{width:100%;height:390px;top:auto;bottom:5px;right:0;left:0;opacity:1}.hero-art img{height:min(100%,390px);max-width:100%;max-height:unset;transform:none;animation:none}.hero-art::before{width:65%;top:14%;left:18%}.hero:before{background:linear-gradient(180deg,#051024f5 3%,#07152ade 51%,#040b1c98 100%)}.promotions-section{padding-top:71px}.promotions-hero{padding:25px 22px}.promotions-hero h3{font-size:22px}.promotion-browser{padding:16px}.promotion-requirements{grid-template-columns:repeat(2,minmax(0,1fr))}.promotions-notices{grid-template-columns:1fr}.promotion-detail{grid-template-columns:1fr}.promotion-current{min-height:185px;padding:21px}.promotion-current-kicker{margin-top:13px}.promotion-current h4{font-size:26px}.promotion-current-progress{margin-top:15px}.promotion-requirement-area{padding:19px}}
@media(max-width:540px){.hero{min-height:775px}.hero-art{height:340px;bottom:12px}.hero-art img{height:340px;width:auto;max-width:95%}.hero-footer{z-index:6}.promotions-hero-facts{gap:5px}.promotions-hero-facts>div{padding:12px 6px;min-height:88px}.promotions-hero-facts strong{font-size:21px}.promotions-hero-facts small{font-size:9px}.promotion-browser-head{align-items:start;flex-direction:column;gap:4px}.promotion-browser-head h3{font-size:16px}.promotion-rank-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.promotion-tab{min-height:44px;padding:7px 9px;font-size:11px;justify-content:start}.promotion-current{min-height:175px}.promotion-requirement-area{padding:12px}.promotion-requirements{gap:8px}.promotion-req{padding:11px 10px;min-height:90px}.promotion-req-label{font-size:10px}.promotion-req strong{font-size:22px}.promotion-req.req-special strong{font-size:15px}.promotion-appointment{padding:25px 6px}.promotion-appointment strong{font-size:18px}.promotions-notice{padding:15px}}



/* SOCIETY V4 — lightweight, continuously animated presentation.
   Uses standard CSS animations (works on browser software rendering too).
   The page motion switch overrides all effects for visitors who need a still UI. */
:root{--ease-lux:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth}
.topbar{isolation:isolate}
.topbar::before{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;z-index:3;background:linear-gradient(90deg,#4170f1,#b9ddff,#477eff);transform:scaleX(var(--page-scroll,0));transform-origin:right;pointer-events:none;box-shadow:0 0 13px #6a9fff8f}
.motion-control{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:116px;flex-shrink:0;border:1px solid rgba(120,167,247,.36);border-radius:11px;background:linear-gradient(145deg,#1b2e4d,#0f1c32);padding:9px 11px;color:#bcd4fb;font-size:10px;font-weight:900;box-shadow:inset 0 1px 0 #ffffff12;transition:border-color .25s,background .25s,transform .25s}
.motion-control:hover{border-color:#8caefb;transform:translateY(-2px);background:#23395e}
.motion-control:focus-visible{outline:2px solid #c5dcff;outline-offset:3px}
.motion-icon{display:inline-block;color:#9dc4ff;font-size:16px;animation:motionSpark 4s ease-in-out infinite}
@keyframes motionSpark{0%,100%{transform:rotate(-13deg) scale(.88);opacity:.66}50%{transform:rotate(50deg) scale(1.15);opacity:1}}
.brand-image{transition:box-shadow .3s,border-color .3s,transform .3s;animation:brandGlow 5s ease-in-out infinite}
.brand:hover .brand-image{transform:rotate(-5deg) scale(1.06);border-color:#8cbaff}
.brand-image img{animation:brandFloat 6s ease-in-out infinite}
@keyframes brandGlow{0%,100%{box-shadow:0 0 10px #4384ff22}50%{box-shadow:0 0 27px #4384ff64,0 0 0 3px #548fff0c}}
@keyframes brandFloat{0%,100%{transform:translateY(1px)}50%{transform:translateY(-2px)}}
/* Never rotate or skew the rectangular logo image: only float the transparent illustration. */
.hero-art{isolation:isolate}
.hero-art::before{animation:haloBreathe 7s ease-in-out infinite}
.hero-art img,.hero-art img:hover{transform:none;animation:societyFloat 6.4s ease-in-out infinite!important;transform-origin:center 52%;filter:drop-shadow(0 12px 32px rgba(18,83,235,.43)) drop-shadow(0 23px 43px rgba(0,4,18,.7))}
@keyframes societyFloat{0%,100%{transform:translate3d(0,7px,0) scale(1)}50%{transform:translate3d(0,-12px,0) scale(1.016)}}
@keyframes haloBreathe{0%,100%{opacity:.55;transform:scale(.91)}50%{opacity:.96;transform:scale(1.09)}}
.hero-halo{position:absolute;left:10%;top:19%;width:80%;aspect-ratio:1;border:1px solid rgba(112,170,255,.27);border-radius:50%;z-index:-1;box-shadow:inset 0 0 35px #275ed520,0 0 53px #3470fa29;animation:haloRing 9s ease-in-out infinite;pointer-events:none}
.hero-halo-outer{width:94%;left:3%;top:13%;border-style:dashed;border-color:rgba(119,163,255,.15);box-shadow:none;animation:haloRing 12s ease-in-out -4s infinite reverse}
@keyframes haloRing{0%,100%{transform:scale(.93);opacity:.35}50%{transform:scale(1.05);opacity:.7}}
.hero-pointer-glow{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle 280px at var(--pointer-x,76%) var(--pointer-y,45%),rgba(70,129,255,.15),transparent 70%);transition:opacity .25s}
.hero-stars{animation:starBreath 8s ease-in-out infinite}
@keyframes starBreath{0%,100%{opacity:.4}50%{opacity:1}}
.hero-sparks{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.hero-sparks span{position:absolute;width:3px;height:3px;border-radius:50%;background:#b0d4ff;opacity:0;box-shadow:0 0 10px 3px #579bff7f;animation:sparkLift 8s linear infinite}
.hero-sparks span:nth-child(1){top:77%;left:7%;animation-delay:0s}.hero-sparks span:nth-child(2){top:65%;left:34%;animation-delay:-2.1s;width:2px;height:2px}.hero-sparks span:nth-child(3){top:83%;left:78%;animation-delay:-4s}.hero-sparks span:nth-child(4){top:39%;left:59%;animation-delay:-6.1s;width:2px;height:2px}.hero-sparks span:nth-child(5){top:87%;left:54%;animation-delay:-3.4s}.hero-sparks span:nth-child(6){top:63%;left:13%;animation-delay:-6.9s}.hero-sparks span:nth-child(7){top:91%;left:91%;animation-delay:-1.6s}.hero-sparks span:nth-child(8){top:58%;left:49%;animation-delay:-5.7s;width:2px;height:2px}
@keyframes sparkLift{0%{transform:translateY(15px) scale(.5);opacity:0}19%{opacity:.75}70%{opacity:.55}100%{transform:translateY(-75px) scale(1.25);opacity:0}}
.eyebrow i,.note-dot,.count-dot{animation:dotPulse 2.6s ease-in-out infinite}
@keyframes dotPulse{0%,100%{box-shadow:0 0 0 3px #8fbaff16,0 0 8px #4887ff33;opacity:.78}50%{box-shadow:0 0 0 7px #8fbaff18,0 0 20px #83bcffbf;opacity:1}}
.hero-detail-line{transform-origin:right;animation:lineGrow 3.1s ease-in-out infinite}
@keyframes lineGrow{0%,100%{transform:scaleX(.66);opacity:.62}50%{transform:scaleX(1.24);opacity:1}}
.hero h1 em{background-size:220% 100%;animation:headlineGlow 9s ease-in-out infinite}
@keyframes headlineGlow{0%,100%{background-position:0% center}50%{background-position:100% center}}
/* Appearance and micro interaction */
.stat-card,.stat-note,.rule-card,.permission-card,.note-card,.promotions-notice,.promotion-req,.promotions-hero-facts>div{transition:transform .32s var(--ease-lux),border-color .32s,box-shadow .32s,background-color .32s}
.stat-card:hover,.permission-card:hover,.note-card:hover,.promotions-notice:hover,.promotions-hero-facts>div:hover{transform:translateY(-5px);border-color:#84b4ff9e;box-shadow:0 16px 35px #0208187a,0 0 25px #377df21a}
.rule-card:hover,.promotion-req:hover{transform:translateY(-3px);border-color:#75a8ff91;box-shadow:0 11px 29px #02071582}
.stat-icon{animation:iconBob 5s ease-in-out infinite}
.stat-card:nth-child(2) .stat-icon{animation-delay:-1.6s}.stat-card:nth-child(3) .stat-icon{animation-delay:-3.3s}
@keyframes iconBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.button-primary,.button-secondary,.nav-cta,.filter,.promotion-tab,.calc-grade,.motion-control,.rule-code,.mobile-menu-button{position:relative;overflow:hidden;isolation:isolate}
.button-primary,.button-secondary,.nav-cta,.filter,.promotion-tab,.calc-grade,.rule-code{transition:transform .25s var(--ease-lux),box-shadow .25s var(--ease-lux),border-color .25s,background .25s}
.button-primary:hover{box-shadow:0 13px 31px #347eff73,0 0 0 1px #bcdaff32;transform:translateY(-3px)}
.button-secondary:hover,.nav-cta:hover,.filter:hover,.calc-grade:hover{transform:translateY(-2px)}
.button-primary:active,.button-secondary:active,.nav-cta:active,.filter:active,.promotion-tab:active,.calc-grade:active{transform:scale(.965)}
.click-ripple{position:absolute;z-index:3;border-radius:50%;pointer-events:none;width:25px;height:25px;background:rgba(204,228,255,.48);transform:translate(-50%,-50%) scale(0);animation:clickRipple .65s ease-out forwards}
@keyframes clickRipple{to{transform:translate(-50%,-50%) scale(12);opacity:0}}
.motion-ready .will-reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
.motion-ready .will-reveal{transition:opacity .7s var(--ease-lux),transform .7s var(--ease-lux);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .will-reveal.is-visible{opacity:1;transform:none}
/* Interactive response when switching calculator / promotion values. */
.content-pop{animation:contentPop .38s var(--ease-lux) both}
@keyframes contentPop{from{opacity:.25;transform:translateY(9px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
.promotion-current-progress>span{transition:width .65s var(--ease-lux)}
.closing-icon img{animation:closingBreath 5.5s ease-in-out infinite}
@keyframes closingBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
:where(button,a):focus-visible{outline:2px solid #a3d1ff;outline-offset:3px}
@media(max-width:1450px){.desktop-nav{gap:16px}.nav-inner{gap:15px}.motion-control{min-width:100px}.motion-control .motion-label{font-size:9px}}
@media(max-width:1180px){.motion-control{min-width:40px;width:42px;height:42px;padding:8px}.motion-label{display:none}.motion-icon{font-size:19px}}
@media(max-width:780px){.hero-art img,.hero-art img:hover{animation:societyFloatMobile 6.8s ease-in-out infinite!important}.hero-halo{width:58%;left:21%;top:15%}.hero-halo-outer{width:70%;left:15%;top:10%}.hero-sparks span:nth-child(n+5){display:none}}
@keyframes societyFloatMobile{0%,100%{transform:translate3d(0,6px,0) scale(1)}50%{transform:translate3d(0,-10px,0) scale(1.012)}}
/* Explicit in-page accessibility override. The site otherwise animates even when
   the operating system preference asks for reduced motion, per the site request. */
html.motion-off,html.motion-off * ,html.motion-off *::before,html.motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.motion-off .will-reveal{opacity:1!important;transform:none!important}
html.motion-off .hero-art img{transform:none!important}
html.motion-off .hero-pointer-glow{opacity:0!important}
html.motion-off .hero-sparks{display:none!important}
html.motion-off .motion-icon{transform:none!important}
html.motion-off .hero-art img,html.motion-off .hero-art img:hover{animation:none!important}
