/* Vivid identity. Layout, typography and account behavior remain unchanged. */
:root{--ink:#17363E;--muted:#455E66;--line:#B1DADF;--brand-white:#FFFFFF;--brand-tint:#EAF9FB;--brand-pink-tint:#FFF0F7}
body{color:var(--ink)}
button,.button{background:var(--brand-button,#00788C);color:var(--brand-button-ink,#FFFFFF)}
button:hover,.button:hover{filter:brightness(.94)}
.textbutton{background:transparent;color:var(--brand-link)}
.danger{background:#8a283d;color:#FFFFFF}
input[type=checkbox],input[type=radio]{accent-color:var(--brand-button,#00788C)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--brand-button,#00788C);outline-offset:3px}
input,textarea,select{border-color:#789FA7;color:var(--ink);background:var(--brand-white)}
::placeholder{color:var(--muted);opacity:1}
aside,.panel,.coursecard,.publiccard{background:var(--brand-white)}
nav a{background:var(--brand-tint);color:var(--brand-link)}
.admintabs a[aria-current=page]{background:var(--brand-button,#00788C);color:var(--brand-white)}
.publichero{background:var(--brand-tint)}
.publictopbar{background:var(--brand-soft-turquoise);color:var(--ink);border-bottom:2px solid var(--brand-primary)}
.publicvisual{background:var(--brand-soft-turquoise);border-color:var(--brand-primary)}
.visualpaper{box-shadow:5px 5px 0 var(--brand-accent)}
.visualwords span:nth-child(2){color:var(--brand-link)}
.heart-doodle{color:var(--brand-accent)}
svg.heart-doodle{stroke:var(--brand-accent)}
.about,.socialsection,.teacherpreview-image,.teacherimage,.art{background:var(--brand-tint)}
.about{border-block:1px solid var(--line)}
.socialcard{border-color:var(--line);border-top:3px solid var(--brand-accent)}
.courseposter,.cover,.cover2,.cover3,.cover4{background:var(--brand-soft-turquoise);color:var(--ink);border-bottom:3px solid var(--brand-primary)}
.levelcard[data-level=A2] .courseposter,.levelcard[data-level=B2] .courseposter{background:var(--brand-soft-turquoise)}
.courseposter{border-bottom-color:var(--brand-accent)}
.courseposter>.level{color:var(--brand-petrol)}
.poster-hand,.coverart{color:var(--brand-button,#00788C)}
.hero,.notice,.note,.status,.publicband,.emptycatalog,.faqsection{background:var(--brand-tint);color:var(--ink)}
.note{border-left:3px solid var(--brand-accent)}
.formerror{background:#fff2f4;color:#762136}
.academyfooter{align-items:center;gap:12px}.academyfooter .original-logo{width:46px;height:46px}.academyfooter strong{font-size:14px}
.original-logo,.hero-original-logo{object-fit:contain;border-radius:0;filter:none}
.publicfooter{background:var(--brand-tint);border-top:3px solid var(--brand-primary)}
@media(max-width:650px){.academyfooter{margin-bottom:14px}.publicvisual{border-color:var(--brand-primary)}.visualpaper{box-shadow:4px 4px 0 var(--brand-accent)}}
.textlink,.secondarybutton{color:var(--brand-link);border-color:var(--brand-button,#00788C)}

/* Original artwork stays uncropped, with square dimensions and clear space. */
.publicheader .original-logo{width:96px;height:96px}
.academybrand .original-logo{width:120px;height:120px}
.loginbrand{overflow:visible}.loginbrand .original-logo{width:144px;max-width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:0;margin:0 auto 20px}
.footerbrand .original-logo{width:80px;height:80px}
.academyfooter .original-logo{width:64px;height:64px}
.brandmark{gap:16px}
@media(max-width:850px){.publicheader .original-logo,.academybrand .original-logo{width:80px;height:80px}}
@media(max-width:650px){.publicheader .original-logo,.academybrand .original-logo{width:72px;height:72px}.loginbrand .original-logo{width:120px;height:auto}.brandmark{gap:12px}}
.publicbrand .original-logo{max-height:none}
.hero-original-logo{height:auto;aspect-ratio:1}

/* Home tutoring image: complete original composition, no cropping or overlays. */
.about-with-collage{align-items:center;gap:48px}
.about-copy .bodytext{margin-bottom:24px}
.about-copy .about-heart{margin-top:24px}
.tutoring-collage{margin:0;min-width:0}
.tutoring-collage img{display:block;width:100%;height:auto;aspect-ratio:1448 / 1086;object-fit:contain;border-radius:14px;box-shadow:0 8px 24px #17363e12}
@media(max-width:850px){.about-with-collage{gap:28px}}
@media(max-width:650px){.about-with-collage{grid-template-columns:1fr}}

.admission-form{max-width:1000px;margin:auto}.admission-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admission-fields label{min-width:0}.admission-form fieldset{border:1px solid var(--line);border-radius:12px;margin:24px 0;padding:20px}.admission-form .check{margin:16px 0;align-items:flex-start}.admission-form .check input{margin-top:4px}.courseprice{font-size:24px;color:var(--brand-petrol)}.levelcard[data-level="A1-A2"] .level{font-size:56px}.honeypot{display:none}.content dd,.admission-form p{overflow-wrap:anywhere}
@media(max-width:650px){.admission-fields{grid-template-columns:1fr}.admission-form fieldset{padding:14px}.courseprice{font-size:20px}}

/* Public teacher video: retain the full signing space, with native controls. */
.teacherpreview-image{position:relative;overflow:visible;display:flex;flex-direction:column;justify-content:center;gap:14px}
.teacherpreview-image .teacher-presentation{display:block;width:100%;height:auto;max-height:500px;object-fit:contain;border-radius:18px;background:var(--brand-soft-turquoise);position:relative;z-index:1}
.teacher-transcript{position:relative;z-index:1;font-size:14px;line-height:1.6;margin:0;padding:0 12px;color:var(--ink)}
.assetgrid video,.teacher-video-preview{width:100%;max-height:400px;object-fit:contain;border-radius:16px;background:var(--brand-tint)}

/* The short public greeting keeps the full signing space in the existing photo slot. */
.teacherimage .teacher-greeting{display:block;width:100%;height:auto;max-height:550px;object-fit:contain;border-radius:10px;background:var(--brand-soft-turquoise)}

/* Teacher profile and its editor reuse the existing public media components. */
.teacher-page-editor fieldset{min-width:0;margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:12px}
.teacher-page-editor legend{font-weight:700;padding:0 8px}
@media(max-width:650px){.teacher-page-editor fieldset{padding:14px}.teacher-page-editor .inlineactions{flex-wrap:wrap}}

.teacher-profile-page{align-items:center;min-height:0}
.teacher-profile-page>div{min-width:0}
.teacher-profile-page .teacherimage{min-height:0;padding:0;background:transparent}
.teacher-profile-page .teacherimage img{height:auto;object-fit:contain}
.teacher-profile-heart{display:block;width:60px;height:45px;margin-top:16px}
.teacher-profile-page .teacher-placeholder{display:grid;place-items:center;min-height:260px;border-radius:12px;background:var(--brand-tint)}
.teacher-profile-page .teacher-placeholder .doodle{width:90px;height:110px;opacity:.55}
