@import url("assets/fonts/fonts.css?v=1");
:root{color-scheme:only light;--wine:#7e2247;--yellow:#feda3f}*{box-sizing:border-box}body{margin:0;background:#fffcfd;color:#442537;font:16px/1.8 "IBM Plex Sans Arabic",Tahoma,Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #ef518f;outline-offset:5px}.directory-header{background:var(--wine);color:#fff;padding:24px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:bold}.brand img{width:42px;height:58px;object-fit:contain}nav{display:flex;gap:24px;flex-wrap:wrap}nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:10px}.directory-hero{text-align:center;background:var(--wine);color:#fff;padding:35px 20px 55px;border-radius:0 0 45% 6%/0 0 10% 8%}.directory-hero h1{font-size:clamp(32px,5vw,60px);margin:8px 0}.directory-hero p{margin:0;opacity:.85}.directory-content{max-width:1180px;margin:auto;padding:40px 24px 60px}.subject-filters{justify-content:center;gap:12px}.subject-filters a{display:grid;place-items:center;min-width:85px;padding:10px 14px;border:1px solid #ead9e0;border-radius:20px;transition:transform .2s;background:white}.subject-filters a span{font-size:30px;line-height:1.5}.subject-filters small{font-size:12px}.subject-filters a[aria-current]{background:var(--wine);color:#fff;text-decoration:none;box-shadow:0 4px 0 var(--yellow)}.subject-filters a:hover{transform:translateY(-3px)}.section-title{text-align:center;margin:38px 0 24px;color:var(--wine)}.teacher-grid,.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.teacher-card{text-align:center;background:#fff;border:1px solid #efdee5;border-radius:24px;padding:28px 18px;transition:box-shadow .2s}.teacher-card:hover{box-shadow:0 10px 30px #7e224713}.portrait{width:170px;aspect-ratio:1;border-radius:50%;overflow:hidden;margin:0 auto;background:#f1e7eb;display:grid;place-items:center;flex-shrink:0}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.portrait-placeholder{font-size:60px;color:var(--wine)}.teacher-card h2{font-size:21px;margin:18px 0 0;color:var(--wine)}.teacher-card p{margin:2px 0 20px;color:#806b77}.text-link{color:var(--wine);font-size:14px;border-bottom:1px solid #dcc4cf;padding-bottom:5px}.profile-photo{margin:30px auto}.quotes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}.quote-card{background:#fff;border:1px solid #ead5df;border-top:3px solid var(--wine);border-radius:22px;padding:28px}.quote-person{display:flex;gap:18px;align-items:center}.portrait.small{width:85px;margin:0}.quote-person h2{font-size:19px;color:var(--wine);margin:0}.quote-person p{margin:0;font-size:14px;color:#806b77}.stars{color:#d5a300;font-size:24px;letter-spacing:2px}.stars span{color:#baaeb3}blockquote{margin:24px 0;font-size:18px;white-space:normal;overflow-wrap:anywhere}.work-card{background:white;border:1px solid #ead5df;border-radius:20px;padding:18px;text-align:center}.work-card img{width:100%;max-height:340px;object-fit:contain}.work-card h3{font-size:17px}.empty{text-align:center;color:#806b77;padding:45px 10px}footer{text-align:center;border-top:1px solid #ead5df;padding:25px;color:var(--wine);font-size:12px}h1,h2,h3{overflow-wrap:anywhere}@media(max-width:760px){.directory-header{flex-direction:column;gap:18px;padding:18px}.brand{font-size:20px}nav{gap:20px;font-size:14px}.teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portrait{width:min(140px,100%)}.teacher-card{padding:22px 10px}.teacher-card h2{font-size:17px}.teacher-card .text-link{font-size:11px}.quotes-grid{grid-template-columns:1fr}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.directory-content{padding:30px 16px}.subject-filters{gap:10px}.subject-filters a{min-width:72px;padding:8px}.quote-card{padding:20px}.quote-person h2{font-size:17px}.portrait.small{width:70px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.subject-icon{width:32px;height:32px;display:block;margin:5px}
.work-badge{display:inline-block;border:1px solid #ead5df;background:#faf2f6;color:#7e2247;border-radius:20px;padding:4px 12px;font-size:12px;margin:0 0 10px}.work-level-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 30px}.work-level-filters a{padding:9px 19px;border:1px solid #ead5df;border-radius:24px;background:#fff;color:#7e2247;font-size:14px}.work-level-filters a[aria-current]{background:#7e2247;color:#fff;border-color:#7e2247;box-shadow:0 3px 0 #feda3f}.work-level-filters a:hover{border-color:#7e2247}@media(max-width:600px){.work-level-filters{gap:8px}.work-level-filters a{padding:8px 14px;font-size:12px}}
[hidden]{display:none!important}.work-post{max-width:680px;margin:auto}.work-gallery{margin:25px 0}.gallery-stage{aspect-ratio:1080/1250;max-height:78vh;background:#f4edf1;position:relative;touch-action:pan-y;border-radius:16px;overflow:hidden}.gallery-slide{position:absolute;inset:0;margin:0}.gallery-slide img{width:100%;height:100%;object-fit:contain;user-select:none}.gallery-stage:focus-visible{outline:3px solid #7e2247;outline-offset:4px}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin:18px 0;direction:rtl}.gallery-controls button{width:46px;height:42px;border:1px solid #dcc5d0;background:white;color:#7e2247;border-radius:22px;font-size:24px;cursor:pointer}.gallery-controls button:disabled{opacity:.3;cursor:default}.gallery-counter{direction:ltr;font-size:14px;color:#7e2247;min-width:60px;text-align:center}.work-post-meta{text-align:center}.work-post-meta h2{font-size:24px;color:#7e2247;overflow-wrap:anywhere}.work-post-meta p{line-height:2}
/* Cover corners and a subtle color wash below each work. */
.work-card{--cover-tint:126,34,71;background:linear-gradient(to top,rgba(var(--cover-tint),.22) 0%,rgba(var(--cover-tint),.08) 20%,rgba(var(--cover-tint),0) 40%),#fff;overflow:hidden}.work-card img{display:block;width:auto;height:auto;max-width:100%;max-height:340px;object-fit:contain;margin-inline:auto;border-radius:3mm}.work-card .work-badge{background:#fff9}
/* Minimal work detail, keeping the shared site header unchanged. */
.work-detail-container{max-width:1440px;padding-top:35px}.work-detail{display:grid;grid-template-columns:36% minmax(0,64%);direction:ltr;border:1px solid #e7dce2;border-radius:26px;overflow:hidden;background:#fff;min-height:650px}.work-art{background:linear-gradient(145deg,#7e2247,#481226);direction:rtl;padding:30px 0 24px;position:relative}.work-back{display:flex;align-items:center;gap:18px;color:#fff;font-size:24px;margin:0 35px;direction:ltr;justify-content:flex-start}.work-back span{font-size:14px}.work-art .work-gallery{margin:0}.work-art .gallery-stage{background:none;height:clamp(340px,44vw,560px);max-height:none;aspect-ratio:auto;width:calc(100% + 20px);margin:25px -70px 10px 50px;overflow:visible;z-index:1;outline-offset:4px}.work-art .gallery-slide{display:flex;align-items:center;justify-content:center}.work-art .gallery-slide img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:3mm;box-shadow:0 14px 28px #250d2030}.work-art .gallery-controls{justify-content:center;margin:18px 0 0}.work-art .gallery-controls button{background:transparent;color:white;border:0;font-size:26px}.work-art .gallery-counter{color:white}.work-no-image{color:#fff9;text-align:center;padding:100px 20px}.work-detail-info{direction:rtl;padding:32px 44px 35px 105px;display:flex;flex-direction:column;align-items:stretch}.detail-top{display:flex;align-items:center;gap:20px;flex-direction:row-reverse;margin-bottom:55px}.detail-tabs{display:flex;gap:22px;flex:1;border-bottom:1px solid #eee4e9}.detail-tabs button{font:13px "IBM Plex Sans Arabic",Tahoma,Arial;background:none;border:0;padding:14px 0;color:#95818d;cursor:pointer;position:relative;white-space:nowrap}.detail-tabs button[aria-selected=true]{color:#7e2247;font-weight:700}.detail-tabs button[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;right:0;left:0;height:2px;background:#7e2247}.detail-teacher-photo{display:block;width:48px;height:48px;border-radius:50%;overflow:hidden;background:#f3e9ee;flex-shrink:0}.detail-teacher-photo img{width:100%;height:100%;object-fit:cover}.detail-teacher-photo .portrait-placeholder{font-size:22px;display:grid;place-items:center;height:100%}.detail-category{font-size:12px;color:#967d8b;margin:0 0 12px}.work-detail-info h1{font-size:clamp(26px,3vw,42px);color:#7e2247;line-height:1.6;margin:0 0 16px}.detail-teacher{font-size:18px;color:#806d78}.detail-rating{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:20px}.detail-stars{font-size:26px;color:#d5a000;letter-spacing:1px;white-space:nowrap}.detail-stars>span{color:#d5c7cf}.detail-rating small{font-size:11px;color:#9b8491}.detail-description,.detail-review{font-size:15px;line-height:2.2;color:#715864;margin:28px 0;overflow-wrap:anywhere}.detail-review{padding:0;white-space:normal}.detail-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:auto;padding-top:35px}.detail-primary,.detail-secondary{font:14px "IBM Plex Sans Arabic",Tahoma,Arial;padding:12px 24px;border:1px solid #7e2247;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:46px}.detail-primary{color:white;background:#7e2247}.detail-secondary{color:#7e2247;background:white}.detail-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:235px;overflow:auto;padding:5px}.detail-thumbnails button{background:#faf5f8;border:1px solid #e6d6de;border-radius:7px;padding:4px;cursor:pointer}.detail-thumbnails button[aria-pressed=true]{border:2px solid #7e2247}.detail-thumbnails img{width:100%;height:80px;object-fit:contain;display:block}.detail-zoom{align-self:flex-end;margin-top:22px;font:14px "IBM Plex Sans Arabic",Tahoma,Arial;border:0;background:none;color:#927987;cursor:pointer;padding:8px 0}.detail-zoom span{font-size:11px;margin-right:5px}#work-zoom{width:96vw;max-width:1200px;height:94vh;max-height:94vh;margin:auto;border:0;border-radius:14px;background:#21111beF;color:white;padding:45px 20px 80px;overflow:hidden}#work-zoom::backdrop{background:#190c17db;backdrop-filter:blur(5px)}#work-zoom>img{width:100%;height:100%;object-fit:contain;display:block}#work-zoom .zoom-close{position:absolute;top:8px;left:12px;border:0;background:none;color:white;font-size:30px;cursor:pointer;width:44px;height:36px}#work-zoom .zoom-counter{position:absolute;bottom:10px;left:calc(50% - 35px);width:70px;text-align:center;direction:ltr;font-size:13px}.zoom-actions{position:absolute;bottom:25px;left:calc(50% - 110px);width:220px;display:flex;justify-content:space-between}.zoom-actions button{border:1px solid #fff6;background:transparent;color:white;border-radius:22px;width:44px;height:38px;font-size:22px;cursor:pointer}.zoom-actions button:disabled{opacity:.3}@media(max-width:950px){.work-detail{grid-template-columns:38% minmax(0,62%)}.work-detail-info{padding:25px 25px 25px 65px}.work-art .gallery-stage{margin-right:-40px;margin-left:20px;width:calc(100% + 20px)}.detail-tabs{gap:15px}.detail-top{gap:12px;margin-bottom:35px}.detail-actions{gap:10px}.detail-primary,.detail-secondary{padding:11px 17px;font-size:12px}}
@media(max-width:650px){.work-detail-container{padding:22px 16px 35px}.work-detail{display:flex;flex-direction:column;min-height:0;border-radius:20px}.work-art{padding:20px 20px 16px}.work-back{margin:0;font-size:25px}.work-back span{font-size:12px}.work-art .gallery-stage{height:380px;max-height:60vh;max-width:100%;width:100%;margin:18px 0 0}.work-art .gallery-controls{margin-top:8px}.work-detail-info{padding:24px}.detail-top{margin-bottom:25px;gap:12px}.detail-tabs{gap:18px}.detail-tabs button{font-size:12px}.detail-teacher-photo{width:40px;height:40px}.work-detail-info h1{font-size:27px;margin-bottom:12px}.detail-teacher{font-size:16px}.detail-rating{margin-top:12px;gap:10px}.detail-description,.detail-review{font-size:14px;margin:20px 0}.detail-actions{padding-top:24px}.detail-thumbnails{max-height:210px;grid-template-columns:repeat(3,minmax(0,1fr))}.detail-zoom{margin-top:15px}}
/* Narrow the burgundy backdrop without moving the cover or information. */
@media(min-width:651px){.work-art{background:none;isolation:isolate}.work-art:before{content:"";position:absolute;inset:0 26% 0 0;background:linear-gradient(145deg,#7e2247,#481226);z-index:-1}}
/* Teacher name, rating, then the work description. */
.work-detail-info .detail-teacher{font-size:23px;font-weight:600;line-height:1.7}.detail-name-rating{margin-top:8px;line-height:1.4}.detail-name-rating .detail-stars{font-size:23px}.work-detail-info #panel-about .detail-description{margin-top:22px}@media(max-width:650px){.work-detail-info .detail-teacher{font-size:20px}.detail-name-rating .detail-stars{font-size:21px}}
/* Teacher profile: compact identity card, published work and real testimonials. */
body.teacher-profile-page{background-color:#fcf8fa}.teacher-profile-container{max-width:1320px;padding-top:85px;padding-bottom:60px}.teacher-profile-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:32px;align-items:start;direction:rtl}.teacher-profile-card{background:#fff;border:1px solid #ecd7e1;border-radius:22px;text-align:center;padding:0 25px 24px;margin-top:55px;box-shadow:0 8px 28px #6e25420a}.teacher-profile-portrait.portrait{width:205px;height:205px;margin:-75px auto 24px;border:5px solid #fff;box-shadow:0 0 0 1px #e5ccd8;max-width:100%}.teacher-profile-card h1{font-size:25px;line-height:1.65;color:#7e2247;margin:0 0 7px;overflow-wrap:anywhere}.teacher-profile-subject{font-size:15px;color:#8b7180}.teacher-profile-stats{display:flex;align-items:center;justify-content:center;gap:10px;margin:25px 0 20px;padding:22px 0;border-top:1px solid #eedde6;border-bottom:1px solid #eedde6}.teacher-profile-stats>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.teacher-profile-stats>div+div{border-right:1px solid #eedde6}.teacher-profile-stats strong{font-size:25px;color:#7e2247;line-height:1.3}.teacher-profile-stats>div>span:last-child{font-size:12px;color:#8b7180}.teacher-profile-stars{color:#d6a000;font-size:21px;letter-spacing:1px;line-height:1.5;white-space:nowrap}.teacher-profile-stars>span{color:#dbccd4}.teacher-profile-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;position:static;background:none;border:0;padding:0;box-shadow:none}.teacher-profile-links a{font-size:13px;padding:8px 11px;color:#7e2247;background:#fcf5f8;border-radius:10px}.teacher-profile-links a:hover{background:#f4e5ed}.teacher-profile-back{font-size:11px;display:inline-block;margin-top:20px;color:#9b7a8b}.teacher-profile-main{min-width:0}.teacher-profile-kicker{font-size:12px;color:#907280;margin:0 0 8px}.teacher-profile-heading{font-size:32px;color:#7e2247;margin:0 0 8px;line-height:1.6}.teacher-profile-intro{font-size:14px;color:#89717e;margin:0 0 25px}.teacher-profile-works{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.teacher-profile-works .work-card{padding:16px}.teacher-profile-works .work-card img{max-height:340px}.teacher-profile-works .work-card h3{font-size:14px;line-height:1.8;margin:16px 0 12px}.teacher-profile-works .work-badge{font-size:11px}.teacher-profile-quotes{margin-top:28px;background:#fff;border:1px solid #ecd7e1;border-top:2px solid #7e2247;border-radius:20px;padding:24px 28px}.teacher-profile-quotes h2{font-size:20px;color:#7e2247;margin:0 0 14px}.teacher-profile-quote+.teacher-profile-quote{border-top:1px solid #eedde6;margin-top:18px;padding-top:18px}.teacher-profile-quote blockquote{font-size:15px;color:#765362;line-height:2;margin:12px 0 0;overflow-wrap:anywhere}#teacher-works,#teacher-quotes{scroll-margin-top:25px}
@media(max-width:1000px){.teacher-profile-layout{grid-template-columns:255px minmax(0,1fr);gap:24px}.teacher-profile-card{padding:0 18px 22px}.teacher-profile-portrait.portrait{width:175px;height:175px;margin-top:-65px}.teacher-profile-card h1{font-size:22px}.teacher-profile-heading{font-size:27px}.teacher-profile-works{gap:14px}.teacher-profile-works .work-card{padding:12px}.teacher-profile-stars{font-size:18px;letter-spacing:0}}
@media(max-width:760px){.teacher-profile-container{padding:55px 16px 35px}.teacher-profile-layout{grid-template-columns:1fr;gap:26px}.teacher-profile-card{margin:35px auto 0;padding:0 20px 18px;width:100%;max-width:440px;box-shadow:none}.teacher-profile-portrait.portrait{width:100px;height:100px;margin:-50px auto 12px;border-width:4px}.teacher-profile-card h1{font-size:22px;margin-bottom:4px}.teacher-profile-subject{font-size:13px}.teacher-profile-stats{padding:14px 0;margin:16px 0 12px;gap:8px}.teacher-profile-stats strong{font-size:24px}.teacher-profile-stars{font-size:20px}.teacher-profile-stats>div>span:last-child{font-size:11px}.teacher-profile-back{margin-top:12px}.teacher-profile-links{display:flex;gap:12px;min-height:40px;align-items:center}.teacher-profile-links a{padding:7px 15px;font-size:12px}.teacher-profile-heading{font-size:25px;margin-bottom:6px}.teacher-profile-intro{font-size:12px;margin-bottom:18px}.teacher-profile-kicker{font-size:11px}.teacher-profile-works{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-profile-works .work-card{padding:10px;border-radius:17px}.teacher-profile-works .work-card img{max-height:280px}.teacher-profile-works .work-card h3{font-size:12px;margin:12px 0 8px}.teacher-profile-works .work-badge{font-size:9px;padding:3px 8px;margin-bottom:4px}.teacher-profile-quotes{padding:20px;margin-top:22px}.teacher-profile-quotes h2{font-size:18px}.teacher-profile-quote blockquote{font-size:13px}.teacher-profile-quote .teacher-profile-stars{font-size:19px}}
@media(max-width:760px){.teacher-profile-container{padding-top:40px}.teacher-profile-card{margin-top:25px}.teacher-profile-stats{padding:10px 0;margin-top:14px;margin-bottom:10px}.teacher-profile-back{display:none}}

/* Align profile and work cards on a shared row, regardless of heading height. */
@media(min-width:761px){
.teacher-profile-layout{row-gap:25px}
.teacher-profile-main,#teacher-works{display:contents}
.teacher-profile-heading-block{grid-column:2;grid-row:1;min-width:0}
.teacher-profile-intro{margin-bottom:0}
.teacher-profile-card{grid-column:1;grid-row:2;margin-top:0}
.teacher-profile-works{grid-column:2;grid-row:2;min-width:0}
#teacher-works>.empty{grid-column:2;grid-row:3;margin:0}
.teacher-profile-quotes{grid-column:2;grid-row:4;margin-top:0;min-width:0}
.teacher-profile-layout:has(.teacher-profile-works>.work-card) .teacher-profile-quotes{grid-row:3}
}

/* The professor's own words, visually separate from the work description. */
.professor-quote{position:relative;margin:28px 0 0;padding:25px 28px;background:#fcf3f7;border:1px solid #eedce5;border-right:3px solid #7e2247;border-radius:16px;min-width:0}
.professor-quote-mark{position:absolute;top:8px;left:20px;font:90px/1 Georgia,serif;color:#ead3de;pointer-events:none;user-select:none}
.professor-quote h2{position:relative;margin:0 0 17px;color:#7e2247;font-size:12px;line-height:1.8;padding-left:42px}
.work-detail-info .professor-quote .detail-review{position:relative;margin:0;padding:0 0 0 16px;font-size:17px;line-height:2.1;color:#674554;overflow-wrap:anywhere}
.professor-quote .professor-quote-attribution{margin:18px 0 0;padding:0;border:0;background:none;text-align:right;font-size:12px;line-height:1.9;font-weight:700;color:#7e2247;overflow-wrap:anywhere}
.professor-quote-attribution cite{font-style:normal}
@media(max-width:650px){.professor-quote{padding:21px 18px;margin-top:22px}.professor-quote-mark{font-size:72px;left:13px;top:8px}.professor-quote h2{font-size:11px;padding-left:30px;margin-bottom:14px}.work-detail-info .professor-quote .detail-review{font-size:15px;padding-left:0;line-height:2.05}.professor-quote .professor-quote-attribution{font-size:11px;margin-top:15px}}

/* Keep form controls consistent with the site typography. */
input,textarea,select{font-family:inherit}

.related-editions-title{font-size:18px;color:#7e2247;margin:24px 0 16px}.related-editions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-height:420px;overflow-y:auto;padding:3px 3px 12px;overscroll-behavior:contain}.related-edition{min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 10px;border:1px solid #ead2df;border-radius:14px;background:#fffafd;text-align:center;transition:border-color .2s,box-shadow .2s}.related-edition:hover{border-color:#b76b90;box-shadow:0 5px 16px #7e224710}.related-edition img{display:block;width:100%;height:180px;object-fit:contain;border-radius:8px}.related-edition h3{font-size:13px;line-height:1.8;margin:0;overflow-wrap:anywhere;color:#7e2247}.related-edition-link{font-size:11px;color:#8b6077;margin-top:auto}.related-edition-placeholder{display:grid;place-items:center;min-height:180px;color:#946d83;background:#f4e9ef;width:100%;border-radius:8px;font-size:12px}@media(max-width:600px){.related-editions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.related-edition img,.related-edition-placeholder{height:155px;min-height:0}.related-edition{padding:10px 8px}}

/* A single newline representation for descriptions, before and after inline saves. */
.work-detail-info #panel-about .detail-description{white-space:pre-line}

/* Keep existing tool styling; only remove bottom anchoring in student reviews. */
.work-detail-info.showing-student-reviews > .detail-actions{margin-top:0}

/* Larger reading text on desktop without changing mobile sizes. */
@media(min-width:761px){
 .teacher-profile-quote blockquote,.detail-description{font-size:16px}
 .quote-card blockquote{font-size:16px}
 .professor-quote .professor-quote-attribution{font-size:14px}
}
