@font-face{font-family:StudentLora;src:url('../bridal/Lora.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:StudentInter;src:url('../fonts/inter-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--display:StudentLora,Georgia,serif;--text:StudentInter,Inter,system-ui,sans-serif;--ink:#192b3c;--card:#fffefd;--line:#e6ded8;--muted:#68717a}
body.student-page{background:radial-gradient(ellipse at 0 10%,#fff4ef77,transparent 65%),var(--ground,#fbf7f3);padding-bottom:90px;color:var(--ink)}
.student-page .cl-header{border:0;background:transparent}
.student-page .cl-header-row{flex-direction:column;justify-content:center;padding-top:25px;padding-bottom:18px;gap:8px}
.student-page .cl-brand{font:500 20px/1.3 var(--display);text-align:center;justify-content:center;letter-spacing:.12em}
.student-page .cl-logo{max-height:65px;max-width:230px;object-fit:contain}
.student-page .cl-icon{width:30px;height:30px}
.student-page .cl-nav{font-size:13px;justify-content:center;gap:20px}
.student-page .cl-h1{font-weight:500;line-height:1.13;letter-spacing:-.035em;font-size:clamp(32px,4vw,46px);margin:0 0 14px}
.student-page .cl-lede{font-size:16px;line-height:1.55;margin:0 auto 20px}
.student-page .cl-main{padding-top:12px}
.student-page .cl-wrap{max-width:1120px;padding-inline:24px}
.student-page .cl-narrow{max-width:660px}
.student-page .cl-card,.student-page .cl-tile{background:#fffefd;border:1px solid var(--line);border-radius:20px;box-shadow:none}
.student-page .cl-card{padding:22px}
.student-page .cl-card h2{font:500 25px/1.25 var(--display);margin:12px 0}
.student-page .cl-btn{border-radius:999px;min-height:48px;background:var(--accent,#0b584f);font:500 16px/1.3 var(--display);padding:13px 22px;color:white;display:inline-flex;justify-content:center;align-items:center;gap:8px;text-align:center;cursor:pointer;text-decoration:none;border:1px solid var(--accent,#0b584f)}
.student-page .cl-btn.is-quiet{color:var(--accent);background:transparent;border-color:var(--line)}
.student-page .cl-btn:disabled{opacity:.6;cursor:wait}
.student-page .cl-form input:not([type=checkbox]),.student-page .cl-form select,.student-page .cl-form textarea,.st-search{font:16px/1.5 var(--text);background:white;border:1px solid var(--line);border-radius:12px;padding:12px;min-height:48px;width:100%;color:var(--ink)}
.student-page .cl-form input[name=code]{letter-spacing:.25em;text-align:center;font-size:25px}
.student-page .cl-form label{font-size:14px;line-height:1.5}
.student-page .cl-form .cl-btn{width:100%;margin-top:8px}
.student-page .cl-check{font-family:var(--text);font-size:13px;align-items:flex-start}
.student-page input[type=checkbox]{accent-color:var(--accent)}
.student-page .cl-fine{line-height:1.6;font-size:12px}
.student-page .cl-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}
.student-page .cl-tile-img{height:180px;margin:8px 8px 0;border-radius:14px}
.student-page .cl-tile-body{padding:18px;gap:8px}
.student-page .cl-tile-title{font:500 26px/1.15 var(--display)}
.student-page .cl-tile-foot{align-items:center;font-size:14px}
.student-page .cl-tile-foot .st-card-cta{border-radius:999px;background:var(--accent);color:white;padding:9px 16px;font:500 14px var(--display)}
.student-page .cl-date{border:1px solid #e6ded8;background:#fffefd}
.student-page .cl-hero{height:210px;border-radius:20px;margin-top:10px}
.student-page .cl-hero.st-no-cover{height:0;display:none}
.student-page .cl-cols{gap:26px;margin-top:22px}
.student-page .cl-detail{flex:1 1 530px}
.student-page .cl-tickets{flex:1 1 330px;max-width:390px;top:20px;background:#fffefd}
.student-page .cl-facts{grid-template-columns:1fr;gap:10px;margin:20px 0}
.student-page .cl-fact{padding:15px 18px;border-radius:15px;border:1px solid var(--line);background:#fffefd}
.student-page .cl-fact:first-child{background:#edf3e9;border-color:#e3eadf}
.student-page .cl-label{font-size:12px;margin-bottom:3px}
.student-page .cl-h2{font:500 25px var(--display);margin-top:24px}
.student-page .cl-two{display:grid;grid-template-columns:1fr;gap:12px}
.student-page .cl-two .cl-card{padding:18px}
.student-page .cl-p{font-size:15px;line-height:1.7}
.student-page .cl-total{font-family:var(--text);border-top:1px solid var(--line);padding-top:14px}
.student-page .cl-total b{font:500 30px var(--display)}
.student-page .cl-cap,.student-page .cl-bar{display:none}
.student-page .cl-badge,.st-badge{display:inline-block;border-radius:999px;padding:5px 13px;background:#e7efdf;color:#2c5143;font:500 12px var(--text)}
.st-badge.warn{background:#fff0d8;color:#76501d}
.st-intro{text-align:center;position:relative;margin:6px 0 24px}
.st-top-actions{display:flex;justify-content:flex-end;gap:18px;margin-bottom:20px}
.st-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}
.st-link{border:0;background:none;padding:7px 0;color:var(--accent);text-decoration:underline;text-underline-offset:3px;font:500 13px var(--text);cursor:pointer}
.st-stack{display:grid;gap:16px}
.st-booking h2{margin-top:12px}
.st-booking p{margin:8px 0;font-size:15px}
.st-booking .cl-actions{gap:15px;align-items:center;margin-top:15px;flex-wrap:wrap}
.st-section-title{font:500 23px var(--display);margin:25px 0 14px}
.st-history{margin:25px 0}.st-history summary{cursor:pointer;padding:12px 0;font-size:15px}.st-history .st-stack{margin-top:10px}
.st-find{width:100%;margin-top:22px}
.st-account{margin-top:20px}.st-account h2{font-size:21px!important}
.st-center{text-align:center;font-size:14px}
.st-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.st-bot[hidden],[hidden]{display:none!important}
.st-powered{font-size:11px;letter-spacing:.04em;color:var(--muted);text-align:center;margin:20px 0}
.st-bottom{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:0;border-top:1px solid var(--line);background:#fffdfaf5;padding:10px 0 max(10px,env(safe-area-inset-bottom));z-index:8}
.st-bottom a{width:min(40%,200px);text-align:center;text-decoration:none;font:500 13px var(--text);color:var(--muted);padding:10px}
.st-bottom a[aria-current=page]{color:var(--accent);font-weight:700}
.st-filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px auto;justify-content:center}
.st-filter{padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:500 14px var(--text);cursor:pointer}
.st-filter[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.st-search{max-width:550px;display:block;margin:0 auto 20px}
.student-page :focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.student-page .cl-footer{margin-top:15px;font-size:12px;justify-content:center;gap:12px}
.st-attendees{margin-top:18px}.st-person-row{border-top:1px solid var(--line);padding:14px 0;display:grid;gap:5px}
.student-page.cl-embed{padding-bottom:0;background:transparent}
.student-page.cl-embed .cl-main{padding-top:8px;padding-bottom:15px}
@media(min-width:800px){.student-page .cl-list-intro{max-width:660px;margin:20px auto;text-align:center}.student-page .cl-tile-img{height:170px}.st-bottom{position:static;max-width:450px;border:1px solid var(--line);border-radius:999px;margin:10px auto;padding:0}.student-page{padding-bottom:20px!important}}
@media(max-width:760px){.student-page .cl-wrap{padding-inline:18px}.student-page .cl-narrow{max-width:620px}.student-page .cl-cols{display:flex;flex-direction:column;gap:18px}.student-page .cl-detail{flex:0 1 auto;width:100%}.student-page .cl-tickets{flex:0 1 auto;width:100%;max-width:none;position:static;padding:20px}.student-page .cl-card{padding:19px}.student-page .cl-header-row{padding-top:22px}.student-page .cl-grid{grid-template-columns:1fr;max-width:560px;margin:auto}.student-page .cl-list-intro{text-align:center}.student-page .cl-h1{font-size:35px}.student-page .cl-nav{font-size:12px}.student-page .cl-hero{height:165px}.student-page .cl-tile-img{height:160px}.st-intro .cl-h1{font-size:35px}}
@media(max-width:350px){.student-page .cl-wrap{padding-inline:12px}.student-page .cl-h1,.st-intro .cl-h1{font-size:31px}.student-page .cl-card{padding:15px}.st-booking .cl-actions{gap:10px}.student-page .cl-btn{padding-inline:16px}}

.student-page .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}.student-page .cl-tile-img.st-no-cover{height:64px;background:transparent}

.student-page .cl-card h2,.student-page .cl-tile-title,.student-page .cl-h1,.student-page .cl-brand,.student-page p,.student-page dd{overflow-wrap:anywhere;min-width:0}
.st-remember{display:flex;gap:.55rem;align-items:center;font-weight:600}.st-remember input{width:1.15rem;height:1.15rem;flex:none}.st-remember-note{margin:-.25rem 0 0}
.cl-msg#profileMsg{margin:1rem 0 .25rem}
