:root{--p:#e8944b;--ink:#3E3023;--muted:#8B7F75;--line:#f5f1ed;--bg:#fffcfa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif}header{position:relative;z-index:50;height:72px;background:#fff;border-bottom:1px solid var(--line);padding:0 max(20px,calc((100% - 1080px)/2));display:flex;align-items:center;justify-content:space-between}.logo{display:flex;gap:10px;align-items:center;font-size:20px;font-weight:850;line-height:1}.logo>.brand-mark{width:40px;height:40px;display:block;object-fit:cover;border-radius:12px;box-shadow:0 4px 10px #e8944b20;flex-shrink:0}.logo div>span{color:var(--p)}.logo small{display:block;font-size:8px;letter-spacing:2px;color:#B3A293;margin-top:5px}.tag{font-size:10px;letter-spacing:1px;background:#fff6ef;color:var(--p);border-radius:20px;padding:10px 13px;font-weight:800}main{max-width:1080px;padding:0 22px;margin:auto}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px;padding:48px 0 30px}.eyebrow{color:var(--p);font-size:10px;font-weight:850;letter-spacing:1.6px}.hero h1{font-size:clamp(40px,5vw,58px);letter-spacing:-2px;line-height:1.04;margin:14px 0}.hero h1 em{font-style:normal;color:var(--p)}p{color:var(--muted);line-height:1.7}.hero p{max-width:460px}.hero button,form button{border:0;background:var(--p);color:white;border-radius:11px;padding:13px 16px;font-weight:750;cursor:pointer;margin:8px 5px 0 0}.hero button.light,.light{background:white;color:var(--ink);border:1px solid #f2e8e0}.art{height:230px;position:relative;display:grid;place-items:center;overflow:hidden}.orb{width:210px;height:210px;background:#fff0e3;border-radius:50%;position:absolute}.fakecard{position:relative;background:#fff;padding:20px;border-radius:18px;box-shadow:0 20px 50px #603E2020;display:flex;flex-direction:column;gap:9px;width:225px;transform:rotate(-4deg)}.fakecard big{font-size:35px}.fakecard small{color:var(--muted)}.fakecard label{background:#f8ede4;color:#79512E;border-radius:20px;padding:7px;font-size:9px;font-weight:850;width:max-content}.art i{position:absolute;right:12%;top:20px;background:white;padding:12px;border-radius:14px;font-size:25px;font-style:normal;box-shadow:0 8px 25px #603E2015}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 5px;margin:8px 0 48px}.stats div{display:flex;align-items:center;flex-direction:column;gap:5px;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats b{font-size:25px;color:var(--p)}.stats small{font-size:11px;color:var(--muted)}.heading{display:flex;justify-content:space-between;align-items:end}.heading h2{font-size:30px;margin:8px 0 18px}.text{border:0;background:none;color:var(--p);font-weight:750;cursor:pointer}.tools{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px}.tools input{flex:1;min-width:0;border:1px solid #f3eae3;border-radius:11px;padding:13px;background:white}.tab{border:0;border-radius:9px;padding:10px 13px;background:#f8f3ee;color:#8B7E73;font-weight:700;cursor:pointer}.tab.active{background:#fff;color:var(--p);box-shadow:0 2px 8px #4431200b}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;min-height:80px}.card,.empty{background:white;border:1px solid var(--line);border-radius:15px;padding:17px}.card{display:flex;flex-direction:column;gap:10px}.cardtop{display:flex;justify-content:space-between;gap:5px}.pill{font-size:10px;font-weight:850;padding:7px 9px;border-radius:20px;background:#fff0ed;color:#b74a36}.pill.found{background:#f8ede4;color:#79512E}.status{font-size:10px;background:#fff5ed;color:var(--p);padding:7px 9px;border-radius:20px}.card h3{margin:0;font-size:17px}.meta,.desc{font-size:12px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.cardbottom{margin-top:auto;border-top:1px solid var(--line);padding-top:10px;display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:11px;color:var(--muted)}.cardbottom select{max-width:110px;border:1px solid var(--line);padding:6px;border-radius:8px} .empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:30px}aside{display:flex;gap:12px;background:#fff6ef;border:1px solid #fff0e2;border-radius:14px;padding:17px;margin:30px 0;font-size:22px}aside b{font-size:13px}aside p{font-size:12px;margin:5px 0 0}footer{display:flex;justify-content:space-between;padding:22px 0 30px;color:#AC9F94;font-size:11px}.overlay{position:fixed;inset:0;background:#3A291A80;display:grid;place-items:center;padding:16px;z-index:5}.hide{display:none!important}.dialog{position:relative;background:white;width:min(650px,100%);max-height:94vh;overflow:auto;padding:27px;border-radius:20px}.x{position:absolute;left:15px;right:auto;top:12px;border:0;border-radius:50%;background:#fff6ef;color:#c67c3b;font-size:28px;line-height:1;width:36px;height:36px;cursor:pointer;display:grid;place-items:center}.dialog:has(> .x){padding-top:58px}.x:hover{background:#ffeee0}.dialog h2{margin:8px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:750}.fields input,.fields select,.fields textarea{width:100%;padding:11px;border:1px solid #f0e7e0;border-radius:9px;font:inherit}.fields .wide{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;gap:8px}.actions .light{border-radius:11px;padding:12px 16px;cursor:pointer}#error{font-size:12px;color:#b42318}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#3E2F21;color:white;border-radius:12px;padding:12px 18px;display:none;z-index:9;font-size:13px}@media(max-width:700px){header{height:64px;padding:0 15px}.tag{font-size:8px;padding:8px}.hero{grid-template-columns:1fr;padding:32px 0 20px}.hero h1{font-size:43px}.art{height:180px}.orb{width:165px;height:165px}.stats{margin-bottom:35px}.stats b{font-size:21px}.stats small{font-size:9px;text-align:center}.tools{flex-direction:column}.tools>div{display:flex}.tab{flex:1;padding:9px 5px}.grid{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}footer{flex-direction:column;gap:8px}.dialog{padding:22px 17px}}

/* Responsive polish for phones, tablets and laptops */
.fields .optional{display:inline;color:var(--muted);font-weight:500}.hint{font-size:11px;color:var(--muted);font-weight:400;line-height:1.5}.photo-preview{display:block;max-width:100%;max-height:220px;object-fit:contain;object-position:left center;border:1px solid var(--line);border-radius:10px;margin-top:8px}.item-photo{width:100%;max-height:220px;object-fit:contain;background:#fffcf9;border-radius:10px;border:1px solid var(--line)}
@media (min-width:701px) and (max-width:1000px){main{padding:0 26px}.hero{gap:14px}.hero h1{font-size:48px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fields{gap:12px}.dialog{width:min(700px,100%)}}
@media(max-width:420px){main{padding:0 15px}.tag{letter-spacing:.4px}.hero h1{font-size:39px;letter-spacing:-1.5px}.hero button{width:100%;margin-right:0}.stats{padding:15px 2px}.stats b{font-size:19px}.stats small{font-size:8px}.heading h2{font-size:26px}.card{padding:14px}.dialog{max-height:92vh;padding:20px 14px}.actions{position:sticky;bottom:-1px;background:white;padding-top:10px}.actions button{flex:1}}


/* Mobile hero: keep the existing look, but bring the dynamic match poster beside the headline. */
.optional{color:var(--muted);font-weight:500}
.item-photo{display:block;width:100%;max-height:220px;object-fit:contain;background:#fffcf9;border-radius:12px}
.fakecard label.match-yes{background:#f8ede4;color:#79512E}
.match-note{margin:12px 0 4px;padding:10px 12px;border-radius:11px;font-size:12px;line-height:1.5}
.match-note.has-match{background:#f8ede4;color:#79512E}
.match-note.no-match{background:#f8f4f1;color:var(--muted)}
@media(max-width:700px){
 .hero{grid-template-columns:minmax(0,1.15fr) minmax(105px,.85fr);grid-template-areas:"eyebrow art" "title art" "desc desc" "lost lost" "found found" "chat chat";align-items:center;column-gap:10px;row-gap:0;padding:27px 0 20px}
 .hero>div:first-child{display:contents}
 .hero .eyebrow{grid-area:eyebrow;align-self:end;font-size:8px;letter-spacing:1px;line-height:1.5}
 .hero h1{grid-area:title;font-size:clamp(29px,8.5vw,39px);letter-spacing:-1.4px;line-height:1.02;margin:8px 0 14px;overflow-wrap:normal}
 .hero p{grid-area:desc;margin:0 0 10px;font-size:15px;line-height:1.55;max-width:none}
 .hero button:nth-of-type(1){grid-area:lost}
 .hero button:nth-of-type(2){grid-area:found}
 .hero button{width:100%;margin:5px 0;padding:12px 10px;font-size:14px}
 .art{grid-area:art;height:auto;min-height:130px;overflow:visible;align-self:center;width:100%;margin:0}
 .orb{width:clamp(90px,27vw,145px);height:clamp(90px,27vw,145px)}
 .fakecard{width:clamp(105px,34vw,155px);padding:10px;border-radius:13px;gap:6px;transform:rotate(-4deg);z-index:1}
 .fakecard big{font-size:25px}
 .fakecard b{font-size:11px;line-height:1.2;overflow-wrap:anywhere}
 .fakecard small{font-size:9px;line-height:1.3}
 .fakecard label{font-size:7px;padding:5px 6px;white-space:normal}
 .art i{right:-4px;top:-8px;padding:7px;font-size:17px}
}
@media(max-width:360px){.hero{grid-template-columns:minmax(0,1.1fr) minmax(95px,.8fr);column-gap:7px}.hero h1{font-size:28px}.hero .eyebrow{font-size:7px}.fakecard{width:100px;padding:8px}.fakecard label{font-size:6px}}

/* Complete frontend navigation, advanced filters, and helpful sections */
.navlinks{display:flex;align-items:center;gap:18px;margin-left:auto;margin-right:20px}
.navlinks a,footer a{color:var(--muted);font-size:12px;font-weight:700;text-decoration:none}
.navlinks a:hover,footer a:hover{color:var(--p)}
.filters{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:10px;margin:-7px 0 18px;align-items:end}
.filters label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:750;color:var(--muted)}
.filters input,.filters select{width:100%;min-width:0;padding:10px;border:1px solid #f3eae3;border-radius:10px;background:#fff;color:var(--ink);font:inherit}
.clearfilters{padding:10px;border-radius:10px;cursor:pointer;white-space:nowrap}
.board-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;margin:-4px 0 12px}
.how{padding:28px 0 8px}
.how h2{font-size:30px;margin:8px 0 18px}
.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.how-grid article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px}
.how-grid b{color:var(--p);font-size:14px}
.how-grid p{font-size:12px;margin-bottom:0}
.contact-line{font-size:12px;color:var(--muted)}
.contact-line a{color:var(--p);font-weight:750;text-decoration:none}
footer{gap:14px;align-items:center}
@media(max-width:850px){header{gap:10px}.navlinks{gap:10px;margin-right:4px}.navlinks a{font-size:11px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.clearfilters{width:100%}}
@media(max-width:700px){header{flex-wrap:wrap;height:auto;min-height:64px;padding:10px 15px}.navlinks{order:3;width:100%;justify-content:space-between;margin:5px 0 0;gap:8px}.navlinks a{font-size:10px}.tag{margin-left:auto}.filters{grid-template-columns:1fr 1fr}.how-grid{grid-template-columns:1fr}.how h2{font-size:26px}.board-meta{margin-top:0}}
@media(max-width:360px){.navlinks a{font-size:9px}.filters{grid-template-columns:1fr}.logo{font-size:18px}.tag{font-size:7px}}

/* Responsive hamburger navigation: menu becomes a page-like panel on phones/tablets. */
.menu-toggle{display:none;border:0;background:#fff5ed;color:var(--p);font-size:27px;line-height:1;width:44px;height:44px;border-radius:12px;cursor:pointer;align-items:center;justify-content:center}
.navlinks a.current{color:var(--p)}
#home,#board,#howItWorks,#help{scroll-margin-top:18px}
@media(max-width:850px){
 header{position:relative;z-index:20}
 .menu-toggle{display:flex;margin-left:4px;order:4}
 .tag{order:2}
 .navlinks{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;width:auto;margin:0;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:0 0 18px 18px;box-shadow:0 18px 30px #44312018;z-index:30;flex-direction:column;align-items:stretch;gap:4px}
 .navlinks.menu-open{display:flex}
 .navlinks a{display:flex;align-items:center;min-height:46px;padding:10px 12px;border-radius:10px;font-size:14px}
 .navlinks a:hover,.navlinks a.current{background:#fff8f1;color:var(--p)}
}
@media(min-width:851px){.navlinks{display:flex}.menu-toggle{display:none}}
@media(max-width:520px){header{display:flex;flex-wrap:nowrap;padding:10px 14px;gap:7px}.logo{font-size:18px;gap:8px}.logo>span{width:38px;height:38px;font-size:27px}.tag{font-size:7px;letter-spacing:.3px;padding:8px}.menu-toggle{flex:0 0 40px;width:40px;height:40px;font-size:24px;margin:0}.navlinks{top:100%}}
@media(min-width:521px) and (max-width:850px){header{display:flex;flex-wrap:nowrap;padding:10px 20px}.menu-toggle{order:4}.navlinks{top:100%}}

/* Navigation dialogs: popup-first interactions on every device */
.nav-dialog{max-width:560px}
.nav-dialog #navPopupBody{color:var(--muted);line-height:1.6}
.nav-dialog #navPopupBody p{margin:10px 0}
.nav-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.nav-filter-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:750;color:var(--muted)}
.nav-filter-grid input,.nav-filter-grid select{width:100%;min-width:0;padding:11px;border:1px solid #f3eae3;border-radius:10px;background:#fff;color:var(--ink);font:inherit}
.popup-steps p{padding:12px 14px;background:#fffaf5;border-radius:12px}
.popup-steps b{color:var(--p)}
@media(max-width:520px){.nav-dialog{width:calc(100vw - 28px);max-height:86vh;overflow-y:auto;padding:22px 18px}.nav-filter-grid{grid-template-columns:1fr;gap:10px}.nav-dialog .actions{position:sticky;bottom:-22px;background:#fff;padding:12px 0 0}}

/* Navigation popup content replaces duplicate inline controls/sections */
#board .tools,#board .filters{display:none!important}
#board .board-meta{display:flex;justify-content:flex-start;margin:0 0 14px;color:var(--muted);font-size:12px}
#board .board-meta #resultCount{display:block}

/* Fix: navigation popup must sit above header on all device sizes. */
#navPopup{z-index:1000!important}
#navPopup .nav-dialog{position:relative;z-index:1001}
#navPopup .x{z-index:3}
#mainNav{z-index:1002}
#mainNav a{cursor:pointer;touch-action:manipulation}
.menu-toggle{position:relative;z-index:1003;touch-action:manipulation}
@media(max-width:850px){#mainNav.menu-open{z-index:1002}}

/* Modal action alignment: when only one action is available, center it. */
#navPopup .actions.single-action{display:flex;justify-content:center;align-items:center}
#navPopup .actions.single-action #navPopupOk{display:block;margin-inline:auto;min-width:min(100%,240px)}
#navPopup .actions.single-action #navPopupOk.hide{display:none!important}
#navPopup .actions .light.hide{display:none!important}

/* Keep a visible quick-search on the community board; advanced filters stay in Browse Items popup. */
.board-search{margin:18px 0 12px}
.board-search input{width:100%;min-height:54px;padding:14px 18px;border:1px solid var(--line,#ebe6e1);border-radius:18px;background:#fff;color:var(--ink,#3B2E23);font:inherit;outline:none}
.board-search input:focus{border-color:var(--purple,#E89750);box-shadow:0 0 0 3px rgba(232,151,80,.12)}

/* Prominent top-of-board search bar for item, category, location and description matching. */
#board>.board-search{margin:0 0 24px;position:relative;z-index:1}
#board>.board-search input{display:block;width:100%;height:58px;padding:14px 20px;border:1px solid #ede6df;border-radius:18px;background:#fff;color:#3B2E23;font-size:16px;box-shadow:0 8px 24px rgba(75,48,25,.05)}
#board>.board-search input::placeholder{color:#918880;opacity:1}
#board>.board-search input:focus{outline:3px solid rgba(232,149,76,.16);border-color:#E89750}

/* Global search sits immediately below the CampusFind header on every screen size. */
body>.board-search{display:block;width:min(1120px,calc(100% - 48px));margin:18px auto 0;position:relative;z-index:2}
body>.board-search input{display:block;width:100%;height:56px;padding:14px 20px;border:1px solid #ede6df;border-radius:18px;background:#fff;color:#3B2E23;font-size:16px;box-shadow:0 8px 24px rgba(75,48,25,.05)}
body>.board-search input::placeholder{color:#918880;opacity:1}
body>.board-search input:focus{outline:3px solid rgba(232,149,76,.16);border-color:#E89750}
#board>.board-search{display:none!important}
@media(max-width:700px){body>.board-search{width:calc(100% - 32px);margin:12px auto 0}body>.board-search input{height:52px;border-radius:15px}}

/* Keep the home view focused on the complete Lost & Found list.
   Search and the Browse reports heading appear only after Browse items is confirmed. */
.board-search.hidden-search{display:block!important}
body.browse-mode .board-search.hidden-search{display:block!important}
#board.default-list-mode .heading,
#board.default-list-mode .board-meta{display:none}
#board.default-list-mode{margin-top:36px}
#board.browse-results-mode .heading,
#board.browse-results-mode .board-meta{display:flex}

/* Clickable dashboard statistics */
.stats > button { font: inherit; color: inherit; background: #fff; border: 0; border-right: 1px solid #f8f1ea; cursor: pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:100%; min-width:0; padding:18px 8px; border-radius:0; }
.stats > button:last-child { border-right:0; }
.stats > button:hover { background:#fffbf8; }
.stats > button:focus-visible { outline:2px solid #ffdbbc; outline-offset:-4px; border-radius:12px; z-index:1; }
.stats > button.selected { background:#fff6ef; box-shadow:inset 0 0 0 1px #ffecdb; border-radius:12px; }
.stats > button b { color:#E89750; font-size:1.5rem; }
.stats > button small { font-size:.8rem; color:#877D74; text-align:center; }

/* Keep dashboard filters polished: avoid a harsh square outline after tapping. */
.stats > button { transition:background .18s ease, box-shadow .18s ease; -webkit-tap-highlight-color:transparent; }
.stats > button:focus:not(:focus-visible) { outline:none; }

/* Navigation popup action buttons: restore clear, accessible button styling. */
#navPopup .nav-dialog .actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  width: 100%;
}
#navPopup .nav-dialog .actions button {
  min-height: 46px;
  padding: 12px 22px;
  border: 1px solid #e8944b;
  border-radius: 12px;
  background: #e8944b;
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.25;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(232,148,75,.16);
  white-space: normal;
}
#navPopup .nav-dialog .actions button:hover { background: #d0813b; }
#navPopup .nav-dialog .actions button:active { transform: translateY(1px); }
#navPopup .nav-dialog .actions button:focus-visible { outline: 3px solid #ffdfc3; outline-offset: 3px; }
#navPopup .nav-dialog .actions button.light { background: #fff; color: var(--ink); border-color: #f2e8e0; box-shadow: none; }
#navPopup .nav-dialog .actions.single-action #navPopupOk {
  width: auto;
  min-width: 220px;
  max-width: 100%;
  margin: 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
#navPopup .nav-dialog .actions #navPopupOk.hide { display: none !important; }
#navPopup .nav-dialog .actions .light.hide { display: none !important; }
@media (max-width: 520px) {
  #navPopup .nav-dialog .actions { margin-top: 18px; }
  #navPopup .nav-dialog .actions.single-action #navPopupOk { width: 100%; min-width: 0; }
  #navPopup .nav-dialog .actions button { min-height: 48px; }
}

/* First-open account gate */
body.auth-locked > header,
body.auth-locked > .board-search,
body.auth-locked > main { display:none !important; }
.auth-gate{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;overflow:auto;padding:24px;background:radial-gradient(circle at 10% 15%,#fff3e9 0,transparent 32%),radial-gradient(circle at 92% 88%,#f8ebdf 0,transparent 32%),#fffbf7}
.auth-card{width:min(440px,100%);padding:clamp(25px,5vw,42px);border:1px solid #f6ece4;border-radius:26px;background:rgba(255,255,255,.96);box-shadow:0 25px 80px rgba(88,56,28,.13);text-align:center}
.auth-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 25px;text-align:left;color:var(--ink);font-size:29px;font-weight:900;line-height:1}
.auth-brand-mark{display:block;width:58px;height:58px;object-fit:cover;border-radius:17px;box-shadow:0 8px 20px #e8944b33;flex-shrink:0}
.auth-brand-name>span{color:var(--p)}
.auth-brand-name small{display:block;margin-top:8px;color:#A8998C;font-size:9px;letter-spacing:2.3px;font-weight:800}
.auth-kicker{margin:0;color:var(--p);font-size:10px;letter-spacing:1.7px;font-weight:850}
.auth-card>.auth-kicker{display:block;margin:0 0 2px;text-align:center;line-height:1.3}
.auth-card h1{margin:10px 0 8px;font-size:clamp(24px,5vw,31px);letter-spacing:-.9px;line-height:1.15;color:var(--ink)}
.auth-description,.auth-form-hint{margin:0 auto 25px;max-width:330px;color:var(--muted);font-size:13px;line-height:1.6}
.auth-choices{display:grid;gap:12px;margin-top:26px}
.auth-choices button,.auth-primary{display:block;width:100%;min-height:49px;border:1px solid var(--p);border-radius:12px;background:var(--p);color:#fff;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 6px 16px #e8944b29;transition:transform .15s,background .15s}
.auth-choices button:hover,.auth-primary:hover{background:#d0813b;transform:translateY(-1px)}
.auth-choices .auth-secondary{background:#fff;color:var(--p);box-shadow:none}
.auth-choices .auth-secondary:hover{background:#fff9f3}
#authFormPanel{margin-top:25px;text-align:left}
#authFormPanel h2{margin:0 0 8px;text-align:center;font-size:25px;color:var(--ink)}
#authFormPanel .auth-form-hint{text-align:center;margin-bottom:21px}
#authForm{display:grid;gap:8px}
#authForm label{margin-top:5px;color:var(--ink);font-size:12px;font-weight:800}
#authForm input{width:100%;min-height:47px;padding:12px 13px;border:1px solid #f2e7de;border-radius:11px;background:#fff;color:var(--ink);font:inherit;outline:none}
#authForm input:focus{border-color:var(--p);box-shadow:0 0 0 3px #e8944b1c}
#authForm .auth-primary{margin-top:6px}
.auth-error{min-height:0;margin:0;color:#b42318;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.auth-footnote{margin:22px 0 0;color:#A89B90;font-size:10px;line-height:1.5}
.logout-nav{color:#b42318!important}
@media(max-width:520px){.auth-gate{padding:14px}.auth-card{padding:26px 21px;border-radius:22px}.auth-brand{font-size:26px;margin-bottom:23px}.auth-brand-mark{width:52px;height:52px;font-size:38px}.auth-card h1{font-size:25px}}

/* Signed-in greeting replaces the hamburger icon and doubles as the phone menu trigger. */
.profile-trigger{
  appearance:none;-webkit-appearance:none;border:0;cursor:pointer;flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:42px;padding:11px 15px;line-height:1.2;font:inherit;font-size:12px;
  font-weight:800;letter-spacing:0;white-space:nowrap;touch-action:manipulation;
  transition:background .16s ease,transform .16s ease;
}
.profile-trigger:hover{background:#fff1e4}
.profile-trigger:active{transform:translateY(1px)}
 .profile-trigger:focus-visible{outline:3px solid #ffdfc3;outline-offset:3px}
/* Desktop account dropdown: Profile first, Log out directly beneath it. */
.profile-dropdown{position:absolute;top:calc(100% + 8px);right:max(20px,calc((100% - 1080px)/2));z-index:1200;min-width:168px;padding:7px;background:#fff;border:1px solid #fbf1e8;border-radius:14px;box-shadow:0 16px 35px rgba(75,48,25,.16);}
.profile-dropdown[hidden]{display:none!important}
.profile-dropdown button{display:flex;align-items:center;width:100%;min-height:42px;padding:10px 13px;border:0;border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:750;text-align:left;cursor:pointer}
.profile-dropdown button:hover,.profile-dropdown button:focus-visible{background:#fff8f2;color:var(--p);outline:none}
.profile-dropdown .dropdown-logout{color:#b42318}
@media(min-width:851px){#mainNav a[data-page="profile"],#mainNav .logout-nav{display:none!important}}
@media(max-width:850px){
  .profile-trigger{order:2;position:relative;z-index:1003;margin-left:auto;}
  #mainNav.menu-open{display:flex}
}
@media(max-width:520px){
  .tag.profile-trigger{font-size:12px;letter-spacing:0;padding:10px 12px;min-height:40px;max-width:118px}
  .logo{flex-shrink:0}
  #mainNav{top:100%;}
}
.profile-fields .profile-phone{grid-column:1/-1}
#profileError{margin-top:8px}

/* The sign-in screen intentionally has no security footnote below the Back button. */
.auth-footnote{display:none!important}

/* CampusFind community chat */
.community-chat-launch{background:#fff!important;color:var(--p)!important;border:1px solid #feedde!important;box-shadow:0 5px 18px #e8944b12}
.community-chat-dialog{width:min(650px,100%);display:flex;flex-direction:column;max-height:88vh;min-height:min(560px,80vh);padding:25px}
.community-chat-dialog h2{margin:7px 0 0}.chat-intro{font-size:12px;margin:5px 0 12px}.chat-messages{flex:1;min-height:220px;max-height:55vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:13px;background:#fffaf6;border:1px solid #f7f1eb;border-radius:15px;overscroll-behavior:contain}
.chat-row{display:flex;align-items:flex-end;gap:7px;max-width:88%;touch-action:pan-y}.chat-row.mine{align-self:flex-end;flex-direction:row-reverse}.chat-avatar{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;background:#ffeee0;color:#c67c3b;font-weight:850;font-size:12px}.chat-bubble{min-width:80px;max-width:100%;padding:9px 11px;border-radius:15px 15px 15px 4px;background:white;border:1px solid #f7efe8;box-shadow:0 2px 5px #3A291A06;overflow-wrap:anywhere}.chat-row.mine .chat-bubble{background:#e8944b;color:#fff;border-color:#e8944b;border-radius:15px 15px 4px 15px}.chat-author{font-size:10px;font-weight:850;color:#D48948;margin-bottom:4px}.chat-row.mine .chat-author{display:none}.chat-text{font-size:13px;white-space:pre-wrap;line-height:1.45}.chat-time{font-size:9px;color:#AD9F93;text-align:right;margin-top:5px}.chat-row.mine .chat-time{color:#ffeddd}.chat-quoted{border-left:3px solid #edaa70;background:#fff6ef;color:#775C44;padding:5px 7px;margin-bottom:6px;border-radius:5px;font-size:10px}.chat-row.mine .chat-quoted{background:#CB884D;color:#fff5ed;border-color:#ffe0c5}.chat-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:5px}.chat-actions button{border:0;background:transparent;color:inherit;opacity:.75;font-size:10px;padding:2px 0;cursor:pointer}.chat-reply-preview{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;margin-top:8px;background:#fff5ec;border-left:3px solid var(--p);border-radius:9px}.chat-reply-preview span{display:flex;flex-direction:column;gap:3px;min-width:0}.chat-reply-preview b{font-size:10px;color:var(--p)}.chat-reply-preview small{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:440px}.chat-reply-preview button{border:0;background:transparent;font-size:28px;line-height:1;color:var(--muted);cursor:pointer;min-width:28px;min-height:28px}.chat-compose{display:flex;align-items:flex-end;gap:8px;margin-top:9px}.chat-compose textarea{resize:none;flex:1;min-width:0;max-height:100px;padding:12px;border:1px solid #f3e7dc;border-radius:13px;font:inherit;font-size:13px;outline-color:var(--p)}.chat-compose button{border:0;background:var(--p);color:#fff;border-radius:12px;padding:13px 15px;font-weight:800;cursor:pointer}.chat-footnote{display:block;color:#AA9D92;font-size:10px;margin-top:8px}.chat-row.swipe-hint{transform:translateX(8px);transition:transform .12s}
@media(max-width:700px){.hero button.community-chat-launch{grid-area:chat}.hero button:nth-of-type(2){grid-area:found}.hero button:nth-of-type(3){grid-area:chat}.community-chat-dialog{width:calc(100vw - 24px);max-height:88dvh;min-height:72dvh;padding:22px 13px 13px}.chat-messages{max-height:none;min-height:220px;padding:9px}.chat-row{max-width:94%}.chat-bubble{padding:8px 10px}.chat-intro{padding-right:20px}.chat-footnote{line-height:1.4}}


/* Full-screen CampusFind community chat (desktop + mobile). */
body.chat-fullscreen-open{overflow:hidden!important;overscroll-behavior:none}
#communityChatOverlay:not(.hide){position:fixed;inset:0;padding:0;display:block;overflow:hidden;width:100vw;height:100vh;height:100dvh;background:rgba(42,29,18,.48);z-index:5000}
.community-chat-dialog{position:absolute;inset:0;width:100%;height:100vh;height:100dvh;max-height:none;min-height:0;margin:0;padding:20px clamp(14px,3vw,38px) max(12px,env(safe-area-inset-bottom));border-radius:0;overflow:hidden;display:flex;flex-direction:column;gap:10px;background:#fff}
.chat-topbar{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:46px;padding:0 52px}
.chat-topbar h2{margin:0;text-align:center;font-size:clamp(18px,2vw,23px);line-height:1.2}
.chat-topbar .x{top:50%;right:0;transform:translateY(-50%);z-index:2}
.chat-intro,.chat-footnote{display:none!important}
.chat-messages{flex:1 1 0;min-height:0;max-height:none;height:auto;width:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px;background:#fffaf6;border:1px solid #f7f1eb;border-radius:16px;display:flex;flex-direction:column;gap:10px;scrollbar-gutter:stable}
.chat-row{max-width:min(78%,780px)}
.chat-bubble{min-width:0;padding:8px 11px}
.chat-author{display:none!important}
.chat-actions{display:none}
.chat-row.actions-open .chat-actions{display:flex}
.chat-actions button{font-size:11px;padding:4px 2px}
.chat-time{font-size:10px;line-height:1.2;margin-top:4px}
.chat-quoted{display:block}
.chat-reply-preview{flex:0 0 auto;margin-top:0}
.chat-compose{flex:0 0 auto;margin:0;padding-bottom:env(safe-area-inset-bottom);align-items:flex-end}
.chat-compose textarea{font-size:16px;line-height:1.35;min-height:44px;max-height:112px;overflow-y:auto}
.chat-compose button{min-height:44px;white-space:nowrap}
@media(max-width:700px){
  #communityChatOverlay:not(.hide){top:var(--chat-vv-top,0px);height:var(--chat-vv-height,100dvh);min-height:0;}
  .community-chat-dialog{inset:0;width:100%;height:100%;min-height:0;max-height:none;padding:calc(8px + env(safe-area-inset-top)) 10px calc(8px + env(safe-area-inset-bottom));gap:8px;border-radius:0}
  .chat-topbar{min-height:42px;padding:0 45px}
  .chat-topbar h2{font-size:19px}
  .chat-topbar .x{width:34px;height:34px;font-size:22px;right:0}
  .chat-messages{min-height:0;padding:10px 8px;border-radius:12px;gap:8px}
  .chat-row{max-width:92%;gap:5px}
  .chat-avatar{width:28px;height:28px;flex-basis:28px}
  .chat-bubble{padding:8px 10px}
  .chat-text{font-size:14px;line-height:1.38}
  .chat-time{font-size:10px}
  .chat-compose{gap:7px;align-items:flex-end;padding-bottom:0}
  .chat-compose textarea{min-height:44px;padding:10px 12px;font-size:16px;border-radius:22px;max-height:96px}
  .chat-compose button{min-height:44px;padding:10px 14px;border-radius:22px}
  .chat-reply-preview{padding:7px 9px}
  .chat-reply-preview small{max-width:70vw}
  /* On phones, Reply is triggered by swiping a message, never by tapping it. */
  .chat-row.actions-open .chat-actions{display:none!important}
}


/* Clickable community-chat member avatars and their compact profile card. */
.chat-avatar-button{border:0;padding:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.chat-avatar-button:hover,.chat-avatar-button:focus-visible{transform:scale(1.07);box-shadow:0 0 0 3px #ffe6d1;outline:none}
.chat-user-profile-overlay{position:fixed;inset:0;z-index:6200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(45,31,18,.48)}
.chat-user-profile-overlay.hide{display:none!important}
.chat-user-profile-card{position:relative;width:min(360px,100%);padding:34px 24px 28px;background:#fff;border:1px solid #fbf1e8;border-radius:24px;box-shadow:0 24px 70px rgba(53,35,20,.25);text-align:center}
.chat-user-profile-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:#faf5f0;color:#635243;font-size:23px;cursor:pointer}
.chat-user-profile-avatar{width:88px;height:88px;margin:8px auto 16px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#fff2e7,#ffe3ca);border:3px solid #fff;box-shadow:0 0 0 2px #EDA260,0 10px 25px rgba(195,126,65,.2);color:#c67c3b;font-size:35px;font-weight:850}
.chat-user-profile-card h2{margin:0;color:var(--ink);font-size:22px;line-height:1.3;overflow-wrap:anywhere}
.chat-user-profile-username{margin:7px 0 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
@media(max-width:700px){.chat-user-profile-overlay{padding:18px}.chat-user-profile-card{width:min(340px,100%);padding:30px 20px 25px;border-radius:22px}.chat-user-profile-avatar{width:80px;height:80px;font-size:32px}}

/* Required registration fields */
.auth-register-fields{display:grid;gap:8px}
.auth-register-fields[hidden]{display:none!important}
.auth-register-fields label{margin-top:5px!important}

/* Profile identity on reports, styled like a small social-post author header. */
.post-author{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin:-2px 0 3px;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;text-decoration:none}
.post-author-link{cursor:pointer}
.post-author-link:hover .post-author-name,.post-author-link:focus-visible .post-author-name{color:var(--p);text-decoration:underline}
.post-author-link:focus-visible{outline:2px solid #ffdfc3;outline-offset:3px;border-radius:30px}
.post-author-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffe4cc;background:linear-gradient(135deg,#fff4ea,#ffe8d4);color:#c67c3b;font-size:13px;font-weight:850}
.post-author-name{font-size:12px;font-weight:850;overflow-wrap:anywhere}

/* Full-screen public profile opened from chat avatars or report authors. */
.community-profile-page{position:fixed;inset:0;z-index:7000;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);color:var(--ink)}
.community-profile-page.hide{display:none!important}
body.public-profile-open{overflow:hidden!important;overscroll-behavior:none}
header.community-profile-topbar{position:relative;top:auto;left:auto;right:auto;height:66px;min-height:66px;flex:0 0 66px;width:100%;padding:0 clamp(14px,3vw,36px);display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px;background:#fff;border-bottom:1px solid var(--line);z-index:2}
.community-profile-topbar h2{margin:0;text-align:center;font-size:19px;font-weight:850}
.community-profile-back{width:42px;height:42px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#fff6ef;color:var(--p);font-size:29px;line-height:1;cursor:pointer}
.community-profile-back:hover{background:#ffeee0}
.community-profile-content{flex:1 1 auto;width:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:clamp(18px,4vw,38px) clamp(14px,3vw,36px) 48px}
.public-profile-hero{max-width:880px;margin:0 auto 30px;padding:clamp(22px,4vw,36px);border:1px solid #f7efe8;border-radius:24px;background:#fff;text-align:center;box-shadow:0 10px 36px rgba(88,56,28,.045)}
.public-profile-avatar{width:94px;height:94px;margin:0 auto 15px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:linear-gradient(135deg,#fff2e7,#ffe3ca);box-shadow:0 0 0 2px #EDA260,0 10px 25px rgba(195,126,65,.18);color:#c67c3b;font-size:38px;font-weight:900}
.public-profile-hero h2{margin:0;color:var(--ink);font-size:clamp(24px,4vw,32px);line-height:1.2;overflow-wrap:anywhere}
.public-profile-handle{margin:7px 0 0;font-size:14px}
.public-profile-course{display:inline-flex;align-items:center;justify-content:center;margin-top:9px;padding:7px 13px;border-radius:999px;background:#fff6ef;color:#c67c3b;font-size:12px;font-weight:800}
.public-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:25px auto 0;max-width:680px}
.public-profile-stats>div{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-height:82px;padding:12px 8px;border:1px solid #f7f1eb;border-radius:14px;background:#fffdfb}
.public-profile-stats b{font-size:25px;color:var(--p);line-height:1}
.public-profile-stats span{font-size:11px;color:var(--muted);font-weight:750}
.public-profile-posts{max-width:1180px;margin:0 auto}
.public-profile-posts-heading{display:flex;align-items:center;gap:10px;margin:0 0 15px}
.public-profile-posts-heading h2{margin:0;font-size:25px}
.public-profile-posts-heading span{min-width:28px;height:28px;padding:0 8px;display:grid;place-items:center;border-radius:99px;background:#fff3e8;color:#c67c3b;font-size:12px;font-weight:850}
.public-profile-post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px;align-items:start}
.public-profile-post{min-width:0;padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 28px rgba(88,56,28,.035)}
.public-profile-post-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.public-profile-post h3{margin:0;font-size:18px;overflow-wrap:anywhere}
.public-profile-post p{margin:0;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}
.public-profile-post-image{display:block;width:100%;max-height:300px;object-fit:contain;border:1px solid #f7f2ed;border-radius:12px;background:#fffcf9}
.public-profile-post-date{color:var(--muted);font-size:11px}
.public-profile-empty{margin-top:0}
@media(max-width:600px){
  header.community-profile-topbar{height:58px;min-height:58px;flex-basis:58px;padding:0 11px;grid-template-columns:42px minmax(0,1fr) 42px}
  .community-profile-back{width:38px;height:38px;font-size:27px}
  .community-profile-topbar h2{font-size:17px}
  .community-profile-content{padding:16px 12px 28px}
  .public-profile-hero{padding:23px 14px 17px;border-radius:19px;margin-bottom:23px}
  .public-profile-avatar{width:80px;height:80px;font-size:32px}
  .public-profile-stats{gap:6px;margin-top:20px}
  .public-profile-stats>div{min-height:76px;padding:9px 5px;border-radius:12px}
  .public-profile-stats b{font-size:22px}
  .public-profile-stats span{font-size:10px;text-align:center;line-height:1.25}
  .public-profile-posts-heading h2{font-size:22px}
  .public-profile-post-grid{grid-template-columns:1fr}
  .public-profile-post{padding:14px}
  .post-author-avatar{width:32px;height:32px;flex-basis:32px}
}


/* Compact authentication pages: no scroll on laptop/tablet-sized viewports. */
.auth-description,.auth-form-hint{display:none!important}
@media (min-width:521px){
  .auth-gate{overflow:hidden;padding:10px;}
  .auth-card{padding:20px 30px;width:min(440px,100%);}
  .auth-brand{margin-bottom:12px;font-size:26px;gap:10px;}
  .auth-brand-mark{width:48px;height:48px;border-radius:14px;}
  .auth-brand-name small{margin-top:5px;font-size:8px;}
  .auth-card h1{margin:8px 0 6px;font-size:27px;}
  .auth-choices{gap:10px;margin-top:16px;}
  #authFormPanel{margin-top:12px;}
  #authFormPanel h2{margin:0 0 6px;font-size:23px;}
  #authForm{gap:5px;}
  #authForm label{margin-top:2px;font-size:12px;}
  #authForm input{min-height:40px;padding:9px 11px;}
  #authForm .auth-primary{min-height:43px;margin-top:3px;}
}
@media (min-width:521px) and (max-height:820px){
  .auth-card{padding:15px 28px;}
  .auth-brand{margin-bottom:8px;}
  .auth-brand-mark{width:43px;height:43px;}
  .auth-card h1{margin:6px 0 4px;font-size:25px;}
  .auth-choices{gap:8px;margin-top:12px;}
  #authFormPanel{margin-top:8px;}
  #authFormPanel h2{font-size:22px;margin-bottom:4px;}
  #authForm{gap:4px;}
  #authForm input{min-height:36px;padding:7px 10px;}
  #authForm .auth-primary{min-height:40px;}
}

/* Chat always uses a left back arrow instead of a close X. */
.chat-topbar .chat-back{
  position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:2;
  width:42px;height:42px;border:0;border-radius:50%;background:#fff5ec;color:#c67c3b;
  font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer;
}
.chat-topbar .chat-back:hover{background:#ffeee0}
@media(max-width:700px){.chat-topbar .chat-back{width:34px;height:34px;font-size:24px;left:0}}


/* Desktop and landscape-tablet dialogs use a close X at top-right; portrait mobile/tablet keeps Back at left. */
body.back-controls-close .x{left:auto;right:15px}
body.back-controls-close .chat-topbar .chat-back{left:auto;right:0}
body.back-controls-close .community-profile-topbar .community-profile-back{position:absolute;left:auto;right:clamp(14px,3vw,36px);top:50%;transform:translateY(-50%);z-index:5}


/* Lost/Found report forms: render above the site header and scroll as one usable sheet. */
#modal.overlay:not(.hide){
  z-index:1100;
  overflow-y:auto;
  overscroll-behavior:contain;
}
#modal .dialog{
  max-height:calc(100dvh - 32px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
#modal .dialog form{min-width:0}
#modal .dialog .actions{
  position:sticky;
  bottom:-1px;
  z-index:2;
  background:#fff;
  padding:12px 0 2px;
  margin-top:10px;
}
@media(max-width:700px){
  #modal.overlay:not(.hide){
    display:grid;
    place-items:center;
    padding:calc(10px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom));
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  #modal .dialog{
    width:100%;
    max-width:600px;
    max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);
    min-height:0;
    margin:auto;
    padding:58px 16px 16px;
    border-radius:20px;
  }
  #modal .dialog .x{position:absolute;top:12px;left:15px;right:auto}
  #modal .fields{grid-template-columns:minmax(0,1fr);gap:12px}
  #modal .fields .wide{grid-column:auto}
  #modal .fields input,#modal .fields select,#modal .fields textarea{min-width:0}
  #modal .dialog .actions{padding-bottom:max(4px,env(safe-area-inset-bottom))}
}
@media(max-height:600px){
  #modal.overlay:not(.hide){place-items:start center}
  #modal .dialog{max-height:calc(100dvh - 16px);margin:0 auto}
}


/* Desktop/laptop viewport fit: prevent page-wide horizontal clipping at common zoom levels. */
html, body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
}
body { box-sizing: border-box; }
body > header, body > main, body > .board-search,
.auth-gate, .auth-card, .dialog, .fields, .hero, .grid,
.community-chat-dialog, .chat-messages, .community-profile-content,
.public-profile-post-grid {
  min-width: 0;
  max-width: 100%;
}
img, video, canvas, iframe, input, select, textarea, button {
  max-width: 100%;
}
.hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
#communityChatOverlay:not(.hide) {
  width: 100%;
  max-width: 100%;
  left: 0;
  right: 0;
}
.community-chat-dialog {
  left: 0;
  right: 0;
}
#modal.overlay:not(.hide), #navPopup.overlay:not(.hide) {
  width: 100%;
  max-width: 100%;
  left: 0;
  right: 0;
}
@media (min-width: 851px) and (max-width: 1120px) {
  header:not(.community-profile-topbar) {
    padding-left: 22px;
    padding-right: 22px;
    gap: 12px;
  }
  .logo { min-width: 0; }
  .navlinks { gap: clamp(8px, 1vw, 14px); min-width: 0; }
  .navlinks a { white-space: nowrap; }
  .tag.profile-trigger { flex: 0 0 auto; }
}
@media (min-width: 701px) and (max-width: 1000px) {
  main { width: 100%; max-width: 100%; padding-left: clamp(20px, 3vw, 32px); padding-right: clamp(20px, 3vw, 32px); }
  .hero { gap: clamp(12px, 2vw, 22px); }
  .hero h1 { overflow-wrap: anywhere; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dialog { width: min(700px, 100%); }
}
@media (max-width: 700px) {
  .hero { grid-template-columns: minmax(0, 1fr); }
  .grid { grid-template-columns: minmax(0, 1fr); }
  .fields { grid-template-columns: minmax(0, 1fr); }
}


/* Final layout repair: keep the main content in the same centered desktop grid as the header/search. */
body > main {
  display: block;
  width: 100%;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 22px;
  padding-right: 22px;
  min-width: 0;
}
body > main > section,
body > main > footer {
  width: 100%;
  min-width: 0;
}
body > main .hero {
  width: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
body > main .stats,
body > main #board,
body > main footer {
  max-width: 100%;
}

/* Medium-width tablets use available width, without forcing the desktop max width. */
@media (min-width: 701px) and (max-width: 1000px) {
  body > main {
    width: 100%;
    max-width: 100%;
    padding-left: clamp(20px, 3vw, 32px);
    padding-right: clamp(20px, 3vw, 32px);
  }
}

/* Phones keep comfortable gutters and prevent any section from creating sideways overflow. */
@media (max-width: 700px) {
  body > main {
    width: 100%;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
  body > main .hero {
    grid-template-columns: minmax(0, 1.15fr) minmax(100px, .85fr);
  }
  body > main .stats,
  body > main #board,
  body > main footer {
    width: 100%;
  }
}

html, body { overflow-x: clip; }


/* Username fields display the same lowercase value that the server stores. */
#authUsername, #profileUsername { text-transform: lowercase; }


/* Final PC/tablet layout: one predictable centered content column.
   Keep the same gutters at narrow widths and cap the page on wide laptop displays. */
body > main {
  display: block !important;
  width: min(1080px, calc(100% - 40px)) !important;
  max-width: 1080px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body > main > section,
body > main > footer,
body > main .hero,
body > main .stats,
body > main #board,
body > main .grid {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
body > main .hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}
body > main .hero > div:first-child { min-width: 0; }
body > main .hero .art { min-width: 0; }
body > main .stats { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
body > main .grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body > main footer { gap: 16px; flex-wrap: wrap; }
@media (min-width: 701px) and (max-width: 1000px) {
  body > main .hero { gap: 16px !important; }
  body > main .hero h1 { font-size: clamp(34px, 4.6vw, 46px) !important; overflow-wrap: normal !important; }
  body > main .grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body > main .stats { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 700px) {
  body > main { width: calc(100% - 30px) !important; max-width: none !important; }
  body > main .hero { grid-template-columns: minmax(0, 1.15fr) minmax(100px, .85fr) !important; }
  body > main .stats { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  body > main .grid { grid-template-columns: minmax(0, 1fr) !important; }
}
html, body { overflow-x: clip !important; }

/* Wide-screen desktop layout: use the available viewport like a modern video-site layout,
   rather than keeping the whole application squeezed into the old 1080px column. */
@media (min-width: 1001px) {
  body > header:not(.community-profile-topbar) {
    width: 100% !important;
    padding-left: clamp(24px, 2.4vw, 42px) !important;
    padding-right: clamp(24px, 2.4vw, 42px) !important;
  }
  body > main {
    width: min(1800px, calc(100% - clamp(40px, 3.2vw, 76px))) !important;
    max-width: 1800px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body > .board-search {
    width: min(1800px, calc(100% - clamp(40px, 3.2vw, 76px))) !important;
    max-width: 1800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body > main .hero {
    width: 100% !important;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr) !important;
    gap: clamp(28px, 4vw, 72px) !important;
    padding-top: clamp(38px, 4vw, 64px) !important;
    padding-bottom: clamp(28px, 3vw, 44px) !important;
  }
  body > main .hero > div:first-child { min-width: 0; }
  body > main .hero h1 { font-size: clamp(46px, 4.5vw, 68px) !important; }
  body > main .hero p { max-width: 620px !important; }
  body > main .art { height: clamp(250px, 23vw, 340px) !important; }
  body > main .orb { width: clamp(210px, 17vw, 290px) !important; height: clamp(210px, 17vw, 290px) !important; }
  body > main .fakecard { width: clamp(225px, 18vw, 290px) !important; padding: clamp(18px, 1.8vw, 26px) !important; }
  body > main .stats,
  body > main #board,
  body > main footer {
    width: 100% !important;
    max-width: 100% !important;
  }
  body > main .stats { margin-top: 12px !important; }
  body > main .grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* Tablet landscape: use most of the available width without desktop-sized gutters. */
@media (min-width: 701px) and (max-width: 1000px) {
  body > header:not(.community-profile-topbar) { padding-left: 22px !important; padding-right: 22px !important; }
  body > main { width: 100% !important; max-width: 100% !important; padding-left: 24px !important; padding-right: 24px !important; }
  body > .board-search { width: calc(100% - 48px) !important; max-width: none !important; }
}

/* Full-screen profile editor and swipeable avatar gallery. */
.profile-editor-page{position:fixed;inset:0;z-index:7600;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);color:var(--ink)}
.profile-editor-page.hide{display:none!important}
body.profile-editor-open{overflow:hidden!important;overscroll-behavior:none}
header.profile-editor-topbar{position:relative;inset:auto;height:66px;min-height:66px;flex:0 0 66px;width:100%;padding:0 clamp(14px,3vw,36px);display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px;background:#fff;border-bottom:1px solid var(--line);z-index:2}
.profile-editor-topbar h2{margin:0;text-align:center;font-size:19px;font-weight:850}
.profile-editor-back{width:42px;height:42px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#fff6ef;color:var(--p);font-size:29px;line-height:1;cursor:pointer}
.profile-editor-back:hover{background:#ffeee0}
.profile-editor-scroll{flex:1 1 auto;min-height:0;width:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:clamp(16px,3vw,32px) clamp(14px,3vw,38px) 44px}
.profile-editor-card{width:min(1060px,100%);margin:0 auto;background:#fff;border:1px solid #f7efe8;border-radius:26px;padding:clamp(20px,3.2vw,36px);box-shadow:0 12px 40px rgba(88,56,28,.05)}
.profile-editor-identity{text-align:center;margin:0 auto 22px}
.profile-editor-avatar{width:112px;height:112px;margin:0 auto 13px;display:grid;place-items:center;border:4px solid #fff;border-radius:50%;background:linear-gradient(135deg,#fff2e7,#ffe3ca);box-shadow:0 0 0 2px #EDA260,0 12px 28px rgba(195,126,65,.2);color:#c67c3b;font-size:48px;font-weight:900;overflow:hidden}
.avatar-image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;border-radius:inherit}
.profile-editor-identity h1{margin:0;font-size:clamp(24px,4vw,32px);line-height:1.2;overflow-wrap:anywhere}
.profile-editor-identity p{margin:6px 0 0;font-size:13px}
.profile-avatar-picker-wrap{margin:0 0 26px}
.profile-avatar-picker-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.profile-avatar-picker-heading b{font-size:15px}
.profile-avatar-picker-heading span{font-size:11px;color:var(--muted)}
.profile-avatar-picker{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:7px 4px 14px;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.avatar-choice{flex:0 0 104px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 6px 9px;border:2px solid #f7efe8;border-radius:17px;background:#fff;color:var(--muted);cursor:pointer;scroll-snap-align:start;touch-action:pan-x;transition:border-color .15s,background .15s,transform .15s}
.avatar-choice:hover{border-color:#ffdec2;background:#fffcf9;transform:translateY(-1px)}
.avatar-choice.selected{border-color:var(--p);background:#fff7f0;box-shadow:0 0 0 2px #e8944b14}
.avatar-choice img,.avatar-choice .avatar-choice-initial{width:66px;height:66px;flex:0 0 66px;border-radius:50%;object-fit:cover;display:grid;place-items:center;border:1px solid #ffe4cc;background:linear-gradient(135deg,#fff2e7,#ffe3ca);color:#c67c3b;font-size:27px;font-weight:900}
.avatar-choice small{width:100%;font-size:10px;font-weight:800;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:anywhere}
.profile-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}
.profile-editor-fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;color:var(--ink)}
.profile-editor-fields input{width:100%;min-height:45px;padding:11px 13px;border:1px solid #f2e8e0;border-radius:11px;background:#fff;font:inherit;font-size:14px;color:var(--ink);outline:none}
.profile-editor-fields input:focus{border-color:var(--p);box-shadow:0 0 0 3px #e8944b1c}
.profile-editor-actions{position:sticky;bottom:-1px;display:flex;justify-content:flex-end;gap:10px;padding:14px 0 0;background:linear-gradient(180deg,#ffffffdf,#fff 25%)}
.profile-editor-actions button{min-width:180px;min-height:46px;padding:12px 20px;border:0;border-radius:12px;background:var(--p);color:#fff;font:inherit;font-size:14px;font-weight:850;cursor:pointer;box-shadow:0 6px 16px #e8944b29}
.profile-editor-actions button:disabled{opacity:.65;cursor:wait}
.profile-editor-form .auth-error{min-height:0;margin:10px 0 0}
@media(max-width:700px){
 header.profile-editor-topbar{height:58px;min-height:58px;flex-basis:58px;padding:0 11px;grid-template-columns:42px minmax(0,1fr) 42px}
 .profile-editor-back{width:38px;height:38px;font-size:27px}
 .profile-editor-topbar h2{font-size:17px}
 .profile-editor-scroll{padding:12px 10px 24px}
 .profile-editor-card{padding:20px 13px 17px;border-radius:19px}
 .profile-editor-avatar{width:94px;height:94px;font-size:40px}
 .profile-avatar-picker-heading{align-items:flex-start;flex-direction:column;gap:4px}
 .profile-avatar-picker{gap:9px;margin-inline:-2px}
 .avatar-choice{flex-basis:88px;padding:7px 5px;border-radius:14px}
 .avatar-choice img,.avatar-choice .avatar-choice-initial{width:58px;height:58px;flex-basis:58px;font-size:24px}
 .profile-editor-fields{grid-template-columns:1fr;gap:12px}
 .profile-editor-fields input{min-height:43px}
 .profile-editor-actions{padding-top:12px}
 .profile-editor-actions button{width:100%;min-width:0}
}
body.back-controls-close .profile-editor-back{position:absolute;left:auto;right:clamp(14px,3vw,36px);top:50%;transform:translateY(-50%);z-index:5}


/* Username changes are limited by the server-side annual account policy. */
.username-change-hint{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:550;line-height:1.45}

/* Community chat mute control: available on desktop/tablet, beside the responsive Back/Close control. */
.chat-mute-toggle{position:absolute;top:50%;right:52px;transform:translateY(-50%);z-index:3;width:40px;height:40px;border:1px solid #feedde;border-radius:13px;background:#fff7f0;color:var(--p);display:grid;place-items:center;font-size:19px;line-height:1;cursor:pointer;touch-action:manipulation;transition:background .15s,border-color .15s,transform .15s}
.chat-mute-toggle:hover{background:#ffefe1;border-color:#ffe2c9}
.chat-mute-toggle.is-muted{background:#e8944b;color:#fff;border-color:#e8944b}
.chat-mute-toggle:disabled{opacity:.6;cursor:wait}
body.back-controls-arrow:not(.device-phone) .chat-topbar .chat-mute-toggle{left:50px;right:auto}
body.back-controls-close .chat-topbar .chat-mute-toggle{left:auto;right:52px}
body.back-controls-arrow:not(.device-phone) .chat-topbar{padding-left:98px;padding-right:46px}
body.back-controls-close .chat-topbar{padding-left:46px;padding-right:98px}
body.device-phone .chat-topbar{padding-left:45px;padding-right:45px}
body.device-phone .chat-topbar .chat-mute-toggle{left:auto;right:0;width:34px;height:34px;border-radius:50%;font-size:17px}

/* Owner/Leader identity, custom profile pictures and profile banners. */
.role-badge{display:inline-flex;align-items:center;gap:3px;margin-left:5px;padding:3px 7px;border-radius:999px;background:#fff3e8;color:#c67c3b;font-size:10px;font-weight:900;white-space:nowrap;vertical-align:middle}
.role-badge.role-owner{background:#fff0c9;color:#8a5a00}
.role-badge.role-admin{background:#fff0e3;color:#A46E3E}
.role-badge.role-leader{background:#f7ece2;color:#744E2C}
.role-badge.role-moderator{background:#ffe8f2;color:#a52860}
.post-author-name{display:inline-flex;align-items:center;flex-wrap:wrap;gap:3px}
.chat-message-stack{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:100%}
.chat-row.mine .chat-message-stack{align-items:flex-end}
.chat-author-role{align-self:flex-start;display:inline-flex;align-items:center;gap:3px;margin:0 0 4px;padding:0;border:0;background:transparent;color:#775C44;font-size:10px;font-weight:850;cursor:pointer}
.chat-row.mine .chat-author-role{align-self:flex-end;color:#c67c3b}
.chat-author-role .role-badge{font-size:9px;padding:2px 6px}
.public-profile-banner{height:clamp(120px,22vw,240px);width:100%;margin:-1px -1px 0;border-radius:22px 22px 0 0;background:linear-gradient(135deg,#E89953,#ffe3ca 55%,#f5e6d9);background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:flex-end;padding:12px 18px;color:#fff;font-size:11px;font-weight:800;overflow:hidden}
.public-profile-hero{overflow:hidden;padding-top:0}
.public-profile-hero.no-profile-banner{padding-top:26px}
.public-profile-avatar{position:relative;margin-top:-46px;z-index:1;border:4px solid #fff}
.public-profile-hero.no-profile-banner .public-profile-avatar{margin-top:0}
.public-profile-hero h2 .role-badge{transform:translateY(-2px)}
.profile-editor-banner-preview{width:100%;min-height:100px;aspect-ratio:16/5;display:flex;align-items:flex-end;justify-content:flex-end;margin:0 0 8px;padding:12px 16px;border-radius:13px;background:linear-gradient(135deg,#E89953,#ffe3ca 55%,#f5e6d9);background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#fffcf9;color:#8E7865;font-size:11px;font-weight:800;overflow:hidden}
.profile-editor-banner-preview.has-image{color:transparent}
.privileged-profile-media{margin:4px 0 22px;padding:18px;border:1px solid #faeee4;border-radius:17px;background:#fffcfa}
.privileged-profile-media h2,.owner-member-heading h2{margin:0 0 6px;font-size:17px}
.privileged-profile-media>p,.owner-member-heading p{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.45}
.profile-media-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.profile-media-fields label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:12px;font-weight:800}
.profile-media-fields input[type=file]{width:100%;max-width:100%;padding:9px;border:1px solid #f4e9df;border-radius:10px;background:#fff;font:inherit;font-size:12px}
.profile-media-fields small{font-size:11px;color:var(--muted);font-weight:500}
.profile-media-fields button{align-self:flex-start;padding:8px 10px;font:inherit;font-size:11px;font-weight:800}
.owner-member-management{margin-top:24px;padding-top:22px;border-top:1px solid #f8efe7}
.owner-member-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.owner-member-heading button{padding:8px 12px;font:inherit;font-size:11px;font-weight:800}
.owner-member-list{display:flex;flex-direction:column;gap:9px}
.owner-member-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:10px;align-items:center;padding:12px;border:1px solid #f8f0e9;border-radius:13px;background:#fff}
.owner-member-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.owner-member-info b{font-size:12px;overflow-wrap:anywhere}
.owner-member-info span{font-size:10px;color:var(--muted);overflow-wrap:anywhere}
.owner-member-row select{min-width:0;max-width:100%;padding:8px;border:1px solid #f3e7dd;border-radius:9px;background:#fff;font:inherit;font-size:11px}
.owner-member-row button{padding:8px 10px;font:inherit;font-size:11px;font-weight:800;white-space:nowrap}
.owner-member-row button:disabled,.owner-member-row select:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:700px){.profile-editor-banner-preview{min-height:85px}.profile-media-fields{grid-template-columns:1fr}.owner-member-row{grid-template-columns:minmax(0,1fr) 92px;gap:8px}.owner-member-row button{grid-column:1/-1;width:100%}.public-profile-banner{height:118px;border-radius:16px 16px 0 0}.profile-editor-banner-preview{height:105px}.chat-author-role{font-size:10px}}

.profile-media-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:12px;font-weight:800}
.profile-media-field label{display:block}


/* Username search suggestions, sharing the global report search field. */
body>.board-search{z-index:35}
.user-search-results{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:100;background:#fff;border:1px solid #f4eae2;border-radius:16px;box-shadow:0 18px 48px rgba(61,41,23,.18);overflow:hidden;max-height:min(62vh,480px);overflow-y:auto}
.user-search-results[hidden]{display:none!important}
.user-search-results-heading{padding:12px 16px 8px;color:#918173;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #f7f1ec}
.user-search-result{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:12px 15px;border:0;border-bottom:1px solid #f8f3ee;background:#fff;text-align:left;cursor:pointer;color:var(--ink,#3B2E23)}
.user-search-result:last-child{border-bottom:0}
.user-search-result:hover,.user-search-result:focus-visible{background:#fff9f4;outline:none}
.user-search-avatar{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#ffeee0;color:#c67c3b;font-weight:900;font-size:17px}
.user-search-avatar .avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%}
.user-search-result-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.user-search-result-copy b{font-size:13px;display:flex;align-items:center;flex-wrap:wrap;gap:3px;overflow-wrap:anywhere}
.user-search-result-copy small{font-size:11px;color:#94867A;overflow-wrap:anywhere}
.user-search-open{font-size:24px;color:#E79852;line-height:1}
.public-profile-owner-actions{position:relative;display:flex;justify-content:flex-end;align-items:center}
.public-profile-owner-actions.hide{display:none!important}
.public-profile-role-menu-button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:#fff5ec;color:#c67c3b;font-size:24px;font-weight:900;line-height:1;cursor:pointer}
.public-profile-role-menu-button:hover,.public-profile-role-menu-button[aria-expanded="true"]{background:#ffecdc}
.public-profile-role-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:50;width:min(220px,calc(100vw - 28px));padding:6px;background:#fff;border:1px solid #f4eae2;border-radius:15px;box-shadow:0 16px 42px rgba(61,41,23,.2)}
.public-profile-role-menu[hidden]{display:none!important}
.public-profile-role-menu button{display:block;width:100%;padding:12px 11px;border:0;border-radius:10px;background:transparent;color:#3C2F24;font:inherit;font-size:13px;font-weight:800;text-align:left;cursor:pointer}
.public-profile-role-menu button:hover:not(:disabled){background:#fff6ef;color:#c67c3b}
.public-profile-role-menu button:disabled{background:#fcf9f6;color:#A29488;cursor:default}
@media(max-width:700px){.user-search-results{border-radius:14px;max-height:55vh}.user-search-result{padding:11px}.public-profile-role-menu-button{width:38px;height:38px;font-size:22px}}

/* Keep the Owner role menu below the profile topbar so it never overlaps the desktop close button. */
.public-profile-owner-actions:not(.hide){position:fixed;top:76px;right:clamp(14px,3vw,36px);z-index:7500}
@media(max-width:700px){.public-profile-owner-actions:not(.hide){top:68px;right:12px}}


/* Profile navigation/editor polish: open at the top and keep the public page separate from editing. */
.profile-editor-scroll{scroll-behavior:auto;overflow-anchor:none;scroll-padding-top:12px}
.profile-editor-card{scroll-margin-top:12px}
.public-profile-banner{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;display:block!important;margin:0!important;padding:0!important;overflow:hidden;background:#fffcf9!important;line-height:0!important;border-radius:22px 22px 0 0!important}
.public-profile-banner img{display:block;width:100%;height:auto;max-height:clamp(125px,22vw,280px);object-fit:contain;object-position:center;background:#fffcf9}
.public-profile-own-actions{display:flex;justify-content:center;margin:22px 0 0}
.public-profile-edit-button{min-height:42px;padding:10px 24px;border:1px solid #ffe5ce;border-radius:12px;background:#fff7f0;color:#c67c3b;font:inherit;font-size:13px;font-weight:850;cursor:pointer;transition:background .15s,transform .15s}
.public-profile-edit-button:hover{background:#fff0e2;transform:translateY(-1px)}
@media(max-width:600px){.public-profile-banner{border-radius:18px 18px 0 0!important}.public-profile-banner img{max-height:180px}.public-profile-own-actions{margin-top:18px}}


/* Banner editing stays at the top of the profile editor on every screen size. */
.profile-editor-banner-field{position:relative;width:100%;margin:0 0 22px;min-width:0}
.profile-editor-banner-preview{width:100%;aspect-ratio:16/5;min-height:100px;display:flex;align-items:flex-end;justify-content:flex-end;margin:0;padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,#E89953,#ffe3ca 55%,#f5e6d9);background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#fffcf9;color:#8E7865;font-size:11px;font-weight:800;overflow:hidden}
.profile-editor-banner-preview.has-image{color:transparent}
.profile-editor-banner-field input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.profile-editor-banner-actions{position:absolute;right:10px;top:10px;display:flex;gap:8px;max-width:calc(100% - 20px)}
.profile-editor-banner-actions button{min-height:36px;padding:8px 12px;border-radius:9px;font-size:12px;font-weight:800;box-shadow:0 2px 10px #4A2E1622}
@media(max-width:700px){.profile-editor-banner-field{margin-bottom:18px}.profile-editor-banner-preview{aspect-ratio:16/6;min-height:90px;height:auto;border-radius:12px;background-size:contain}.profile-editor-banner-actions{right:7px;top:7px;gap:5px}.profile-editor-banner-actions button{min-height:36px;padding:8px 10px;font-size:12px}.profile-editor-card{width:100%;max-width:100%;overflow:hidden}.profile-editor-scroll{overflow-y:auto;overflow-x:hidden}.profile-editor-fields>*{min-width:0}.profile-editor-fields input{max-width:100%;min-width:0}}


/* CampusFind cinematic, full-screen onboarding with reversible scroll reveals. */
.first-visit-intro[hidden]{display:none!important}
.first-visit-intro{position:fixed;inset:0;z-index:100000;display:block;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;background:#fcf9f7;color:#3A2D21;isolation:isolate}
body.intro-open{overflow:hidden!important}
.intro-progress{position:fixed;z-index:100010;left:0;right:0;top:0;height:3px;background:#f7ede4}.intro-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#E89A55,#c5864f);transition:width .08s linear}
.intro-screen{position:relative;min-height:100vh;min-height:100svh;padding:clamp(24px,4vw,52px) clamp(22px,7vw,100px);display:flex;flex-direction:column;overflow:hidden}
.intro-hero-screen{background:radial-gradient(ellipse at 75% 45%,rgba(255,172,100,.16),transparent 34%),radial-gradient(ellipse at 8% 90%,rgba(197,128,67,.13),transparent 30%),linear-gradient(135deg,#fffcfa 0%,#fff8f2 52%,#fcfaf8 100%)}
.intro-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.intro-brand{display:grid;grid-template-columns:42px auto;grid-template-rows:auto auto;align-items:center;column-gap:11px;width:max-content}.intro-brand img{grid-row:1/3;width:42px;height:42px;object-fit:contain}.intro-brand span{font-size:23px;font-weight:850;letter-spacing:-1.2px;line-height:1}.intro-brand span strong{color:#DF9350}.intro-brand small{margin-top:5px;color:#9e8f82;font-size:9px;font-weight:850;letter-spacing:1.8px}.intro-top-label{color:#a49486;font-size:10px;font-weight:850;letter-spacing:1.7px}
.intro-hero-grid{width:min(1240px,100%);flex:1;min-height:570px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(24px,5vw,80px);padding:50px 0 38px}.intro-kicker{display:flex;align-items:center;gap:10px;color:#DC9455;font-size:11px;font-weight:900;letter-spacing:1.8px}.intro-live-dot{width:7px;height:7px;border-radius:50%;background:#bf824c;box-shadow:0 0 0 5px #bf824c20}.intro-hero-copy h1{margin:24px 0 22px;font-size:clamp(46px,6.7vw,88px);line-height:.99;letter-spacing:-.065em;color:#3F3023;font-weight:850}.intro-hero-copy h1 em,.intro-section-heading h2 em,.intro-final-content h2 em{font-style:normal;color:#E39754}.intro-lead{max-width:550px;margin:0;color:#877B71;font-size:clamp(16px,1.45vw,19px);line-height:1.8}.intro-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px;margin-top:34px}.intro-secondary-btn{display:flex;align-items:center;gap:26px;padding:14px 18px;border:1px solid #f7e5d6;border-radius:12px;background:#fff;color:#8e623b;font:inherit;font-size:13px;font-weight:850;cursor:pointer;transition:transform .2s,box-shadow .2s}.intro-secondary-btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px #8b5d3416}.intro-secondary-btn span{font-size:18px}.intro-scroll-hint{font-size:9px;font-weight:850;letter-spacing:1.7px;color:#b0a295}
.intro-visual{position:relative;min-height:440px;display:grid;place-items:center;isolation:isolate}.intro-visual-glow{position:absolute;width:min(34vw,430px);aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#ffedde,#f7ebe0);filter:blur(2px);opacity:.85}.intro-orbit{position:absolute;border:1px solid #f1d5bd4d;border-radius:50%;transform:rotate(-22deg)}.intro-orbit-one{width:100%;height:65%}.intro-orbit-two{width:80%;height:95%;transform:rotate(35deg)}.intro-float-card{position:absolute;border:1px solid #ffffffc9;border-radius:22px;background:#ffffffed;box-shadow:0 28px 80px #774f2c1a;backdrop-filter:blur(18px)}.intro-card-main{width:min(78%,390px);padding:clamp(22px,3vw,34px);transform:rotate(-4deg);animation:introFloat 6s ease-in-out infinite}.intro-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.intro-card-symbol{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#fff3e8;color:#d68b49;font-size:30px}.intro-status-pill{padding:7px 9px;border-radius:30px;background:#f9f3ed;color:#9A6638;font-size:8px;font-weight:900;letter-spacing:1px}.intro-card-title{margin:28px 0;font-size:clamp(24px,3vw,35px);line-height:1.16;letter-spacing:-1.2px;color:#4B3A2C}.intro-card-title strong{color:#E39754}.intro-card-lines{display:grid;gap:9px}.intro-card-lines i{height:7px;border-radius:8px;background:#f6f0ea}.intro-card-lines i:nth-child(1){width:95%}.intro-card-lines i:nth-child(2){width:75%}.intro-card-lines i:nth-child(3){width:52%}.intro-card-footer{display:flex;justify-content:space-between;gap:10px;margin-top:25px;padding-top:17px;border-top:1px solid #f5efea;color:#9f9184;font-size:10px}.intro-card-footer b{color:#d08b4e}.intro-card-mini{right:0;bottom:17%;display:flex;align-items:center;gap:12px;padding:15px 18px;transform:rotate(4deg);animation:introFloat 5s ease-in-out -1.5s infinite}.intro-mini-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f7ece3;color:#9b683b;font-size:20px;font-weight:900}.intro-card-mini div{display:grid;gap:4px}.intro-card-mini b{font-size:11px;color:#4E3E30}.intro-card-mini small{font-size:10px;color:#A39589}@keyframes introFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
.intro-hero-footer,.intro-scroll-bottom{display:flex;justify-content:space-between;gap:15px;color:#ac9f93;font-size:9px;font-weight:850;letter-spacing:1.4px}.intro-how-screen{background:#fff}.intro-section-inner{width:min(1240px,100%);margin:auto;display:flex;flex-direction:column;justify-content:center;flex:1;padding:55px 0}.intro-section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:50px;align-items:end;margin-bottom:42px}.intro-section-heading .intro-kicker{grid-column:1/-1;margin-bottom:17px}.intro-section-heading h2{margin:0;font-size:clamp(42px,5.7vw,70px);line-height:1;letter-spacing:-.06em;color:#3F3023}.intro-section-heading p{max-width:430px;margin:0;color:#95877B;font-size:16px;line-height:1.8}.intro-feature-large{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:0 0 48px}.intro-feature-large article{position:relative;min-height:290px;padding:clamp(22px,3vw,34px);border:1px solid #f6eee7;border-radius:22px;background:linear-gradient(145deg,#fff,#fffbf8);transition:transform .3s,border-color .3s,box-shadow .3s}.intro-feature-large article:hover{transform:translateY(-6px);border-color:#f9e2ce;box-shadow:0 24px 55px #6D462412}.intro-feature-number{position:absolute;top:26px;right:28px;color:#d8c9bb;font-size:11px;font-weight:900;letter-spacing:1px}.intro-feature-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:28px;border-radius:15px;background:#fff3e8;color:#d68b49;font-size:29px;font-weight:700}.intro-feature-large h3{margin:0 0 12px;font-size:22px;letter-spacing:-.7px}.intro-feature-large p{margin:0;color:#95877B;font-size:14px;line-height:1.8}.intro-feature-link{display:flex;justify-content:space-between;margin-top:28px;padding-top:16px;border-top:1px solid #f5efea;color:#a19082;font-size:9px;font-weight:900;letter-spacing:1.3px}.intro-feature-link b{color:#E39754;font-size:15px}.intro-scroll-bottom{margin-top:auto}
.intro-final-screen{align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 30%,#ffe7d2 0%,transparent 43%),linear-gradient(135deg,#fffaf5,#fcf9f7);padding-bottom:85px}.intro-final-glow{position:absolute;width:440px;height:440px;border-radius:50%;background:#ffe7d24d;filter:blur(40px);top:18%;pointer-events:none}.intro-final-content{position:relative;width:min(760px,100%);margin:auto}.intro-final-mark{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 28px;border:1px solid #f8eadd;border-radius:22px;background:#ffffffd9;box-shadow:0 15px 45px #774f2c10}.intro-final-mark img{width:46px;height:46px;object-fit:contain}.intro-final-content .intro-kicker{justify-content:center}.intro-final-content h2{margin:24px 0;font-size:clamp(44px,7vw,82px);line-height:.98;letter-spacing:-.065em;color:#3F3023}.intro-final-content>p{max-width:580px;margin:0 auto;color:#877B71;font-size:17px;line-height:1.8}.intro-final-content>button{display:flex;align-items:center;justify-content:space-between;gap:42px;min-width:200px;margin:34px auto 16px;padding:16px 20px;border:0;border-radius:12px;background:#DF9350;color:#fff;font:inherit;font-size:14px;font-weight:850;cursor:pointer;box-shadow:0 12px 28px #DF935035;transition:transform .2s,background .2s}.intro-final-content>button:hover{transform:translateY(-3px);background:#cb7e3a}.intro-final-content>button span{font-size:20px}.intro-final-content>small{color:#ada094;font-size:11px}.intro-final-screen .intro-hero-footer{position:absolute;left:clamp(22px,7vw,100px);right:clamp(22px,7vw,100px);bottom:30px;text-align:left}
.reveal-on-scroll{opacity:0;transform:translateY(34px);transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.intro-feature-large article:nth-child(2){transition-delay:.1s}.intro-feature-large article:nth-child(3){transition-delay:.2s}
@media(max-width:800px){.intro-screen{padding:24px 22px}.intro-top-label{display:none}.intro-hero-grid{grid-template-columns:1fr;gap:0;padding:70px 0 42px;min-height:0}.intro-hero-copy h1{font-size:clamp(47px,10vw,76px)}.intro-visual{min-height:340px;margin-top:12px}.intro-visual-glow{width:min(65vw,340px)}.intro-card-main{width:min(78%,350px)}.intro-card-mini{right:3%;bottom:12%}.intro-section-heading{grid-template-columns:1fr;gap:18px}.intro-section-heading .intro-kicker{grid-column:auto}.intro-feature-large{grid-template-columns:1fr}.intro-feature-large article{min-height:0}.intro-feature-icon{margin-bottom:18px}.intro-section-inner{padding:60px 0}.intro-scroll-bottom{margin-top:20px}}
@media(max-width:520px){.intro-screen{padding:20px 17px}.intro-brand img{width:36px;height:36px}.intro-brand{grid-template-columns:36px auto}.intro-brand span{font-size:21px}.intro-hero-grid{padding:56px 0 34px}.intro-hero-copy h1{font-size:clamp(43px,12vw,60px);letter-spacing:-.07em}.intro-kicker{font-size:9px;letter-spacing:1.1px}.intro-lead{font-size:15px}.intro-hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.intro-visual{min-height:280px}.intro-card-main{width:84%;padding:22px;border-radius:18px}.intro-card-title{margin:21px 0;font-size:26px}.intro-card-mini{right:0;bottom:8%;padding:12px}.intro-card-footer{font-size:9px}.intro-hero-footer,.intro-scroll-bottom{font-size:8px;letter-spacing:.8px}.intro-section-heading h2{font-size:48px}.intro-section-heading p{font-size:14px}.intro-feature-large article{padding:23px;border-radius:18px}.intro-final-content h2{font-size:clamp(43px,11vw,60px)}.intro-final-content>p{font-size:15px}.intro-final-content>button{width:min(100%,300px)}.intro-final-screen .intro-hero-footer{left:17px;right:17px;bottom:20px}}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll,.intro-card-main,.intro-card-mini{transition:none!important;animation:none!important;transform:none!important}.reveal-on-scroll{opacity:1}}


/* Account access gate is shown by app.js after the intro is dismissed. */
/* Professional onboarding polish: keep the hero balanced and prevent clipped first-load layouts. */
.first-visit-intro{scroll-padding-top:0;scroll-snap-type:y proximity;scrollbar-width:thin;scrollbar-color:#f3e0d0 transparent}
.intro-screen{min-height:100vh;min-height:100svh;scroll-snap-align:start;scroll-snap-stop:normal}
.intro-hero-screen{min-height:100vh;min-height:100svh}
.intro-hero-grid{min-height:0;padding:clamp(24px,4.5vh,48px) 0;gap:clamp(28px,4vw,72px)}
.intro-visual{min-height:clamp(300px,48vh,420px)}
.intro-hero-copy{max-width:650px}
.intro-hero-copy h1{max-width:720px;font-size:clamp(48px,6.1vw,82px);line-height:1.02}
.intro-lead{max-width:520px}
.intro-how-screen{background:linear-gradient(180deg,#fff 0%,#fffdfb 100%)}
.intro-feature-large article{box-shadow:0 8px 28px #6D462405}
.intro-feature-large article:hover{transform:translateY(-5px)}
.intro-final-screen{min-height:100vh;min-height:100svh}
@media (min-width:801px) and (max-height:760px){
 .intro-screen{padding-top:25px;padding-bottom:25px}
 .intro-hero-grid{padding:18px 0}
 .intro-visual{min-height:300px}
 .intro-hero-copy h1{font-size:clamp(44px,5.4vw,68px);margin:18px 0}
 .intro-lead{font-size:15px;line-height:1.65}
 .intro-hero-actions{margin-top:23px}
}
@media(max-width:800px){
 .intro-screen{min-height:100svh;height:auto}
 .intro-hero-grid{min-height:0;padding:48px 0 28px}
 .intro-visual{min-height:320px}
 .intro-how-screen{min-height:100svh}
}
@media(prefers-reduced-motion:reduce){.first-visit-intro{scroll-behavior:auto;scroll-snap-type:none}}


/* Clean editorial onboarding: no numbered page indicators or progress chrome. */
.intro-progress{display:none!important}
.intro-hero-footer>span:last-child,.intro-scroll-bottom>span:last-child{display:none!important}
.intro-feature-number{display:none!important}
.intro-scroll-hint{display:none!important}
.first-visit-intro{scroll-snap-type:y mandatory;scrollbar-width:none!important}
.first-visit-intro::-webkit-scrollbar{display:none}
.intro-screen{height:100vh;height:100svh;min-height:100vh;min-height:100svh;scroll-snap-align:start;scroll-snap-stop:always}
.intro-hero-screen{justify-content:space-between}
.intro-hero-grid{flex:1;align-content:center}
.intro-how-screen .intro-section-inner{justify-content:center}
@media(max-width:800px){
 .first-visit-intro{scroll-snap-type:y proximity}
 .intro-screen{height:auto;min-height:100svh}
 .intro-hero-screen{min-height:100svh}
 .intro-how-screen{height:auto;min-height:100svh}
 .intro-final-screen{height:100svh;min-height:100svh}
}
@media(max-height:760px) and (min-width:801px){
 .intro-hero-grid{padding-top:12px;padding-bottom:12px}
 .intro-visual{min-height:260px}
 .intro-hero-copy h1{font-size:clamp(42px,5vw,66px);margin:16px 0}
 .intro-lead{font-size:15px;line-height:1.6}
 .intro-hero-actions{margin-top:20px}
 .intro-feature-large{margin-bottom:20px}
 .intro-feature-large article{min-height:240px}
}

/* Final UX correction: continuous landing page, natural wheel/trackpad scrolling. */
.first-visit-intro{
  scroll-snap-type:none!important;
  scroll-behavior:smooth;
  scrollbar-width:thin!important;
  background:
    radial-gradient(ellipse at 82% 13%,rgba(232,158,94,.075),transparent 31%),
    radial-gradient(ellipse at 9% 46%,rgba(190,127,72,.055),transparent 28%),
    #fdfbf9!important;
}
.first-visit-intro::-webkit-scrollbar{display:block;width:8px}
.first-visit-intro::-webkit-scrollbar-thumb{background:#ebddd0;border-radius:99px}
.intro-screen{
  height:auto!important;
  min-height:0!important;
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
  background:transparent!important;
}
.intro-hero-screen{
  min-height:100vh!important;
  min-height:100svh!important;
  justify-content:space-between;
  background:transparent!important;
}
.intro-hero-grid{min-height:0!important;flex:1;align-content:center;padding:clamp(28px,5vh,58px) 0!important}
.intro-how-screen{
  min-height:0!important;
  background:transparent!important;
  padding-top:clamp(28px,5vw,64px);
  padding-bottom:clamp(28px,5vw,64px);
}
.intro-section-inner{padding:clamp(26px,4vw,48px) 0!important}
.intro-feature-large{margin-bottom:12px}
.intro-feature-large article{background:rgba(255,255,255,.78);box-shadow:0 10px 36px rgba(75,51,30,.045)}
.intro-final-screen{
  min-height:80vh!important;
  min-height:80svh!important;
  padding-top:clamp(70px,9vw,120px);
  padding-bottom:clamp(70px,9vw,120px);
  background:radial-gradient(ellipse at 50% 40%,rgba(255,231,210,.38),transparent 50%)!important;
}
.intro-final-screen .intro-hero-footer{position:static;width:100%;margin-top:clamp(48px,8vw,90px)}
@media(max-width:800px){
 .intro-hero-screen{min-height:0!important}
 .intro-hero-grid{padding:38px 0 30px!important}
 .intro-how-screen{min-height:0!important;padding:18px 0 30px}
 .intro-section-inner{padding:35px 0!important}
 .intro-final-screen{min-height:0!important;padding:70px 22px 40px}
 .intro-final-screen .intro-hero-footer{margin-top:48px}
}
@media(prefers-reduced-motion:reduce){.first-visit-intro{scroll-behavior:auto!important;scroll-snap-type:none!important}}

/* CampusFind intro refinement: tighter rhythm, polished hierarchy, no oversized gaps. */
.first-visit-intro{scroll-snap-type:none!important;background:#fffcf9!important;scrollbar-width:none}
.first-visit-intro::-webkit-scrollbar{display:none}
.intro-screen{scroll-snap-align:none!important;scroll-snap-stop:normal!important}
.intro-hero-screen{background:radial-gradient(ellipse at 78% 40%,rgba(242,166,99,.13),transparent 34%),radial-gradient(ellipse at 8% 88%,rgba(190,128,74,.10),transparent 31%),linear-gradient(135deg,#fffcf9 0%,#fffaf5 52%,#fbf9f7 100%)}
.intro-hero-grid{gap:clamp(22px,3.2vw,48px)!important;padding:clamp(24px,3.5vh,38px) 0!important}
.intro-hero-copy h1{font-size:clamp(46px,5.6vw,76px)!important;line-height:1.01!important;margin:16px 0 16px!important;letter-spacing:-.068em!important}
.intro-lead{font-size:clamp(15px,1.25vw,17px)!important;line-height:1.65!important;max-width:510px}
.intro-hero-actions{margin-top:23px!important;gap:16px!important}
.intro-secondary-btn{padding:13px 16px!important;border-radius:12px!important;box-shadow:0 5px 18px rgba(130,86,47,.04)}
.intro-visual{min-height:clamp(270px,40vh,360px)!important}
.intro-card-main{width:min(76%,370px)!important;padding:clamp(20px,2.5vw,29px)!important}
.intro-card-title{margin:20px 0!important}
.intro-card-footer{margin-top:18px!important;padding-top:13px!important}
.intro-how-screen{background:linear-gradient(180deg,#fffdfc 0%,#fffcf9 100%)!important;padding-top:0!important;padding-bottom:0!important}
.intro-section-inner{padding:clamp(32px,4.5vh,46px) 0!important}
.intro-section-heading{column-gap:36px!important;margin-bottom:25px!important}
.intro-section-heading .intro-kicker{margin-bottom:12px!important}
.intro-section-heading h2{font-size:clamp(40px,5vw,62px)!important;line-height:.99!important}
.intro-section-heading p{font-size:15px!important;line-height:1.65!important}
.intro-feature-large{gap:14px!important;margin-bottom:8px!important}
.intro-feature-large article{min-height:220px!important;padding:24px!important;border-radius:18px!important;background:rgba(255,255,255,.82)!important;box-shadow:0 8px 26px rgba(75,51,30,.045)!important}
.intro-feature-icon{width:43px!important;height:43px!important;margin-bottom:20px!important;border-radius:13px!important;font-size:25px!important}
.intro-feature-large h3{font-size:20px!important;margin-bottom:8px!important}
.intro-feature-large p{font-size:13px!important;line-height:1.65!important}
.intro-feature-link{margin-top:18px!important;padding-top:12px!important}
.intro-scroll-bottom{margin-top:20px!important}
.intro-final-screen{min-height:0!important;padding:64px clamp(22px,7vw,100px) 32px!important;background:radial-gradient(ellipse at 50% 24%,rgba(255,231,210,.45),transparent 48%),linear-gradient(135deg,#fffaf6,#fbf9f7)!important}
.intro-final-mark{width:58px!important;height:58px!important;margin-bottom:18px!important;border-radius:18px!important}
.intro-final-mark img{width:40px!important;height:40px!important}
.intro-final-content h2{font-size:clamp(42px,6vw,70px)!important;margin:16px 0!important}
.intro-final-content>p{font-size:15px!important;line-height:1.7!important}
.intro-final-content>button{margin:23px auto 12px!important;padding:14px 18px!important}
.intro-final-screen .intro-hero-footer{margin-top:42px!important}
@media(max-width:800px){
 .intro-screen{padding:22px!important}
 .intro-hero-grid{padding:30px 0 20px!important;gap:0!important}
 .intro-hero-copy h1{font-size:clamp(43px,9vw,64px)!important;margin:13px 0!important}
 .intro-visual{min-height:250px!important;margin-top:4px!important}
 .intro-card-main{width:min(78%,340px)!important}
 .intro-section-inner{padding:30px 0!important}
 .intro-section-heading{gap:12px!important;margin-bottom:20px!important}
 .intro-section-heading h2{font-size:clamp(39px,8vw,54px)!important}
 .intro-feature-large{gap:11px!important}
 .intro-feature-large article{padding:21px!important;min-height:0!important}
 .intro-feature-icon{margin-bottom:14px!important}
 .intro-final-screen{padding:52px 22px 25px!important}
 .intro-final-screen .intro-hero-footer{margin-top:35px!important}
}
@media(max-width:520px){
 .intro-screen{padding:19px 17px!important}
 .intro-hero-grid{padding:26px 0 16px!important}
 .intro-hero-copy h1{font-size:clamp(41px,11vw,56px)!important;line-height:1.02!important}
 .intro-lead{font-size:14px!important;line-height:1.6!important}
 .intro-hero-actions{margin-top:18px!important;gap:12px!important}
 .intro-visual{min-height:220px!important}
 .intro-card-main{width:82%!important;padding:18px!important}
 .intro-card-title{font-size:24px!important;margin:16px 0!important}
 .intro-card-mini{padding:10px 12px!important}
 .intro-section-inner{padding:26px 0!important}
 .intro-section-heading h2{font-size:43px!important}
 .intro-feature-large article{padding:19px!important}
 .intro-final-screen{padding:44px 17px 22px!important}
 .intro-final-content h2{font-size:clamp(39px,10vw,52px)!important}
}

/* CampusFind landing page: unified, continuous, production-style intro. */
.first-visit-intro{
  background:
    radial-gradient(ellipse at 78% 10%, rgba(232,157,91,.12), transparent 32%),
    radial-gradient(ellipse at 9% 42%, rgba(190,128,74,.09), transparent 30%),
    linear-gradient(145deg,#fffcfa 0%,#fffaf5 48%,#fbf9f8 100%) !important;
  scroll-snap-type:none!important;
  scroll-behavior:smooth!important;
  scrollbar-width:none!important;
}
.first-visit-intro::-webkit-scrollbar{display:none!important}
.intro-screen{
  min-height:0!important;height:auto!important;
  background:transparent!important;
  scroll-snap-align:none!important;scroll-snap-stop:normal!important;
  overflow:clip;
}
.intro-hero-screen{
  min-height:clamp(590px,86svh,790px)!important;
  padding:26px clamp(22px,7.8vw,112px) 22px!important;
  justify-content:flex-start!important;
}
.intro-topbar{width:min(1320px,100%);margin:0 auto!important;padding-bottom:12px;border-bottom:1px solid rgba(180,133,91,.12)}
.intro-brand{grid-template-columns:38px auto!important;column-gap:10px!important}
.intro-brand img{width:38px!important;height:38px!important}
.intro-brand span{font-size:22px!important}
.intro-top-label{padding:9px 13px;border:1px solid rgba(227,151,84,.15);border-radius:99px;background:rgba(255,255,255,.58);font-size:9px!important;letter-spacing:1.25px!important}
.intro-hero-grid{
  width:min(1320px,100%)!important;min-height:0!important;flex:1!important;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr)!important;
  gap:clamp(26px,5vw,72px)!important;
  padding:clamp(36px,5vh,58px) 0 28px!important;
  align-content:center!important;
}
.intro-hero-copy h1{font-size:clamp(48px,5.6vw,78px)!important;line-height:.99!important;margin:18px 0 17px!important;letter-spacing:-.067em!important}
.intro-kicker{font-size:10px!important;letter-spacing:1.5px!important}
.intro-lead{max-width:535px!important;font-size:clamp(15px,1.25vw,17px)!important;line-height:1.7!important}
.intro-hero-actions{margin-top:24px!important;gap:14px!important}
.intro-secondary-btn{padding:13px 16px!important;gap:20px!important;border-radius:11px!important;box-shadow:0 7px 24px rgba(128,84,46,.055)!important}
.intro-visual{min-height:clamp(260px,34vw,350px)!important}
.intro-card-main{width:min(76%,370px)!important;padding:clamp(19px,2.4vw,27px)!important;border:1px solid rgba(255,255,255,.85)!important;box-shadow:0 28px 80px rgba(105,70,40,.12)!important}
.intro-card-title{margin:17px 0!important;font-size:clamp(25px,2.5vw,34px)!important;line-height:1.12!important}
.intro-card-footer{margin-top:16px!important;padding-top:12px!important}
.intro-hero-footer{width:min(1320px,100%);position:static!important;margin:0 auto!important;padding-top:13px;border-top:1px solid rgba(180,133,91,.11);color:#a59587!important}
.intro-how-screen{padding:0 clamp(22px,7.8vw,112px) 34px!important}
.intro-section-inner{width:min(1320px,100%);margin:0 auto!important;padding:22px 0 0!important}
.intro-section-heading{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr)!important;align-items:end!important;column-gap:clamp(26px,6vw,90px)!important;margin:0 0 23px!important}
.intro-section-heading .intro-kicker{grid-column:1/-1;margin:0 0 10px!important}
.intro-section-heading h2{margin:0!important;font-size:clamp(39px,4.5vw,60px)!important;line-height:.98!important;letter-spacing:-.06em!important}
.intro-section-heading p{max-width:420px;margin:0 0 4px!important;font-size:15px!important;line-height:1.65!important;color:#877B71!important}
.intro-feature-large{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin:0!important}
.intro-feature-large article{min-height:200px!important;padding:22px!important;border:1px solid rgba(227,151,84,.13)!important;border-radius:18px!important;background:rgba(255,255,255,.72)!important;box-shadow:0 12px 32px rgba(82,56,33,.035)!important;backdrop-filter:blur(12px)}
.intro-feature-icon{width:42px!important;height:42px!important;margin-bottom:16px!important;border-radius:13px!important}
.intro-feature-large h3{margin:0 0 8px!important;font-size:19px!important;letter-spacing:-.035em!important}
.intro-feature-large p{font-size:13px!important;line-height:1.6!important}
.intro-feature-link{margin-top:15px!important;padding-top:11px!important;border-top:1px solid rgba(227,151,84,.11)!important}
.intro-scroll-bottom{display:none!important}
.intro-final-screen{min-height:0!important;padding:48px clamp(22px,7.8vw,112px) 26px!important;background:transparent!important;border-top:1px solid rgba(227,151,84,.12)!important}
.intro-final-content{width:min(740px,100%);margin:0 auto!important;text-align:center}
.intro-final-mark{width:50px!important;height:50px!important;margin:0 auto 14px!important;border-radius:15px!important;box-shadow:0 10px 28px rgba(128,84,46,.09)!important}
.intro-final-mark img{width:34px!important;height:34px!important}
.intro-final-content h2{margin:13px 0!important;font-size:clamp(39px,4.6vw,62px)!important;line-height:1.02!important;letter-spacing:-.06em!important}
.intro-final-content>p{max-width:540px;margin:0 auto!important;font-size:15px!important;line-height:1.65!important}
.intro-final-content>button{margin:20px auto 8px!important;padding:13px 20px!important;border-radius:12px!important;box-shadow:0 12px 30px rgba(190,123,64,.2)!important}
.intro-final-content>small{display:block;color:#a49486;font-size:11px!important}
.intro-final-screen .intro-hero-footer{margin-top:26px!important}
@media(max-width:800px){
 .intro-hero-screen{min-height:0!important;padding:22px 22px 18px!important}
 .intro-top-label{font-size:8px!important;letter-spacing:.7px!important;padding:8px 9px}
 .intro-hero-grid{grid-template-columns:1fr!important;gap:8px!important;padding:36px 0 20px!important}
 .intro-hero-copy h1{font-size:clamp(43px,8.6vw,62px)!important;max-width:640px}
 .intro-visual{min-height:250px!important;margin:0!important}
 .intro-how-screen{padding:0 22px 26px!important}
 .intro-section-inner{padding:18px 0 0!important}
 .intro-section-heading{grid-template-columns:1fr!important;gap:12px!important;margin-bottom:19px!important}
 .intro-section-heading .intro-kicker{grid-column:auto!important}
 .intro-section-heading p{max-width:560px!important}
 .intro-feature-large{grid-template-columns:1fr!important;gap:10px!important}
 .intro-feature-large article{min-height:0!important;padding:19px!important}
 .intro-feature-icon{margin-bottom:12px!important}
 .intro-final-screen{padding:38px 22px 22px!important}
}
@media(max-width:520px){
 .intro-hero-screen{padding:17px 17px 15px!important}
 .intro-brand{grid-template-columns:32px auto!important;column-gap:8px!important}
 .intro-brand img{width:32px!important;height:32px!important}
 .intro-brand span{font-size:19px!important}
 .intro-brand small{font-size:7px!important;letter-spacing:1px!important}
 .intro-top-label{max-width:145px;text-align:center;line-height:1.35}
 .intro-hero-grid{padding:29px 0 15px!important}
 .intro-hero-copy h1{font-size:clamp(39px,10vw,52px)!important}
 .intro-lead{font-size:14px!important}
 .intro-visual{min-height:215px!important}
 .intro-card-main{width:80%!important;padding:17px!important}
 .intro-card-title{font-size:24px!important}
 .intro-how-screen{padding:0 17px 23px!important}
 .intro-section-heading h2{font-size:42px!important}
 .intro-final-screen{padding:34px 17px 20px!important}
}

/* CampusFind intro: natural portfolio-style scrolling, no artificial section dividers. */
.first-visit-intro{
  scroll-snap-type:none!important;
  scroll-behavior:smooth!important;
  background:
    radial-gradient(ellipse at 78% 13%,rgba(232,157,91,.13),transparent 34%),
    radial-gradient(ellipse at 14% 44%,rgba(190,128,74,.075),transparent 32%),
    linear-gradient(145deg,#fffcf9 0%,#fffbf7 52%,#fbf9f7 100%)!important;
  scrollbar-width:none!important;
}
.first-visit-intro::-webkit-scrollbar{display:none!important}
.first-visit-intro .intro-screen{
  height:auto!important;min-height:0!important;
  background:transparent!important;
  scroll-snap-align:none!important;scroll-snap-stop:normal!important;
  overflow:visible!important;
}
.first-visit-intro .intro-hero-screen{
  min-height:min(790px,88svh)!important;
  padding:26px clamp(22px,7.8vw,112px) 24px!important;
}
.first-visit-intro .intro-topbar{
  width:min(1320px,100%);margin:0 auto!important;padding-bottom:12px!important;
  border:0!important;
}
.first-visit-intro .intro-hero-grid{
  width:min(1320px,100%)!important;min-height:0!important;flex:1!important;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr)!important;
  gap:clamp(26px,5vw,72px)!important;
  padding:clamp(36px,5vh,58px) 0 24px!important;
  align-content:center!important;
}
.first-visit-intro .intro-hero-copy h1{font-size:clamp(48px,5.6vw,78px)!important;line-height:.99!important;margin:18px 0 17px!important;letter-spacing:-.067em!important}
.first-visit-intro .intro-lead{max-width:535px!important;font-size:clamp(15px,1.25vw,17px)!important;line-height:1.65!important}
.first-visit-intro .intro-hero-actions{margin-top:22px!important;gap:14px!important}
.first-visit-intro .intro-visual{min-height:clamp(260px,34vw,350px)!important}
.first-visit-intro .intro-hero-footer{
  width:min(1320px,100%);position:static!important;margin:0 auto!important;
  padding-top:8px!important;border:0!important;color:#a59587!important;
}
.first-visit-intro .intro-how-screen{padding:0 clamp(22px,7.8vw,112px) 34px!important}
.first-visit-intro .intro-section-inner{width:min(1320px,100%);margin:0 auto!important;padding:28px 0 22px!important}
.first-visit-intro .intro-section-heading{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr)!important;align-items:end!important;column-gap:clamp(26px,6vw,90px)!important;margin:0 0 23px!important}
.first-visit-intro .intro-section-heading .intro-kicker{grid-column:1/-1;margin:0 0 10px!important}
.first-visit-intro .intro-section-heading h2{margin:0!important;font-size:clamp(39px,4.5vw,60px)!important;line-height:.98!important;letter-spacing:-.06em!important}
.first-visit-intro .intro-section-heading p{max-width:420px;margin:0 0 4px!important;font-size:15px!important;line-height:1.65!important;color:#877B71!important}
.first-visit-intro .intro-feature-large{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin:0!important}
.first-visit-intro .intro-feature-large article{min-height:200px!important;padding:22px!important;border:1px solid rgba(227,151,84,.13)!important;border-radius:18px!important;background:rgba(255,255,255,.66)!important;box-shadow:0 12px 32px rgba(82,56,33,.035)!important;backdrop-filter:blur(12px)}
.first-visit-intro .intro-feature-number{display:none!important}
.first-visit-intro .intro-feature-icon{width:42px!important;height:42px!important;margin-bottom:16px!important;border-radius:13px!important}
.first-visit-intro .intro-feature-large h3{margin:0 0 8px!important;font-size:19px!important;letter-spacing:-.035em!important}
.first-visit-intro .intro-feature-large p{font-size:13px!important;line-height:1.6!important}
.first-visit-intro .intro-feature-link{margin-top:14px!important;padding-top:0!important;border:0!important}
.first-visit-intro .intro-scroll-bottom{display:none!important}
.first-visit-intro .intro-final-screen{
  min-height:0!important;padding:58px clamp(22px,7.8vw,112px) 28px!important;
  background:transparent!important;border:0!important;
}
.first-visit-intro .intro-final-content{width:min(740px,100%);margin:0 auto!important;text-align:center}
.first-visit-intro .intro-final-mark{width:50px!important;height:50px!important;margin:0 auto 14px!important;border:0!important;box-shadow:0 10px 28px rgba(128,84,46,.09)!important}
.first-visit-intro .intro-final-mark img{width:34px!important;height:34px!important}
.first-visit-intro .intro-final-content h2{margin:13px 0!important;font-size:clamp(39px,4.6vw,62px)!important;line-height:1.02!important;letter-spacing:-.06em!important}
.first-visit-intro .intro-final-content>p{max-width:540px;margin:0 auto!important;font-size:15px!important;line-height:1.65!important}
.first-visit-intro .intro-final-content>button{margin:20px auto 8px!important;padding:13px 20px!important;border-radius:12px!important;box-shadow:0 12px 30px rgba(190,123,64,.2)!important}
.first-visit-intro .intro-final-content>small{display:block;color:#a49486;font-size:11px!important}
.first-visit-intro .intro-final-screen .intro-hero-footer{margin-top:28px!important}
@media(max-width:800px){
 .first-visit-intro .intro-hero-screen{min-height:0!important;padding:22px 22px 18px!important}
 .first-visit-intro .intro-hero-grid{grid-template-columns:1fr!important;gap:8px!important;padding:36px 0 20px!important}
 .first-visit-intro .intro-hero-copy h1{font-size:clamp(43px,8.6vw,62px)!important;max-width:640px}
 .first-visit-intro .intro-visual{min-height:250px!important;margin:0!important}
 .first-visit-intro .intro-how-screen{padding:0 22px 26px!important}
 .first-visit-intro .intro-section-inner{padding:18px 0 0!important}
 .first-visit-intro .intro-section-heading{grid-template-columns:1fr!important;gap:12px!important;margin-bottom:19px!important}
 .first-visit-intro .intro-section-heading .intro-kicker{grid-column:auto!important}
 .first-visit-intro .intro-section-heading p{max-width:560px!important}
 .first-visit-intro .intro-feature-large{grid-template-columns:1fr!important;gap:10px!important}
 .first-visit-intro .intro-feature-large article{min-height:0!important;padding:19px!important}
 .first-visit-intro .intro-feature-icon{margin-bottom:12px!important}
 .first-visit-intro .intro-final-screen{padding:38px 22px 22px!important}
}
@media(max-width:520px){
 .first-visit-intro .intro-hero-screen{padding:17px 17px 15px!important}
 .first-visit-intro .intro-hero-grid{padding:29px 0 15px!important}
 .first-visit-intro .intro-hero-copy h1{font-size:clamp(39px,10vw,52px)!important}
 .first-visit-intro .intro-lead{font-size:14px!important}
 .first-visit-intro .intro-visual{min-height:215px!important}
 .first-visit-intro .intro-card-main{width:80%!important;padding:17px!important}
 .first-visit-intro .intro-card-title{font-size:24px!important}
 .first-visit-intro .intro-how-screen{padding:0 17px 23px!important}
 .first-visit-intro .intro-section-heading h2{font-size:42px!important}
 .first-visit-intro .intro-final-screen{padding:34px 17px 20px!important}
}
/* CampusFind — refreshed product landing experience */
.first-visit-intro{
  --cf-ink:#38291B; --cf-muted:#897A6D; --cf-purple:#E69249; --cf-mint:#b97941;
  overflow-x:hidden!important; overflow-y:auto!important; scroll-snap-type:none!important;
  background:
    radial-gradient(ellipse at 78% 13%,rgba(235,158,91,.15),transparent 31%),
    radial-gradient(ellipse at 8% 43%,rgba(185,121,65,.10),transparent 29%),
    linear-gradient(135deg,#fffcfa 0%,#fffaf5 48%,#fbf9f7 100%)!important;
  color:var(--cf-ink); scrollbar-width:none!important;
}
.first-visit-intro::-webkit-scrollbar{display:none!important}
.first-visit-intro .intro-screen,
.first-visit-intro .intro-hero-screen,
.first-visit-intro .intro-how-screen,
.first-visit-intro .intro-final-screen{
  height:auto!important;min-height:0!important;scroll-snap-align:none!important;scroll-snap-stop:normal!important;
  background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;
}
.first-visit-intro .intro-hero-screen{padding:25px clamp(22px,7.5vw,108px) 18px!important}
.first-visit-intro .intro-topbar{width:min(1280px,100%);margin:0 auto!important;padding:0!important;border:0!important;display:flex;align-items:center;justify-content:space-between}
.first-visit-intro .intro-brand{grid-template-columns:42px auto!important;column-gap:10px!important}
.first-visit-intro .intro-brand img{width:42px!important;height:42px!important}
.first-visit-intro .intro-brand span{font-size:23px!important;letter-spacing:-1.1px!important}
.first-visit-intro .intro-brand small{font-size:8px!important;letter-spacing:1.45px!important}
.first-visit-intro .intro-top-label{display:inline-flex;align-items:center;gap:8px;padding:10px 14px!important;border:1px solid rgba(230,146,73,.12)!important;border-radius:999px!important;background:rgba(255,255,255,.56)!important;color:#9B8776!important;font-size:9px!important;letter-spacing:1.15px!important}
.first-visit-intro .intro-top-label:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cf-mint);box-shadow:0 0 0 4px rgba(185,121,65,.12)}
.first-visit-intro .intro-hero-grid{width:min(1280px,100%)!important;margin:0 auto!important;min-height:0!important;flex:initial!important;grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr)!important;gap:clamp(24px,5vw,72px)!important;padding:clamp(42px,7vh,76px) 0 36px!important;align-items:center!important}
.first-visit-intro .intro-hero-copy{max-width:650px!important}
.first-visit-intro .intro-kicker{font-size:10px!important;letter-spacing:1.45px!important;color:var(--cf-purple)!important}
.first-visit-intro .intro-live-dot{background:var(--cf-mint)!important;box-shadow:0 0 0 5px rgba(185,121,65,.12)!important}
.first-visit-intro .intro-hero-copy h1{max-width:680px!important;margin:18px 0 19px!important;color:var(--cf-ink)!important;font-size:clamp(49px,6vw,82px)!important;line-height:.98!important;letter-spacing:-.073em!important;font-weight:880!important}
.first-visit-intro .intro-hero-copy h1 em{color:var(--cf-purple)!important;font-style:normal!important}
.first-visit-intro .intro-lead{max-width:515px!important;margin:0!important;color:var(--cf-muted)!important;font-size:clamp(15px,1.3vw,17px)!important;line-height:1.72!important}
.first-visit-intro .intro-hero-actions{display:flex!important;align-items:center!important;gap:15px!important;margin-top:25px!important}
.first-visit-intro .intro-secondary-btn{min-height:48px!important;padding:13px 17px!important;gap:24px!important;border:1px solid rgba(230,146,73,.17)!important;border-radius:13px!important;background:#fff!important;color:#986539!important;box-shadow:0 8px 24px rgba(108,71,39,.06)!important;font-size:13px!important}
.first-visit-intro .intro-secondary-btn:hover{transform:translateY(-2px)!important;box-shadow:0 14px 30px rgba(108,71,39,.11)!important}
.first-visit-intro .intro-scroll-hint{display:none!important}
.first-visit-intro .intro-visual{position:relative!important;min-height:clamp(300px,37vw,430px)!important;margin:0!important;isolation:isolate}
.first-visit-intro .intro-visual-glow{width:min(90%,390px)!important;aspect-ratio:1!important;background:radial-gradient(circle,rgba(233,159,95,.19),rgba(194,133,79,.11) 54%,transparent 72%)!important;filter:blur(8px)!important}
.first-visit-intro .intro-card-main{width:min(82%,390px)!important;padding:clamp(22px,2.6vw,31px)!important;border:1px solid rgba(255,255,255,.9)!important;border-radius:25px!important;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(255,255,255,.82))!important;box-shadow:0 34px 85px rgba(101,68,39,.13),inset 0 1px 0 #fff!important;backdrop-filter:blur(18px)!important}
.first-visit-intro .intro-card-symbol{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:14px!important;background:#fff3e8!important;color:var(--cf-purple)!important;font-size:29px!important}
.first-visit-intro .intro-status-pill{padding:7px 10px!important;border-radius:999px!important;background:#f8f1ea!important;color:#9B6332!important;font-size:8px!important;letter-spacing:1px!important}
.first-visit-intro .intro-card-title{margin:25px 0 21px!important;color:#413225!important;font-size:clamp(26px,2.8vw,37px)!important;line-height:1.1!important;letter-spacing:-.06em!important}
.first-visit-intro .intro-card-title strong{color:var(--cf-purple)!important}
.first-visit-intro .intro-card-lines{display:grid!important;gap:9px!important}
.first-visit-intro .intro-card-lines i{height:7px!important;border-radius:99px!important;background:#f7f0ea!important}
.first-visit-intro .intro-card-lines i:nth-child(1){width:92%}.first-visit-intro .intro-card-lines i:nth-child(2){width:74%}.first-visit-intro .intro-card-lines i:nth-child(3){width:54%}
.first-visit-intro .intro-card-footer{margin-top:23px!important;padding-top:15px!important;border-top:1px solid #f6f0ea!important;font-size:10px!important}
.first-visit-intro .intro-card-mini{right:-1%!important;bottom:9%!important;padding:14px 17px!important;border:1px solid rgba(255,255,255,.92)!important;border-radius:18px!important;background:rgba(255,255,255,.95)!important;box-shadow:0 18px 44px rgba(101,68,39,.12)!important;backdrop-filter:blur(16px)!important}
.first-visit-intro .intro-hero-footer{display:none!important}
.first-visit-intro .intro-how-screen{padding:8px clamp(22px,7.5vw,108px) 56px!important}
.first-visit-intro .intro-section-inner{width:min(1280px,100%)!important;margin:0 auto!important;padding:18px 0 0!important}
.first-visit-intro .intro-section-heading{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,.78fr)!important;align-items:end!important;column-gap:clamp(28px,6vw,86px)!important;margin:0 0 24px!important}
.first-visit-intro .intro-section-heading .intro-kicker{grid-column:1/-1!important;margin:0 0 12px!important}
.first-visit-intro .intro-section-heading h2{margin:0!important;color:var(--cf-ink)!important;font-size:clamp(41px,5vw,65px)!important;line-height:.98!important;letter-spacing:-.07em!important}
.first-visit-intro .intro-section-heading h2 em{color:var(--cf-purple)!important}
.first-visit-intro .intro-section-heading p{max-width:430px!important;margin:0 0 4px!important;color:var(--cf-muted)!important;font-size:15px!important;line-height:1.7!important}
.first-visit-intro .intro-feature-large{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:15px!important;margin:0!important}
.first-visit-intro .intro-feature-large article{min-height:205px!important;padding:24px!important;border:1px solid rgba(230,146,73,.10)!important;border-radius:21px!important;background:rgba(255,255,255,.62)!important;box-shadow:0 12px 35px rgba(86,57,32,.035)!important;backdrop-filter:blur(12px)!important;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important}
.first-visit-intro .intro-feature-large article:hover{transform:translateY(-5px)!important;border-color:rgba(230,146,73,.22)!important;box-shadow:0 22px 48px rgba(86,57,32,.08)!important}
.first-visit-intro .intro-feature-number{display:none!important}
.first-visit-intro .intro-feature-icon{width:44px!important;height:44px!important;margin-bottom:18px!important;border-radius:14px!important;background:#fff3e8!important;color:var(--cf-purple)!important;font-size:25px!important}
.first-visit-intro .intro-feature-large h3{margin:0 0 9px!important;font-size:20px!important;letter-spacing:-.045em!important;color:var(--cf-ink)!important}
.first-visit-intro .intro-feature-large p{margin:0!important;color:var(--cf-muted)!important;font-size:13px!important;line-height:1.68!important}
.first-visit-intro .intro-feature-link{margin-top:19px!important;padding-top:0!important;border:0!important;color:#a79483!important;font-size:9px!important;letter-spacing:1.1px!important}
.first-visit-intro .intro-feature-link b{color:var(--cf-purple)!important}
.first-visit-intro .intro-scroll-bottom{display:none!important}
.first-visit-intro .intro-final-screen{padding:45px clamp(22px,7.5vw,108px) 36px!important;background:transparent!important;border:0!important}
.first-visit-intro .intro-final-content{width:min(780px,100%)!important;margin:0 auto!important;padding:42px 24px 38px!important;border:1px solid rgba(230,146,73,.10)!important;border-radius:28px!important;background:linear-gradient(135deg,rgba(255,255,255,.70),rgba(255,255,255,.38))!important;box-shadow:0 20px 60px rgba(93,63,36,.035)!important;backdrop-filter:blur(12px)!important}
.first-visit-intro .intro-final-mark{width:52px!important;height:52px!important;margin:0 auto 16px!important;border:1px solid rgba(230,146,73,.12)!important;border-radius:16px!important;background:#fff!important}
.first-visit-intro .intro-final-content h2{margin:14px 0!important;font-size:clamp(40px,5vw,65px)!important;line-height:.98!important;letter-spacing:-.07em!important}
.first-visit-intro .intro-final-content>p{max-width:550px!important;margin:0 auto!important;font-size:15px!important;line-height:1.7!important}
.first-visit-intro .intro-final-content>button{margin:22px auto 8px!important;min-width:205px!important;border-radius:13px!important;background:linear-gradient(135deg,#EB9B55,#D48540)!important;box-shadow:0 13px 28px rgba(190,123,64,.23)!important}
.first-visit-intro .intro-final-screen .intro-hero-footer{display:none!important}
@media(max-width:800px){
 .first-visit-intro .intro-hero-screen{padding:21px 22px 14px!important}
 .first-visit-intro .intro-hero-grid{grid-template-columns:1fr!important;gap:10px!important;padding:42px 0 22px!important}
 .first-visit-intro .intro-hero-copy h1{font-size:clamp(43px,8.6vw,64px)!important;max-width:650px!important}
 .first-visit-intro .intro-visual{min-height:270px!important}
 .first-visit-intro .intro-how-screen{padding:16px 22px 36px!important}
 .first-visit-intro .intro-section-inner{padding:10px 0!important}
 .first-visit-intro .intro-section-heading{grid-template-columns:1fr!important;gap:13px!important;margin-bottom:20px!important}
 .first-visit-intro .intro-section-heading .intro-kicker{grid-column:auto!important}
 .first-visit-intro .intro-feature-large{grid-template-columns:1fr!important;gap:11px!important}
 .first-visit-intro .intro-feature-large article{min-height:0!important;padding:21px!important}
 .first-visit-intro .intro-final-screen{padding:30px 22px 28px!important}
 .first-visit-intro .intro-final-content{padding:32px 20px!important}
}
@media(max-width:520px){
 .first-visit-intro .intro-hero-screen{padding:17px 17px 12px!important}
 .first-visit-intro .intro-brand{grid-template-columns:34px auto!important;column-gap:8px!important}
 .first-visit-intro .intro-brand img{width:34px!important;height:34px!important}
 .first-visit-intro .intro-brand span{font-size:20px!important}
 .first-visit-intro .intro-brand small{font-size:7px!important;letter-spacing:1px!important}
 .first-visit-intro .intro-top-label{max-width:135px;padding:8px 10px!important;font-size:7px!important;letter-spacing:.6px!important;text-align:center}
 .first-visit-intro .intro-hero-grid{padding:32px 0 16px!important}
 .first-visit-intro .intro-hero-copy h1{font-size:clamp(40px,10.5vw,56px)!important;margin:15px 0!important}
 .first-visit-intro .intro-lead{font-size:14px!important;line-height:1.65!important}
 .first-visit-intro .intro-hero-actions{margin-top:19px!important}
 .first-visit-intro .intro-visual{min-height:230px!important}
 .first-visit-intro .intro-card-main{width:82%!important;padding:18px!important;border-radius:20px!important}
 .first-visit-intro .intro-card-title{font-size:25px!important;margin:17px 0!important}
 .first-visit-intro .intro-card-mini{right:0!important;bottom:5%!important;padding:11px 12px!important}
 .first-visit-intro .intro-how-screen{padding:12px 17px 28px!important}
 .first-visit-intro .intro-section-heading h2{font-size:clamp(40px,10vw,48px)!important}
 .first-visit-intro .intro-feature-large article{padding:19px!important}
 .first-visit-intro .intro-final-screen{padding:22px 17px!important}
 .first-visit-intro .intro-final-content{padding:27px 17px!important;border-radius:22px!important}
}
@media(prefers-reduced-motion:reduce){.first-visit-intro{scroll-behavior:auto!important}.first-visit-intro .reveal-on-scroll{opacity:1!important;transform:none!important;transition:none!important}}
.first-visit-intro .intro-top-cta{display:inline-flex;align-items:center;gap:18px;padding:11px 15px;border:0;border-radius:12px;background:#E69249;color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(190,123,64,.18);transition:transform .2s,box-shadow .2s}
.first-visit-intro .intro-top-cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(190,123,64,.25)}
.first-visit-intro .intro-top-cta span{font-size:15px}
@media(max-width:520px){.first-visit-intro .intro-top-cta{padding:10px 11px;gap:7px;font-size:10px;border-radius:10px}}

/* Additional CampusFind intro storytelling — integrated, continuous and compact */
.first-visit-intro .intro-extra-screen{padding:32px clamp(22px,7.5vw,108px) 42px!important;background:transparent!important}
.first-visit-intro .intro-extra-inner{width:min(1280px,100%);margin:0 auto}
.first-visit-intro .intro-extra-heading{max-width:800px;margin:0 0 25px}
.first-visit-intro .intro-extra-heading h2,.first-visit-intro .intro-items-copy h2{margin:12px 0 12px;color:var(--cf-ink);font-size:clamp(39px,4.6vw,60px);line-height:.99;letter-spacing:-.07em;font-weight:880}
.first-visit-intro .intro-extra-heading h2 em,.first-visit-intro .intro-items-copy h2 em{font-style:normal;color:var(--cf-purple)}
.first-visit-intro .intro-extra-heading p,.first-visit-intro .intro-items-copy p{max-width:600px;margin:0;color:var(--cf-muted);font-size:15px;line-height:1.75}
.first-visit-intro .intro-journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.first-visit-intro .intro-journey-card{position:relative;padding:23px 23px 24px;border-radius:21px;background:rgba(255,255,255,.52);box-shadow:0 12px 36px rgba(86,57,32,.035);transition:transform .25s ease,background .25s ease}
.first-visit-intro .intro-journey-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.8)}
.first-visit-intro .intro-journey-symbol{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:14px;background:#fff3e8;color:var(--cf-purple);font-size:23px;font-weight:800}
.first-visit-intro .intro-journey-card>small{color:#B49D89;font-size:9px;font-weight:850;letter-spacing:1.25px}
.first-visit-intro .intro-journey-card h3{margin:8px 0;color:var(--cf-ink);font-size:19px;letter-spacing:-.045em}
.first-visit-intro .intro-journey-card p{margin:0;color:var(--cf-muted);font-size:13px;line-height:1.7}
.first-visit-intro .intro-items-screen{padding-top:24px!important;padding-bottom:44px!important}
.first-visit-intro .intro-items-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,6vw,85px);align-items:center}
.first-visit-intro .intro-items-copy h2{margin-top:14px}
.first-visit-intro .intro-items-copy p{max-width:440px}
.first-visit-intro .intro-items-cta{display:inline-flex;align-items:center;gap:20px;margin-top:22px;padding:13px 17px;border:0;border-radius:12px;background:var(--cf-purple);color:white;font:inherit;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(190,123,64,.18);transition:transform .2s ease}
.first-visit-intro .intro-items-cta:hover{transform:translateY(-2px)}
.first-visit-intro .intro-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.first-visit-intro .intro-item-tile{display:flex;flex-direction:column;align-items:flex-start;min-height:145px;padding:20px;border-radius:19px;background:rgba(255,255,255,.58);box-shadow:0 12px 32px rgba(86,57,32,.035);transition:transform .25s ease,background .25s ease}
.first-visit-intro .intro-item-tile:hover{transform:translateY(-3px);background:rgba(255,255,255,.88)}
.first-visit-intro .intro-item-tile>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:13px;border-radius:14px;background:rgba(255,243,232,.85);font-size:22px}
.first-visit-intro .intro-item-tile b{color:var(--cf-ink);font-size:14px;letter-spacing:-.02em}
.first-visit-intro .intro-item-tile small{margin-top:5px;color:var(--cf-muted);font-size:11px;line-height:1.5}
@media(max-width:800px){
 .first-visit-intro .intro-extra-screen{padding:26px 22px 32px!important}
 .first-visit-intro .intro-journey-grid{grid-template-columns:1fr;gap:10px}
 .first-visit-intro .intro-journey-card{padding:19px;display:grid;grid-template-columns:42px 1fr;column-gap:14px;align-items:center}
 .first-visit-intro .intro-journey-symbol{grid-row:1/3;margin:0}
 .first-visit-intro .intro-journey-card>small{align-self:end}
 .first-visit-intro .intro-journey-card h3{margin:3px 0 0;align-self:start}
 .first-visit-intro .intro-journey-card p{grid-column:2;margin-top:7px}
 .first-visit-intro .intro-items-layout{grid-template-columns:1fr;gap:24px}
 .first-visit-intro .intro-item-tile{min-height:130px;padding:16px}
}
@media(max-width:520px){
 .first-visit-intro .intro-extra-screen{padding:22px 17px 27px!important}
 .first-visit-intro .intro-extra-heading h2,.first-visit-intro .intro-items-copy h2{font-size:clamp(37px,10vw,47px)}
 .first-visit-intro .intro-extra-heading p,.first-visit-intro .intro-items-copy p{font-size:14px}
 .first-visit-intro .intro-journey-card{padding:16px;border-radius:17px}
 .first-visit-intro .intro-item-grid{gap:9px}
 .first-visit-intro .intro-item-tile{min-height:132px;padding:14px;border-radius:16px}
 .first-visit-intro .intro-item-tile b{font-size:12px}
 .first-visit-intro .intro-item-tile small{font-size:10px}
}


/* CampusFind intro extension — richer product storytelling, same seamless canvas */
.first-visit-intro .intro-moments-screen{padding-top:25px!important;padding-bottom:35px!important}
.first-visit-intro .intro-moments-heading{display:grid;grid-template-columns:1fr minmax(260px,.7fr);gap:40px;align-items:end;margin-bottom:24px}
.first-visit-intro .intro-moments-heading h2,.first-visit-intro .intro-good-report-copy h2{margin:12px 0 0;color:var(--cf-ink);font-size:clamp(39px,4.6vw,60px);line-height:.99;letter-spacing:-.07em;font-weight:880}
.first-visit-intro .intro-moments-heading h2 em,.first-visit-intro .intro-good-report-copy h2 em{font-style:normal;color:var(--cf-purple)}
.first-visit-intro .intro-moments-heading>p,.first-visit-intro .intro-good-report-copy>p{margin:0 0 3px;color:var(--cf-muted);font-size:14px;line-height:1.75;max-width:470px}
.first-visit-intro .intro-moments-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:13px}
.first-visit-intro .intro-moment-card{overflow:hidden;border-radius:21px;background:rgba(255,255,255,.58);box-shadow:0 12px 34px rgba(86,57,32,.035);transition:transform .25s ease,background .25s ease}
.first-visit-intro .intro-moment-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.86)}
.first-visit-intro .intro-moment-art{height:142px;margin:10px 10px 0;border-radius:15px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.9),transparent 50%),linear-gradient(135deg,#fff1e4,#fff8f2 60%,#f6ede6)}
.first-visit-intro .intro-art-id{flex-direction:column;gap:5px}
.first-visit-intro .intro-art-id:before{content:"";position:absolute;width:120px;height:155px;border-radius:15px;background:rgba(255,255,255,.88);box-shadow:0 15px 35px rgba(120,81,46,.12);transform:rotate(-8deg)}
.first-visit-intro .intro-art-id span,.first-visit-intro .intro-art-id b,.first-visit-intro .intro-art-id small{position:relative;z-index:1}
.first-visit-intro .intro-art-id span{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#fff3e8;color:var(--cf-purple);font-size:19px}
.first-visit-intro .intro-art-id b{font-size:12px;letter-spacing:1.2px;color:#503F30}
.first-visit-intro .intro-art-id small{font-size:7px;letter-spacing:1px;color:#a79483}
.first-visit-intro .intro-art-keys span,.first-visit-intro .intro-art-books span{display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(255,255,255,.85);border-radius:23px;background:rgba(255,255,255,.68);color:var(--cf-purple);font-size:38px;box-shadow:0 15px 30px rgba(120,81,46,.08);transform:rotate(-7deg)}
.first-visit-intro .intro-art-books{background:radial-gradient(circle at 75% 25%,rgba(255,255,255,.9),transparent 42%),linear-gradient(135deg,#f7ede5,#fff9f3 65%,#fff2e7)}
.first-visit-intro .intro-moment-copy{padding:17px 20px 20px}
.first-visit-intro .intro-moment-copy>small{color:#B49D89;font-size:8px;font-weight:850;letter-spacing:1.1px}
.first-visit-intro .intro-moment-copy h3{margin:7px 0;color:var(--cf-ink);font-size:18px;letter-spacing:-.04em}
.first-visit-intro .intro-moment-copy p{margin:0;color:var(--cf-muted);font-size:12px;line-height:1.7}
.first-visit-intro .intro-good-report-screen{padding-top:27px!important;padding-bottom:42px!important}
.first-visit-intro .intro-good-report-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(28px,6vw,82px);align-items:center}
.first-visit-intro .intro-good-report-copy h2{margin:13px 0}
.first-visit-intro .intro-report-note{display:flex;align-items:flex-start;gap:12px;margin-top:22px;max-width:450px;padding:14px 15px;border-radius:15px;background:rgba(255,255,255,.48)}
.first-visit-intro .intro-report-note>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:9px;background:#f7ede4;color:#9d622f;font-weight:900}
.first-visit-intro .intro-report-note b,.first-visit-intro .intro-report-row b{display:block;color:var(--cf-ink);font-size:12px}
.first-visit-intro .intro-report-note small,.first-visit-intro .intro-report-row small{display:block;margin-top:4px;color:var(--cf-muted);font-size:11px;line-height:1.55}
.first-visit-intro .intro-report-preview{padding:19px;border:1px solid rgba(230,146,73,.09);border-radius:23px;background:rgba(255,255,255,.62);box-shadow:0 18px 45px rgba(86,57,32,.045);backdrop-filter:blur(12px)}
.first-visit-intro .intro-report-preview-top{display:flex;align-items:center;gap:8px;margin-bottom:13px;color:#AA9787;font-size:8px;font-weight:850;letter-spacing:1px}
.first-visit-intro .intro-report-dot{width:7px;height:7px;border-radius:50%;background:var(--cf-mint)}
.first-visit-intro .intro-report-status{margin-left:auto;padding:6px 8px;border-radius:99px;background:#f8f0e9;color:#986130;font-size:7px;letter-spacing:.6px}
.first-visit-intro .intro-report-row{display:grid;grid-template-columns:39px 1fr 20px;gap:12px;align-items:center;padding:13px 0;border-top:1px solid rgba(230,146,73,.07)}
.first-visit-intro .intro-report-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#fff4eb;color:var(--cf-purple);font-size:21px}
.first-visit-intro .intro-report-check{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#f7ede5;color:#9c612e;font-size:11px;font-weight:900}
.first-visit-intro .intro-report-preview-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:9px;padding-top:13px;border-top:1px solid rgba(230,146,73,.07);color:#a19183;font-size:9px}
.first-visit-intro .intro-report-preview-bottom span:last-child{color:var(--cf-purple);font-weight:800;white-space:nowrap}
@media(max-width:800px){
 .first-visit-intro .intro-moments-heading{grid-template-columns:1fr;gap:12px;margin-bottom:19px}
 .first-visit-intro .intro-moments-grid{grid-template-columns:1fr 1fr}
 .first-visit-intro .intro-moment-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1fr;align-items:center}
 .first-visit-intro .intro-moment-card:first-child .intro-moment-art{height:100%;min-height:155px;margin:10px}
 .first-visit-intro .intro-good-report-layout{grid-template-columns:1fr;gap:22px}
}
@media(max-width:520px){
 .first-visit-intro .intro-moments-grid{grid-template-columns:1fr;gap:10px}
 .first-visit-intro .intro-moment-card:first-child{grid-column:auto;display:block}
 .first-visit-intro .intro-moment-card:first-child .intro-moment-art{height:142px;min-height:0}
 .first-visit-intro .intro-moment-art{height:120px}
 .first-visit-intro .intro-moment-copy{padding:14px 16px 17px}
 .first-visit-intro .intro-moments-heading h2,.first-visit-intro .intro-good-report-copy h2{font-size:clamp(37px,10vw,47px)}
 .first-visit-intro .intro-good-report-screen{padding-top:20px!important;padding-bottom:29px!important}
 .first-visit-intro .intro-report-preview{padding:14px;border-radius:18px}
 .first-visit-intro .intro-report-preview-top{font-size:7px;letter-spacing:.5px}
 .first-visit-intro .intro-report-row{grid-template-columns:34px 1fr 18px;gap:9px}
 .first-visit-intro .intro-report-icon{width:34px;height:34px}
}


/* Complete intro additions: dashboard preview, interactive steps, and community story. */
.first-visit-intro .intro-dashboard-screen{padding-top:32px!important;padding-bottom:38px!important}
.first-visit-intro .intro-dashboard-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(28px,6vw,82px);align-items:center}
.first-visit-intro .intro-dashboard-copy h2,.first-visit-intro .intro-community-copy h2{margin:13px 0;color:var(--cf-ink);font-size:clamp(39px,4.6vw,60px);line-height:.99;letter-spacing:-.07em;font-weight:880}
.first-visit-intro .intro-dashboard-copy h2 em,.first-visit-intro .intro-community-copy h2 em{font-style:normal;color:var(--cf-purple)}
.first-visit-intro .intro-dashboard-copy>p,.first-visit-intro .intro-community-copy>p{max-width:480px;color:var(--cf-muted);font-size:14px;line-height:1.75}
.first-visit-intro .intro-dashboard-points{display:grid;gap:10px;margin:22px 0 4px}
.first-visit-intro .intro-dashboard-points span{display:flex;gap:10px;align-items:center;color:#76675a;font-size:12px;font-weight:650}
.first-visit-intro .intro-dashboard-points i{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#f7eee6;color:#98663A;font-size:12px;font-style:normal;font-weight:900}
.first-visit-intro .intro-dashboard-preview{min-width:0;padding:15px;border:1px solid rgba(230,146,73,.12);border-radius:24px;background:rgba(255,255,255,.76);box-shadow:0 24px 65px rgba(86,57,32,.08);backdrop-filter:blur(14px);transition:transform .3s ease,box-shadow .3s ease}
.first-visit-intro .intro-dashboard-preview:hover{transform:translateY(-4px);box-shadow:0 28px 70px rgba(86,57,32,.11)}
.first-visit-intro .intro-dash-windowbar{display:flex;align-items:center;gap:5px;padding:0 3px 13px;border-bottom:1px solid rgba(230,146,73,.08)}
.first-visit-intro .intro-dash-windowbar>span{width:7px;height:7px;border-radius:50%;background:#eee2d8}.first-visit-intro .intro-dash-windowbar>span:first-child{background:#f4b8b1}.first-visit-intro .intro-dash-windowbar>span:nth-child(2){background:#f4d89a}.first-visit-intro .intro-dash-windowbar>span:nth-child(3){background:#dfc2a9}
.first-visit-intro .intro-dash-windowbar>b{margin-left:auto;color:#b0a092;font-size:9px;font-weight:700}
.first-visit-intro .intro-dash-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 4px 13px}
.first-visit-intro .intro-dash-heading small,.first-visit-intro .intro-step-detail>div>small{color:#B39F8D;font-size:8px;font-weight:850;letter-spacing:1.2px}
.first-visit-intro .intro-dash-heading h3{margin:4px 0 0;color:var(--cf-ink);font-size:21px;letter-spacing:-.05em}
.first-visit-intro .intro-dash-sample{padding:6px 8px;border-radius:7px;background:#fff5ed;color:#D99355;font-size:7px;font-weight:850;letter-spacing:.7px;white-space:nowrap}
.first-visit-intro .intro-dash-tools{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}
.first-visit-intro .intro-dash-tools span{padding:9px 10px;border:1px solid #f7f1ec;border-radius:9px;color:#b4a69a;font-size:9px}.first-visit-intro .intro-dash-tools span:first-child{flex:1}
.first-visit-intro .intro-dash-item{display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 4px;border-bottom:1px solid rgba(230,146,73,.07)}
.first-visit-intro .intro-dash-item-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;font-size:20px;background:#fff4eb}
.first-visit-intro .intro-dash-keys{background:#fff2df}.first-visit-intro .intro-dash-tech{background:#f7ede5}
.first-visit-intro .intro-dash-item b{display:block;color:var(--cf-ink);font-size:11px}.first-visit-intro .intro-dash-item small{display:block;margin-top:4px;color:#A5978B;font-size:9px;line-height:1.45}
.first-visit-intro .intro-dash-tag{padding:6px 8px;border-radius:99px;font-size:8px;font-weight:800}.first-visit-intro .intro-dash-found{background:#f7ede5;color:#9b612e}.first-visit-intro .intro-dash-lost{background:#fff0eb;color:#c36c53}
.first-visit-intro .intro-dash-foot{display:flex;justify-content:space-between;gap:8px;padding:13px 3px 1px;color:#AA9B8E;font-size:8px}.first-visit-intro .intro-dash-foot span{display:flex;align-items:center;gap:6px}.first-visit-intro .intro-dash-foot i{width:6px;height:6px;border-radius:50%;background:#c58a56}.first-visit-intro .intro-dash-foot b{color:var(--cf-purple)}
.first-visit-intro .intro-interactive-screen{padding-top:31px!important;padding-bottom:40px!important}
.first-visit-intro .intro-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:23px 0 13px}
.first-visit-intro .intro-step-tab{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-items:center;gap:0 11px;text-align:left;padding:15px;border:1px solid rgba(230,146,73,.09);border-radius:16px;background:rgba(255,255,255,.48);color:var(--cf-ink);font:inherit;cursor:pointer;transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.first-visit-intro .intro-step-tab:hover{transform:translateY(-2px)}.first-visit-intro .intro-step-tab.is-active{background:#fff;border-color:rgba(230,146,73,.32);box-shadow:0 12px 30px rgba(135,89,49,.07)}
.first-visit-intro .intro-step-tab>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#fff3e8;color:var(--cf-purple);font-size:10px;font-weight:900}
.first-visit-intro .intro-step-tab b{font-size:12px;letter-spacing:-.02em}.first-visit-intro .intro-step-tab small{margin-top:3px;color:var(--cf-muted);font-size:10px}
.first-visit-intro .intro-step-detail{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:16px;padding:20px 22px;border-radius:20px;background:linear-gradient(115deg,rgba(255,244,234,.8),rgba(255,255,255,.72) 65%,rgba(248,239,231,.65));}
.first-visit-intro .intro-step-detail-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#fff;color:var(--cf-purple);font-size:25px;box-shadow:0 8px 20px rgba(86,57,32,.06)}
.first-visit-intro .intro-step-detail h3{margin:6px 0;color:var(--cf-ink);font-size:19px;letter-spacing:-.04em}.first-visit-intro .intro-step-detail p{margin:0;color:var(--cf-muted);font-size:12px;line-height:1.65}.first-visit-intro .intro-step-detail-mark{color:var(--cf-purple);font-size:22px}
.first-visit-intro .intro-community-screen{padding-top:30px!important;padding-bottom:46px!important}
.first-visit-intro .intro-community-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,82px);align-items:center}
.first-visit-intro .intro-community-art{min-height:330px;position:relative;display:grid;place-items:center;isolation:isolate}
.first-visit-intro .intro-community-orbit{position:absolute;width:min(330px,80%);aspect-ratio:1;border:1px solid rgba(230,146,73,.12);border-radius:50%;background:radial-gradient(circle,rgba(255,244,234,.85),rgba(250,247,244,.42) 65%,transparent 66%);animation:introOrbitBreath 7s ease-in-out infinite}
.first-visit-intro .intro-community-orbit:before,.first-visit-intro .intro-community-orbit:after{content:"";position:absolute;border:1px dashed rgba(230,146,73,.13);border-radius:50%;inset:22px}.first-visit-intro .intro-community-orbit:after{inset:48px;border-style:solid}
.first-visit-intro .intro-community-center{position:relative;z-index:2;display:flex;align-items:center;flex-direction:column;gap:7px;width:142px;height:142px;justify-content:center;border-radius:34px;background:#fff;box-shadow:0 22px 55px rgba(110,72,38,.12);transform:rotate(-4deg)}
.first-visit-intro .intro-community-center img{width:44px;height:44px;object-fit:contain}.first-visit-intro .intro-community-center>b{font-size:16px;letter-spacing:-.8px;color:#4C3A2B}.first-visit-intro .intro-community-center>b strong{color:var(--cf-purple)}.first-visit-intro .intro-community-center small{font-size:7px;letter-spacing:1.3px;color:#b3a293;font-weight:850}
.first-visit-intro .intro-community-bubble{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(230,146,73,.08);border-radius:15px;background:rgba(255,255,255,.9);box-shadow:0 13px 35px rgba(86,57,32,.07);animation:introFloat 5s ease-in-out infinite}
.first-visit-intro .intro-community-bubble>span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#fff4eb;font-size:17px}.first-visit-intro .intro-community-bubble b{display:block;color:var(--cf-ink);font-size:10px}.first-visit-intro .intro-community-bubble small{display:block;margin-top:3px;color:var(--cf-muted);font-size:8px}.first-visit-intro .intro-bubble-one{top:13%;left:1%}.first-visit-intro .intro-bubble-two{right:0;top:41%;animation-delay:-1.8s}.first-visit-intro .intro-bubble-three{bottom:7%;left:7%;animation-delay:-3.2s}.first-visit-intro .intro-bubble-two>span{background:#f7ede5}.first-visit-intro .intro-bubble-three>span{background:#fff1df;color:#a36c24;font-weight:900}
.first-visit-intro .intro-community-copy h2{margin-top:13px}.first-visit-intro .intro-community-values{display:grid;gap:13px;margin-top:22px}.first-visit-intro .intro-community-values>div{display:grid;grid-template-columns:30px 1fr;gap:11px;align-items:start}.first-visit-intro .intro-community-values>div>span{color:#c5ac97;font-size:9px;font-weight:900;padding-top:2px}.first-visit-intro .intro-community-values b{display:block;color:var(--cf-ink);font-size:12px}.first-visit-intro .intro-community-values small{display:block;margin-top:4px;color:var(--cf-muted);font-size:11px;line-height:1.55}
@keyframes introFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes introOrbitBreath{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.035);opacity:1}}
@media(max-width:800px){.first-visit-intro .intro-dashboard-layout,.first-visit-intro .intro-community-layout{grid-template-columns:1fr;gap:24px}.first-visit-intro .intro-dashboard-copy h2,.first-visit-intro .intro-community-copy h2{font-size:clamp(38px,8vw,54px)}.first-visit-intro .intro-community-art{min-height:300px;order:2}.first-visit-intro .intro-community-copy{order:1}.first-visit-intro .intro-stepper{gap:7px}.first-visit-intro .intro-step-tab{padding:12px 10px;grid-template-columns:29px 1fr;gap:0 8px}.first-visit-intro .intro-step-tab>span{width:29px;height:29px}.first-visit-intro .intro-step-tab b{font-size:11px}}
@media(max-width:520px){.first-visit-intro .intro-dashboard-screen,.first-visit-intro .intro-interactive-screen,.first-visit-intro .intro-community-screen{padding-top:24px!important;padding-bottom:30px!important}.first-visit-intro .intro-dashboard-preview{padding:11px;border-radius:18px}.first-visit-intro .intro-dash-item{grid-template-columns:36px minmax(0,1fr) auto;gap:8px}.first-visit-intro .intro-dash-item-icon{width:36px;height:36px;font-size:17px}.first-visit-intro .intro-dash-item small{font-size:8px}.first-visit-intro .intro-stepper{grid-template-columns:1fr;gap:7px}.first-visit-intro .intro-step-tab{grid-template-columns:34px 1fr;grid-template-rows:auto auto;padding:10px 12px}.first-visit-intro .intro-step-tab>span{width:31px;height:31px}.first-visit-intro .intro-step-detail{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:15px;border-radius:16px}.first-visit-intro .intro-step-detail-icon{width:38px;height:38px;border-radius:12px}.first-visit-intro .intro-step-detail h3{font-size:16px}.first-visit-intro .intro-step-detail-mark{display:none}.first-visit-intro .intro-community-art{min-height:260px;transform:scale(.95);margin:-5px -10px}.first-visit-intro .intro-community-center{width:118px;height:118px;border-radius:27px}.first-visit-intro .intro-community-bubble{padding:8px 9px;gap:7px}.first-visit-intro .intro-community-bubble>span{width:29px;height:29px;font-size:14px}.first-visit-intro .intro-bubble-one{left:0;top:8%}.first-visit-intro .intro-bubble-two{right:0;top:40%}.first-visit-intro .intro-bubble-three{left:0;bottom:4%}}
@media(prefers-reduced-motion:reduce){.first-visit-intro .intro-community-orbit,.first-visit-intro .intro-community-bubble{animation:none!important}.first-visit-intro .intro-dashboard-preview,.first-visit-intro .intro-step-tab{transition:none!important}}
/* Keep the welcome flow visually seamless: no horizontal rules between intro areas. */
.first-visit-intro .intro-topbar{border-bottom:0!important}
.first-visit-intro .intro-hero-footer{border-top:0!important}
.first-visit-intro .intro-final-screen{border-top:0!important}


/* Smoother, more natural motion across the intro on desktop and mobile. */
.first-visit-intro .reveal-on-scroll{opacity:0;transform:translate3d(0,26px,0) scale(.992);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
.first-visit-intro .reveal-on-scroll.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.first-visit-intro .intro-feature-large article:nth-child(2),.first-visit-intro .intro-journey-grid article:nth-child(2),.first-visit-intro .intro-item-grid article:nth-child(2){transition-delay:.08s}
.first-visit-intro .intro-feature-large article:nth-child(3),.first-visit-intro .intro-journey-grid article:nth-child(3),.first-visit-intro .intro-item-grid article:nth-child(3){transition-delay:.16s}
.first-visit-intro .intro-item-grid article:nth-child(4){transition-delay:.24s}
.first-visit-intro .intro-card-main{animation:introCardDrift 8s cubic-bezier(.45,0,.55,1) infinite}
.first-visit-intro .intro-card-mini{animation:introFloat 6.5s cubic-bezier(.45,0,.55,1) -1.5s infinite}
.first-visit-intro .intro-feature-large article,.first-visit-intro .intro-journey-card,.first-visit-intro .intro-item-tile,.first-visit-intro .intro-moment-card,.first-visit-intro .intro-step-tab,.first-visit-intro .intro-dashboard-preview{transition-timing-function:cubic-bezier(.22,1,.36,1)!important}
@keyframes introCardDrift{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(0,-7px,0) rotate(-.35deg)}}
/* Force diagonal-up-right arrow glyphs to render as text, not colourful emoji. */
.first-visit-intro [aria-hidden="true"]{font-variant-emoji:text}
.first-visit-intro .intro-top-cta span,.first-visit-intro .intro-feature-link b,.first-visit-intro .intro-journey-symbol,.first-visit-intro .intro-step-detail-mark,.first-visit-intro .intro-card-footer b,.first-visit-intro .intro-report-preview-bottom span,.first-visit-intro .intro-dash-foot b{font-variant-emoji:text}
@media(prefers-reduced-motion:reduce){.first-visit-intro .reveal-on-scroll,.first-visit-intro .intro-card-main,.first-visit-intro .intro-card-mini{animation:none!important;transition:none!important;transform:none!important}.first-visit-intro .reveal-on-scroll{opacity:1!important}}


/* Make the diagonal-up-right arrow bold, crisp, and consistent on mobile and desktop. */
.first-visit-intro .intro-top-cta span,
.first-visit-intro .intro-feature-link b,
.first-visit-intro .intro-feature-icon,
.first-visit-intro .intro-journey-symbol,
.first-visit-intro .intro-step-detail-mark,
.first-visit-intro .intro-card-footer b,
.first-visit-intro .intro-report-preview-bottom span,
.first-visit-intro .intro-dash-foot b {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  -webkit-text-stroke: 1.15px currentColor;
  font-variant-emoji: text;
  text-rendering: geometricPrecision;
}
.first-visit-intro .intro-top-cta span { font-size: 1.22em; line-height: 1; margin-left: 5px; }
.first-visit-intro .intro-feature-link b { font-size: 1.12em; }
.first-visit-intro .intro-feature-icon,
.first-visit-intro .intro-journey-symbol { -webkit-text-stroke: 1.35px currentColor; }


/* Final intro polish requested: remove decorative corner arrows and soften footer labels. */
.first-visit-intro .intro-feature-link b{display:none!important}
.first-visit-intro .intro-feature-link{justify-content:flex-start!important}
.first-visit-intro .intro-report-preview-bottom span:first-child{font-weight:500!important;-webkit-text-stroke:0!important}
.first-visit-intro .intro-report-preview-bottom span:last-child{font-weight:500!important;-webkit-text-stroke:0!important}
.first-visit-intro .intro-card-footer b,.first-visit-intro .intro-dash-foot b{font-weight:500!important;-webkit-text-stroke:0!important}
.first-visit-intro .intro-step-detail-mark{display:none!important}


/* Sticky CampusFind navigation with the global search docking into the free header space. */
@media (min-width: 1001px) {
  body > header:not(.community-profile-topbar) {
    position: sticky !important;
    top: 0 !important;
    z-index: 55 !important;
    background: rgba(255,255,255,.97) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }
  body.search-docked > .board-search {
    position: fixed !important;
    top: 12px !important;
    left: clamp(220px, 18vw, 320px) !important;
    right: clamp(520px, 35vw, 680px) !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 70 !important;
  }
  body.search-docked > .board-search input {
    height: 46px !important;
    min-height: 46px !important;
    padding: 10px 16px !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 16px rgba(75,48,25,.07) !important;
    font-size: 14px !important;
  }
}
@media (min-width: 701px) and (max-width: 1000px) {
  body > header:not(.community-profile-topbar) {
    position: sticky !important;
    top: 0 !important;
    z-index: 55 !important;
    background: rgba(255,255,255,.98) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  body.search-docked > .board-search {
    position: fixed !important;
    top: 12px !important;
    left: 210px !important;
    right: 245px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 70 !important;
  }
  body.search-docked > .board-search input {
    height: 42px !important;
    min-height: 42px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
  }
}
@media (max-width: 700px) {
  body > header:not(.community-profile-topbar) {
    position: sticky !important;
    top: 0 !important;
    z-index: 55 !important;
    background: rgba(255,255,255,.98) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  /* On narrow screens the header has no horizontal gap, so keep search in a compact sticky row below it. */
  body.search-docked > .board-search {
    position: fixed !important;
    top: 112px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 70 !important;
  }
  body.search-docked > .board-search input {
    height: 44px !important;
    min-height: 44px !important;
    padding: 9px 13px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
  }
}


/* Responsive correction: dock search only after its original row has passed, and keep it out of the hero. */
@media (min-width: 1001px) {
  body.search-docked > .board-search {
    left: clamp(220px, 18vw, 320px) !important;
    right: clamp(560px, 38vw, 700px) !important;
    top: 12px !important;
  }
}
@media (min-width: 701px) and (max-width: 1000px) {
  body.search-docked > .board-search {
    left: 210px !important;
    right: 270px !important;
    top: 10px !important;
  }
}
@media (max-width: 700px) {
  body.search-docked > .board-search {
    top: 70px !important;
    left: 12px !important;
    right: 12px !important;
    z-index: 70 !important;
  }
  body.search-docked > .board-search input {
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
  }
}


/* Smooth, visible upward motion when the global search docks into the sticky header. */
@keyframes campusSearchDockUp {
  0% { opacity: .72; transform: translate3d(0, 30px, 0) scale(.975); filter: blur(1.5px); }
  55% { opacity: 1; transform: translate3d(0, -3px, 0) scale(1.008); filter: blur(0); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}
body.search-docked > .board-search {
  animation: campusSearchDockUp 520ms cubic-bezier(.22, 1, .36, 1) both !important;
  transform-origin: center top;
  will-change: transform, opacity;
}
body.search-docked > .board-search input {
  transition: box-shadow 280ms ease, border-color 280ms ease, background-color 280ms ease !important;
  box-shadow: 0 8px 24px rgba(75,48,25,.13) !important;
}
@media (max-width: 700px) {
  body.search-docked > .board-search {
    animation-duration: 560ms !important;
    left: 12px !important;
    right: 12px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.search-docked > .board-search { animation: none !important; transform: none !important; filter: none !important; }
  body.search-docked > .board-search input { transition: none !important; }
}


/* Keep the docked search visible on phones and tablets without covering the brand header. */
@media (min-width: 701px) and (max-width: 1000px) {
  body.search-docked > .board-search {
    top: 8px !important;
    left: 210px !important;
    right: 270px !important;
  }
}
@media (max-width: 700px) {
  body.search-docked > .board-search {
    top: calc(var(--campus-header-height, 82px) + 6px) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: none !important;
    z-index: 70 !important;
  }
}

/* CampusFind search docks into the empty space inside the existing header.
   The page layout and all other header/content elements remain unchanged. */
body > .board-search {
  transition: top .32s cubic-bezier(.2,.75,.25,1), left .32s cubic-bezier(.2,.75,.25,1), right .32s cubic-bezier(.2,.75,.25,1), width .32s ease, opacity .22s ease;
}
body.search-docked > .board-search {
  animation: campusSearchDockIn .32s cubic-bezier(.2,.75,.25,1) both;
}
@keyframes campusSearchDockIn {
  from { opacity: .72; transform: translateY(-7px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (min-width: 1001px) {
  body.search-docked > .board-search {
    top: 10px !important;
    left: clamp(220px, 18vw, 320px) !important;
    right: clamp(560px, 38vw, 700px) !important;
  }
}
@media (min-width: 701px) and (max-width: 1000px) {
  body.search-docked > .board-search {
    top: 10px !important;
    left: clamp(205px, 25vw, 260px) !important;
    right: clamp(245px, 31vw, 320px) !important;
    width: auto !important;
  }
  body.search-docked > .board-search input {
    height: 42px !important;
    min-height: 42px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
  }
}
@media (max-width: 700px) {
  body.search-docked > .board-search {
    top: 9px !important;
    left: clamp(158px, 44vw, 190px) !important;
    right: clamp(78px, 23vw, 100px) !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 70 !important;
  }
  body.search-docked > .board-search input {
    height: 40px !important;
    min-height: 40px !important;
    padding: 7px 10px !important;
    border-radius: 12px !important;
    font-size: 11px !important;
    box-shadow: 0 4px 15px rgba(75,48,25,.09) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body > .board-search { transition: none !important; }
  body.search-docked > .board-search { animation: none !important; }
}


/* Mobile: keep search in its original row below the header; let scroll movement animate it subtly. */
@media (max-width: 700px) {
  body > .board-search,
  body.search-docked > .board-search {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin: 12px auto 0 !important;
    z-index: 2 !important;
    opacity: calc(1 - (var(--campus-mobile-search-scroll, 0) * .08));
    transform: translate3d(0, calc(var(--campus-mobile-search-scroll, 0) * -5px), 0)
      scale(calc(1 - (var(--campus-mobile-search-scroll, 0) * .018)));
    transform-origin: center top;
    transition: transform 70ms linear, opacity 70ms linear, box-shadow 220ms ease;
    animation: none !important;
    will-change: transform, opacity;
  }
  body > .board-search input,
  body.search-docked > .board-search input {
    height: 52px !important;
    min-height: 52px !important;
    border-radius: 15px !important;
    box-shadow: 0 8px 24px rgba(75,48,25,.05) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  @media (max-width: 700px) {
    body > .board-search { transition: none !important; }
  }
}


/* Remove the bright native tap flash on touch devices without hiding keyboard focus. */
:where(a,button,[role="button"],[role="tab"],summary,input[type="button"],input[type="submit"],input[type="reset"],.tag,.menu-toggle) {
  -webkit-tap-highlight-color: transparent !important;
  tap-highlight-color: transparent;
}
:where(a,button,[role="button"],[role="tab"],summary,input[type="button"],input[type="submit"],input[type="reset"],.tag,.menu-toggle)::selection {
  background: transparent;
  color: inherit;
}
:where(a,button,[role="button"],[role="tab"],summary,input[type="button"],input[type="submit"],input[type="reset"]):focus:not(:focus-visible) {
  outline: none;
}
:where(a,button,[role="button"],[role="tab"],summary,input[type="button"],input[type="submit"],input[type="reset"]) {
  touch-action: manipulation;
}

/* Smoother, subtle scroll-linked motion for the mobile search row; it stays in document flow. */
@media (max-width: 700px) {
  body > .board-search,
  body.search-docked > .board-search {
    transition: transform 180ms cubic-bezier(.22, 1, .36, 1),
                opacity 180ms ease-out,
                box-shadow 240ms ease !important;
    transform: translate3d(0, calc(var(--campus-mobile-search-scroll, 0) * -10px), 0)
               scale(calc(1 - (var(--campus-mobile-search-scroll, 0) * .012))) !important;
    opacity: calc(1 - (var(--campus-mobile-search-scroll, 0) * .045)) !important;
    will-change: transform, opacity;
  }
}
@media (prefers-reduced-motion: reduce) {
  @media (max-width: 700px) {
    body > .board-search,
    body.search-docked > .board-search { transition: none !important; }
  }
}


/* Mobile navigation: a clear close control at the bottom of the expanded menu. */
.mobile-nav-close{display:none;}
@media(max-width:850px){
  #mainNav.menu-open .mobile-nav-close{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
    align-self:center;margin:14px auto 4px;padding:7px 20px 5px;min-width:88px;
    border:0;background:transparent;color:#E89348;border-radius:14px;cursor:pointer;
    touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  }
  #mainNav.menu-open .mobile-nav-close span{
    display:flex;align-items:center;justify-content:center;width:42px;height:42px;
    border-radius:50%;background:#fff5ed;border:1px solid #ffeddd;
    color:#E89348;font-size:32px;font-weight:400;line-height:1;
    box-shadow:0 5px 16px rgba(160,103,54,.10);
    transition:transform 180ms cubic-bezier(.2,.8,.2,1),background 180ms ease;
  }
  #mainNav.menu-open .mobile-nav-close:active span{transform:scale(.92);background:#ffedde;}
  #mainNav.menu-open .mobile-nav-close small{font-size:10px;font-weight:750;letter-spacing:.04em;color:#A78D76;}
}
@media(min-width:851px){.mobile-nav-close{display:none!important;}}


/* Community chat entry states: clear, centered feedback while the API/session is unavailable. */
.chat-unavailable{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 22px;box-sizing:border-box;color:var(--muted,#8B7F75)}
.chat-unavailable-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:22px;background:rgba(232,147,72,.10);color:#E89348;font-size:30px;margin-bottom:14px}
.chat-unavailable h3{margin:0 0 8px;color:var(--ink,#3D3024);font-size:clamp(20px,3vw,26px)}
.chat-unavailable p{max-width:360px;margin:0 0 18px;line-height:1.6}
.chat-unavailable button{min-height:42px}


/* Cream + Orange redesign overrides */
/* CampusFind — Cream + Orange visual redesign (frontend-only; behavior unchanged) */
:root{
  --p:#D9682B;--ink:#38271E;--muted:#8B7768;--line:#EBDCCB;--bg:#FFF8EF;
  --cream:#FFF8EF;--cream-deep:#F7EBDD;--orange:#D9682B;--orange-dark:#B94E1E;
  --orange-soft:#FCE8D8;--peach:#FFF0E3;--surface:#FFFEFB;--shadow:rgba(111,65,34,.10);
  color-scheme:light;
}
html{scroll-behavior:smooth;background:var(--cream)}
body{background:linear-gradient(180deg,#FFFBF6 0%,#FFF7ED 55%,#FFF9F2 100%);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.01em}
::selection{background:#F7C7A7;color:#482B1B}
header{background:rgba(255,253,249,.94);border-bottom:1px solid #EEDFD0;box-shadow:0 5px 24px rgba(117,71,37,.035);backdrop-filter:blur(16px)}
.logo div>span,.auth-brand-name>span{color:var(--orange)!important}
.logo>.brand-mark,.auth-brand-mark{box-shadow:0 7px 18px rgba(217,104,43,.18)}
.logo small,.auth-brand-name small{color:#A78D78}
.tag,.status,.tab,.menu-toggle{background:#FCEBDD;color:#B95525}
main{max-width:1160px}
.hero h1,.heading h2,.intro-screen h1,.intro-screen h2,.dialog h2{letter-spacing:-.045em}
.hero h1 em,.intro-screen h1 em,.intro-screen h2 em{color:var(--orange)!important}
.hero button,form button,.intro-top-cta,.intro-final-cta,.intro-hero-actions button,.auth-choices button,.auth-primary,.chat-compose button,.community-chat-dialog button.primary{background:linear-gradient(135deg,#E98243,#C95824)!important;color:#fff!important;border-color:#D9682B!important;box-shadow:0 9px 22px rgba(201,88,36,.18);transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}
.hero button:hover,form button:hover,.intro-top-cta:hover,.intro-final-cta:hover,.intro-hero-actions button:hover,.auth-choices button:hover,.auth-primary:hover,.chat-compose button:hover{filter:saturate(1.06) brightness(1.02);transform:translateY(-2px);box-shadow:0 13px 26px rgba(201,88,36,.23)}
.hero button.light,.light,.auth-choices .auth-secondary{background:#FFFEFB!important;color:#B95525!important;border:1px solid #E9CBB4!important;box-shadow:none}
.hero button.light:hover,.light:hover,.auth-choices .auth-secondary:hover{background:#FFF0E3!important}
.art{background:radial-gradient(ellipse at center,#FCE5D1 0,rgba(252,229,209,0) 68%)}
.orb{background:linear-gradient(135deg,#F8D2B4,#FCECDD)}
.fakecard{border:1px solid #F0DFCE;box-shadow:0 24px 55px rgba(115,67,34,.12)}
.fakecard label,.pill{background:#FCE8D8;color:#A84A20}
.fakecard label.match-yes,.pill.found,.match-note.has-match{background:#FCE8D8!important;color:#A84A20!important}
.stats,.card,.empty,.how-grid article,.intro-feature-large article,.intro-journey-card,.intro-item-tile,.intro-float-card,.intro-dashboard-preview,.intro-dash-sample,.dialog,.nav-dialog,.auth-card,.profile-editor-card,.public-profile-hero,.chat-user-profile-card{background:#FFFEFB;border-color:#EBDCCB;box-shadow:0 12px 35px rgba(111,65,34,.055)}
.stats b,.stats>button b{color:var(--orange)!important}
.stats>button{background:#FFFEFB;border-color:#EBDCCB}
.stats>button:hover{background:#FFF4E9}
.stats>button.selected{background:#FCEBDD;box-shadow:inset 0 0 0 1px #EFC7A9}
.text,.navlinks a:hover,.navlinks a.current,footer a:hover{color:var(--orange)!important}
.tools input,.filters input,.filters select,.fields input,.fields select,.fields textarea,.nav-filter-grid input,.nav-filter-grid select,.board-search input,#board>.board-search input,body>.board-search input,#authForm input,.chat-compose textarea{background:#FFFEFB;border-color:#E8D7C5;color:var(--ink)}
.tools input:focus,.filters input:focus,.filters select:focus,.fields input:focus,.fields select:focus,.fields textarea:focus,.board-search input:focus,#board>.board-search input:focus,body>.board-search input:focus,#authForm input:focus,.chat-compose textarea:focus{outline:none;border-color:#E18A53!important;box-shadow:0 0 0 3px rgba(217,104,43,.13)!important}
.tab{background:#F7EBDD;color:#8B7768}
.tab.active{background:#FFFEFB;color:#B95525;box-shadow:0 3px 10px rgba(111,65,34,.08)}
.card,.intro-feature-large article,.intro-journey-card,.intro-item-tile{border-radius:20px;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.card:hover,.intro-feature-large article:hover,.intro-journey-card:hover,.intro-item-tile:hover{transform:translateY(-4px);border-color:#E7B18D;box-shadow:0 18px 38px rgba(111,65,34,.10)}
.cardbottom{border-top-color:#F0E2D4}
.item-photo,.photo-preview{background:#FFF7EE;border-color:#EBDCCB}
aside{background:linear-gradient(135deg,#FFF0E3,#FFF8EF);border-color:#F0D4BD;color:#B95525;border-radius:18px}
footer{color:#A58B76}
.overlay{background:rgba(74,43,25,.42);backdrop-filter:blur(5px)}
.x,.chat-user-profile-close{background:#FCEBDD;color:#B95525}
.x:hover,.chat-user-profile-close:hover{background:#F7DCC7}
#toast{background:#4C3021;color:#FFF8EF;box-shadow:0 10px 28px rgba(65,39,23,.18)}
.navlinks a:hover,.navlinks a.current{background:#FFF0E3}
.navlinks{border-color:#EBDCCB;box-shadow:0 18px 30px rgba(111,65,34,.10)}
.nav-filter-grid input,.nav-filter-grid select{border-color:#E8D7C5}
.popup-steps p{background:#FFF3E7}
/* The intro is restyled as a warm editorial landing experience, not just recolored. */
.first-visit-intro{background:#FFF8EF!important;color:var(--ink)!important;--intro-ink:#38271E;--intro-muted:#8B7768;--intro-accent:#D9682B;--intro-line:#EBDCCB;--intro-surface:#FFFEFB}
.intro-screen{background:#FFF8EF!important;color:var(--ink)!important}
.intro-hero-screen{background:radial-gradient(ellipse at 82% 16%,rgba(244,174,123,.24),transparent 34%),radial-gradient(ellipse at 4% 82%,rgba(247,220,195,.5),transparent 34%),#FFF8EF!important}
.intro-topbar{background:rgba(255,250,243,.86)!important;border-color:#EBDCCB!important;backdrop-filter:blur(18px)}
.intro-brand span{color:#38271E!important}.intro-brand strong{color:var(--orange)!important}
.intro-brand strong{color:var(--orange)!important}
.intro-kicker,.intro-feature-link,.intro-feature-number,.intro-journey-card small,.intro-items-copy .intro-kicker,.intro-extra-heading .intro-kicker{color:var(--orange)!important}
.intro-live-dot{background:#E98243!important;box-shadow:0 0 0 5px rgba(217,104,43,.12)!important}
.intro-screen h1,.intro-screen h2,.intro-screen h3,.intro-card-title,.intro-journey-card h3,.intro-item-tile b{color:#38271E!important}
.intro-lead,.intro-screen p,.intro-item-tile small,.intro-journey-card p,.intro-feature-large article p{color:#8B7768!important}
.intro-visual-glow{background:radial-gradient(circle,#F5D0B2 0,rgba(245,208,178,.05) 68%)!important}
.intro-float-card,.intro-dashboard-preview,.intro-journey-card,.intro-item-tile,.intro-feature-large article{background:rgba(255,254,251,.92)!important;border:1px solid #EBDCCB!important;box-shadow:0 22px 50px rgba(111,65,34,.09)!important}
.intro-card-symbol,.intro-feature-icon,.intro-journey-symbol,.intro-item-tile>span{background:#FCE8D8!important;color:#B95525!important;border-color:#F0D1B7!important}
.intro-status-pill,.intro-dash-tag,.intro-dash-tools span{background:#FCE8D8!important;color:#A84A20!important}
.intro-card-lines i{background:#F0DFCE!important}
.intro-card-footer{border-color:#EBDCCB!important;color:#8B7768!important}
.intro-card-footer b{color:#B95525!important}
.intro-card-mini{background:#FFFEFB!important}
.intro-mini-icon{background:#FCE8D8!important;color:#B95525!important}
.intro-orbit,.intro-community-orbit{border-color:rgba(217,104,43,.22)!important}
.intro-how-screen,.intro-extra-screen{background:#FFFDF9!important;border-color:#EBDCCB!important}
.intro-feature-large article,.intro-journey-card,.intro-item-tile{border-radius:22px!important}
.intro-extra-heading h2,.intro-items-copy h2,.intro-community-copy h2,.intro-dashboard-copy h2,.intro-good-report-copy h2{color:#38271E!important}
.intro-extra-heading h2 em,.intro-items-copy h2 em,.intro-community-copy h2 em,.intro-dashboard-copy h2 em,.intro-good-report-copy h2 em{color:#D9682B!important}
.intro-dash-windowbar{background:#F7EBDD!important;border-color:#EBDCCB!important}
.intro-dash-windowbar i{background:#E8C9B1!important}
.intro-dash-sample{background:#FFFEFB!important;border-color:#EBDCCB!important}
.intro-dash-item{border-color:#F0E2D4!important}
.intro-dash-item-icon{background:#FCE8D8!important;color:#B95525!important}
.intro-dash-tag.intro-dash-found,.intro-dash-tag.intro-dash-lost{background:#FCE8D8!important;color:#A84A20!important}
.intro-community-bubble{background:#FFFEFB!important;border:1px solid #EBDCCB!important;box-shadow:0 12px 28px rgba(111,65,34,.08)!important}
.intro-community-bubble:before{color:#D9682B!important}
.intro-final-screen{background:radial-gradient(ellipse at 50% 0%,#FCE4D0 0,transparent 55%),#F8EBDD!important}
.intro-final-glow{background:radial-gradient(circle,rgba(233,130,67,.20),transparent 68%)!important}
.intro-final-content h2,.intro-final-content h1{color:#38271E!important}
.intro-final-mark{background:#FCE8D8!important;color:#B95525!important}
.intro-scroll-hint,.intro-scroll-bottom,.intro-hero-footer{color:#A58B76!important}
.intro-screen .intro-feature-number{border-color:#EBDCCB!important}
/* Authentication: warm, welcoming, and visually distinct from the landing page. */
.auth-gate{background:radial-gradient(circle at 10% 12%,#FBE0CA 0,transparent 34%),radial-gradient(circle at 92% 86%,#F8EBDD 0,transparent 35%),#FFF8EF!important}
.auth-card{border-color:#EBDCCB!important;border-radius:28px!important;box-shadow:0 28px 80px rgba(111,65,34,.13)!important}
.auth-kicker{color:#C65C27!important}
.auth-card h1{color:#38271E!important}
.auth-description,.auth-form-hint{color:#8B7768!important}
.auth-choices button,.auth-primary{border-radius:14px!important}
.auth-footnote{color:#A58B76!important}
.profile-trigger:hover,.profile-dropdown button:hover,.profile-dropdown button:focus-visible{background:#FFF0E3!important;color:#B95525!important}
.profile-dropdown{border-color:#EBDCCB!important;box-shadow:0 16px 35px rgba(111,65,34,.13)!important}
.profile-editor-page,.community-profile-page{background:#FFF8EF!important;color:#38271E!important}
.profile-editor-topbar,.community-profile-topbar{background:#FFFCF7!important;border-color:#EBDCCB!important}
.profile-editor-back,.community-profile-back{background:#FCEBDD!important;color:#B95525!important}
.profile-editor-back:hover,.community-profile-back:hover{background:#F7DCC7!important}
.profile-editor-card,.public-profile-hero{background:#FFFEFB!important;border-color:#EBDCCB!important;box-shadow:0 12px 40px rgba(111,65,34,.07)!important}
.profile-editor-avatar,.public-profile-avatar,.chat-user-profile-avatar{background:linear-gradient(135deg,#FBE2CF,#F6C8A7)!important;color:#A84A20!important;border-color:#fff!important;box-shadow:0 0 0 2px #E28A53,0 10px 25px rgba(201,88,36,.16)!important}
.public-profile-course{background:#FCEBDD!important;color:#A84A20!important}
.community-chat-launch{background:#FFFEFB!important;color:#B95525!important;border-color:#F0D4BD!important;box-shadow:0 6px 18px rgba(201,88,36,.10)!important}
.community-chat-dialog{background:#FFFCF7!important}
.chat-messages{background:#FFF5EA!important;border-color:#EBDCCB!important}
.chat-bubble{background:#FFFEFB!important;border-color:#EBDCCB!important}
.chat-row.mine .chat-bubble{background:#D9682B!important;border-color:#D9682B!important;color:#fff!important}
.chat-avatar{background:#FCE8D8!important;color:#A84A20!important}
.chat-author,.chat-reply-preview b{color:#B95525!important}
.chat-quoted,.chat-reply-preview{background:#FFF0E3!important;color:#70472F!important;border-color:#E98243!important}
.chat-row.mine .chat-quoted{background:#B94E1E!important;color:#FFF8EF!important;border-color:#F7C7A7!important}
.chat-compose textarea{border-color:#E8D7C5!important}
.chat-avatar-button:hover,.chat-avatar-button:focus-visible{box-shadow:0 0 0 3px #F2C6A6!important}
.chat-user-profile-overlay{background:rgba(74,43,25,.48)!important}
.chat-user-profile-card{border-color:#EBDCCB!important}
.chat-user-profile-close{background:#FCEBDD!important;color:#B95525!important}
.chat-unavailable-icon{background:#FCE8D8!important;color:#B95525!important}
.chat-unavailable h3{color:#38271E!important}
/* Replace remaining purple/green focus rings and accents with orange, retaining clear keyboard focus. */
:where(a,button,input,select,textarea,[role="button"],[role="tab"]):focus-visible{outline:3px solid rgba(217,104,43,.45)!important;outline-offset:3px}
#navPopup .nav-dialog .actions button:focus-visible{outline:3px solid #F0B58E!important}
#navPopup .nav-dialog .actions button{background:#D9682B;color:#fff;border-color:#D9682B}
#navPopup .nav-dialog .actions button.light{background:#FFFEFB;color:#A84A20;border-color:#E9CBB4}
#mainNav.menu-open .mobile-nav-close{color:#B95525!important}
#mainNav.menu-open .mobile-nav-close span{background:#FCEBDD!important;border-color:#F0D4BD!important;color:#B95525!important;box-shadow:0 5px 16px rgba(111,65,34,.10)!important}
#mainNav.menu-open .mobile-nav-close small{color:#A58B76!important}
.board-meta,.match-note.no-match{background:#FFF3E7!important;color:#8B7768!important}
@media(max-width:700px){
  .intro-topbar{padding-inline:16px!important}
  .intro-screen h1{letter-spacing:-.04em!important}
  .auth-card{border-radius:24px!important}
  .card:hover,.intro-feature-large article:hover,.intro-journey-card:hover,.intro-item-tile:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ============================================================
   CAMPUSFIND 2.0 — refined Cream + Orange design polish
   Presentation-only layer; keeps existing markup and JS behavior.
   ============================================================ */
:root{
  --cf-cream:#FFF8EF;
  --cf-paper:#FFFCF7;
  --cf-white:#FFFFFF;
  --cf-peach:#FBE7D6;
  --cf-orange:#D9652B;
  --cf-orange-2:#F08A4B;
  --cf-rust:#A94720;
  --cf-brown:#3D2B22;
  --cf-muted:#88766B;
  --cf-border:#EAD8C7;
  --cf-shadow:0 18px 48px rgba(104,61,34,.085);
  --cf-shadow-hover:0 24px 58px rgba(104,61,34,.14);
}
html{background:var(--cf-cream);scroll-padding-top:90px}
body{
  color:var(--cf-brown);
  background:
    radial-gradient(ellipse at 6% 0%,rgba(248,201,163,.24),transparent 29rem),
    radial-gradient(ellipse at 100% 28%,rgba(250,224,199,.30),transparent 30rem),
    linear-gradient(180deg,#FFFBF6 0%,#FFF8EF 54%,#FFFCF8 100%);
  font-feature-settings:"ss01" on,"cv11" on;
  -webkit-font-smoothing:antialiased;
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.17;background-image:radial-gradient(#D8B69C .65px,transparent .65px);background-size:19px 19px;mask-image:linear-gradient(to bottom,black,transparent 75%)}
header{box-shadow:0 8px 28px rgba(91,53,29,.045);border-bottom-color:rgba(234,216,199,.88)}
.logo>.brand-mark,.auth-brand-mark{border-radius:15px!important;background:linear-gradient(145deg,#F29A5D,#D9652B)!important;box-shadow:0 8px 20px rgba(217,101,43,.24)!important}
.logo div>span,.auth-brand-name>span{font-weight:850;letter-spacing:-.045em}
.logo small,.auth-brand-name small{letter-spacing:.045em}
main{padding-top:clamp(20px,3vw,36px);padding-bottom:56px}
.hero{position:relative;isolation:isolate;border:1px solid rgba(234,216,199,.8);border-radius:30px;padding:clamp(24px,4vw,48px);background:linear-gradient(135deg,rgba(255,255,255,.93),rgba(255,247,237,.92));box-shadow:0 20px 55px rgba(104,61,34,.065);overflow:hidden}
.hero:after{content:"";position:absolute;width:280px;height:280px;right:-100px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(244,162,105,.23),rgba(244,162,105,0) 70%);z-index:-1;pointer-events:none}
.hero h1{font-size:clamp(2rem,4.5vw,3.65rem);line-height:1.04;font-weight:850;letter-spacing:-.055em}
.hero p{max-width:650px;line-height:1.75}
button,.button,.intro-top-cta,.intro-final-cta,.auth-primary{font-weight:750;letter-spacing:-.012em}
button:not(.light):not(.auth-secondary):not(.x):not(.chat-user-profile-close){box-shadow:0 7px 18px rgba(217,101,43,.14)}
button:not(.light):not(.auth-secondary):not(.x):not(.chat-user-profile-close):hover{box-shadow:0 12px 26px rgba(217,101,43,.23)}
.card,.stats,.empty,.how-grid article,.dialog,.nav-dialog,.auth-card,.profile-editor-card,.public-profile-hero,.chat-user-profile-card{border-radius:22px!important;box-shadow:var(--cf-shadow)!important}
.card{overflow:hidden}
.card:hover{box-shadow:var(--cf-shadow-hover)!important}
.card h2,.card h3,.heading h2,.dialog h2{letter-spacing:-.035em}
.cardbottom{background:linear-gradient(180deg,rgba(255,252,247,0),rgba(255,248,239,.8));padding-top:14px}
.stats{padding:clamp(16px,2.2vw,24px)!important}
.stats b,.stats>button b{font-size:clamp(1.25rem,2.4vw,1.8rem);letter-spacing:-.04em}
.tools,.filters{gap:12px}
input,select,textarea{border-radius:13px!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important}
input::placeholder,textarea::placeholder{color:#B3A092!important}
.tools input,.filters input,.filters select,.fields input,.fields select,.fields textarea,.board-search input,#board>.board-search input,body>.board-search input,#authForm input,.chat-compose textarea{box-shadow:inset 0 1px 2px rgba(91,53,29,.025)}
.tag,.status,.tab{font-weight:750;letter-spacing:.005em;border-radius:999px}
.tag,.status{border:1px solid #F0D7C2}
.tab{padding:9px 15px;transition:background .18s ease,color .18s ease,transform .18s ease}
.tab:hover{transform:translateY(-1px)}
.tab.active{background:linear-gradient(135deg,#FFFDF9,#FCEBDD)!important;border:1px solid #EFC6A7;color:var(--cf-rust)!important}
.navlinks{border-radius:20px!important;padding:8px!important;background:rgba(255,252,247,.98)!important;backdrop-filter:blur(18px)}
.navlinks a{border-radius:12px;transition:background .18s ease,color .18s ease,transform .18s ease}
.navlinks a:hover{transform:translateX(2px)}
.board-search{border:1px solid rgba(234,216,199,.95)!important;border-radius:18px!important;background:rgba(255,252,247,.96)!important;box-shadow:0 12px 32px rgba(104,61,34,.075)!important;backdrop-filter:blur(18px)}
.board-search input{box-shadow:none!important;background:transparent!important}
.auth-gate{background:radial-gradient(ellipse at 12% 15%,rgba(249,197,157,.36),transparent 34%),radial-gradient(ellipse at 90% 90%,rgba(251,226,203,.65),transparent 35%),#FFF8EF!important}
.auth-card{padding:clamp(24px,4vw,42px)!important}
.auth-card h1{font-size:clamp(1.9rem,4vw,2.55rem)!important;letter-spacing:-.055em!important;line-height:1.08}
.auth-card input{min-height:48px}
.auth-primary{min-height:48px!important;background:linear-gradient(120deg,#F08A4B,#D9652B)!important}
.intro-screen{overflow:hidden}
.intro-topbar{border-radius:18px!important;box-shadow:0 8px 28px rgba(104,61,34,.045)!important}
.intro-screen h1{font-size:clamp(2.7rem,6.8vw,5.8rem)!important;line-height:.99!important;font-weight:880!important;letter-spacing:-.065em!important}
.intro-screen h2{font-size:clamp(2rem,4vw,3.6rem)!important;font-weight:850!important;letter-spacing:-.055em!important}
.intro-lead{line-height:1.8!important}
.intro-feature-large article,.intro-journey-card,.intro-item-tile,.intro-float-card,.intro-dashboard-preview{box-shadow:0 15px 40px rgba(104,61,34,.07)!important}
.intro-feature-large article:hover,.intro-journey-card:hover,.intro-item-tile:hover{box-shadow:0 22px 48px rgba(104,61,34,.12)!important}
.intro-card-symbol,.intro-feature-icon,.intro-journey-symbol,.intro-item-tile>span,.intro-final-mark{border-radius:16px!important;background:linear-gradient(145deg,#FFF0E2,#FBE1CB)!important;color:var(--cf-rust)!important}
.intro-top-cta,.intro-final-cta,.intro-hero-actions button{min-height:48px;border-radius:14px!important}
.intro-final-screen{background:radial-gradient(ellipse at 50% 0%,rgba(244,164,105,.30),transparent 54%),linear-gradient(135deg,#FFF0E2,#F9E6D4)!important}
.profile-editor-topbar,.community-profile-topbar{box-shadow:0 8px 24px rgba(104,61,34,.045)}
.profile-editor-card,.public-profile-hero,.chat-user-profile-card{box-shadow:0 16px 45px rgba(104,61,34,.085)!important}
.chat-messages{border-radius:18px!important}
.chat-bubble{border-radius:16px!important}
.chat-row.mine .chat-bubble{background:linear-gradient(135deg,#E98243,#D9652B)!important}
#toast{border-radius:14px!important}
footer{padding-block:26px;color:#9A8372}
/* Guarantee the light palette has no leftover legacy purple/green accents in key UI. */
:where(.mobile-nav-close,.mobile-nav-close span,.chat-unavailable-icon,.profile-trigger,.profile-dropdown button:hover,.profile-dropdown button:focus-visible){color:var(--cf-rust)!important}
:where(.mobile-nav-close span,.chat-unavailable-icon){background:#FBE7D6!important;border-color:#F0D2B8!important}
:where(.match-note.has-match,.pill.found,.fakecard label.match-yes){background:#FBE7D6!important;color:var(--cf-rust)!important}
:where(.match-note.no-match,.board-meta){background:#F8EFE5!important;color:#8B7768!important}
:where(a,button,input,select,textarea,[role="button"],[role="tab"]):focus-visible{outline:3px solid rgba(217,101,43,.42)!important;outline-offset:3px!important}
@keyframes cfRiseIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.card,.stats,.auth-card,.intro-feature-large article,.intro-journey-card,.intro-item-tile{animation:cfRiseIn .42s cubic-bezier(.2,.7,.2,1) both}}
@media(max-width:700px){
  main{padding-top:16px;padding-bottom:34px}
  .hero{border-radius:22px;padding:23px 19px}
  .hero h1{font-size:clamp(2rem,9vw,3rem)}
  .card,.stats,.auth-card{border-radius:18px!important}
  .intro-screen h1{font-size:clamp(2.45rem,12vw,4.1rem)!important}
  .intro-screen h2{font-size:clamp(1.9rem,8vw,2.7rem)!important}
  .board-search{border-radius:15px!important}
}
@media(prefers-reduced-motion:reduce){.card,.stats,.auth-card,.intro-feature-large article,.intro-journey-card,.intro-item-tile{animation:none!important}}

/* FINAL THEME OVERRIDE: remove legacy purple/green palette across the entire frontend. */
:root{--p:#D9682B;--ink:#38271E;--muted:#8B7768;--line:#EBDCCB;--bg:#FFF8EF;--cf-ink:#38271E;--cf-muted:#8B7768;--cf-purple:#D9682B;--cf-mint:#E98243;--cf-rust:#B95525;--cf-shadow:0 12px 34px rgba(104,61,34,.08);--cf-shadow-hover:0 18px 42px rgba(104,61,34,.13);color-scheme:light}


/* Semantic status colors: keep the site palette cream + orange, while status meaning stays intuitive. */
/* FOUND = success green; LOST = alert red. */
.pill.found,
.first-visit-intro .intro-dash-found,
.intro-dash-tag.intro-dash-found {
  background: #E5F5E9 !important;
  color: #19723A !important;
  border-color: #B9E2C4 !important;
}
.pill:not(.found),
.first-visit-intro .intro-dash-lost,
.intro-dash-tag.intro-dash-lost {
  background: #FDE8E7 !important;
  color: #B42318 !important;
  border-color: #F5C2BE !important;
}
/* Successful return / check / confirmed match = green. */
.status.returned,
.match-note.has-match,
.fakecard label.match-yes,
.first-visit-intro .intro-report-check {
  background: #E5F5E9 !important;
  color: #19723A !important;
  border-color: #B9E2C4 !important;
}
.status.matched {
  background: #FFF0D8 !important;
  color: #9A5B00 !important;
  border-color: #F3D5A5 !important;
}
.status.open,
.match-note.no-match {
  background: #FFF2E5;
  color: #A95520;
  border-color: #F2D8C2;
}
/* Keep the general interface warm cream/orange; semantic green/red is limited to meaning-bearing states. */

/* Responsive polish + cache-independent Cream/Orange logo presentation */
.intro-brand img,.intro-community-center img,.intro-final-mark img,.auth-brand-mark,.brand-mark{
  object-fit:contain!important;image-rendering:auto;-webkit-user-drag:none;
}
.intro-brand img{width:44px!important;height:44px!important;border-radius:13px;background:#FFF8EF;box-shadow:0 5px 14px rgba(185,85,37,.12)}
.brand-mark,.auth-brand-mark{background:#FFF8EF!important;border:1px solid #F1D7C2!important;object-fit:contain!important}
.logo div,.auth-brand-name{color:#38271E!important}
.logo div>span,.auth-brand-name>span,.intro-brand strong{color:#D9682B!important}
.intro-brand span{color:#38271E!important}
.intro-community-center img{width:48px;height:48px;border-radius:13px;background:#FFF8EF}
.intro-final-mark img{width:48px;height:48px}
img{max-width:100%}
button,a,input,select,textarea{touch-action:manipulation}
button,.button,.intro-top-cta,.intro-final-content>button,.auth-primary{min-height:44px}
.card,.dialog,.nav-dialog,.auth-card,.profile-editor-card,.chat-user-profile-card{min-width:0}
.grid,.intro-feature-large,.intro-journey-grid,.intro-item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:701px) and (max-width:1024px){
  header{padding-inline:22px;gap:14px}
  .navlinks{gap:2px}
  .navlinks a{padding:9px 8px;font-size:12px}
  .logo{font-size:18px;gap:8px}
  .logo>.brand-mark{width:38px;height:38px}
  main{padding-inline:24px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero{gap:18px}
  .intro-screen{padding-inline:clamp(24px,5vw,54px)}
  .intro-hero-grid,.intro-section-inner{width:100%}
  .intro-feature-large,.intro-journey-grid,.intro-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .intro-hero-copy h1{font-size:clamp(44px,6vw,68px)}
}
@media (max-width:700px){
  header{height:auto;min-height:64px;padding:9px 12px;gap:8px}
  .logo{font-size:17px;gap:7px;min-width:0}
  .logo>.brand-mark{width:36px;height:36px;border-radius:11px!important}
  .logo small{font-size:7px;letter-spacing:1px;margin-top:4px}
  .profile-trigger,.tag{max-width:36vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  main{width:100%;padding-inline:14px}
  .hero{grid-template-columns:minmax(0,1fr);padding:22px 17px;gap:8px}
  .hero h1{font-size:clamp(31px,8.8vw,44px);letter-spacing:-.045em}
  .hero .art{min-width:0}
  .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:8px!important}
  .stats>button,.stats>div{min-width:0;padding:13px 6px;border-right:0;border-bottom:1px solid #F1E3D6}
  .stats>button:nth-last-child(-n+2),.stats>div:nth-last-child(-n+2){border-bottom:0}
  .stats b,.stats>button b{font-size:clamp(20px,6vw,27px)}
  .stats small{font-size:10px;line-height:1.35}
  .heading{align-items:flex-start;gap:8px;flex-wrap:wrap}
  .heading h2{font-size:clamp(23px,7vw,30px)}
  .tools,.filters{width:100%;min-width:0}
  .tools>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .tab{min-width:0;white-space:normal;font-size:12px;padding:10px 4px}
  .grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .card{padding:14px;min-width:0}
  .cardtop,.cardbottom{flex-wrap:wrap;align-items:flex-start}
  .fields{grid-template-columns:minmax(0,1fr)}
  .fields .wide{grid-column:auto}
  .dialog{width:100%;max-height:calc(100dvh - 24px);padding:22px 15px;overflow:auto;overscroll-behavior:contain}
  .actions{flex-wrap:wrap}
  .actions button{flex:1 1 130px}
  .intro-topbar{gap:10px;align-items:center}
  .intro-brand{grid-template-columns:35px minmax(0,auto);column-gap:8px;max-width:65%;}
  .intro-brand img{width:35px!important;height:35px!important}
  .intro-brand span{font-size:clamp(16px,4.6vw,21px)!important;letter-spacing:-.7px}
  .intro-brand small{font-size:7px;letter-spacing:.8px;white-space:normal}
  .intro-top-cta{max-width:46%;padding:10px 11px!important;font-size:11px!important;white-space:normal;line-height:1.2}
  .intro-hero-grid{grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;padding:40px 0 25px}
  .intro-visual{min-height:280px;width:100%;overflow:hidden}
  .intro-card-main{width:min(84%,360px)}
  .intro-section-heading{grid-template-columns:minmax(0,1fr);gap:14px}
  .intro-feature-large,.intro-journey-grid,.intro-item-grid{grid-template-columns:minmax(0,1fr)}
  .intro-feature-large article{min-height:0}
  .intro-final-content{padding-inline:5px}
  .intro-final-mark{width:58px;height:58px}
  .intro-final-mark img{width:42px;height:42px}
  .intro-hero-footer{flex-wrap:wrap;font-size:8px;letter-spacing:.5px}
  .profile-editor-actions{flex-wrap:wrap}
  .profile-editor-actions button{flex:1 1 100%;min-width:0}
  .chat-mute-toggle{right:8px;width:36px;height:36px}
}
@media(max-width:380px){
  .logo{font-size:15px;gap:6px}
  .logo>.brand-mark{width:32px;height:32px}
  .logo small{font-size:6px;letter-spacing:.6px}
  .profile-trigger,.tag{max-width:31vw;padding:7px 8px}
  .intro-topbar{align-items:flex-start}
  .intro-top-cta{font-size:10px!important}
  .intro-brand{max-width:61%}
  .intro-brand small{font-size:6px}
  .stats{margin-inline:0}
}
@media(prefers-reduced-motion:reduce){.intro-card-main,.intro-card-mini{animation:none!important}}

/* CampUs responsive pass — explicit small-screen rules with cache-busted stylesheet. */
html,body{max-width:100%;overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
.intro-brand span,.intro-community-center b,.auth-brand-name,.logo>div{white-space:nowrap}
@media (min-width:701px) and (max-width:1024px){
  header{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;min-width:0;padding:10px 16px;gap:10px}
  .logo{flex:0 1 auto;min-width:0}
  .navlinks{flex:1 1 auto;min-width:0;justify-content:center;gap:1px}
  .navlinks a{padding:8px 7px;font-size:11px;white-space:nowrap}
  .profile-trigger{flex:0 0 auto;max-width:150px}
  main{max-width:100%;padding-inline:20px}
  .tools,.filters{display:flex;flex-wrap:wrap}
  .tools>*,.filters>*{min-width:0;max-width:100%}
  .card,.stats,.hero{min-width:0}
  .intro-topbar{width:100%;gap:18px}
  .intro-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);gap:22px}
  .intro-visual{min-width:0;transform:scale(.94);transform-origin:center}
}
@media (max-width:700px){
  body{font-size:15px}
  header{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;width:100%;max-width:100%;padding:8px 10px;gap:7px}
  .logo{flex:0 1 auto;max-width:57%;overflow:hidden}
  .logo>div{min-width:0;overflow:hidden}
  .logo>div>span{font-size:inherit}
  .logo small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .profile-trigger{flex:0 1 auto;min-width:0;max-width:38%;font-size:12px;padding:8px 9px}
  #mainNav{max-width:min(92vw,360px)}
  main{max-width:100%;padding:14px 10px 34px}
  .hero,.stats,.tools,.filters,.heading,.grid,.card,.empty{width:100%;max-width:100%;min-width:0}
  .hero{border-radius:22px!important;padding:19px 15px!important}
  .stats{margin:12px 0!important}
  .tools>div{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}
  .tools input,.filters input,.filters select,.fields input,.fields select,.fields textarea{width:100%;min-width:0;max-width:100%;font-size:16px}
  .cardtop,.cardbottom,.card-actions,.actions{min-width:0;max-width:100%;gap:8px}
  .intro-screen{padding-inline:16px!important;min-height:100svh}
  .intro-topbar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;width:100%;padding:10px 0!important;gap:8px}
  .intro-brand{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;column-gap:7px;width:auto;max-width:calc(100% - 118px);min-width:0}
  .intro-brand img{grid-row:1 / span 2;width:34px!important;height:34px!important}
  .intro-brand span{min-width:0;font-size:clamp(15px,4.5vw,20px)!important;line-height:1.05;letter-spacing:-.5px!important}
  .intro-brand small{grid-column:2;max-width:100%;font-size:6.5px!important;line-height:1.2;letter-spacing:.55px!important;overflow-wrap:anywhere}
  .intro-top-cta{flex:0 0 auto;width:auto;max-width:118px;min-height:42px;padding:8px 9px!important;font-size:10px!important;white-space:normal;overflow-wrap:anywhere}
  .intro-hero-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;padding:30px 0 20px!important}
  .intro-hero-copy,.intro-visual,.intro-extra-inner,.intro-section-inner,.intro-community-layout,.intro-good-report-layout,.intro-items-layout{width:100%;min-width:0;max-width:100%}
  .intro-screen h1{font-size:clamp(38px,10.5vw,58px)!important;line-height:1.02!important;overflow-wrap:normal}
  .intro-screen h2{font-size:clamp(29px,8vw,42px)!important;line-height:1.06!important}
  .intro-lead,.intro-screen p{font-size:15px!important;line-height:1.65!important}
  .intro-visual{min-height:230px!important;max-height:310px;transform:none!important}
  .intro-card-main{width:min(84%,330px)!important;left:5%!important}
  .intro-card-mini{max-width:75%;right:2%!important}
  .intro-section-heading,.intro-moments-heading{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .intro-feature-large,.intro-journey-grid,.intro-item-grid,.intro-moments-grid,.intro-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .intro-feature-large article,.intro-journey-card,.intro-item-tile,.intro-moment-card,.intro-report-preview,.intro-dashboard-preview{width:100%;min-width:0;max-width:100%}
  .intro-report-row{display:grid;grid-template-columns:34px minmax(0,1fr) 22px;gap:9px;align-items:center}
  .intro-report-row small,.intro-report-preview-bottom{overflow-wrap:anywhere}
  .intro-community-art{min-width:0;max-width:100%;overflow:hidden;transform:scale(.94);transform-origin:center}
  .intro-community-layout,.intro-good-report-layout{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
  .intro-final-content{width:100%;max-width:100%;padding:24px 0!important}
  .intro-final-content button{max-width:100%}
  .auth-gate{padding:18px 12px!important;min-height:100svh;align-items:center}
  .auth-card{width:100%;max-width:440px;padding:24px 18px!important}
  .auth-brand{max-width:100%;gap:10px}
  .auth-brand-name{font-size:23px}
  .dialog{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100svh - 20px)!important;margin:10px auto;padding:20px 14px!important}
  .fields{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:12px}
  .fields label,.fields .wide{min-width:0;max-width:100%;grid-column:auto!important}
  .fields input,.fields select,.fields textarea{min-height:46px}
  .community-chat-dialog{height:calc(100svh - 20px)!important;max-height:calc(100svh - 20px)!important}
  .chat-compose{grid-template-columns:minmax(0,1fr) auto;gap:7px}
  .chat-compose textarea{min-width:0;font-size:16px}
}
@media (max-width:380px){
  .intro-topbar{gap:5px}
  .intro-brand{max-width:calc(100% - 108px);grid-template-columns:30px minmax(0,1fr);column-gap:6px}
  .intro-brand img{width:30px!important;height:30px!important}
  .intro-brand span{font-size:15px!important}
  .intro-brand small{font-size:5.8px!important;letter-spacing:.3px!important}
  .intro-top-cta{max-width:103px;font-size:9px!important;padding:7px!important}
  .intro-screen{padding-inline:12px!important}
  .intro-screen h1{font-size:clamp(35px,10.3vw,43px)!important}
  .profile-trigger{font-size:11px;padding:7px}
}

/* CampUs brand + true page-style community chat (override legacy modal sizing). */
.chat-page-heading{display:flex;align-items:center;gap:12px;min-width:0;margin-right:auto}
.chat-page-heading img{display:block;width:42px;height:42px;object-fit:contain;border-radius:12px;background:#FFF8EF;border:1px solid #F1D7C2;padding:2px}
.chat-page-heading h2{margin:0!important;font-size:clamp(18px,2vw,23px);line-height:1.2;color:#38271E}
.chat-page-heading small{display:block;margin-top:4px;color:#9B7B65;font-size:11px;letter-spacing:.02em}
.chat-topbar{display:flex;align-items:center;justify-content:flex-start;gap:14px;flex:0 0 auto;padding:4px 0 14px;border-bottom:1px solid #F0DDCB}
.chat-back,.chat-mute-toggle{flex:0 0 44px;width:44px;height:44px;border:1px solid #F0D9C5!important;border-radius:14px!important;background:#FFF8EF!important;color:#B95525!important;display:grid;place-items:center;font-size:25px;line-height:1}
#communityChatOverlay:not(.hide){position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;overflow:hidden!important;background:#FFFCF7!important;border-radius:0!important;z-index:10000!important}
#communityChatOverlay:not(.hide) .community-chat-dialog{position:absolute!important;inset:0!important;left:0!important;right:0!important;top:0!important;bottom:0!important;width:100%!important;height:100%!important;height:100dvh!important;min-height:0!important;max-height:none!important;max-width:none!important;margin:0!important;padding:clamp(16px,2.5vw,32px) clamp(16px,3.5vw,48px) max(14px,env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;gap:12px!important;background:#FFFCF7!important}
body.chat-fullscreen-open{overflow:hidden!important;background:#FFFCF7!important}
body.chat-fullscreen-open>header:not(.community-profile-topbar),body.chat-fullscreen-open>.board-search,body.chat-fullscreen-open>main{display:none!important}
#communityChatOverlay .chat-messages{flex:1 1 auto!important;min-height:0!important;max-height:none!important;width:100%!important;background:#FFF5EA!important;border:1px solid #F0DDCB!important;border-radius:18px!important;padding:clamp(12px,2vw,24px)!important}
#communityChatOverlay .chat-compose{flex:0 0 auto!important;width:100%!important;padding:8px!important;border:1px solid #F0D7C1!important;border-radius:18px!important;background:#FFFFFF!important;box-shadow:0 5px 18px rgba(139,83,43,.07)!important}
#communityChatOverlay .chat-compose textarea{min-height:44px!important;max-height:120px!important;border:0!important;background:transparent!important;outline-offset:2px!important}
@media(max-width:700px){
  .chat-page-heading{gap:9px}
  .chat-page-heading img{width:36px;height:36px;border-radius:10px}
  .chat-page-heading h2{font-size:17px}
  .chat-page-heading small{font-size:10px}
  .chat-topbar{gap:9px;padding:0 0 10px}
  .chat-back,.chat-mute-toggle{width:40px;height:40px;flex-basis:40px;border-radius:12px!important}
  #communityChatOverlay:not(.hide) .community-chat-dialog{padding:calc(10px + env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom))!important;gap:10px!important}
  #communityChatOverlay .chat-messages{border-radius:14px!important;padding:10px!important}
  #communityChatOverlay .chat-compose{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:6px!important;border-radius:15px!important}
}

/* Mobile hero sticker fit: keep the complete illustration visible on narrow screens. */
@media (max-width:700px){
  .first-visit-intro .intro-visual{
    position:relative!important;
    width:100%!important;min-width:0!important;max-width:100%!important;
    height:clamp(285px,76vw,330px)!important;
    min-height:clamp(285px,76vw,330px)!important;max-height:none!important;
    margin:4px 0 12px!important;padding:0!important;
    overflow:visible!important;transform:none!important;
  }
  .first-visit-intro .intro-visual-glow{width:min(76%,290px)!important;max-width:100%!important}
  .first-visit-intro .intro-orbit-one{width:88%!important;height:57%!important;max-width:100%!important}
  .first-visit-intro .intro-orbit-two{width:72%!important;height:80%!important;max-width:100%!important}
  .first-visit-intro .intro-card-main{
    width:78%!important;max-width:330px!important;left:4%!important;right:auto!important;
    top:10%!important;padding:clamp(13px,4vw,18px)!important;
    border-radius:18px!important;
  }
  .first-visit-intro .intro-card-top{gap:7px!important}
  .first-visit-intro .intro-card-symbol{width:35px!important;height:35px!important;font-size:25px!important;flex:0 0 35px}
  .first-visit-intro .intro-status-pill{font-size:7px!important;letter-spacing:.7px!important;padding:6px 7px!important;white-space:nowrap}
  .first-visit-intro .intro-card-title{font-size:clamp(19px,5.7vw,25px)!important;line-height:1.14!important;letter-spacing:-.7px!important;margin:16px 0!important}
  .first-visit-intro .intro-card-lines{gap:7px!important}
  .first-visit-intro .intro-card-lines i{height:6px!important}
  .first-visit-intro .intro-card-footer{margin-top:16px!important;padding-top:11px!important;gap:7px!important;font-size:9px!important}
  .first-visit-intro .intro-card-mini{
    display:flex!important;align-items:center!important;gap:8px!important;
    width:max-content!important;max-width:74%!important;min-width:0!important;
    left:auto!important;right:0!important;bottom:2%!important;top:auto!important;
    padding:9px 10px!important;border-radius:15px!important;
    transform:rotate(2deg)!important;box-sizing:border-box!important;
  }
  .first-visit-intro .intro-mini-icon{width:29px!important;height:29px!important;flex:0 0 29px;font-size:17px!important}
  .first-visit-intro .intro-card-mini div{min-width:0;gap:3px!important}
  .first-visit-intro .intro-card-mini b{font-size:10px!important;line-height:1.2!important}
  .first-visit-intro .intro-card-mini small{font-size:9px!important;line-height:1.2!important}
}
@media (max-width:380px){
  .first-visit-intro .intro-visual{height:278px!important;min-height:278px!important}
  .first-visit-intro .intro-card-main{width:80%!important;left:2%!important;padding:13px!important}
  .first-visit-intro .intro-card-mini{max-width:77%!important;right:0!important;padding:8px!important}
  .first-visit-intro .intro-card-mini b{font-size:9px!important}
}


/* Mobile menu refinement: centered, solid panel with a text Close button. */
@media (max-width: 850px) {
  body:has(#mainNav.menu-open)::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1004;
    background: rgba(56, 39, 30, .24);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
  }
  #mainNav.navlinks.menu-open {
    display: flex !important;
    position: fixed !important;
    top: 50dvh !important;
    left: 50vw !important;
    right: auto !important;
    bottom: auto !important;
    width: min(440px, calc(100vw - 28px)) !important;
    max-height: calc(100dvh - 36px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    transform: translate(-50%, -50%) !important;
    box-sizing: border-box;
    padding: 18px !important;
    margin: 0 !important;
    gap: 5px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    background: #FFFCF7 !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid #EBDCCB !important;
    border-radius: 24px !important;
    box-shadow: 0 24px 80px rgba(56, 39, 30, .22) !important;
    z-index: 1010 !important;
  }
  #mainNav.menu-open a {
    min-height: 46px;
    padding: 12px 14px !important;
    border-radius: 12px;
    font-size: 15px !important;
    line-height: 1.25;
  }
  #mainNav.menu-open .mobile-nav-close {
    display: flex !important;
    align-self: center !important;
    justify-content: center !important;
    margin: 12px auto 2px !important;
    padding: 0 !important;
    min-width: 0 !important;
    background: transparent !important;
  }
  #mainNav.menu-open .mobile-nav-close span {
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    min-width: 108px;
    min-height: 44px;
    padding: 0 24px !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #E7C5AA !important;
    border-radius: 999px !important;
    background: #FCEBDD !important;
    color: #A94D24 !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    box-shadow: none !important;
  }
  #mainNav.menu-open .mobile-nav-close:active span {
    transform: scale(.97);
    background: #F7E2D1 !important;
  }
}
@media (max-width: 380px) {
  #mainNav.navlinks.menu-open { width: calc(100vw - 20px) !important; padding: 14px !important; }
}
@media (min-width: 851px) { body:has(#mainNav.menu-open)::before { display: none; } }


/* Navigation sheets: centered, scroll-safe, and with a separate close control. */
#navPopup.overlay:not(.hide) {
  display:grid !important; place-items:center !important;
  padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)) !important;
  overflow:hidden !important; overscroll-behavior:contain;
  -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px);
}
#navPopup .nav-dialog {
  position:relative !important; width:min(560px,calc(100vw - 24px)) !important;
  max-width:560px !important;
  max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px) !important;
  min-height:0 !important; margin:auto !important;
  padding:76px clamp(18px,4vw,28px) 20px !important;
  overflow-x:hidden !important; overflow-y:auto !important;
  -webkit-overflow-scrolling:touch; overscroll-behavior:contain; scrollbar-gutter:stable;
  border:1px solid #EBDCCB !important; border-radius:28px !important;
  background:#FFFEFB !important;
}
#navPopup .nav-dialog > .x {
  position:absolute !important; top:16px !important; left:16px !important; right:auto !important;
  width:44px !important; min-width:44px !important; height:44px !important; min-height:44px !important;
  padding:0 !important; margin:0 !important; display:grid !important; place-items:center !important;
  border:1px solid #E9CBB4 !important; border-radius:50% !important;
  background:#FCEBDD !important; color:#A84A20 !important;
  font-size:25px !important; line-height:1 !important; box-shadow:none !important; z-index:5 !important;
}
#navPopup .nav-dialog > .eyebrow {
  display:block; margin:0 0 8px !important; line-height:1.5 !important; overflow-wrap:anywhere;
}
#navPopup .nav-dialog > h2 {
  margin:0 0 16px !important; line-height:1.12 !important; overflow-wrap:anywhere;
}
#navPopup #navPopupBody { min-width:0; overflow-wrap:anywhere; }
#navPopup .nav-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
#navPopup .nav-filter-grid label { min-width:0; }
#navPopup .nav-filter-grid input,#navPopup .nav-filter-grid select { min-height:46px; font-size:16px; }
#navPopup .nav-dialog .actions {
  position:sticky !important; bottom:-20px !important; z-index:4;
  display:flex; justify-content:center; align-items:center; width:100%;
  margin:20px 0 -20px !important; padding:14px 0 20px !important;
  background:linear-gradient(to bottom,rgba(255,254,251,.94),#FFFEFB 25%) !important;
}
#navPopup .nav-dialog .actions.single-action #navPopupOk {
  width:auto; min-width:min(220px,100%); max-width:100%; margin-inline:auto;
}
@media(max-width:520px) {
  #navPopup.overlay:not(.hide) {
    padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom)) !important;
  }
  #navPopup .nav-dialog {
    width:calc(100vw - 20px) !important; max-width:calc(100vw - 20px) !important;
    max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px) !important;
    padding:74px 16px 18px !important; border-radius:24px !important;
  }
  #navPopup .nav-dialog > .x {
    top:14px !important; left:14px !important;
    width:42px !important; min-width:42px !important; height:42px !important; min-height:42px !important;
    font-size:24px !important;
  }
  #navPopup .nav-dialog > .eyebrow { font-size:10px !important; letter-spacing:1.2px !important; }
  #navPopup .nav-dialog > h2 { font-size:clamp(25px,7vw,32px) !important; }
  #navPopup .nav-filter-grid { grid-template-columns:minmax(0,1fr) !important; gap:12px !important; }
  #navPopup .nav-dialog .actions {
    bottom:-18px !important; margin:18px 0 -18px !important; padding:12px 0 18px !important;
  }
  #navPopup .nav-dialog .actions.single-action #navPopupOk { width:100%; min-width:0; }
}
@media(max-width:360px) { #navPopup .nav-dialog { padding-inline:14px !important; } }

/* FINAL GLOBAL DIALOG REPAIR — consistent centering, safe-area fit, and non-overlapping close controls. */
.overlay:not(.hide):not(#communityChatOverlay){
  position:fixed!important; inset:0!important; width:100%!important; max-width:100%!important;
  min-width:0!important; height:100vh!important; height:100dvh!important; max-height:100dvh!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  padding: max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
  overflow-x:hidden!important; overflow-y:auto!important; overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch; z-index:9000!important;
}
.overlay:not(.hide):not(#communityChatOverlay) > .dialog{
  position:relative!important; inset:auto!important; flex:0 1 auto!important;
  width:min(620px,100%)!important; max-width:100%!important; min-width:0!important;
  max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)!important;
  height:auto!important; min-height:0!important; margin:auto!important;
  padding:82px clamp(16px,3vw,28px) 22px!important;
  overflow-x:hidden!important; overflow-y:auto!important; overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch; scrollbar-gutter:stable; overflow-wrap:anywhere;
  box-sizing:border-box!important;
}
.overlay:not(.hide):not(#communityChatOverlay) > .dialog:has(> .x){padding-top:82px!important}
.overlay:not(.hide):not(#communityChatOverlay) > .dialog > .x{
  position:absolute!important; top:14px!important; right:14px!important; left:auto!important; bottom:auto!important;
  z-index:20!important; width:auto!important; min-width:76px!important; height:42px!important; min-height:42px!important;
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  padding:0 16px!important; margin:0!important; border:1px solid #E9CBB4!important; border-radius:999px!important;
  background:#FCEBDD!important; color:#A84A20!important; font:700 14px/1 Inter,system-ui,sans-serif!important;
  box-shadow:none!important; cursor:pointer!important;
}
.overlay:not(.hide):not(#communityChatOverlay) > .dialog > .x:hover{background:#F8DFCA!important}
.overlay:not(.hide):not(#communityChatOverlay) .dialog h2,
.overlay:not(.hide):not(#communityChatOverlay) .dialog .eyebrow,
.overlay:not(.hide):not(#communityChatOverlay) .dialog form,
.overlay:not(.hide):not(#communityChatOverlay) .dialog .fields{min-width:0!important;overflow-wrap:anywhere}
.overlay:not(.hide):not(#communityChatOverlay) .dialog .actions{
  position:sticky!important; bottom:calc(-1 * env(safe-area-inset-bottom))!important; z-index:10!important;
  display:flex!important; flex-wrap:wrap!important; gap:10px!important; align-items:center!important;
  margin-top:18px!important; padding:14px 0 max(4px,env(safe-area-inset-bottom))!important;
  background:linear-gradient(to bottom,rgba(255,254,251,.94),#FFFEFB 22%)!important;
}
.overlay:not(.hide):not(#communityChatOverlay) .dialog .actions button{min-height:44px!important;max-width:100%!important}
.overlay:not(.hide):not(#communityChatOverlay) .dialog input,
.overlay:not(.hide):not(#communityChatOverlay) .dialog select,
.overlay:not(.hide):not(#communityChatOverlay) .dialog textarea{font-size:16px;min-width:0;max-width:100%}
.chat-user-profile-overlay:not(.hide){position:fixed!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))!important;overflow-y:auto!important;z-index:9500!important}
.chat-user-profile-card{width:min(420px,100%)!important;max-width:100%!important;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 32px)!important;overflow:auto!important;margin:auto!important}
@media(max-width:700px){
  .overlay:not(.hide):not(#communityChatOverlay){padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))!important}
  .overlay:not(.hide):not(#communityChatOverlay) > .dialog{width:100%!important;max-width:600px!important;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px)!important;padding:78px 16px 18px!important;border-radius:24px!important}
  .overlay:not(.hide):not(#communityChatOverlay) > .dialog > .x{top:12px!important;right:12px!important;min-width:72px!important;height:40px!important;min-height:40px!important}
  .overlay:not(.hide):not(#communityChatOverlay) .dialog .actions{gap:8px!important;padding-top:12px!important}
  .overlay:not(.hide):not(#communityChatOverlay) .dialog .actions button{flex:1 1 130px!important}
  .overlay:not(.hide):not(#communityChatOverlay) .dialog .fields{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .overlay:not(.hide):not(#communityChatOverlay) .dialog .fields .wide{grid-column:auto!important}
}
@media(max-height:560px){
  .overlay:not(.hide):not(#communityChatOverlay){align-items:flex-start!important}
  .overlay:not(.hide):not(#communityChatOverlay) > .dialog{margin:auto!important}
}


/* REPORT FORM REPAIR v2: keep title/close control clear, scroll fields independently, pin actions below. */
#modal.overlay:not(.hide){
  display:flex!important; align-items:center!important; justify-content:center!important;
  overflow:hidden!important; padding: max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
}
#modal.overlay:not(.hide) > .dialog{
  display:flex!important; flex-direction:column!important; align-items:stretch!important;
  width:min(720px,100%)!important; max-width:720px!important;
  height:auto!important; max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)!important;
  min-height:0!important; overflow:hidden!important;
  padding:76px clamp(16px,3vw,28px) 0!important; margin:0 auto!important;
  box-sizing:border-box!important; position:relative!important;
}
#modal.overlay:not(.hide) > .dialog > .x{
  top:14px!important; right:16px!important; left:auto!important; bottom:auto!important;
  z-index:5!important; width:auto!important; min-width:76px!important; height:42px!important;
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
}
#modal.overlay:not(.hide) > .dialog > .eyebrow,
#modal.overlay:not(.hide) > .dialog > h2{flex:0 0 auto!important; position:relative!important;}
#modal.overlay:not(.hide) > .dialog > h2{margin-top:5px!important; margin-bottom:14px!important;}
#modal.overlay:not(.hide) > .dialog > form{
  display:flex!important; flex:1 1 auto!important; flex-direction:column!important;
  min-height:0!important; overflow:hidden!important; width:100%!important; margin:0!important;
}
#modal.overlay:not(.hide) > .dialog > form > .fields{
  display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-content:start!important; flex:1 1 auto!important; min-height:0!important;
  overflow-x:hidden!important; overflow-y:auto!important; overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important; padding:2px 4px 18px 0!important;
  scrollbar-gutter:stable!important;
}
#modal.overlay:not(.hide) > .dialog > form > #error{flex:0 0 auto!important; margin:4px 0!important;}
#modal.overlay:not(.hide) > .dialog > form > .actions{
  position:relative!important; inset:auto!important; flex:0 0 auto!important;
  margin:0 -1px 0!important; padding:14px 0 max(16px,env(safe-area-inset-bottom))!important;
  background:#FFFEFB!important; box-shadow:0 -8px 18px rgba(111,65,34,.045)!important;
  display:flex!important; flex-wrap:nowrap!important; gap:12px!important;
}
#modal.overlay:not(.hide) > .dialog > form > .actions button{flex:1 1 0!important; min-width:0!important; white-space:normal!important;}
#modal.overlay:not(.hide) .fields label{min-width:0!important;}
#modal.overlay:not(.hide) .fields input,
#modal.overlay:not(.hide) .fields select,
#modal.overlay:not(.hide) .fields textarea{width:100%!important; min-width:0!important; box-sizing:border-box!important;}
@media(max-width:700px){
  #modal.overlay:not(.hide){padding:max(8px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom))!important;}
  #modal.overlay:not(.hide) > .dialog{
    width:100%!important; max-width:600px!important;
    max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px)!important;
    padding:74px 16px 0!important; border-radius:24px!important;
  }
  #modal.overlay:not(.hide) > .dialog > .x{top:12px!important;right:14px!important;min-width:72px!important;height:40px!important;}
  #modal.overlay:not(.hide) > .dialog > .eyebrow{font-size:clamp(10px,2.8vw,12px)!important;line-height:1.45!important;letter-spacing:1.1px!important;}
  #modal.overlay:not(.hide) > .dialog > h2{font-size:clamp(25px,6.4vw,34px)!important;line-height:1.12!important;margin-bottom:12px!important;}
  #modal.overlay:not(.hide) > .dialog > form > .fields{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;padding-bottom:16px!important;}
  #modal.overlay:not(.hide) > .dialog > form > .fields .wide{grid-column:1!important;}
  #modal.overlay:not(.hide) > .dialog > form > .actions{gap:8px!important;padding:10px 0 max(14px,env(safe-area-inset-bottom))!important;}
  #modal.overlay:not(.hide) > .dialog > form > .actions button{font-size:14px!important;padding-inline:10px!important;min-height:48px!important;}
}
@media(max-width:380px){
  #modal.overlay:not(.hide) > .dialog{padding-inline:13px!important;}
  #modal.overlay:not(.hide) > .dialog > form > .actions{flex-wrap:wrap!important;}
  #modal.overlay:not(.hide) > .dialog > form > .actions button{flex:1 1 100%!important;}
}

/* FINAL MOBILE HEADER + ACCOUNT MENU + REPORT FORM ALIGNMENT FIX (2026-10-23) */
header:not(.community-profile-topbar):not(.profile-editor-topbar){min-width:0;}
.profile-dropdown{right:12px!important;top:calc(100% + 8px)!important;max-width:calc(100vw - 24px)!important;}
@media(max-width:700px){
  header:not(.community-profile-topbar):not(.profile-editor-topbar){
    display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;
    gap:8px!important;padding:9px 12px!important;width:100%!important;min-height:68px!important;height:auto!important;
  }
  header:not(.community-profile-topbar):not(.profile-editor-topbar) .logo{
    flex:1 1 auto!important;min-width:0!important;max-width:none!important;overflow:hidden!important;
  }
  header:not(.community-profile-topbar):not(.profile-editor-topbar) .logo>div{min-width:0!important;overflow:hidden!important;}
  header:not(.community-profile-topbar):not(.profile-editor-topbar) .profile-trigger{
    flex:0 0 auto!important;margin-left:auto!important;max-width:42vw!important;min-width:78px!important;
    padding:9px 12px!important;font-size:12px!important;white-space:nowrap!important;text-overflow:ellipsis!important;
  }
  #mainNav.navlinks.menu-open{
    background:#FFFCF7!important;opacity:1!important;visibility:visible!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
    box-shadow:0 24px 80px rgba(56,39,30,.24)!important;
  }
  #mainNav.menu-open a{color:#8B7F75!important;background:transparent!important;}
  #mainNav.menu-open a:focus-visible,#mainNav.menu-open a:hover{background:#FFF0E3!important;color:#B95525!important;}
  #profileDropdown{position:fixed!important;top:calc(68px + env(safe-area-inset-top))!important;right:12px!important;left:auto!important;}
}
/* Keep report form actions side-by-side and the back/close control on the left. */
#modal.overlay:not(.hide) > .dialog > .x{
  left:14px!important;right:auto!important;top:14px!important;
}
@media(max-width:700px){
  #modal.overlay:not(.hide) > .dialog > .x{left:14px!important;right:auto!important;top:12px!important;}
  #modal.overlay:not(.hide) > .dialog > form > .actions{flex-wrap:nowrap!important;gap:8px!important;}
  #modal.overlay:not(.hide) > .dialog > form > .actions button{flex:1 1 0!important;min-width:0!important;white-space:normal!important;}
}
@media(max-width:380px){
  #modal.overlay:not(.hide) > .dialog > form > .actions{flex-wrap:nowrap!important;}
  #modal.overlay:not(.hide) > .dialog > form > .actions button{flex:1 1 0!important;font-size:12px!important;padding-inline:6px!important;}
}


/* Navigation sections: dedicated back control, separate from report-form actions. */
#navPopup .nav-dialog > .nav-popup-back{
  position:absolute!important;top:14px!important;left:14px!important;right:auto!important;
  display:grid!important;place-items:center!important;
  width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;
  padding:0!important;margin:0!important;border:1px solid #E9CBB4!important;border-radius:50%!important;
  background:#FCEBDD!important;color:#A84A20!important;font:inherit!important;font-size:30px!important;
  line-height:1!important;cursor:pointer!important;box-shadow:none!important;z-index:10!important;
}
#navPopup .nav-dialog > .nav-popup-back:hover{background:#F8DEC9!important}
#navPopup .nav-dialog > .nav-popup-back:focus-visible{outline:3px solid #F0B58E!important;outline-offset:3px!important}
@media(max-width:520px){#navPopup .nav-dialog > .nav-popup-back{top:14px!important;left:14px!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important}}


/* Unified circular back controls on every viewport: phone, tablet, desktop. */
body.back-controls-arrow .x,
body.back-controls-arrow .chat-topbar .chat-back,
body.back-controls-arrow .community-profile-back,
body.back-controls-arrow .profile-editor-back,
body.back-controls-arrow #navPopup .nav-dialog > .nav-popup-back{
  display:inline-grid!important;place-items:center!important;
  width:44px!important;min-width:44px!important;max-width:44px!important;
  height:44px!important;min-height:44px!important;max-height:44px!important;
  padding:0!important;border:1px solid #E9CBB4!important;border-radius:50%!important;
  background:#FCEBDD!important;color:#A84A20!important;
  font-family:inherit!important;font-size:30px!important;font-weight:700!important;
  line-height:1!important;text-align:center!important;text-indent:0!important;
  box-shadow:none!important;cursor:pointer!important;flex:0 0 44px!important;
}
body.back-controls-arrow .x{left:14px!important;right:auto!important;top:14px!important;transform:none!important;z-index:12!important}
body.back-controls-arrow .chat-topbar .chat-back{left:0!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important}
body.back-controls-arrow .community-profile-topbar .community-profile-back,
body.back-controls-arrow .profile-editor-topbar .profile-editor-back{position:relative!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;z-index:5!important}
body.back-controls-arrow #navPopup .nav-dialog > .nav-popup-back{left:14px!important;right:auto!important;top:14px!important}
body.back-controls-arrow .x:hover,
body.back-controls-arrow .chat-topbar .chat-back:hover,
body.back-controls-arrow .community-profile-back:hover,
body.back-controls-arrow .profile-editor-back:hover,
body.back-controls-arrow #navPopup .nav-dialog > .nav-popup-back:hover{background:#F8DEC9!important}
body.back-controls-arrow .x:focus-visible,
body.back-controls-arrow .chat-topbar .chat-back:focus-visible,
body.back-controls-arrow .community-profile-back:focus-visible,
body.back-controls-arrow .profile-editor-back:focus-visible,
body.back-controls-arrow #navPopup .nav-dialog > .nav-popup-back:focus-visible{outline:3px solid #F0B58E!important;outline-offset:3px!important}
@media(max-width:700px){
 body.back-controls-arrow .x,
 body.back-controls-arrow .chat-topbar .chat-back,
 body.back-controls-arrow .community-profile-back,
 body.back-controls-arrow .profile-editor-back,
 body.back-controls-arrow #navPopup .nav-dialog > .nav-popup-back{width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;flex-basis:42px!important;font-size:28px!important}
 body.back-controls-arrow .x{left:12px!important;right:auto!important;top:12px!important}
}

/* CampUs modal back control: one circular ‹ button, no duplicate icon/text. */
#modal.overlay:not(.hide) > .dialog > button.x.universal-back-arrow {
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid #E9CBB4 !important;
  border-radius: 50% !important;
  background: #FCEBDD !important;
  color: #A84A20 !important;
  font-family: inherit !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  text-align: center !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer !important;
  z-index: 30 !important;
}
#modal.overlay:not(.hide) > .dialog > button.x.universal-back-arrow::before,
#modal.overlay:not(.hide) > .dialog > button.x.universal-back-arrow::after {
  content: none !important;
  display: none !important;
}
#modal.overlay:not(.hide) > .dialog > button.x.universal-back-arrow:hover {
  background: #F8DEC9 !important;
}
@media (max-width: 700px) {
  #modal.overlay:not(.hide) > .dialog > button.x.universal-back-arrow {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    font-size: 28px !important;
  }
}

/* FINAL FIX: circular ‹ back button on phone, tablet and desktop */
.overlay:not(.hide):not(#communityChatOverlay) > .dialog > button.x {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;

  display: grid !important;
  place-items: center !important;

  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;

  padding: 0 !important;
  border: 1px solid #E9CBB4 !important;
  border-radius: 50% !important;

  background: #FCEBDD !important;
  color: #A84A20 !important;
  font-family: inherit !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: center !important;

  box-shadow: none !important;
  transform: none !important;
  z-index: 30 !important;
}

.overlay:not(.hide):not(#communityChatOverlay) > .dialog > button.x::before,
.overlay:not(.hide):not(#communityChatOverlay) > .dialog > button.x::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 700px) {
  .overlay:not(.hide):not(#communityChatOverlay) > .dialog > button.x {
    top: 12px !important;
    left: 12px !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    font-size: 28px !important;
  }
}



/* Auth gate visibility and dedicated password-recovery screen. */
#authGate.auth-gate:not(.hide) {
  display: grid !important;
  visibility: visible !important;
}
#authGate.auth-gate.hide {
  display: none !important;
}

/* Respect native hidden states even when component styles set display. */
#forgotPasswordPanel[hidden],
#resetOtpFields[hidden],
#forgotPasswordButton[hidden] {
  display: none !important;
}

/* In reset mode, keep only the recovery panel visible inside the auth card. */
#authGate.auth-reset-mode #authWelcomeTitle,
#authGate.auth-reset-mode .auth-kicker,
#authGate.auth-reset-mode #authChoices,
#authGate.auth-reset-mode #authFormTitle {
  display: none !important;
}
#authGate.auth-reset-mode #authForm > :not(#forgotPasswordPanel) {
  display: none !important;
}
#authGate.auth-reset-mode #forgotPasswordPanel {
  display: block !important;
}
#forgotPasswordButton[hidden] {
  display: none !important;
}
