@font-face{font-family:Vazirmatn;src:url('/assets/Vazirmatn.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--ink:#16342f;--green:#17574b;--mint:#f4f8f5;--sage:#e6efe9;--line:#d9e2db;--quiet:#52635d;--white:#fff;--radius:18px}
*{box-sizing:border-box}
html{scroll-padding-top:6.5rem}
body{margin:0;color:var(--ink);background:var(--white);font:400 1rem/1.82 Vazirmatn,Arial,sans-serif}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
a{color:var(--green);text-underline-offset:.24em}
button,input,select{font:inherit;color:inherit}
button,summary{cursor:pointer}
button{background:none}
:focus-visible{outline:3px solid var(--green);outline-offset:4px}
h1,h2,h3,p{margin:0 0 .7em}
h1,h2,h3{line-height:1.33;letter-spacing:-.022em}
h1{font-size:clamp(2.1rem,4.2vw,3.65rem);font-weight:800}
h2{font-size:clamp(1.45rem,2.4vw,2.18rem);font-weight:750}
h3{font-size:1.16rem}
p{max-width:70ch}
small,.muted{color:var(--quiet)}
.wrap{width:min(100% - 48px,1280px);margin-inline:auto}
.skip{position:absolute;z-index:9;inset-inline-start:1rem;top:-100px;padding:.5rem 1rem;background:#fff;border:2px solid var(--green)}
.skip:focus{top:1rem}
.site-header{position:relative;z-index:4;border-block-end:1px solid var(--line);background:#fff}
.bar{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.65rem;color:var(--ink);text-decoration:none;line-height:1.4;flex-shrink:0}
.brand img{border-radius:11px}
.brand span{display:grid;gap:.18rem}
.brand strong{font-size:.96rem}
.brand small{font-size:.76rem}
.primary-nav{display:flex;align-items:center;gap:clamp(.7rem,2vw,1.9rem)}
.primary-nav a{font-size:.91rem;text-decoration:none;color:var(--ink);padding:.65rem 0;white-space:nowrap}
.primary-nav a:first-child,.primary-nav .nav-active{color:var(--green);font-weight:750;border-block-end:2px solid var(--green)}
.head-actions,.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}
.head-actions{flex-wrap:nowrap}
.btn,.popup summary{border:1px solid transparent;display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.35em;padding:.52rem .95rem;border-radius:11px;font-size:.92rem;font-weight:700;line-height:1.45;white-space:normal;text-decoration:none}
.btn.primary{background:var(--green);color:#fff}
.btn.primary:hover{background:#0f443a}
.btn.secondary,.popup summary{background:#fff;color:var(--green);border-color:var(--line)}
.btn.quiet{color:var(--green);border-color:var(--line)}
.btn.secondary:hover,.btn.quiet:hover,.popup summary:hover{background:var(--sage);border-color:#a9c1b0}
.popup{position:relative}
.popup summary{list-style:none}
.popup summary::-webkit-details-marker{display:none}
.popover{position:absolute;z-index:5;min-inline-size:10rem;inset-inline-end:0;top:calc(100% + .55rem);padding:.4rem;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 40px #16342f20}
.popover a{display:block;min-height:44px;padding:.5rem .7rem;border-radius:7px;text-decoration:none}
.popover a:hover,.popover [aria-current=true]{background:var(--mint);font-weight:700}
.menu{display:none}
.menu .popover{min-inline-size:16rem}
.preview-note{background:#f3f7f4;border-block-end:1px solid var(--line);color:var(--quiet);font-size:.76rem;padding:.26rem 0}
.hero{margin-block:2rem 0;background:var(--mint);border:1px solid var(--line);border-radius:28px;display:grid;grid-template-columns:1.15fr 1fr;min-height:460px;gap:1.6rem;padding:clamp(1rem,3vw,2.3rem);align-items:stretch}
.hero-copy{align-self:center;padding:clamp(.4rem,2.4vw,1.7rem)}
.eyebrow{display:inline-block;color:var(--green);font-size:.92rem;font-weight:750;margin-block-end:.9rem}
.hero h1{max-width:17ch;margin-block-end:.4em}
.hero .academic{font-size:1rem;color:var(--quiet);margin-block-end:.5rem}
.hero .lead{font-size:1.12rem;color:var(--quiet);margin-block:0 1.3rem}
.doctor-message{border-inline-start:3px solid var(--green);padding-inline-start:.85rem;margin-block:.35rem 1.3rem}
.doctor-message p{margin:0}
.doctor-message .message-label{color:var(--green);font-size:.79rem;font-weight:750;margin-block-end:.3rem}
.hero .text-link{display:inline-block;margin-block-start:1rem}
.portrait{min-inline-size:0;min-block-size:300px;border-radius:20px;background:var(--sage);overflow:hidden;display:grid;align-items:center;justify-items:center}
.portrait img{inline-size:100%;block-size:100%;object-fit:cover;object-position:center 38%}
.portrait-empty{position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 44%,#285646,#153c32 58%,#0f3028);color:#b3d4bb}
.portrait-empty::before,.portrait-empty::after{content:"";position:absolute;z-index:-1;inline-size:min(62%,260px);aspect-ratio:1;border:1px solid currentColor;border-radius:50%;opacity:.27;box-shadow:0 0 0 20px #ffffff0b,0 0 0 44px #ffffff08}
.portrait-empty::after{inline-size:min(45%,192px);border-radius:18%;transform:rotate(45deg);opacity:.17;box-shadow:none}
.portrait-empty img{inline-size:104px;block-size:104px;box-shadow:0 10px 36px #0c282880;border-radius:22%}
.segment{margin-block:clamp(2rem,5vw,4.3rem)}
.section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1rem;margin-block-end:1.3rem}
.section-head h2{margin:0}
.grid{display:grid;gap:1rem;align-items:stretch}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.two,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.route-card{display:grid;align-content:start;gap:.55rem;min-height:120px;padding:1.3rem 1.45rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--mint);text-decoration:none;color:var(--ink)}
.route-card:hover{border-color:#95b3a0;background:#ecf4ef}
.route-card strong{font-size:1.21rem;line-height:1.45}
.route-card>span:not(.card-index):not(.arr){color:var(--quiet);font-size:.9rem}
.card-index{font-size:.8rem;font-weight:700;line-height:1.4;background:#fff;border:1px solid var(--line);border-radius:8px;width:max-content;padding:.22rem .5rem;color:var(--green)}
.arr{color:var(--green);justify-self:end}
.profile-band,.contact-band{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:clamp(1.4rem,4vw,3.5rem);border-radius:22px;background:var(--sage)}
.profile-band p,.contact-band p{margin:0;color:var(--quiet)}
.contact-band{background:var(--green);color:#fff}
.contact-band p{color:#edf5ef}
.text-link{font-weight:700}
.notice{padding:1rem 1.2rem;border-radius:12px;border:1px solid var(--line);border-inline-start:4px solid var(--green);background:var(--mint);max-width:none}
.crumb{display:flex;gap:.5rem;flex-wrap:wrap;margin-block:1.3rem 0;font-size:.85rem}
.crumb .slash{color:#667a72}
.page-intro{background:var(--mint);border-block:1px solid var(--line);margin-block:1rem 0;padding:clamp(1.8rem,5vw,4.7rem) 0}
.page-intro h1{max-width:22ch}
.page-intro p{color:var(--quiet);font-size:1.08rem;margin:0}
.prose{max-width:820px}
.prose section{margin-block:1.65rem}
.prose .notice h2{font-size:1.25rem}
.prose .notice p{margin-block-end:0}
.reading-section{padding-block-start:.55rem}
.reading-sources{border-block-start:1px solid var(--line);padding-block-start:1.5rem;scroll-margin-block-start:1.5rem}
.reading-sources ul{padding-inline-start:1.25rem}
.reading-sources li+li{margin-block-start:.45rem}
.reading-sources a{overflow-wrap:anywhere}
.reading-card{margin-block:1rem;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.reading-card>summary{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:1rem 1.2rem;list-style:none;background:var(--mint);cursor:pointer}
.reading-card>summary::-webkit-details-marker{display:none}
.reading-card>summary:focus-visible{outline-offset:-4px}
.reading-summary{display:grid;gap:.4rem}
.reading-summary strong{font-size:1.08rem}
.reading-toggle{display:grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:50%;background:#fff;color:var(--green);font-weight:750}
.reading-toggle::after{content:"+"}
.reading-card[open] .reading-toggle::after{content:"−"}
.reading-article{padding:clamp(1rem,4vw,2.25rem);border-block-start:1px solid var(--line)}
.reading-article h3{margin-block:1.55rem .35rem;scroll-margin-block-start:1.5rem}
.reading-article h3:first-child,.reading-article>p:first-child{margin-block-start:0}
.reading-article p,.reading-article li{max-width:70ch}
.reading-index{padding:.65rem .9rem;background:var(--mint);border-radius:10px;margin-block-end:1rem}
.reading-index summary{cursor:pointer;color:var(--green);font-weight:750}
.reading-index ul{margin-block:.55rem .25rem}
.reading-credit{padding-block-start:1rem;margin-block-start:1.4rem;border-block-start:1px solid var(--line);color:var(--quiet);font-size:.9rem}
.reading-credit p:last-child{margin-block-end:0}
.reading-links,.reading-note{margin-block-start:1.25rem}
.source-links{margin-block:1rem}
.video-controls{margin-block-end:2rem}
.video-jumps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-block:1rem}
.video-jump{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;align-items:center;align-content:center;min-height:102px;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--mint);color:var(--ink);text-decoration:none;border-block-start:4px solid var(--video-accent)}
.video-jump:hover,.video-jump:focus-visible{background:var(--sage)}
.video-jump strong{grid-column:1 / -1}
.video-jump>span:not(.arr){color:var(--quiet);font-size:.85rem}
.video-collection{margin-block:2rem;scroll-margin-block-start:1rem}
.video-collection h2{margin-block-end:.75rem}
.video-group{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;margin-block:.65rem;scroll-margin-block-start:1rem}
.video-group>summary{display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:62px;padding:.75rem 1.15rem;list-style:none;cursor:pointer;background:var(--mint)}
.video-group>summary::-webkit-details-marker{display:none}
.video-group>summary:focus-visible{outline-offset:-4px}
.video-group>summary small{display:block;color:var(--quiet);margin-block-start:.1rem}
.video-group[open] .reading-toggle::after{content:"−"}
.video-group-body{padding:clamp(.55rem,2.3vw,1.2rem);border-block-start:1px solid var(--line)}
.video-channel{margin-block-start:1.5rem}
.art-breast{--video-dark:#482e46;--video-accent:#8a536e;--video-light:#f6cada}
.art-gynecologic{--video-dark:#193d32;--video-accent:#32725e;--video-light:#c4e7c2}
.art-urinary{--video-dark:#1e304c;--video-accent:#3c6283;--video-light:#d3eaff}
.art-digestive{--video-dark:#4a3525;--video-accent:#865e36;--video-light:#ffe1ab}
.video-art{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.3rem;width:100%;height:100%;position:relative;overflow:hidden;padding:1.3rem clamp(.9rem,3vw,1.5rem);background:linear-gradient(135deg,var(--video-dark),var(--video-accent));color:#fff}
.video-art::before,.video-art::after{content:"";position:absolute;pointer-events:none;border:1px solid var(--video-light);width:48%;aspect-ratio:1;inset-inline-end:-7%;inset-block-start:-14%;opacity:.3;border-radius:50%;box-shadow:0 0 0 12px #ffffff15,0 0 0 26px #ffffff10}
.video-art::after{inset-inline-end:3%;inset-block-start:55%;opacity:.18;box-shadow:none}
.art-variant-1::before{border-radius:35% 65% 28% 72%;transform:rotate(-28deg)}
.art-variant-2::before{border-radius:15%;transform:rotate(-36deg)}
.art-variant-3::before{border-radius:70% 30%;transform:rotate(30deg)}
.video-art-play{position:relative;color:var(--video-light);font-size:1.4rem;line-height:1}
.video-art-title{position:relative;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:85%;font-size:clamp(.88rem,1.6vw,1.1rem);font-weight:750}
@media(max-width:780px){.video-jumps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.contact-card,.review,.work{padding:1.3rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.contact-card h2{font-size:1.1rem}
.contact-card p{color:var(--quiet)}
.profile-split{display:grid;grid-template-columns:minmax(250px,.85fr) 1fr;align-items:center;gap:clamp(1rem,4vw,3rem)}
.profile-split .portrait{max-height:330px}
.timeline{padding:0;list-style:none;display:grid;gap:.6rem;max-width:840px}
.timeline li{display:flex;gap:1rem;align-items:center;background:var(--mint);border:1px solid var(--line);padding:.75rem 1rem;border-radius:12px}
.timeline bdi{font-weight:750;color:var(--green)}
.visit-step{border:1px solid var(--line);border-radius:14px;margin-block-end:.85rem;background:var(--mint)}
.visit-step summary{font-weight:750;padding:1rem;display:flex;align-items:center;gap:.75rem;list-style:none}
.visit-step summary::after{content:'+';margin-inline-start:auto}
.visit-step[open] summary::after{content:'−'}
.visit-step>div{padding:0 1rem 1rem}
.step-number{border-radius:50%;background:#fff;border:1px solid var(--line);width:2rem;height:2rem;display:grid;place-items:center;color:var(--green)}
.catalog{margin-block:1.4rem}
.filter-form{display:flex;flex-wrap:wrap;align-items:end;gap:.8rem;background:var(--mint);padding:1.1rem;border-radius:14px}
.filter-form label,.search-dialog label{display:grid;gap:.32rem;font-size:.85rem;font-weight:700}
.filter-form input,.filter-form select,.search-dialog input{width:100%;min-height:44px;padding:.4rem .68rem;border:1px solid #9bb6a8;border-radius:9px;background:#fff}
.filter-form label:first-child{flex:1 1 15rem}
.filter-count{font-size:.87rem;margin-block:.6rem}
.work-list{display:grid;gap:.8rem}
.work h3,.work p{margin:.5rem 0 0;text-align:start;overflow-wrap:anywhere}
.work p{font-size:.93rem;color:var(--quiet);max-width:none}
.tag{display:inline-flex;align-items:center;width:max-content;max-width:100%;background:var(--sage);color:var(--green);font-size:.73rem;font-weight:750;padding:.22rem .55rem;border-radius:6px}
.book-card,.video-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;min-width:0}
.book-cover{height:215px;background:var(--mint);display:grid;place-items:center}
.book-cover img{max-height:177px;width:auto;border-radius:4px;box-shadow:0 10px 18px #16342f24}
.book-placeholder{display:grid;align-items:end;min-block-size:160px;inline-size:112px;padding:.8rem;border-inline-start:6px solid #f0fbef80;border-radius:3px 8px 8px 3px;background:linear-gradient(150deg,#356b56,#163b31);color:#fff;box-shadow:0 10px 18px #16342f24;font-size:.78rem;font-weight:750;line-height:1.5}
.book-placeholder span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;overflow-wrap:anywhere}
.book-body,.video-copy{padding:1rem 1.2rem;display:grid;align-content:start;gap:.5rem}
.book-body h3,.book-body p,.video-copy h3{margin:0}
.video-copy h3{font-size:1rem;line-height:1.6}
.book-body p{color:var(--quiet);font-size:.91rem}
.video-card>a{display:block;text-decoration:none;color:var(--ink)}
.video-card>a:hover h3{text-decoration:underline}
.video-cover{aspect-ratio:16/9;position:relative;background:var(--sage);display:grid;place-items:center}
.video-cover img{width:100%;height:100%;object-fit:cover}
.episode-number{position:absolute;top:.7rem;inset-inline-start:.7rem;min-width:2.1rem;padding:.1rem .35rem;border-radius:6px;border:1px solid #ffffff63;background:#102e28bf;color:#fff;text-align:center;font-size:.85rem;font-weight:750;font-variant-numeric:tabular-nums}
.duration{position:absolute;inset-inline-end:.6rem;bottom:.6rem;background:var(--ink);color:#fff;padding:.15rem .45rem;border-radius:5px;font-size:.82rem}
.review-grid{display:grid;gap:1rem}
.review{background:var(--mint)}
.review blockquote{margin:.4rem 0 1rem;font-size:1.09rem}
.review>div{display:flex;justify-content:space-between;gap:.5rem}
.footer{border-block-start:1px solid var(--line);background:var(--mint);padding:2rem 0 1rem}
.footer-inner,.footer-end{display:flex;gap:1.2rem;justify-content:space-between}
.footer-inner nav{display:flex;flex-wrap:wrap;gap:.3rem .9rem;max-width:600px;font-size:.89rem}
.footer-inner nav a{min-height:44px;display:flex;align-items:center}
.footer-end{border-block-start:1px solid var(--line);padding-block-start:.75rem;color:var(--quiet);font-size:.78rem}
.search-dialog{width:min(94vw,650px);max-height:80vh;border:1px solid var(--line);border-radius:18px;padding:1.3rem;color:var(--ink)}
.search-dialog::backdrop{background:#112c25a3}
.search-results{list-style:none;padding:0;margin:0}
.search-results li{padding:.65rem .15rem;border-block-end:1px solid var(--line)}
.search-results p{color:var(--quiet);margin:0;font-size:.9rem}
.dock{position:fixed;z-index:3;bottom:0;inset-inline:0;background:#fff;border-block-start:1px solid var(--line);padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom))}
.dock .btn{width:100%}
.has-dock{padding-block-end:calc(70px + env(safe-area-inset-bottom))}
.has-dock :focus{scroll-margin-block-end:calc(90px + env(safe-area-inset-bottom))}
@media(max-width:1160px){.primary-nav{gap:.8rem}.header-contact{display:none}}
@media(max-width:980px){.primary-nav{display:none}.menu{display:block}.hero{min-height:400px}.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .wrap{width:calc(100% - 32px)}
  .bar{min-height:68px;gap:.35rem}
  .brand{flex-shrink:1;gap:.4rem}
  .brand img{width:34px;height:34px}
  .brand strong{font-size:.8rem}
  .brand small{font-size:.68rem}
  .head-actions{gap:.25rem}
  .head-actions .btn,.popup summary{padding:.3rem .42rem;font-size:.8rem}
  .search-btn span:last-child{display:none}
  .search-btn{min-width:38px}
  .hero{margin-block-start:1rem;grid-template-columns:1fr;gap:1rem;padding:1rem;border-radius:20px;min-height:0}
  .hero-copy{padding:.15rem}
  .hero h1{font-size:clamp(1.95rem,7.8vw,3rem)}
  .portrait{min-height:0;height:230px}
  .portrait img{object-position:center 35%}
  .profile-split,.three,.two,.review-grid{grid-template-columns:1fr}
  .profile-band,.contact-band,.footer-inner,.footer-end{display:grid}
  .grid{gap:.75rem}
}
@media(max-width:365px){.brand img{display:none}.brand strong{font-size:.76rem}.head-actions .btn,.popup summary{font-size:.73rem}}
@media print{.site-header,.footer,.dock,.preview-note,.skip,[data-print],.crumb,.visit-reading{display:none!important}.page-intro{padding:0;background:white}.segment{margin:1rem 0}.wrap{width:100%}.visit-step{break-inside:avoid}}
