/*
 * TAMOOH public homepage — visual skin 1.2
 * Namespaced to body.public-home; does NOT style admin, student, login or registration.
 * Existing PHP queries, tenant selection and links are untouched.
 */
.public-home {
  --hm-ink:#132f40;
  --hm-ink-muted:#677d8b;
  --hm-navy:#102d40;
  --hm-deep:#0b2636;
  --hm-teal:#0a8d91;
  --hm-aqua:#4bc8bd;
  --hm-mint:#e8f8f4;
  --hm-line:#e5eef0;
  --hm-white:#fff;
  --hm-shadow:0 20px 48px rgba(29,67,79,.055);
  background:linear-gradient(180deg,#fbfdfe 0%,#f5faf9 45%,#f8fafc 100%);
  color:var(--hm-ink);
  font-family:"Tajawal","IBM Plex Sans Arabic","Cairo","Segoe UI",Tahoma,Arial,sans-serif;
  line-height:1.65;
  overflow-x:clip;
}
.public-home *, .public-home *::before, .public-home *::after {box-sizing:border-box}
.public-home a {text-decoration:none}
.public-home .public-nav,
.public-home .public-hero,
.public-home .public-section,
.public-home .public-filter,
.public-home .public-join-banner,
.public-home .public-footer-inner,
.public-home .public-footer-bottom {max-width:1180px}
.public-home .public-nav {
  position:sticky;top:12px;z-index:25;min-height:76px;margin:12px auto 0;
  padding:12px 21px;display:flex;justify-content:space-between;align-items:center;gap:18px;
  background:rgba(255,255,255,.92);border:1px solid rgba(226,237,239,.9);
  border-radius:20px;box-shadow:0 10px 30px rgba(19,48,64,.055);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  transition:box-shadow .3s,background .3s,transform .3s;
}
.public-home .public-nav.is-scrolled {box-shadow:0 16px 42px rgba(12,43,60,.14);background:rgba(255,255,255,.97)}
.public-home .public-nav .brand {display:flex;align-items:center;gap:12px;min-width:0;color:var(--hm-ink)}
.public-home .public-nav .brand-mark {display:grid;place-items:center;flex:none;width:49px;height:49px;font-size:27px;border-radius:15px;
  background:linear-gradient(145deg,#0c7f89,#0c9d9a);color:white;box-shadow:0 8px 20px rgba(13,143,144,.22)}
.public-home .public-nav .brand-logo {width:49px;height:49px;border-radius:14px;object-fit:contain;box-shadow:none}
.public-home .public-brand-text {display:flex;flex-direction:column;gap:0;min-width:0}
.public-home .public-brand-text b {font-size:17px;font-weight:900;line-height:1.45;overflow:hidden;text-overflow:ellipsis;max-width:310px;white-space:nowrap}
.public-home .public-brand-text small {font-size:11px;color:#8195a0;font-weight:600}
.public-home .public-nav-actions {display:flex;gap:10px;align-items:center;flex-wrap:nowrap}
.public-home .btn {min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;
  font-weight:800;font-size:13px;letter-spacing:0;padding:10px 19px;transition:transform .24s ease,box-shadow .24s ease,background .24s ease,border-color .24s ease}
.public-home .btn:hover {transform:translateY(-2px)}
.public-home .btn:focus-visible,.public-home a:focus-visible,.public-home select:focus-visible {outline:3px solid #6fe3d4;outline-offset:3px}
.public-home .btn.primary,.public-home .public-nav-actions .btn.primary {
  background:linear-gradient(115deg,#0a808b,#0e9f99);color:white;border:1px solid transparent;
  box-shadow:0 8px 16px rgba(10,132,141,.12)
}
.public-home .btn.primary:hover {background:linear-gradient(115deg,#076b7b,#078783);box-shadow:0 12px 24px rgba(10,132,141,.25)}
.public-home .public-nav-actions .btn.subtle {background:#f0f6f7;color:#25485b;border-color:#e6eff2}
.public-home .public-nav-actions .btn.subtle:hover {background:#e6f3f4}

/* Distinctive introductory section: typography, gradient art, depth and motion */
.public-home .public-hero {
  position:relative;isolation:isolate;max-width:1180px;min-height:505px;margin:25px auto 24px;
  display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:18px;
  padding:62px 67px 62px 42px;background:linear-gradient(116deg,#0c3146 0%,#0e3548 49%,#0b5c66 100%);
  border:1px solid rgba(7,62,72,.7);border-radius:30px;overflow:hidden;
  box-shadow:0 28px 66px rgba(19,63,78,.12);
}
.public-home .public-hero::before {content:"";position:absolute;z-index:-1;inset:-30% auto auto -15%;width:530px;height:530px;
  background:radial-gradient(circle,rgba(38,185,178,.24),rgba(35,161,164,.065) 42%,transparent 71%);pointer-events:none}
.public-home .public-hero::after {content:"";position:absolute;z-index:-1;inset:0;
  opacity:.17;pointer-events:none;background-image:radial-gradient(#a0dbd9 1px,transparent 1px);background-size:26px 26px;
  mask-image:linear-gradient(90deg,transparent 6%,#000 82%)}
.public-home .public-hero-main {z-index:1;min-width:0}
.public-home .public-hero .pill {
  display:inline-flex;align-items:center;gap:10px;margin:0;padding:9px 15px;font-size:12px;font-weight:800;
  background:rgba(164,236,226,.115);color:#a8eee6;border:1px solid rgba(139,239,222,.20);border-radius:50px
}
.public-home .public-live-dot {height:7px;width:7px;border-radius:50%;background:#65e0bf;box-shadow:0 0 0 4px rgba(101,224,191,.13)}
.public-home .public-hero-main h1 {font-weight:900;font-size:clamp(39px,4.3vw,66px);line-height:1.38;letter-spacing:-1.5px;margin:24px 0 17px;color:white}
.public-home .public-hero-main h1 em {font-style:normal;display:block;color:#69e0d1;line-height:1.45}
.public-home .public-hero-main>p {max-width:520px;color:#bfdae0;font-size:15px;line-height:2.15;margin:0;font-weight:500}
.public-home .public-hero .hero-ctas {display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.public-home .public-hero .hero-ctas .btn {min-height:53px;border-radius:13px;padding:13px 22px;font-size:14px}
.public-home .public-hero .hero-ctas .btn.primary {background:#fff;color:#0c4854;box-shadow:0 11px 26px rgba(0,0,0,.13)}
.public-home .public-hero .hero-ctas .btn.primary:hover {background:#e8fff8}
.public-home .public-hero .hero-ctas .btn.outline {color:#ebffff;border:1px solid rgba(255,255,255,.44);background:rgba(255,255,255,.05)}
.public-home .public-hero .hero-ctas .btn.outline:hover {background:rgba(255,255,255,.13)}
.public-home .public-hero-benefits {display:flex;align-items:center;flex-wrap:wrap;gap:13px 20px;margin-top:32px;color:#b9d6db;font-size:11px;font-weight:700}
.public-home .public-hero-benefits span {display:flex;align-items:center;gap:7px}
.public-home .public-hero-benefits i {display:inline-grid;place-items:center;font-size:11px;width:18px;height:18px;border-radius:50%;font-style:normal;color:#99f0dd;background:rgba(138,221,198,.12)}
.public-home .public-hero-art {position:relative;min-height:350px;width:100%;display:grid;place-items:center;background:transparent;box-shadow:none;border:0;border-radius:0;overflow:visible;z-index:1}
.public-home .public-hero-art::before {content:"";position:absolute;width:345px;height:345px;max-width:95%;border-radius:50%;background:radial-gradient(circle,rgba(33,187,174,.43),rgba(51,209,200,.08) 70%,transparent);filter:blur(3px)}
.public-home .public-art-orbit {position:absolute;inset:auto;border:1px solid rgba(156,248,231,.20);border-radius:50%;pointer-events:none}
.public-home .public-art-orbit.orbit-one {width:340px;height:340px;transform:rotate(-30deg)}
.public-home .public-art-orbit.orbit-two {width:395px;height:395px;border-style:dashed;border-color:rgba(156,248,231,.10)}
.public-home .public-award-card {position:relative;z-index:1;width:min(100%,290px);min-height:323px;padding:24px 23px 21px;border-radius:24px;text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(180deg,#fff 0%,#f8ffff 100%);border:1px solid rgba(255,255,255,.85);
  box-shadow:0 28px 48px rgba(2,23,36,.24);transform:rotate(-3deg);animation:hm-float 8s ease-in-out infinite
}
.public-home .public-card-eyebrow {font-size:12px;font-weight:850;color:#52737c;display:flex;align-items:center;gap:6px}
.public-home .public-card-spark {color:#d6a03f;font-size:19px}
.public-home .public-hero-art .public-medal {display:grid;place-items:center;margin:2px 0 7px}
.public-home .public-hero-art .public-medal svg {filter:drop-shadow(0 8px 12px rgba(199,137,36,.13))}
.public-home .public-award-card strong {font-size:17px;font-weight:900;color:#153548;line-height:1.55}
.public-home .public-award-card small {font-size:11px;color:#7d939e;font-weight:700}
.public-home .public-award-progress {height:8px;width:100%;border-radius:90px;overflow:hidden;margin-top:14px;background:#eaf2ef}
.public-home .public-award-progress>span {display:block;height:100%;width:78%;border-radius:90px;background:linear-gradient(90deg,#28c4aa,#0c8590)}
.public-home .public-card-foot {display:flex;justify-content:space-between;width:100%;gap:8px;margin-top:4px;color:#8097a0;font-size:10px;font-weight:750}
.public-home .public-art-float {position:absolute;z-index:2;display:flex;align-items:center;gap:7px;white-space:nowrap;
  background:#fff;border:1px solid rgba(255,255,255,.75);border-radius:12px;padding:10px 15px;color:#244958;
  box-shadow:0 12px 28px rgba(4,35,50,.19);font-size:12px;font-weight:850;animation:hm-float-alt 7s ease-in-out infinite}
.public-home .public-art-float span {font-size:17px}
.public-home .public-float-top {top:45px;right:-6px;transform:rotate(5deg)}
.public-home .public-float-top span {color:#d89b30}
.public-home .public-float-bottom {bottom:42px;left:-5px;animation-delay:-2s;transform:rotate(-4deg)}
@keyframes hm-float {0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes hm-float-alt {0%,100%{translate:0 0}50%{translate:0 7px}}

/* Geographical scope, accessible native select remains functional */
.public-home .public-filter {margin:0 auto 24px;padding:0;max-width:1180px}
.public-home .public-filter form {display:flex;align-items:center;gap:13px;padding:14px 19px;background:#fff;border:1px solid var(--hm-line);border-radius:16px;box-shadow:0 8px 25px rgba(25,77,83,.035)}
.public-home .public-filter label {display:flex;align-items:center;gap:9px;font-size:13px;font-weight:900;color:var(--hm-ink)}
.public-home .public-filter label::before {content:"⌖";display:grid;place-items:center;width:29px;height:29px;border-radius:9px;color:#087f85;background:#e8f7f5;font-size:22px}
.public-home .public-filter select {min-width:255px;min-height:43px;max-width:100%;padding:8px 12px;border-radius:11px;border:1px solid #dbe9ea;color:#285063;background:#fafdfe;font-size:13px;cursor:pointer}

/* Stats cards and flexible data sections */
.public-home .public-section {background:#fff;margin:0 auto 24px;padding:34px 35px 37px;border-radius:23px;border:1px solid #e6eef0;box-shadow:var(--hm-shadow)}
.public-home .public-stats {padding:0;border:0;box-shadow:none;background:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}
.public-home .public-tile {position:relative;min-width:0;display:flex;align-items:flex-start;flex-direction:column;text-align:right;gap:7px;padding:24px 23px 22px;background:#fff;border:1px solid #e4eef0;border-radius:20px;
  box-shadow:0 12px 35px rgba(31,78,87,.045);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.public-home .public-tile::before {content:"";position:absolute;right:0;top:0;left:0;height:4px;background:linear-gradient(90deg,#30c6ba,#078b99);opacity:.7}
.public-home .public-tile:nth-child(2)::before {background:linear-gradient(90deg,#e2bb66,#e0a140)}
.public-home .public-tile:nth-child(3)::before {background:linear-gradient(90deg,#94a3f3,#686dd9)}
.public-home .public-tile:nth-child(4)::before {background:linear-gradient(90deg,#8dd1bb,#4a9f85)}
.public-home .public-tile>span {width:46px;height:46px;margin-bottom:3px;display:grid;place-items:center;font-size:23px;border-radius:14px;color:#0a8691;background:#e9f8f6}
.public-home .public-tile:nth-child(2)>span {color:#b47a1c;background:#fff7e6}
.public-home .public-tile:nth-child(3)>span {color:#6e6fd8;background:#f0f0ff}
.public-home .public-tile:nth-child(4)>span {color:#308970;background:#eaf7f0}
.public-home .public-tile strong {display:block;color:#183547;font-size:clamp(24px,2.2vw,34px);font-weight:900;line-height:1.3;font-variant-numeric:tabular-nums}
.public-home .public-tile small {font-size:12px;font-weight:750;color:#728895;line-height:1.75}
.public-home .public-tile:hover {transform:translateY(-5px);box-shadow:0 20px 40px rgba(31,78,87,.1);border-color:#cfe8e6}
.public-home .public-section-head {text-align:right;margin:0 0 24px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.public-home .public-section-head .pill {display:inline-flex;align-items:center;background:#eaf8f5;color:#087c82;font-size:11px;font-weight:850;border-radius:50px;padding:5px 12px;margin-bottom:7px}
.public-home .public-section-head h2 {font-size:clamp(22px,2.1vw,29px);font-weight:900;color:#183448;letter-spacing:-.45px;margin:0;line-height:1.5}
.public-home .public-section-head p {margin:0;color:#8094a0;font-size:13px;line-height:1.9}
.public-home .public-section-head::after {content:"";width:50px;height:3px;border-radius:4px;background:linear-gradient(90deg,#48c6b7,#0b8290);margin-top:12px}
.public-home .public-list {max-width:none;display:grid;gap:11px}
.public-home .public-rank {display:flex;align-items:center;gap:15px;min-width:0;padding:16px 19px;background:#fafcfd;border:1px solid #ecf1f3;border-radius:15px;transition:transform .22s,background .22s,border-color .22s}
.public-home .public-rank:hover {transform:translateX(-3px);background:#f3faf9;border-color:#cce9e6}
.public-home .public-rank:nth-child(1) {background:linear-gradient(90deg,#fff,#fffcf3);border-color:#f2e9cd}
.public-home .public-rank:nth-child(2) {background:linear-gradient(90deg,#fff,#f9fafc)}
.public-home .public-rank-icon {display:grid;place-items:center;flex:none;width:49px;height:49px;font-size:24px;border-radius:15px;background:#eaf4f6}
.public-home .public-rank:nth-child(1) .public-rank-icon {background:#fff1c9}
.public-home .public-rank:nth-child(2) .public-rank-icon {background:#edf0f4}
.public-home .public-rank:nth-child(3) .public-rank-icon {background:#fff0e7}
.public-home .public-rank>div {display:flex;flex:1;min-width:0;flex-direction:column;gap:0}
.public-home .public-rank b {font-size:14px;font-weight:900;color:#1d3c4d}
.public-home .public-rank small {color:#8a9ca5;font-size:11px}
.public-home .public-rank strong {flex:none;color:#0a858a;font-size:14px;font-weight:900;white-space:nowrap}
.public-home .public-mini-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.public-home .public-mini-card {position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:160px;gap:8px;padding:23px 22px;
  background:#fbfdfd;border:1px solid #e9eff1;border-radius:17px;transition:transform .24s,box-shadow .24s,border-color .24s}
.public-home .public-mini-card:hover {transform:translateY(-4px);box-shadow:0 15px 30px rgba(20,70,76,.08);border-color:#c7e8e4}
.public-home .public-mini-card>span:first-child {display:grid;place-items:center;font-size:25px;width:49px;height:49px;min-height:49px;border-radius:14px;background:#e9f7f4;color:#0a8991;margin-bottom:4px}
.public-home .public-mini-card b {font-size:15px;font-weight:850;color:#244154;line-height:1.6}
.public-home .public-mini-card p,.public-home .public-mini-card small {font-size:12px;color:#78909b;line-height:1.85;margin:0}
.public-home .public-mini-card strong {font-size:14px;color:#0b8088;font-weight:850}
.public-home .public-empty {background:#f8fbfb;border:1px dashed #dbe8e9;border-radius:15px;min-height:112px;display:grid;place-items:center;padding:26px;text-align:center;font-size:13px;color:#899da8;margin:0}
.public-home .public-section-features {background:linear-gradient(180deg,#fff,#f6fbf9)}
.public-home .public-section-features .public-mini-card {background:#fff}

/* Closing invitation and footer */
.public-home .public-join-banner {position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;
  margin:9px auto 27px;padding:32px 43px;background:linear-gradient(120deg,#dff6f0,#ebf9fb);border:1px solid #d9efeb;border-radius:23px}
.public-home .public-join-banner::after {content:"✦";position:absolute;inset:auto auto -92px 23%;font-size:235px;line-height:1;color:#c0e8dd;opacity:.37;pointer-events:none}
.public-home .public-join-banner>div,.public-home .public-join-banner>.btn {position:relative;z-index:1}
.public-home .public-join-kicker {display:block;margin-bottom:3px;color:#0c878b;font-weight:900;font-size:12px}
.public-home .public-join-banner h2 {font-size:clamp(20px,2.3vw,28px);color:#173c4a;margin:0 0 5px;font-weight:900}
.public-home .public-join-banner p {color:#66818b;font-size:13px;margin:0}
.public-home .public-join-banner .public-join-btn {flex:none;background:#0d7f87;color:#fff;border-color:#0d7f87;padding:14px 23px;min-height:54px}
.public-home .public-join-banner .public-join-btn:hover {background:#075e68;box-shadow:0 10px 20px rgba(5,109,115,.2)}
.public-home .landing-footer.public-footer {max-width:none;margin-top:26px;background:#102c3c;color:#b7cbd3;padding:0 20px;text-align:right}
.public-home .public-footer-inner {display:flex;align-items:center;justify-content:space-between;gap:24px;margin:auto;padding:33px 0 27px}
.public-home .public-footer-brand {display:flex;align-items:center;gap:12px}
.public-home .public-footer-mark {width:43px;height:43px;border-radius:13px;background:linear-gradient(145deg,#12969a,#0e687c);display:grid;place-items:center;color:white;font-size:24px}
.public-home .public-footer-brand>div {display:flex;flex-direction:column}
.public-home .public-footer-brand strong {color:white;font-size:16px;font-weight:900}
.public-home .public-footer-brand small {color:#90acb7;font-size:11px}
.public-home .public-footer-links {display:flex;align-items:center;flex-wrap:wrap;gap:21px}
.public-home .public-footer-links a {color:#cce1e6;font-size:12px;font-weight:750}
.public-home .public-footer-links a:hover {color:#7ce5d5}
.public-home .public-footer-bottom {display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:auto;padding:17px 0;border-top:1px solid rgba(226,248,248,.12);color:#8aa6b1;font-size:11px}

/* Visual-only scroll/entrance animations; content is never initially hidden. */
.public-home .hm-reveal {animation:hm-enter .65s cubic-bezier(.2,.75,.3,1) both}
@keyframes hm-enter {from{opacity:.6;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
.public-home .public-hero .hero-ctas a, .public-home .public-footer-links a {transition:color .2s ease,background .2s ease,transform .2s ease}
@media(max-width:1220px){
  .public-home .public-nav,.public-home .public-hero,.public-home .public-section,.public-home .public-stats,.public-home .public-filter,.public-home .public-join-banner {margin-left:20px;margin-right:20px}
  .public-home .public-hero {padding:50px 45px}
  .public-home .public-float-top{right:-12px}.public-home .public-float-bottom{left:-12px}
}
@media(max-width:910px){
  .public-home .public-hero{grid-template-columns:1.1fr .9fr;gap:0;padding:42px 34px;min-height:455px}
  .public-home .public-hero-main h1{font-size:clamp(33px,4.7vw,50px)}
  .public-home .public-hero-art{min-height:320px;scale:.88;transform-origin:center}
  .public-home .public-hero .hero-ctas .btn{font-size:12px;padding:12px 14px}
  .public-home .public-tile{padding:22px 16px}
  .public-home .public-stats{gap:10px}
}
@media(max-width:730px){
  .public-home .public-nav{margin:9px 12px 0;min-height:64px;top:7px;padding:10px 12px;border-radius:15px;gap:10px}
  .public-home .public-brand-text b{font-size:13px;max-width:160px}
  .public-home .public-brand-text small{font-size:9px}
  .public-home .public-nav .brand-mark,.public-home .public-nav .brand-logo{width:39px;height:39px;border-radius:12px;font-size:21px}
  .public-home .public-nav-actions{gap:6px}
  .public-home .public-nav-actions .btn{font-size:10px;min-height:36px;padding:7px 9px;border-radius:9px}
  .public-home .public-hero{grid-template-columns:1fr;margin:15px 12px 18px;padding:36px 26px 12px;border-radius:22px;gap:7px}
  .public-home .public-hero-main h1{font-size:clamp(34px,8vw,47px);margin:19px 0 11px;letter-spacing:-.8px}
  .public-home .public-hero-main>p{font-size:13px;line-height:2}
  .public-home .public-hero .hero-ctas {margin-top:19px}
  .public-home .public-hero .hero-ctas .btn {min-height:45px;font-size:12px}
  .public-home .public-hero-benefits{margin-top:20px;gap:8px 13px;font-size:10px}
  .public-home .public-hero-art{min-height:310px;scale:.9;margin:0 auto -13px;max-width:340px}
  .public-home .public-filter,.public-home .public-section,.public-home .public-stats,.public-home .public-join-banner{margin-left:12px;margin-right:12px}
  .public-home .public-filter form{padding:12px 14px}
  .public-home .public-section{padding:25px 21px 27px;margin-bottom:16px;border-radius:18px}
  .public-home .public-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;margin-bottom:16px}
  .public-home .public-tile{padding:16px 16px 15px;border-radius:15px}
  .public-home .public-tile>span{width:40px;height:40px;font-size:20px;border-radius:12px}
  .public-home .public-tile strong{font-size:25px}
  .public-home .public-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .public-home .public-mini-card{padding:17px;min-height:150px}
  .public-home .public-join-banner{flex-direction:column;align-items:flex-start;gap:17px;padding:26px 22px}
  .public-home .public-footer-inner{flex-direction:column;align-items:flex-start;gap:18px}
}
@media(max-width:460px){
  .public-home .public-nav .public-brand-text small{display:none}
  .public-home .public-brand-text b{max-width:105px;white-space:normal;font-size:12px;line-height:1.3}
  .public-home .public-nav-actions .btn{font-size:9px;padding:6px 8px}
  .public-home .public-nav-actions .btn.primary span{display:none}
  .public-home .public-hero{padding:29px 20px 10px}
  .public-home .public-hero .hero-ctas {flex-direction:column;align-items:stretch}
  .public-home .public-hero-art{scale:.83;min-height:290px;margin:-5px auto -16px}
  .public-home .public-hero-benefits {gap:8px}
  .public-home .public-filter form{align-items:stretch;flex-direction:column}
  .public-home .public-filter select{width:100%;min-width:0}
  .public-home .public-section-head h2{font-size:21px}
  .public-home .public-mini-grid{grid-template-columns:1fr}
  .public-home .public-mini-card{min-height:unset}
  .public-home .public-rank{gap:9px;padding:13px 10px}
  .public-home .public-rank-icon{width:38px;height:38px;font-size:19px}
  .public-home .public-rank strong{font-size:11px}
  .public-home .public-footer-links{gap:12px}
  .public-home .public-footer-bottom{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .public-home *, .public-home *::before, .public-home *::after {scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .public-home .public-hero .public-award-card {translate:none}
}
@media print{
  .public-home .public-nav {position:static}
  .public-home .public-hero,.public-home .public-section,.public-home .public-join-banner{break-inside:avoid}
  .public-home .public-hero-art{animation:none}
}
@media(max-width:380px){
  .public-home .public-nav {flex-wrap:wrap;gap:8px}
  .public-home .public-nav .brand{flex:1 0 100%}
  .public-home .public-brand-text b{max-width:none;font-size:13px}
  .public-home .public-nav-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .public-home .public-nav-actions .btn{width:100%}
}
/* v2.1: editor-customized achievement icon. */
.public-medal .public-hero-custom-icon{font-size:19px;display:block;margin-top:-16px;text-align:center;filter:drop-shadow(0 2px 3px #132e3820)}
