/* ==========================================================
   Holy Cross polish layer (4.10.3). Loads last. Only refines
   look and feel: spacing, depth, motion, forms. Colours still
   come from the Customizer variables.
   ========================================================== */
:root{
  --p-ease:cubic-bezier(.22,.8,.3,1);
  --p-sh-1:0 1px 2px rgba(8,28,38,.05),0 8px 22px -8px rgba(8,28,38,.14);
  --p-sh-2:0 2px 4px rgba(8,28,38,.05),0 28px 54px -18px rgba(8,28,38,.28);
  --p-grad:linear-gradient(135deg,var(--c-primary),color-mix(in srgb,var(--c-primary) 60%,var(--c-dark)));
  --p-glass:rgba(255,255,255,.72);
}
html{scrollbar-color:color-mix(in srgb,var(--c-primary) 55%,white) transparent;scrollbar-width:thin}
body{background:
  radial-gradient(900px 500px at 100% -5%,color-mix(in srgb,var(--c-accent) 9%,transparent),transparent 60%),
  radial-gradient(800px 500px at -10% 15%,color-mix(in srgb,var(--c-primary) 8%,transparent),transparent 60%),
  var(--c-bg);background-attachment:fixed}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
a{transition:color .2s,background .2s,box-shadow .25s,transform .25s var(--p-ease)}

/* ---------- Buttons ---------- */
.btn{position:relative;overflow:hidden;font-weight:600;letter-spacing:.005em;background:var(--p-grad);box-shadow:0 6px 16px -6px color-mix(in srgb,var(--c-primary) 70%,transparent);transition:transform .25s var(--p-ease),box-shadow .25s,filter .25s}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s var(--p-ease)}
.btn:hover::after{transform:translateX(120%)}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 26px -10px color-mix(in srgb,var(--c-primary) 80%,transparent)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-accent{background:linear-gradient(135deg,color-mix(in srgb,var(--c-accent) 85%,white),var(--c-accent));box-shadow:0 6px 16px -6px color-mix(in srgb,var(--c-accent) 80%,transparent)}
.btn-ghost{background:rgba(255,255,255,.06);box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}

/* ---------- Header ---------- */
.site-header{box-shadow:0 1px 0 rgba(8,28,38,.04)}
.brand-name strong{background:var(--p-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.nav .menu a{border-radius:999px}
.nav .menu li:last-child>a{background:var(--p-grad);border-radius:999px;padding-inline:1.1em}
.nav .sub-menu{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.nav .sub-menu a{border-radius:10px}

/* ---------- Section titles ---------- */
.sec-title h2,.section>.wrap>h2{position:relative;padding-bottom:.45em}
.sec-title h2::after,.section>.wrap>h2::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--c-accent),var(--c-primary))}
.center .sec-title h2::after,.sec-title.center h2::after,.center>h2::after{left:50%;transform:translateX(-50%)}

/* ---------- Cards ---------- */
.ncard,.lcard,.tile.text,.hm-card,.story{border:1px solid var(--line);box-shadow:var(--p-sh-1);transition:transform .35s var(--p-ease),box-shadow .35s,border-color .3s}
.ncard,.lcard{border-radius:22px}
.ncard:hover,.lcard:hover{transform:translateY(-6px);box-shadow:var(--p-sh-2);border-color:color-mix(in srgb,var(--c-accent) 55%,transparent)}
.tile-img{box-shadow:var(--p-sh-1);transition:box-shadow .35s,transform .35s var(--p-ease)}
.tile:hover .tile-img{box-shadow:var(--p-sh-2);transform:translateY(-4px)}
.meta{font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--c-primary) 75%,var(--c-text))}

/* ---------- Hero ---------- */
.hero-stats>*{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:14px 18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .3s var(--p-ease),background .3s}
.hero-stats>*:hover{transform:translateY(-3px);background:rgba(255,255,255,.12)}

/* ---------- Footer ---------- */
.site-footer{background:radial-gradient(800px 380px at 90% 0,color-mix(in srgb,var(--c-primary) 55%,transparent),transparent 65%),radial-gradient(600px 300px at 0 100%,color-mix(in srgb,var(--c-accent) 18%,transparent),transparent 65%),var(--c-dark);border-top:3px solid var(--c-accent)}
.foot-menu a{display:inline-block;transition:color .2s,transform .25s var(--p-ease)}
.foot-menu a:hover{transform:translateX(4px)}

/* ---------- Forms (register / login / profile) ---------- */
.hm-form input[type=text],.hm-form input[type=email],.hm-form input[type=tel],.hm-form input[type=password],.hm-form input[type=search],.hm-form select{border-radius:14px;background:#fbfdfd;transition:border-color .2s,box-shadow .25s,background .2s}
.hm-form input::placeholder{color:#9aa8ab}
.hm-form input:focus{background:#fff}
.hm-card h1{font-size:clamp(1.7rem,3vw,2.2rem)}
.hm-auth{border:1px solid rgba(255,255,255,.4)}
.hm-auth .hm-card{background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--c-primary) 3%,white))}
.hm-auth-side li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--c-accent);font-weight:700}
.hm-eye{transition:background .2s,color .2s}.hm-eye:hover{background:var(--c-primary);color:#fff}
.hm-meter{display:block;height:6px;border-radius:6px;background:color-mix(in srgb,var(--c-primary) 12%,white);overflow:hidden;margin-top:-4px}
.hm-meter i{display:block;height:100%;width:0;border-radius:6px;background:#e5484d;transition:width .3s var(--p-ease),background .3s}
.hm-meter-t{display:block;min-height:1.2em;font-size:.8rem;font-weight:500;color:var(--hm-mute,#64748b);margin-top:-2px}

/* ---------- Reveal + motion safety ---------- */
.reveal{transition-timing-function:var(--p-ease)}
.to-top{box-shadow:var(--p-sh-2);background:var(--p-grad)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media (max-width:760px){
  .hero-stats>*{padding:10px 12px}
  .ncard:hover,.lcard:hover{transform:none}
}

/* ---------- 4.15.0: hero blood button, donor + Bangladesh E-Library tiles ---------- */
.btn-blood{background:linear-gradient(135deg,#ff4d6a,#d61f3c);color:#fff!important;border:1px solid rgba(255,255,255,.25);box-shadow:0 10px 28px -8px rgba(214,31,60,.7)}
.btn-blood:hover,.btn-blood:focus-visible{background:linear-gradient(135deg,#ff6a82,#e0243f);transform:translateY(-2px)}
.btn-blood .bd-drop{width:1em;height:1em;fill:currentColor;margin-right:.45em;flex:none}
.bento .tile.tile-w6,.bento.bento--no-adm .tile.tile-w6{grid-column:span 6}
.bento .tile.tile-blood .t-ic{background:color-mix(in srgb,#d61f3c 12%,#fff);color:#d61f3c}
.bento .tile.tile-blood:hover .t-ic{background:#d61f3c;color:#fff}
.bento .tile.tile-blood .t-go{color:#d61f3c}
.bento .tile.tile-bdl .t-ic{background:color-mix(in srgb,#006a4e 12%,#fff);color:#006a4e}
.bento .tile.tile-bdl:hover .t-ic{background:#006a4e;color:#fff}
.bento .tile.tile-bdl .t-go{color:#006a4e}
.bento .tile.tile-bdl .t-chips i{background:color-mix(in srgb,#006a4e 10%,#fff);color:#004f3a}
@media (max-width:640px){.bento .tile.tile-w6,.bento.bento--no-adm .tile.tile-w6{grid-column:span 12}}

/* 5.1.0: Bangladesh E-Library tile = big feature card, same style as the Student Hub tile (Bangladesh green) */
.bento .tile.tile-bdl.tile-feat{grid-row:span 2;min-height:340px;background:linear-gradient(155deg,#008a65,#006a4e 55%,#00231a);color:#fff;border-color:transparent}
.bento .tile.tile-bdl.tile-feat::after{content:"";position:absolute;right:-60px;bottom:-60px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(255,255,255,.22);box-shadow:0 0 0 40px rgba(255,255,255,.04),0 0 0 80px rgba(255,255,255,.03);z-index:-1}
.bento .tile.tile-bdl.tile-feat .t-ic{background:rgba(255,255,255,.14);color:#fff}
.bento .tile.tile-bdl.tile-feat:hover .t-ic{background:#fff;color:#006a4e}
.bento .tile.tile-bdl.tile-feat strong{font-size:clamp(1.6rem,2.6vw,2.2rem);letter-spacing:-.03em;color:#fff}
.bento .tile.tile-bdl.tile-feat em{color:rgba(255,255,255,.82);max-width:26em}
.bento .tile.tile-bdl.tile-feat .t-chips i{background:rgba(255,255,255,.16);color:#fff}
.bento .tile.tile-bdl.tile-feat .t-go{color:#00231a;background:var(--sig,#2de2c0);padding:.75em 1.2em;border-radius:12px;align-self:flex-start;margin-top:18px}
@media (max-width:640px){.bento .tile.tile-bdl.tile-feat{grid-row:auto;min-height:260px}}
.bento .tile.tile-bdl.tile-feat{grid-column:span 5}
@media (max-width:1000px){.bento .tile.tile-bdl.tile-feat{grid-column:span 12}}

/* ---------- Student Pro Desk (5.2.2) ---------- */
.pro-desk{padding:48px 0 56px;background:linear-gradient(180deg,#0b1d36 0%,#122a4a 40%,#0f243f 100%);color:#e8eef8}
.pro-desk .sec-title h2{color:#fff}
.pro-desk .mono{color:#c9a227}
.pro-lead{max-width:62ch;color:#a8b8d0;margin:8px 0 0;font-size:.95rem;line-height:1.55}
.pro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-top:28px;align-items:start}
.pro-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:20px;backdrop-filter:blur(8px)}
.pro-card h3{margin:0 0 6px;font:700 1.08rem/1.25 var(--f-head,#1a1a2e);color:#fff}
.pro-card h3 small,.pro-card h3 span{display:block;font:400 .8rem/1.4 var(--f-body,sans-serif);color:#9aafc8;margin-top:2px}
.pro-note{font-size:.85rem;color:#9aafc8;margin:0 0 12px;line-height:1.45}
.pro-btn{appearance:none;border:0;cursor:pointer;font:700 .9rem/1 var(--f-body,sans-serif);padding:11px 16px;border-radius:12px;background:#c9a227;color:#0b1d36;margin-top:8px}
.pro-btn:hover{filter:brightness(1.08)}
.pro-btn-ghost{background:transparent;color:#c9a227;border:1.5px solid rgba(201,162,39,.5)}
.pro-card input[type=text],.pro-card input[type=number],.pro-card input[type=date],.pro-card select{
	width:100%;box-sizing:border-box;margin:0 0 8px;padding:11px 12px;border-radius:12px;
	border:1.5px solid rgba(255,255,255,.18);background:rgba(0,0,0,.25);color:#fff;font:inherit
}
.pro-card input::placeholder{color:#7a8fa8}
.pro-card input:focus,.pro-card select:focus{outline:2px solid #c9a227;outline-offset:1px}
.pro-id-form{display:grid;gap:0}
.pro-id-card{margin-top:14px;padding:16px;border-radius:16px;background:linear-gradient(135deg,#1a3a6b,#0b1d36);border:1px solid rgba(201,162,39,.45);box-shadow:0 12px 40px -12px rgba(0,0,0,.5)}
.pro-id-badge{display:flex;gap:14px;align-items:center}
.pro-id-logo{width:52px;height:52px;border-radius:14px;background:#c9a227;color:#0b1d36;display:grid;place-items:center;font:800 1.1rem/1 var(--f-head,sans-serif);flex-shrink:0}
.pro-id-badge strong{display:block;font-size:1.1rem;color:#fff}
.pro-id-badge em{display:block;font-style:normal;color:#c9a227;font-size:.9rem}
.pro-id-badge span{display:block;font-size:.82rem;color:#9aafc8}
.pro-id-bg{display:inline-block!important;margin-top:4px;padding:2px 8px;border-radius:999px;background:rgba(201,162,39,.2);color:#c9a227;font-size:.75rem;font-weight:700}
.pro-id-tag{margin:12px 0 8px;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:#7a8fa8}
.pro-gpa-row{display:grid;grid-template-columns:1fr 72px auto;gap:6px;align-items:center;margin-bottom:6px}
.pro-gpa-row input[type=number]{margin:0}
.pro-gpa-row label{font-size:.78rem;color:#9aafc8;white-space:nowrap}
.pro-gpa-out{margin:12px 0 0;font-size:1rem;color:#c9d6e8}
.pro-gpa-out b{font-size:1.6rem;color:#c9a227;margin:0 6px}
.pro-cd-out,.pro-streak{margin:10px 0;font-weight:700;color:#c9a227;font-size:1.05rem}
.pro-hr{border:0;border-top:1px solid rgba(255,255,255,.12);margin:18px 0}
.pro-pct{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pro-pct input{width:90px;margin:0}
.pro-pct-out{margin:10px 0 0;font-weight:700;color:#c9a227}
.pro-links ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pro-links a{display:block;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#e8eef8;text-decoration:none;font-size:.92rem}
.pro-links a:hover{border-color:#c9a227;color:#c9a227}
@media (max-width:640px){
	.pro-desk{padding:36px 0}
	.pro-gpa-row{grid-template-columns:1fr 64px auto}
}

/* ---------- Student Command Center upgrades (5.2.3) ---------- */
.pro-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 18px}
.pro-tab{appearance:none;border:1.5px solid rgba(255,255,255,.18);background:rgba(0,0,0,.2);color:#c9d6e8;padding:10px 14px;border-radius:999px;font:700 .82rem/1 var(--f-body,sans-serif);cursor:pointer}
.pro-tab.is-on,.pro-tab:hover{background:#c9a227;color:#0b1d36;border-color:#c9a227}
.pro-panel[hidden]{display:none!important}
.pro-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.pro-lbl{display:block;font-size:.78rem;color:#9aafc8;margin:8px 0 4px}
.pro-card textarea{width:100%;box-sizing:border-box;margin:0 0 8px;padding:11px 12px;border-radius:12px;border:1.5px solid rgba(255,255,255,.18);background:rgba(0,0,0,.25);color:#fff;font:inherit;min-height:110px;resize:vertical}
.pro-result{margin:14px 0 0;font-weight:700;font-size:1.05rem;color:#c9a227;line-height:1.45}
.pro-tips{margin:10px 0 0;padding-left:18px;color:#9aafc8;font-size:.88rem;line-height:1.5}
.pro-tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.pro-tbl th,.pro-tbl td{border-bottom:1px solid rgba(255,255,255,.1);padding:8px 6px;text-align:left;color:#e8eef8}
.pro-tbl th{color:#c9a227;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.pro-timer{font:800 3rem/1 var(--f-head,sans-serif);color:#c9a227;letter-spacing:.04em;margin:12px 0;text-align:center}
.pro-focus-btns{display:flex;flex-wrap:wrap;gap:8px}
.pro-report{margin-top:12px;padding:12px;border-radius:12px;background:rgba(0,0,0,.35);color:#c9d6e8;font-size:.8rem;white-space:pre-wrap;max-height:180px;overflow:auto}
.pro-fc-face{width:100%;min-height:120px;padding:20px;border-radius:16px;border:1.5px dashed rgba(201,162,39,.45);background:rgba(0,0,0,.25);color:#fff;font:600 1.05rem/1.4 var(--f-body,sans-serif);cursor:pointer;text-align:center}
.pro-links-mini{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.pro-links-mini a{color:#9aafc8;font-size:.88rem;text-decoration:none}
.pro-links-mini a:hover{color:#c9a227}
@media (max-width:640px){.pro-timer{font-size:2.4rem}}

/* Unified hero + ticker (5.2.4) */
.hero-unified{position:relative}
.hero-unified .hero-ticker{
	position:relative;z-index:5;
	background:#FFD60A;
	color:#111;
	border-block:3px solid #111;
	overflow:hidden;white-space:nowrap;
	font:700 .95rem/1.2 var(--f-head,sans-serif);
	padding:0;
	box-shadow:0 2px 0 rgba(0,0,0,.15);
}
.hero-unified .hero-ticker .hn-track{
	display:inline-flex;
	animation:hcm-marquee 36s linear infinite;
	padding:12px 0;
}
.hero-unified .hero-ticker .hn-track span{
	padding-right:3.5rem;
	color:#111;
	font-weight:700;
}
.hero-unified .hero-ticker:hover .hn-track{animation-play-state:paused}
@keyframes hcm-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
	.hero-unified .hero-ticker{white-space:normal}
	.hero-unified .hero-ticker .hn-track{animation:none;display:block;padding:10px 14px}
	.hero-unified .hero-ticker .hn-track span+span{display:none}
}

/* Activity monitor */
.pro-heat{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:12px 0}
.pro-heat-cell{border-radius:10px;padding:10px 4px;text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.pro-heat-cell span{display:block;font-size:.7rem;color:#9aafc8}
.pro-heat-cell b{display:block;font-size:.85rem;color:#e8eef8;margin-top:4px}
.pro-heat-cell.h1{background:rgba(201,162,39,.2);border-color:rgba(201,162,39,.35)}
.pro-heat-cell.h2{background:rgba(201,162,39,.4);border-color:rgba(201,162,39,.55)}
.pro-heat-cell.h3{background:rgba(201,162,39,.7);border-color:#c9a227;color:#0b1d36}
.pro-heat-cell.h3 b,.pro-heat-cell.h3 span{color:#0b1d36}
.pro-missions{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pro-missions label{display:flex;gap:10px;align-items:flex-start;color:#e8eef8;font-size:.92rem;cursor:pointer}
.pro-missions input{margin-top:3px;accent-color:#c9a227}

/* Notice bar higher (under header, above hero) */
.hero-ticker-top{
	position:relative;z-index:20;
	background:#FFD60A!important;color:#111!important;
	border-block:3px solid #111;
	margin:0;padding:0;
	font:700 .92rem/1.25 var(--f-head,sans-serif);
	overflow:hidden;white-space:nowrap;
}
.hero-ticker-top .hn-track{display:inline-flex;animation:hcm-marquee 36s linear infinite;padding:10px 0}
.hero-ticker-top .hn-track span{padding-right:3rem;color:#111;font-weight:700}
.hero-ticker-top:hover .hn-track{animation-play-state:paused}

/* Home menu: tighter single row */
@media (min-width:1240px){
	.nav .menu{gap:0;flex-wrap:nowrap}
	.nav .menu>li>a{padding:.5em .62em;font-size:.84rem}
}

/* ===== 5.3.3 Compact Holy Cross hero ===== */
.hero.hero-unified{
	min-height:auto!important;
	padding:18px 0 28px!important;
}
.hero-unified .hero-grid,
.hero .hero-grid{
	gap:clamp(16px,3vw,28px)!important;
	align-items:center;
}
.hero-copy .hero-title{
	font-size:clamp(1.85rem,4.2vw,3rem)!important;
	line-height:1.05!important;
	margin:.35em 0 .4em!important;
}
.hero-copy .hero-text{
	font-size:.95rem!important;
	max-width:36em;
	margin-bottom:1rem!important;
}
.hero-copy .kicker,.hero-copy .hero-kicker{font-size:.78rem!important}
.hero-cta{gap:8px!important;margin-bottom:12px!important}
.hero-cta .btn{padding:.65em 1.15em!important;font-size:.9rem!important}
.hero-stats{
	gap:8px!important;
	margin-top:8px!important;
}
.hero-stats li{
	padding:8px 12px!important;
	min-width:0!important;
}
.hero-stats b{font-size:1.15rem!important}
.hero-stats span{font-size:.68rem!important}

/* Smaller slide console */
.arch.console,
.hero .arch{
	max-width:min(100%,420px)!important;
	margin-left:auto;
}
.arch-frame{
	aspect-ratio:4/3!important;
	max-height:280px!important;
}
.arch .console-bar{padding:6px 10px!important;font-size:.72rem!important}
.arch-cap{padding:8px 10px!important}
.arch-cap .cap strong{font-size:.88rem!important}
.arch-cap .cap span{font-size:.75rem!important}
.arch-foot{padding:6px 10px!important}

/* Header logo crest sizing */
.site-header .custom-logo,
.site-header .brand img{
	width:48px!important;
	height:48px!important;
	object-fit:contain!important;
	border-radius:50%;
	background:#fff;
	box-shadow:0 0 0 2px rgba(201,162,39,.45);
}
.site-header .brand-name strong{font-size:1rem!important}
.site-header .brand-name span{font-size:.68rem!important;letter-spacing:.04em}

@media (max-width:900px){
	.arch.console,.hero .arch{max-width:100%!important}
	.arch-frame{max-height:220px!important}
	.hero.hero-unified{padding:12px 0 20px!important}
}

/* ============================================================
   5.3.4 Holy Cross school hero + slide (not console/app UI)
   ============================================================ */

/* Hero size: medium — not full-page, not tiny */
.hero.hero-unified{
	min-height:auto!important;
	padding:clamp(28px,5vw,52px) 0 clamp(36px,6vw,56px)!important;
}
.hero-unified .hero-grid,
.hero .hero-grid{
	gap:clamp(22px,4vw,48px)!important;
	align-items:center;
}
.hero-copy .hero-title{
	font-size:clamp(2.15rem,4.8vw,3.35rem)!important;
	line-height:1.06!important;
	margin:.4em 0 .45em!important;
}
.hero-copy .hero-text{
	font-size:1rem!important;
	max-width:38em;
	margin-bottom:1.15rem!important;
}
.hero-cta .btn{padding:.72em 1.25em!important;font-size:.92rem!important}
.hero-stats{gap:10px!important;margin-top:12px!important}
.hero-stats li{padding:10px 14px!important}
.hero-stats b{font-size:1.25rem!important}
.hero-stats span{font-size:.72rem!important}

/* ---- Slide: classic Holy Cross crest frame (hide tech chrome) ---- */
.arch.console,
.hero .arch.console,
.hero .arch{
	width:min(100%,440px)!important;
	max-width:440px!important;
	margin-left:auto;
	background:transparent!important;
	border:none!important;
	border-radius:0!important;
	box-shadow:none!important;
	padding:0!important;
}
.arch.console::before{display:none!important}

/* Hide browser-bar look */
.arch .console-bar{
	display:none!important;
}

/* Church-window / crest arch shape — navy + gold */
.arch-frame{
	position:relative!important;
	aspect-ratio:4/5!important;
	max-height:none!important;
	height:auto!important;
	border-radius:999px 999px 18px 18px!important;
	overflow:hidden!important;
	background:#0b1d36!important;
	outline:3px solid #c9a227!important;
	outline-offset:8px!important;
	box-shadow:
		0 0 0 1px rgba(11,29,54,.9),
		0 22px 48px rgba(0,0,0,.4)!important;
}
.arch-frame::before{
	content:"";
	position:absolute;inset:0;z-index:3;pointer-events:none;
	background:linear-gradient(180deg,transparent 55%,rgba(11,29,54,.55) 100%);
}
/* Small crest watermark top */
.arch-frame::after{
	content:"";
	position:absolute;top:14px;left:50%;z-index:4;
	width:42px;height:42px;
	transform:translateX(-50%);
	background:url('../img/logo-crest.png') center/contain no-repeat;
	opacity:.92;
	filter:drop-shadow(0 2px 4px rgba(0,0,0,.35));
	animation:none!important;
}

.arch-frame .slide{
	position:absolute;inset:0;
	opacity:0;visibility:hidden;
	transform:scale(1.04);
	transition:opacity .85s ease,transform 5.5s ease,visibility .85s;
	z-index:1;
}
.arch-frame .slide.on{
	opacity:1;visibility:visible;
	transform:scale(1);
	z-index:2;
}
.arch-frame .slide img{
	width:100%;height:100%;object-fit:cover;
}

/* Caption under arch — school style */
.arch-cap{
	display:flex!important;
	justify-content:space-between;
	align-items:center;
	gap:12px;
	margin-top:22px!important;
	padding:0 4px!important;
	background:transparent!important;
	border:none!important;
	position:static!important;
}
.arch-cap .cap-text{flex:1;min-height:2.8em}
.arch-cap .cap{
	opacity:0;transform:translateY(8px);
	transition:opacity .45s ease,transform .45s ease;
}
.arch-cap .cap.on{opacity:1;transform:translateY(0)}
.arch-cap .cap strong{
	display:block;
	color:#f5e6b8!important;
	font-family:var(--f-head,serif);
	font-size:1.05rem!important;
	font-weight:700;
	letter-spacing:.01em;
}
.arch-cap .cap span{
	display:block;
	color:rgba(232,238,248,.78)!important;
	font-size:.82rem!important;
	margin-top:2px;
}
.arch-ctl button{
	width:40px;height:40px;
	border-radius:50%;
	border:1.5px solid #c9a227!important;
	background:rgba(11,29,54,.65)!important;
	color:#c9a227!important;
	font-size:1.35rem;
	cursor:pointer;
}
.arch-ctl button:hover{
	background:#c9a227!important;
	color:#0b1d36!important;
}

.arch-foot{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-top:12px;
	padding:0 4px!important;
	background:transparent!important;
	border:none!important;
}
.arch-foot .dot{
	width:9px;height:9px;
	border-radius:50%;
	background:rgba(201,162,39,.35);
	border:none;
	padding:0;
	cursor:pointer;
}
.arch-foot .dot.on{
	background:#c9a227;
	box-shadow:0 0 0 3px rgba(201,162,39,.28);
	animation:none;
}
.arch-count{
	color:rgba(245,230,184,.75)!important;
	font-size:.78rem;
	font-variant-numeric:tabular-nums;
}

@media (max-width:900px){
	.arch.console,.hero .arch{max-width:100%!important;width:100%!important}
	.arch-frame{max-height:none!important;aspect-ratio:4/5!important}
	.hero.hero-unified{padding:22px 0 32px!important}
}

/* ============================================================
   5.3.5 NEW slide box — Holy Cross school frame (no console UI)
   ============================================================ */
.hc-frame{
	width:min(100%,420px);
	margin-left:auto;
	position:relative;
}
.hc-frame-ring{
	padding:10px;
	border-radius:28px;
	background:
		linear-gradient(145deg,#0b1d36 0%,#16325a 50%,#0b1d36 100%);
	box-shadow:
		0 0 0 3px #c9a227,
		0 0 0 6px #0b1d36,
		0 28px 50px rgba(0,0,0,.45);
}
.hc-frame-photo{
	position:relative;
	aspect-ratio:1/1;
	border-radius:20px;
	overflow:hidden;
	background:#071222;
}
.hc-frame-photo .slide{
	position:absolute;inset:0;
	margin:0;
	opacity:0;visibility:hidden;
	transform:scale(1.05);
	transition:opacity .8s ease,transform 5s ease,visibility .8s;
	z-index:1;
}
.hc-frame-photo .slide.on{
	opacity:1;visibility:visible;
	transform:scale(1);
	z-index:2;
}
.hc-frame-photo .slide img{
	width:100%;height:100%;object-fit:cover;display:block;
}
.hc-frame-crest{
	position:absolute;
	top:12px;left:50%;
	transform:translateX(-50%);
	width:56px;height:56px;
	z-index:5;
	border-radius:50%;
	background:#fff;
	padding:3px;
	box-shadow:0 4px 14px rgba(0,0,0,.35),0 0 0 2px #c9a227;
	pointer-events:none;
}
.hc-frame-meta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-top:16px;
	padding:0 4px;
}
.hc-frame-meta .cap-text{flex:1;min-height:2.6em;position:relative}
.hc-frame-meta .cap{
	position:absolute;left:0;right:0;top:0;
	opacity:0;transform:translateY(8px);
	transition:opacity .4s ease,transform .4s ease;
	pointer-events:none;
}
.hc-frame-meta .cap.on{
	position:relative;
	opacity:1;transform:none;
	pointer-events:auto;
}
.hc-frame-meta .cap strong{
	display:block;
	color:#f5e6b8;
	font:700 1.05rem/1.25 var(--f-head,serif);
}
.hc-frame-meta .cap span{
	display:block;
	color:rgba(232,238,248,.8);
	font-size:.82rem;
	margin-top:3px;
}
.hc-frame-nav{display:flex;gap:8px;flex-shrink:0}
.hc-frame-nav button{
	width:40px;height:40px;border-radius:50%;
	border:2px solid #c9a227;
	background:#0b1d36;
	color:#c9a227;
	font-size:1.35rem;line-height:1;
	cursor:pointer;
}
.hc-frame-nav button:hover{
	background:#c9a227;color:#0b1d36;
}
.hc-frame-foot{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-top:10px;
	padding:0 4px;
}
.hc-frame-foot .dots{display:flex;gap:7px}
.hc-frame-foot .dot{
	width:9px;height:9px;border-radius:50%;
	border:0;padding:0;cursor:pointer;
	background:rgba(201,162,39,.35);
}
.hc-frame-foot .dot.on{
	background:#c9a227;
	box-shadow:0 0 0 3px rgba(201,162,39,.25);
}
.hc-frame-foot .arch-count{
	font-size:.75rem;
	color:rgba(245,230,184,.7);
	font-variant-numeric:tabular-nums;
}

@media (max-width:900px){
	.hc-frame{width:min(100%,360px);margin:12px auto 0}
}
@media (prefers-reduced-motion:reduce){
	.hc-frame-photo .slide{transition:opacity .3s ease}
}
