/* Standalone convocation theme, matching the CLUJ admission identity. */
:root{--primary:#772083;--secondary:#4a1060;--accent:#c2c2c2;--ink:#222845;--muted:#687080;--light:#f8f4fa;--line:#e8e0ec;--shadow:0 8px 28px #46205209;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--light);font-size:15px;line-height:1.65}
*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth;scroll-padding-top:100px}a{color:var(--primary);text-underline-offset:4px}a:hover{color:var(--secondary)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b066c2;outline-offset:4px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.25;color:var(--ink)}h1,h2,h3,p{margin-top:0}h2{font-size:30px;margin-bottom:0}h3{font-size:23px;margin-bottom:16px}p{margin-bottom:17px}img{max-width:100%}.container{width:min(1240px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;top:-80px;left:16px;background:white;padding:12px;z-index:100}.skip-link:focus{top:10px}
.utility-bar{background:#f0e9f3;color:#674c6d;font-size:11px;font-weight:600;letter-spacing:.3px}.utility-bar .container{display:flex;justify-content:space-between;gap:12px;padding-block:8px}.utility-bar a{color:inherit;text-decoration:none}.utility-divider{margin:0 10px;color:#bfaec6}
.site-header{background:linear-gradient(135deg,var(--primary),var(--secondary));border-bottom:3px solid var(--accent);position:sticky;top:0;z-index:20;box-shadow:0 3px 15px #30104020}.navbar{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:88px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}.brand img,.footer-brand img{object-fit:contain;border-radius:0;background:transparent;padding:0;border:0;box-shadow:none}.brand img{width:58px;height:58px;flex-shrink:0}.brand strong{display:block;font-family:Georgia,serif;font-size:19px;color:white;line-height:1.25}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#dfcce4;margin-top:6px}.site-header nav{display:flex;align-items:center;gap:4px}.site-header nav a{color:#f0e7f3;text-decoration:none;font-size:13px;font-weight:600;padding:10px 12px;border-bottom:2px solid transparent;border-radius:5px 5px 0 0;white-space:nowrap}.site-header nav a:hover,.site-header nav a.active{color:white;background:#ffffff12;border-bottom-color:var(--accent)}.site-header nav a.nav-admin{border:1px solid #ffffff55;border-radius:6px;margin-left:10px}.nav-admin span{margin-left:6px}.menu-toggle{display:none}
.announcement{background:white;border-bottom:1px solid var(--line);font-size:12px;color:#62586a}.announcement .container{display:flex;align-items:center;gap:20px;padding-block:11px}.announcement-label{font-size:10px;font-weight:800;letter-spacing:1px;color:var(--primary);padding-right:20px;border-right:1px solid var(--line)}.announcement p{margin:0}.announcement p span{margin-left:8px;color:var(--muted)}
.campus-banner{background:#fff url('campus-banner.webp') center/100% 100% no-repeat;min-height:310px;display:grid;place-items:center;border-bottom:1px solid #e6dcec}.banner-copy{text-align:center;max-width:650px;padding:36px 20px}.eyebrow{display:block;color:var(--primary);font-size:10px;font-weight:800;letter-spacing:1.8px;margin-bottom:12px}.campus-banner h1{font-size:49px;line-height:1.04;letter-spacing:-1.7px;color:var(--secondary);margin:12px 0 16px}.campus-banner p{color:var(--primary);font-size:26px;font-weight:800;line-height:1.45;margin:0;padding:18px 24px;background:rgba(255,255,255,.94);border-radius:12px;box-shadow:0 4px 20px rgba(71,25,82,.12)}
main.container{padding-top:34px;padding-bottom:64px;min-height:48vh}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.page-heading .eyebrow{margin-bottom:8px}.fee-badge{display:flex;flex-direction:column;align-items:flex-end;padding-left:24px;border-left:1px solid #d9cbdc;flex-shrink:0}.fee-badge small{font-size:9px;letter-spacing:1.4px;color:var(--muted);font-weight:700}.fee-badge strong{color:var(--primary);font-size:24px;line-height:1.6}.fee-badge strong span{font-size:11px;color:var(--muted);font-weight:500}
.stepper{list-style:none;margin:0 0 28px;padding:18px 25px;display:flex;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.stepper li{display:flex;gap:10px;align-items:center;flex:1;color:#8d8d99;position:relative}.stepper li:not(:last-child):after{content:'';height:1px;background:var(--line);flex:1;margin:0 18px}.stepper span{display:grid;place-items:center;width:29px;height:29px;background:#f2eef5;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.stepper strong{font-size:12px;font-weight:600}.stepper .current{color:var(--primary)}.stepper .current span{background:var(--primary);color:white;box-shadow:0 0 0 4px #77208310}.stepper .complete{color:#28764f}.stepper .complete span{background:#e6f4ec;color:#28764f}
.registration-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;align-items:start}.registration-content{min-width:0}.registration-content>p{font-size:13px;color:var(--muted);margin:0 0 22px}.registration-aside{position:sticky;top:118px}section,.panel{background:white;padding:28px;border:1px solid var(--line);border-radius:11px;margin-bottom:24px;box-shadow:var(--shadow)}.registration-content>section{border-top:3px solid var(--primary)}section p{color:var(--muted);font-size:14px}section>h3{padding-bottom:14px;border-bottom:1px solid #eee8f0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:22px}.grid>section{margin-bottom:0}.grid{margin-bottom:24px}.grid .grid{margin-bottom:0}.registration-content .grid{gap:16px}.registration-content .grid section{padding:20px;box-shadow:none;background:#fdfbfe}
.guide-panel{padding:24px}.guide-panel h3{font-size:23px;line-height:1.25}.checklist{list-style:none;margin:0;padding:0}.checklist li{display:flex;gap:13px;margin-bottom:22px}.checklist li>span{font-size:11px;color:var(--primary);font-weight:800;background:#f3eaf6;min-width:29px;height:29px;display:grid;place-items:center;border-radius:7px}.checklist strong{display:block;font-size:12px;font-weight:700;margin-bottom:4px}.checklist p{font-size:12px;line-height:1.65;margin:0}.text-link{font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.guide-panel .text-link{border-top:1px solid var(--line);padding-top:16px;width:100%}.help-panel{background:#efe5f3;box-shadow:none;border-color:#e4d3eb;padding:24px}.help-panel h3{font-size:23px;padding:0;border:0;margin-bottom:10px}.help-panel p{font-size:13px}.help-panel a{font-size:13px;font-weight:700;text-decoration:none}
label{display:block;font-size:13px;font-weight:650;margin:20px 0 7px;color:#434053}input,select,textarea{display:block;width:100%;max-width:100%;background:#fff;border:1px solid #dcd4e2;border-radius:7px;color:var(--ink);padding:12px 14px;margin-top:8px;transition:border-color .15s,box-shadow .15s}input:hover,textarea:hover,select:hover{border-color:#bca4c7}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7720830d}input::placeholder,textarea::placeholder{color:#92919b}input[type=checkbox]{display:inline-block;width:17px;height:17px;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--primary)}label:has(input[type=checkbox]){padding:16px;background:#f8f4fa;border:1px solid var(--line);border-radius:7px;line-height:1.8;font-weight:500}input[type=file]{padding:15px;background:#faf7fc;border:1px dashed #cbb7d4;font-size:12px}input[type=file]::file-selector-button{padding:8px 12px;background:white;color:var(--primary);border:1px solid #dcc9e4;border-radius:5px;font-weight:600;margin-right:10px}textarea{resize:vertical;min-height:90px}input[name=code]{font-size:23px;letter-spacing:7px;text-align:center;font-weight:700}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--primary),#611574);color:white;border:1px solid transparent;padding:12px 21px;border-radius:7px;font:600 13px/1.5 Inter,'Segoe UI',Arial,sans-serif;margin:20px 7px 0 0;cursor:pointer;text-decoration:none;box-shadow:0 3px 8px #77208315;transition:background .15s,box-shadow .15s}button:hover,.button:hover{background:var(--secondary);color:white;box-shadow:0 4px 12px #77208325}button.secondary,.button.secondary{background:white;color:var(--primary);border:1px solid #d9c4e1;box-shadow:none}form>a:not(.button){font-size:13px;margin-left:10px}.registration-content>form{margin-top:-5px}.registration-content>form button.secondary{margin-top:0;background:transparent;border:0;padding-left:0}.notice{padding:16px 20px;background:#edf7f0;border:1px solid #d8eadf;border-left:4px solid #2f8c59;border-radius:7px;margin-bottom:22px;font-size:14px}.notice.error{background:#fff3f0;border-color:#f5d3cb;border-left-color:#b74930;color:#873a28}
dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px;margin:0 0 20px}dl>div{padding-bottom:12px;border-bottom:1px solid #eee8f0}dt{color:var(--muted);font-size:11px;letter-spacing:.25px;margin-bottom:5px}dd{margin:0;font-size:14px;font-weight:650;overflow-wrap:anywhere}.photo{width:120px;height:150px;object-fit:cover;border:4px solid white;outline:1px solid var(--line);border-radius:8px}.stat{font-size:37px;color:var(--primary);font-weight:750;line-height:1.3;margin-bottom:8px}.admin-page main>.grid>section{border-top:3px solid #c398d0;font-size:13px}.table-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:8px;margin-top:22px}table{width:100%;border-collapse:collapse;font-size:13px;white-space:normal}th{background:#f3edf6;color:#584263;font-size:10px;text-transform:uppercase;letter-spacing:.65px}td,th{text-align:left;padding:15px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcf9fd}td a{font-weight:650}td{min-width:100px}.gallery img{width:100%;height:250px;object-fit:cover;border-radius:7px}.gallery section{padding:14px}.gallery p{padding:14px 8px 0;margin:0}.contact-email{font-size:20px;font-weight:650;overflow-wrap:anywhere;display:inline-block;margin-bottom:22px}.section-number{font-size:13px;display:inline-grid;place-items:center;width:37px;height:37px;background:#f0e5f5;color:var(--primary);border-radius:9px;margin-bottom:16px;font-weight:750}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-footer{background:linear-gradient(125deg,#351343,#4a1060);color:#e2d3e8;margin-top:0;border-top:4px solid var(--accent);padding-top:44px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:70px;padding-bottom:38px}.site-footer h3{font-size:19px;color:white;margin:0 0 18px}.footer-brand img{float:left;margin:0 16px 12px 0}.footer-brand h3{font-size:21px;padding-top:8px}.site-footer p,.site-footer a{font-size:12px;color:#d6c5dd;line-height:1.9}.site-footer a{display:block;text-decoration:none;margin-bottom:7px;overflow-wrap:anywhere}.site-footer a:hover{color:white;text-decoration:underline}.footer-brand p{clear:both;padding-top:5px}.footer-bottom{border-top:1px solid #ffffff20;padding-block:18px;display:flex;justify-content:space-between;gap:20px;color:#cbb5d4;font-size:10px}
.cards{display:flex;gap:20px;flex-wrap:wrap}.card{position:relative;overflow:hidden;background:white;border:2px solid #c2a2cd;width:340px;min-height:470px;padding:24px;text-align:center;break-inside:avoid}.card:before{content:'';position:absolute;inset:0;background:url('university-logo.png') center/85% no-repeat;opacity:.09;pointer-events:none}.card>*{position:relative}.card h3{font-family:Georgia,serif}.card p{margin:8px 0}.card small{font-size:10px;letter-spacing:.5px}
@media(min-width:981px){.admin-page main{max-width:1400px}.inner-page main>section{max-width:100%}.admin-page:has(form input[name=password]) main{max-width:640px}.admin-page:has(form input[name=password]) main>section{padding:35px}}
@media(max-width:1100px){.brand strong{font-size:17px}.site-header nav a{padding:9px 8px;font-size:12px}.navbar{gap:12px}.registration-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.container{width:calc(100% - 40px)}}
@media(max-width:980px){.navbar{flex-wrap:wrap;padding-block:14px;min-height:82px}.menu-toggle{display:inline-flex;margin:0;background:#ffffff12;border:1px solid #ffffff55;box-shadow:none;padding:8px 12px;font-size:12px}.site-header nav{width:100%;display:flex;flex-wrap:wrap;border-top:1px solid #ffffff25;padding-top:10px}.js-enabled .site-header nav{display:none}.js-enabled .site-header nav.is-open{display:flex}.site-header nav a{padding:10px 12px}.site-header nav a.nav-admin{margin-left:0}.registration-layout{grid-template-columns:minmax(0,1fr)}.registration-aside{position:static;display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.campus-banner{background-size:auto 100%;min-height:280px}.banner-copy{background:#ffffffdb;border-radius:14px;padding:24px 30px;margin:20px}.campus-banner h1{font-size:42px}.footer-grid{gap:30px;grid-template-columns:1.2fr 1fr 1fr}}
@media(max-width:600px){.container{width:calc(100% - 28px)}.utility-bar{font-size:9px}.utility-bar .container>span{max-width:62%}.utility-divider{margin:0 4px}.navbar{min-height:76px}.brand{gap:9px;max-width:calc(100% - 76px)}.brand img{width:45px;height:45px}.brand strong{font-size:15px}.brand small{font-size:8px;letter-spacing:1.2px}.menu-toggle{font-size:10px;padding:7px 9px}.announcement .container{gap:11px;align-items:flex-start}.announcement-label{font-size:8px;padding-right:11px;margin-top:3px}.announcement p{font-size:10px}.announcement p span{display:block;margin-left:0}.campus-banner{min-height:240px}.campus-banner h1{font-size:37px}.campus-banner .eyebrow{font-size:8px;letter-spacing:1.3px}.campus-banner p{font-size:20px;padding:14px 16px}.banner-copy{padding:20px;max-width:85%}main.container{padding-top:25px;padding-bottom:32px}.page-heading{align-items:flex-start;gap:15px}h2{font-size:24px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.fee-badge{padding-left:10px;margin-top:3px}.fee-badge strong{font-size:20px}.fee-badge small{font-size:7px;letter-spacing:.6px}.fee-badge strong span{display:block;font-size:9px;text-align:right}.stepper{padding:15px 8px;margin-bottom:22px}.stepper li{display:flex;flex-direction:column;gap:8px;text-align:center}.stepper li:not(:last-child):after{display:none}.stepper strong{font-size:8px}.stepper span{width:25px;height:25px;font-size:10px}.registration-content>p{font-size:12px}section,.panel{padding:21px;margin-bottom:20px}h3{font-size:21px}.registration-aside{display:block}.grid{gap:16px}.guide-grid{grid-template-columns:1fr}button,.button{max-width:100%;font-size:12px}input,select,textarea{font-size:16px}input[type=file]{font-size:11px}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-brand{grid-column:1/-1}.site-footer{padding-top:30px}.site-footer h3{font-size:17px}.footer-bottom{flex-direction:column;gap:5px}.card{width:100%}.contact-email{font-size:17px}.stat{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.utility-bar,.site-header,.announcement,.campus-banner,.site-footer,.page-heading,.stepper,.registration-aside,.no-print,.skip-link{display:none!important}body{background:white}main.container{width:100%;margin:0;padding:0}.cards{gap:12px}.card{width:85mm;height:125mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}.registration-layout{display:block}@page{size:A4;margin:12mm}}

/* Refined public registration presentation. */
@media screen {
.registration-page{--primary:#70267e;--secondary:#421451;--accent:#d2b378;--ink:#30233d;--muted:#706678;--line:#e9e2ed;--shadow:0 10px 35px rgba(55,29,66,.055);background:#f8f6fa}
.registration-page .utility-bar{background:#f1ecf4;color:#65506e}
.registration-page .site-header{background:linear-gradient(115deg,#421451,#752681);border-bottom:2px solid var(--accent)}
.registration-page .navbar{min-height:94px}

.registration-page .brand small{color:#e8d6ed;letter-spacing:2.5px}
.registration-page .site-header nav a{border-radius:8px;font-size:12px;padding:11px 13px}
.registration-page .site-header nav a.active{background:#ffffff18;border-bottom-color:#d2b378}
.registration-page .announcement{background:#fffdf8}
.registration-page .announcement-label{color:#795d2c}
.registration-page .campus-banner{position:relative;isolation:isolate;min-height:420px;background-size:cover;background-position:center;overflow:hidden;border-bottom:1px solid #e2d6e8;padding:46px 24px}
.registration-page .campus-banner:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(251,248,253,.95),rgba(251,248,253,.89) 50%,rgba(251,248,253,.72))}
.registration-page .banner-copy{width:100%;max-width:850px;margin:0;padding:0;text-align:center;background:none;border-radius:0}
.hero-label{display:inline-block;color:#714d24;background:#fff9ec;border:1px solid #e7d5b3;border-radius:30px;padding:6px 15px;font-size:10px;font-weight:750;letter-spacing:2px}
.registration-page .campus-banner .welcome-title{font-size:clamp(32px,4.4vw,54px);line-height:1.14;letter-spacing:-1.4px;font-weight:500;color:#421451;margin:23px auto 18px;max-width:780px;text-wrap:balance}
.welcome-title>span{display:block;font-family:'Segoe UI',Arial,sans-serif;font-size:clamp(16px,2vw,22px);font-weight:600;line-height:1.5;letter-spacing:0;margin-bottom:10px;color:#685471}
.registration-page .campus-banner .hero-description{background:none;box-shadow:none;border-radius:0;padding:0;color:#67596f;font-size:15px;font-weight:400;line-height:1.7;max-width:550px;margin:0 auto}
.hero-actions{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:26px;flex-wrap:wrap}
.hero-actions .button{margin:0;padding:14px 23px;gap:18px}
.hero-guide{font-size:13px;font-weight:650;text-decoration:none;padding:10px 0}
.hero-guide span{margin-left:8px}
.hero-note{font-size:11px;color:#706278;line-height:1.8;margin-top:25px}
.registration-page main.container{padding-top:42px;padding-bottom:70px}
.registration-page .page-heading{margin-bottom:25px}
.registration-page .page-heading h2{font-size:clamp(25px,3vw,34px);font-weight:500;letter-spacing:-.6px}
.registration-page .fee-badge{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 20px;box-shadow:var(--shadow)}
.registration-page .stepper{padding:23px 26px;border-radius:14px;margin-bottom:30px}
.registration-page .stepper span{width:34px;height:34px}
.registration-page .stepper .current span{box-shadow:0 0 0 5px #70267e10}
.registration-page .stepper li{color:#716878}
.registration-page .registration-layout{gap:30px}
.registration-page section,.registration-page .panel{border-radius:16px;padding:29px;box-shadow:var(--shadow)}
.registration-page .registration-content>section{border-top:3px solid #b991c5}
.registration-page .registration-content>p{line-height:1.9;font-size:14px}
.registration-page section>h3{font-weight:500;font-size:25px;padding-bottom:18px}
.registration-page label{font-size:13px;color:#4c3b58}
.registration-page input:not([type=checkbox]),.registration-page select,.registration-page textarea{border-radius:9px;background:#fdfcfe;padding:14px 16px}
.registration-page button,.registration-page .button{border-radius:9px;box-shadow:0 5px 14px #70267e20}
.registration-page .guide-panel{padding:26px}
.registration-page .checklist li{gap:14px;margin-bottom:23px}
.registration-page .checklist li>span{border:1px solid #eaddee;background:#f8f2fa;border-radius:50%;min-width:31px;height:31px}
.registration-page .checklist strong{font-size:13px}
.registration-page .help-panel{background:linear-gradient(135deg,#f2e9f7,#fcf8ee);border-color:#e5d8ea;box-shadow:none}
.registration-page .site-footer{background:linear-gradient(115deg,#301239,#4a1b58);border-top:3px solid #d2b378}
@media(max-width:1100px){.registration-page .site-header nav a{padding:10px 8px}.registration-page .registration-layout{gap:20px}}
@media(max-width:980px){.registration-page .navbar{min-height:82px}.registration-page .registration-aside{position:static}.registration-page .campus-banner{min-height:390px}.registration-page .banner-copy{max-width:760px}.registration-page .registration-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.registration-page .brand small{letter-spacing:1.2px}.registration-page .campus-banner{min-height:0;padding:36px 20px}.hero-label{font-size:9px;letter-spacing:1.3px}.registration-page .campus-banner .welcome-title{letter-spacing:-.6px;margin-top:20px}.registration-page .campus-banner .hero-description{font-size:14px}.hero-actions{gap:12px;margin-top:22px}.hero-note{font-size:10px;margin-top:20px}.registration-page main.container{padding-top:28px;padding-bottom:40px}.registration-page .page-heading{flex-wrap:wrap;gap:16px}.registration-page .fee-badge{align-items:flex-start;padding:9px 14px}.registration-page .fee-badge strong{font-size:21px}.registration-page .fee-badge strong span{display:inline}.registration-page .stepper{padding:18px 6px}.registration-page .stepper span{width:28px;height:28px}.registration-page .stepper strong{font-size:9px}.registration-page section,.registration-page .panel{padding:22px;border-radius:12px}.registration-page section>h3{font-size:23px}.registration-page .registration-content>p{font-size:13px}.registration-page .registration-aside{display:block}.hero-actions .button{font-size:12px;padding:13px 18px}}
}
/* Photo landing page; the application lives at registration.php. */
.home-page{min-height:100vh;display:flex;flex-direction:column;background:#fff}
.home-page main.container{width:100%;max-width:none;margin:0;padding:0;min-height:0;flex:1;display:flex}
.home-page .university-photo{width:100%;min-height:clamp(280px,35vw,620px);background:#fff url('campus-banner.webp') right center/cover no-repeat}
@media(min-width:981px){.home-page .university-photo{background-size:100% auto}}
/* Welcoming home page, separate from the candidate application. */
.home-page .home-welcome{width:100%;background:#fcfafd;overflow:hidden}
.home-page .welcome-content{position:relative;z-index:1;text-align:center;max-width:860px;margin:auto;padding:68px 24px 26px}
.welcome-kicker{display:inline-flex;align-items:center;gap:10px;color:#795d32;font-size:10px;font-weight:750;letter-spacing:2.2px;margin:0 0 24px}
.welcome-kicker>span{width:7px;height:7px;background:#bd9658;transform:rotate(45deg)}
.home-page .welcome-content h1{font-family:Georgia,serif;color:#3e174d;font-size:clamp(39px,5.5vw,70px);font-weight:400;letter-spacing:-2px;line-height:1.12;margin:0 0 25px;text-wrap:balance}
.home-page .welcome-content h1 em{font-weight:400;color:#875491}
.welcome-intro{font-size:19px;font-weight:650;color:#47334f;margin:0 0 14px}
.welcome-message{max-width:610px;margin:0 auto;color:#74687a;font-size:15px;line-height:1.9}
.welcome-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:27px}
.welcome-actions .button{margin:0;padding:14px 23px;border-radius:9px;min-height:50px}
.welcome-actions .button>span{margin-left:12px}
.welcome-return{font-size:12px;color:#756879;margin:18px 0 0}
.welcome-return a{font-weight:600}
.home-page .welcome-campus{height:clamp(140px,20.9vw,350px);background:#fff url('campus-banner.webp') center/cover no-repeat;border-bottom:1px solid #e8dfee}
.welcome-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1180px;margin:0 auto;padding:30px 24px 36px;gap:28px}
.welcome-steps>div{display:flex;align-items:flex-start;gap:14px}
.welcome-step-number{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;background:#f1e8f5;color:#773883;border:1px solid #e8d7ed;border-radius:10px;font-size:12px;font-weight:700}
.welcome-steps strong{display:block;font-size:13px;color:#46334f;margin:0 0 4px}
.welcome-steps p{font-size:12px;color:#756a7a;margin:0;line-height:1.7}
@media(max-width:600px){.home-page .welcome-content{padding:42px 22px 28px}.welcome-kicker{font-size:9px;letter-spacing:1.1px;margin-bottom:20px}.home-page .welcome-content h1{letter-spacing:-1px}.welcome-intro{font-size:17px}.welcome-message{font-size:14px}.welcome-actions{flex-direction:column;align-items:stretch}.welcome-actions .button{width:100%}.welcome-return{font-size:11px}.home-page .welcome-campus{height:155px;background-position:right center}.welcome-steps{grid-template-columns:1fr;gap:23px;padding:26px 24px 32px}}
/* Accessible scrolling announcements. */
.notice-ticker .container{gap:16px;min-height:52px}
.notice-ticker .announcement-label{flex-shrink:0}
.ticker-viewport{overflow:hidden;flex:1;min-width:0}
.ticker-track{display:flex;width:max-content;animation:notice-scroll var(--ticker-duration,40s) linear infinite}
.ticker-group{display:flex;align-items:center;flex-shrink:0}
.ticker-item{display:flex;align-items:center;gap:14px;padding-right:48px;font-size:12px;white-space:nowrap}
.ticker-item:before{content:'\2022';color:var(--primary);font-size:20px}
.ticker-item a{font-weight:700;flex-shrink:0}
.notice-ticker:hover .ticker-track,.notice-ticker:focus-within .ticker-track,.notice-ticker.is-paused .ticker-track{animation-play-state:paused}
.notice-ticker .ticker-toggle{flex-shrink:0;margin:0;padding:6px 10px;min-height:32px;background:white;color:var(--primary);border:1px solid var(--line);font-size:11px;box-shadow:none}
.notice-ticker.is-paused .ticker-viewport,.notice-ticker:focus-within .ticker-viewport{overflow-x:auto}
.notice-ticker.is-paused .ticker-track,.notice-ticker:focus-within .ticker-track{animation:none;transform:none}
.notice-ticker.is-paused .ticker-group[aria-hidden],.notice-ticker:focus-within .ticker-group[aria-hidden]{display:none}
.notice-admin-item{padding:20px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.notice-admin-item form{display:inline-block;margin-left:16px}
.notice-admin-item button{margin-top:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes notice-scroll{to{transform:translateX(-50%)}}
@media(max-width:600px){.notice-ticker .container{flex-wrap:wrap;align-items:center;gap:8px;padding-block:9px}.notice-ticker .announcement-label{font-size:9px;margin:0}.notice-ticker .ticker-viewport{order:3;flex-basis:100%}.notice-ticker .ticker-toggle{margin-left:auto}.ticker-item{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.ticker-viewport{overflow-x:auto}.ticker-group[aria-hidden]{display:none}.ticker-toggle{display:none}}
@media print{.notice-ticker{display:none!important}}
/* Six portrait ID cards per A4 sheet; receipts use their own PDF layout. */
.card-sheet{display:contents}.card-print-image{display:none}
@media print{
 @page{size:A4 portrait;margin:8mm}
 .cards{display:block!important}
 .card-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,90mm);gap:4mm;break-after:page;page-break-after:always}
 .card-sheet:last-child{break-after:auto;page-break-after:auto}
 .card-sheet .card{width:100%!important;height:90mm!important;min-height:0;padding:0;border:0;margin:0;break-inside:avoid;text-align:center}
 .card-sheet .card::before,.card-sheet .card>:not(.card-print-image){display:none!important}
 .card-sheet .card>.card-print-image{display:block;width:auto;height:90mm;max-width:100%;margin:0 auto;object-fit:contain}
}

@media screen{.cards .card{padding:0;border:1px solid #e5dce9;border-radius:12px;width:300px;min-height:0;box-shadow:0 8px 24px rgba(63,30,76,.1)}.cards .card::before{display:none}.cards .card .card-print-image{display:block;width:100%;height:auto}.cards{gap:24px;justify-content:center}}
