:root{--paper:#f8f5ed;--white:#fffdf8;--ink:#173e34;--muted:#59665d;--rust:#aa4933;--gold:#eac177;--line:#d9ddce;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--radius:4px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:6px}p,h1,h2,h3,figure{margin:0}svg{display:block;flex-shrink:0}svg:not(.svg-library){stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}img{display:block;max-width:100%}::selection{background:#eac177;color:var(--ink)}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section-pad{padding-block:105px}.eyebrow{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:650;letter-spacing:1.8px;text-transform:uppercase;line-height:1.5;margin-bottom:22px}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-2.8px;line-height:1.06}h1{font-size:clamp(52px,5.35vw,80px)}h2{font-size:clamp(38px,3.55vw,54px)}h1 em,h2 em{font-weight:400;color:var(--rust)}h3{font-size:20px;font-weight:600;letter-spacing:-.5px}p{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:15px 24px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:var(--radius);font-size:13px;font-weight:550;line-height:1.4;transition:background .2s,transform .2s;white-space:nowrap}.button:hover{background:#285949;transform:translateY(-2px)}.button svg{width:19px;height:19px}.button.small{min-height:44px;padding:12px 18px;font-size:12px;gap:18px}.text-link{font-size:13px;font-weight:600;text-underline-offset:5px}.text-link:hover{text-decoration:underline}.arrow-link{display:inline-flex;align-items:center;gap:18px}.arrow-link svg{width:20px;height:20px}.skip-link{position:fixed;top:-100px;inset-inline-start:20px;z-index:100;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:8px}.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}.site-header{position:sticky;top:0;background:rgba(248,245,237,.97);z-index:20;border-bottom:1px solid var(--line)}.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-sun{width:43px;height:43px;color:var(--rust);stroke-width:1.5!important}.brand strong{display:block;font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:-.7px;line-height:1.2}.brand small{display:block;font-family:'Vazirmatn',Tahoma,sans-serif;font-size:11px;text-align:start;margin-top:4px;line-height:1.4}#site-nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:500}#site-nav a{padding-block:8px}#site-nav a:hover{color:var(--rust)}.header-actions{display:flex;align-items:center;gap:25px}.language-switch{display:flex;align-items:center;gap:9px;font-size:11px}.language-switch button{padding:4px 0;min-height:34px;background:transparent;border:0;font-size:11px;font-weight:450;color:var(--muted)}.language-switch button[aria-pressed=true]{font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:5px}.language-switch button[lang=fa]{font-family:'Vazirmatn',Tahoma,sans-serif}.language-switch>span{color:#b4bbac}.menu-toggle{display:none}.hero{padding-block:64px 74px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hero .eyebrow{font-size:10px;letter-spacing:1.4px;gap:8px}.tiny-flower{font-size:24px;line-height:1;color:var(--rust)}.hero h1>span{display:block}.hero h1>span:nth-child(2){display:inline}.hero-desc{font-size:16px;line-height:1.8;max-width:420px;margin-top:27px}.hero-actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:31px}.hero-note{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.2px;margin-top:44px}.note-line{width:33px;height:1px;background:var(--rust)}.hero-art{position:relative;margin:6px 0 20px}.art-frame{background:#e9e4d5;aspect-ratio:1/1.02;overflow:hidden;border-radius:48% 48% 5px 5px}.art-frame img{width:100%;height:100%;object-fit:cover}.art-note{position:absolute;bottom:-20px;inset-inline-start:-23px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:21px 26px 19px;background:var(--white);border:1px solid var(--line);transform:rotate(-5deg);box-shadow:0 5px 18px #173e3409}.art-note>span{font-family:'Vazirmatn',Tahoma,sans-serif;font-size:16px;color:var(--rust)}.art-note small{font-size:10px;letter-spacing:1px;margin-top:6px}.art-sun{position:absolute;top:4px;inset-inline-end:-20px;width:78px;height:78px;stroke-width:1.2!important;color:var(--rust);transform:rotate(12deg)}.values-band{background:var(--ink);color:var(--paper)}.values-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:27px}.values-inner>div{display:flex;align-items:center;gap:18px;font-size:12px;font-weight:450;letter-spacing:.2px}.value-fa{font-family:'Vazirmatn',Tahoma,sans-serif;font-size:22px;color:var(--gold)}.value-star{color:var(--gold);font-size:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.heading-aside{max-width:320px;font-size:14px;line-height:1.8;margin-bottom:5px}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}.program-card{min-width:0}.program-illustration{height:205px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:3px;background:#e5e9d8;color:#285343;overflow:hidden}.program-illustration>svg{width:102px;height:102px;stroke-width:1.8!important;transition:transform .3s}.program-card:hover .program-illustration>svg{transform:translateY(-5px) rotate(-3deg)}.program-number{position:absolute;inset-inline-start:17px;top:12px;font-size:10px;letter-spacing:1px;opacity:.75}.program-fa{position:absolute;inset-inline-end:16px;bottom:12px;font-family:'Vazirmatn',Tahoma,sans-serif;font-size:17px}.theatre-card .program-illustration{background:#f1d9c9;color:#914330}.dance-card .program-illustration{background:#f1e5bd;color:#705b27}.pottery-card .program-illustration{background:#dbe7e5;color:#2a5e60}.program-body{padding-block:22px 4px}.program-body h3{font-size:18px;margin-bottom:12px}.program-body p{font-size:13px;line-height:1.8;min-height:93px}.program-link{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:start;border:0;border-bottom:1px solid #c9cfc0;padding:16px 0 12px;margin-top:9px;background:transparent;font-size:11px;font-weight:600}.program-link svg{width:18px;height:18px;transition:transform .2s}.program-link:hover{color:var(--rust)}.program-link:hover svg{transform:translateX(4px)}.about-section{background:#ececde}.about-inner{display:grid;grid-template-columns:.84fr 1.16fr;gap:120px;align-items:center;padding-block:80px}.about-visual{max-width:340px;width:100%;margin-inline:auto;text-align:center}.arch-pattern{position:relative}.arch-pattern>svg{width:100%;height:auto;stroke:none!important}.arch-pattern>span{position:absolute;top:48%;inset-inline:0;font-family:'Vazirmatn',Tahoma,sans-serif;font-size:22px;line-height:1.9;font-weight:600;color:var(--ink);padding:12px;background:#ececdef2;transform:translateY(-4%)}.about-visual>p{font-size:10px;text-transform:uppercase;letter-spacing:2px;margin-top:10px}.about-copy h2{margin-bottom:28px}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;margin-top:18px;max-width:530px}.mission-note{display:flex;align-items:center;gap:20px;margin-top:28px;padding-top:25px;border-top:1px solid #cbd0ba}.mission-note svg{width:46px;height:46px;color:var(--rust);stroke-width:1.4!important}.mission-note p{font-size:13px;color:var(--ink);max-width:400px}.spotlight{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px}.stage-art{position:relative;min-height:480px;background:var(--ink);color:var(--gold);border-radius:3px;padding:29px 31px 24px;display:flex;flex-direction:column;align-items:center;overflow:hidden}.stage-art:before,.stage-art:after{content:'';position:absolute;top:65px;bottom:-45px;width:190px;border:1px solid #eac17740;border-radius:150px 150px 0 0;pointer-events:none}.stage-art:before{inset-inline-start:-140px}.stage-art:after{inset-inline-end:-140px}.stage-topline{display:flex;justify-content:space-between;gap:20px;width:100%;font-size:9px;letter-spacing:1.6px;text-transform:uppercase}.stage-topline>span:last-child{font-size:17px;line-height:1}.stage-title{font-family:'Vazirmatn',Tahoma,sans-serif;text-align:center;font-size:45px;font-weight:400;line-height:1.4;margin-block:39px 3px;transform:rotate(-3deg)}.stage-title strong{font-size:81px;font-weight:600;line-height:1.4}.stage-book{width:100%;max-width:370px;height:150px;margin-top:5px}.stage-footer{width:100%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eac17747;padding-top:13px;margin-top:10px;font-size:10px;letter-spacing:.2px}.stage-footer>span:last-child{font-family:'Vazirmatn',Tahoma,sans-serif;font-size:13px}.spotlight-copy .eyebrow{font-size:9px;letter-spacing:1.3px}.live-dot{display:inline-block;width:7px;height:7px;background:var(--rust);border-radius:50%}.spotlight-copy h2{margin-bottom:24px}.spotlight-copy h3{font-family:var(--serif);font-size:21px;font-weight:400;margin-bottom:13px}.spotlight-copy>p:not(.eyebrow){font-size:14px;line-height:1.85}.simple-list{list-style:none;margin:23px 0 29px;padding:0}.simple-list li{position:relative;padding-inline-start:19px;font-size:12px;margin-block:10px;line-height:1.7}.simple-list li:before{content:'';position:absolute;inset-inline-start:0;top:.65em;width:5px;height:5px;border:1px solid var(--rust);transform:rotate(45deg)}.spotlight-copy .text-link{font-size:12px}.faq-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.05fr;gap:95px;padding-top:78px;padding-bottom:90px}.faq-heading .eyebrow{font-size:9px;letter-spacing:1.2px}.faq-heading h2{font-size:43px;letter-spacing:-1.8px}.faq-heading>p:last-child{font-size:13px;max-width:290px;margin-top:21px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{position:relative;list-style:none;cursor:pointer;padding:23px 35px 23px 0;font-size:13px;font-weight:550;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;inset-inline-end:3px;top:20px;font-size:23px;font-weight:400;color:var(--rust)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:13px;line-height:1.85;padding:0 24px 24px 0;max-width:460px}.connect-section{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.connect-inner{display:flex;align-items:center;justify-content:space-between;gap:55px;padding-block:69px;position:relative}.connect-section .eyebrow{color:var(--gold);font-size:10px;margin-bottom:18px}.connect-section h2{font-size:50px;letter-spacing:-2px}.connect-section h2 em{color:var(--gold)}.connect-section p:not(.eyebrow){font-size:13px;color:#d4decf;max-width:400px;margin-top:23px}.connect-action{display:flex;flex-direction:column;align-items:center;gap:14px;position:relative;z-index:1}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper);font-size:12px;gap:16px;min-width:260px}.button.light:hover{background:var(--gold)}.instagram-handle{font-size:11px;color:#d4decf;letter-spacing:.5px}.connect-sun{position:absolute;inset-inline-end:-130px;bottom:-145px;color:#ffffff0c;width:380px;height:380px;stroke-width:1!important;pointer-events:none}.site-footer{padding-top:42px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:35px}.footer-top .brand-sun{width:34px;height:34px}.footer-top .brand strong{font-size:21px}.footer-top .brand small{font-size:9px}.footer-top>p{font-size:11px;max-width:230px}.footer-social{padding:9px;border:1px solid var(--line);border-radius:50%}.footer-social svg{width:19px;height:19px}.footer-bottom{border-top:1px solid var(--line);padding-block:19px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted)}.top-link{display:flex;align-items:center;gap:14px}.top-link:hover{color:var(--rust)}dialog{border:1px solid var(--line);border-radius:8px;padding:48px 45px 40px;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;color:var(--ink);background:var(--paper);box-shadow:0 20px 100px #0b231a40}dialog::backdrop{background:#102d25a6;backdrop-filter:blur(4px)}dialog .eyebrow{font-size:10px;margin-bottom:18px}dialog h2{font-size:42px;letter-spacing:-1.5px;margin-bottom:22px}dialog>p:not(.eyebrow){font-size:14px;line-height:1.8}dialog .simple-list{margin-block:20px}dialog .dialog-next{border-top:1px solid var(--line);padding-top:19px;margin-bottom:24px;color:var(--muted);font-size:12px!important}.dialog-close{position:absolute;inset-inline-end:13px;top:10px;border:0;background:none;font-size:29px;line-height:1;width:35px;height:35px}.dialog-close:hover{color:var(--rust)}body:has(dialog[open]){overflow:hidden}
html[lang=fa]{--sans:'Vazirmatn',Tahoma,sans-serif;--serif:'Vazirmatn',Tahoma,sans-serif}html[lang=fa] h1,html[lang=fa] h2{letter-spacing:-1.7px;line-height:1.5;font-weight:500}html[lang=fa] h1{font-size:clamp(42px,4.2vw,62px)}html[lang=fa] h2{font-size:clamp(31px,2.75vw,42px)}html[lang=fa] h1 em,html[lang=fa] h2 em{font-style:normal;font-weight:500}html[lang=fa] h3{letter-spacing:0}html[lang=fa] .eyebrow{letter-spacing:0;font-size:12px}html[lang=fa] .brand strong{font-family:Georgia,'Times New Roman',serif}html[lang=fa] .brand>span{direction:ltr}html[lang=fa] .hero-desc{line-height:2.1}html[lang=fa] .brand small{text-align:end}html[lang=fa] .hero-note{font-size:11px}html[lang=fa] .program-body p{line-height:2;min-height:107px}html[lang=fa] .program-body h3{font-size:17px}html[lang=fa] .program-link{font-size:11px}html[lang=fa] .program-link svg,html[lang=fa] .button svg:has(use[href='#arrow']){transform:rotate(180deg)}html[lang=fa] .faq-list summary{padding:23px 0 23px 35px}html[lang=fa] .faq-list details p{padding:0 0 24px 24px;line-height:2}html[lang=fa] .connect-section p:not(.eyebrow){line-height:2}html[lang=fa] .stage-topline{letter-spacing:0}html[lang=fa] .footer-top>p{line-height:1.9}html[lang=fa] dialog h2{font-size:34px}html[lang=fa] .art-note{transform:rotate(5deg)}
@media(min-width:1500px){.hero{gap:80px;padding-block:80px 90px}.hero-art{max-width:580px}}@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.header-inner{gap:20px}#site-nav{gap:20px;font-size:11px}.header-actions{gap:19px}.brand strong{font-size:22px}.brand-sun{width:37px;height:37px}.hero{gap:35px}.hero-actions{gap:18px}.hero-actions .button{padding-inline:18px;font-size:12px}.hero-actions .text-link{font-size:12px}.hero-note{font-size:9px}.program-grid{gap:19px}.program-body h3{font-size:16px}.program-body p{min-height:117px}.program-illustration{height:180px}.about-inner{gap:65px}.spotlight{gap:55px}.stage-art{min-height:440px}.stage-title{font-size:39px;margin-top:30px}.stage-title strong{font-size:70px}.faq-section{gap:60px}.faq-heading h2{font-size:36px}.connect-section h2{font-size:44px}.connect-inner{gap:30px}}
@media(max-width:940px){.header-connect{display:none}.header-inner{min-height:84px}#site-nav{gap:24px}.hero h1{font-size:53px}.hero .eyebrow{font-size:9px;letter-spacing:1px}.hero-desc{font-size:14px}.hero{padding-block:50px 65px;gap:30px}.hero-actions{align-items:start;flex-direction:column;gap:16px}.hero-note{margin-top:27px;max-width:245px;align-items:start}.note-line{margin-top:7px;flex-shrink:0}.art-sun{width:62px;height:62px;top:0}.art-note{padding:15px 19px;inset-inline-start:-10px}.art-note>span{font-size:13px}.values-inner>div{gap:11px;font-size:10px}.value-fa{font-size:19px}.values-inner{gap:18px}.program-grid{grid-template-columns:repeat(2,1fr);gap:40px 25px}.program-illustration{height:220px}.program-body h3{font-size:20px}.program-body p{min-height:70px;font-size:14px}.program-link{font-size:12px}.section-pad{padding-block:75px}.about-inner{gap:45px;grid-template-columns:.75fr 1.25fr}.about-copy h2{font-size:37px;letter-spacing:-1.7px}.about-copy>p:not(.eyebrow){font-size:13px}.arch-pattern>span{font-size:17px}.about-visual>p{font-size:8px;letter-spacing:1.5px}.about-copy .eyebrow{font-size:10px}.mission-note{gap:14px}.mission-note p{font-size:12px}.spotlight{gap:40px}.spotlight-copy h2{font-size:36px;letter-spacing:-1.5px}.spotlight-copy>p:not(.eyebrow){font-size:13px}.spotlight-copy .eyebrow{font-size:8px;letter-spacing:.8px}.stage-art{min-height:410px;padding-inline:22px}.stage-topline{font-size:7px;letter-spacing:1px}.stage-title{font-size:34px}.stage-title strong{font-size:64px}.stage-book{height:130px}.stage-footer{font-size:9px}.faq-section{grid-template-columns:.9fr 1.1fr;gap:40px}.faq-heading h2{font-size:34px}.faq-list summary{font-size:12px}.connect-section h2{font-size:38px;letter-spacing:-1.4px}.button.light{min-width:225px;padding-inline:18px;font-size:11px;gap:12px}.footer-top{gap:25px}.footer-top>p{max-width:200px}html[lang=fa] h1{font-size:41px}html[lang=fa] .hero .eyebrow{font-size:10px}html[lang=fa] h2,html[lang=fa] .about-copy h2,html[lang=fa] .spotlight-copy h2,html[lang=fa] .connect-section h2{font-size:31px}html[lang=fa] .program-body p{min-height:70px}}
@media(max-width:700px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:76px;gap:10px}.brand{gap:9px}.brand-sun{width:32px;height:32px}.brand strong{font-size:20px}.brand small{font-size:10px;margin-top:2px}.header-actions{gap:20px}.language-switch{gap:7px}.menu-toggle{display:flex;width:28px;height:38px;padding:10px 0;border:0;background:transparent;flex-direction:column;justify-content:space-around}.menu-toggle span{width:24px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}#site-nav{display:none;position:absolute;top:76px;inset-inline:0;background:var(--paper);padding:15px 25px 20px;border-bottom:1px solid var(--line);box-shadow:0 8px 15px #173e340a;font-size:15px;flex-direction:column;align-items:stretch;gap:0}#site-nav.is-open{display:flex}#site-nav a{padding:12px}.hero{grid-template-columns:1fr;padding-block:40px 49px;gap:37px}.hero-copy{max-width:540px}.hero .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:20px}.hero h1{font-size:clamp(49px,9.1vw,64px);letter-spacing:-2.7px;max-width:500px}.hero-desc{font-size:14px;max-width:390px;margin-top:22px}.hero-actions{flex-direction:row;align-items:center;gap:21px;margin-top:25px}.hero-actions .button{min-height:50px;font-size:11px;padding-inline:18px;gap:16px}.hero-actions .text-link{font-size:11px}.hero-note{margin-top:27px;max-width:100%;font-size:9px}.hero-art{width:calc(100% - 26px);max-width:450px;margin:0 auto 15px}.art-frame{aspect-ratio:1/1}.art-note{bottom:-14px;inset-inline-start:-11px}.art-sun{width:62px;height:62px;inset-inline-end:-18px}.values-inner{padding-block:22px;gap:10px;justify-content:space-between}.values-inner>div{flex-direction:column;gap:5px;text-align:center;font-size:9px;line-height:1.5}.value-fa{font-size:19px}.value-star{font-size:13px}.section-pad{padding-block:60px}.section-heading{display:block;margin-bottom:30px}.section-heading .eyebrow{font-size:9px;margin-bottom:18px}h2{font-size:39px;letter-spacing:-1.7px}.heading-aside{max-width:350px;margin-top:20px;font-size:13px}.program-grid{gap:32px 18px}.program-illustration{height:160px}.program-illustration>svg{width:85px;height:85px}.program-body{padding-top:17px}.program-number{font-size:9px;inset-inline-start:12px;top:9px}.program-fa{font-size:13px;inset-inline-end:12px;bottom:9px}.program-body h3{font-size:17px;line-height:1.4;min-height:48px;margin-bottom:7px}.program-body p{font-size:12px;min-height:110px;line-height:1.8}.program-link{font-size:10px;gap:7px;min-height:52px;line-height:1.5;padding-top:11px}.program-link svg{width:16px;height:16px}.about-inner{grid-template-columns:1fr;gap:35px}.about-visual{max-width:250px}.about-visual>p{font-size:9px}.arch-pattern>span{font-size:18px}.about-copy{max-width:540px;margin:auto}.about-copy h2{font-size:38px}.about-copy>p:not(.eyebrow){font-size:14px}.mission-note p{font-size:13px}.mission-note svg{width:40px;height:40px}.spotlight{grid-template-columns:1fr;gap:37px}.stage-art{min-height:440px;max-width:480px;width:100%;margin:auto;padding:27px}.stage-topline{font-size:9px;letter-spacing:1.1px}.stage-title{font-size:42px;margin-block:30px 6px}.stage-title strong{font-size:76px}.stage-book{height:132px}.stage-footer{font-size:10px;margin-top:15px}.spotlight-copy{max-width:540px;margin-inline:auto}.spotlight-copy h2{font-size:38px}.spotlight-copy .eyebrow{font-size:9px}.spotlight-copy>p:not(.eyebrow){font-size:14px}.spotlight-copy .simple-list li{font-size:12px}.faq-section{grid-template-columns:1fr;gap:29px}.faq-heading h2{font-size:36px}.faq-heading>p:last-child{max-width:350px;margin-top:16px}.faq-heading .eyebrow{font-size:8px}.faq-list summary{font-size:13px;padding-block:22px}.faq-list details p{font-size:13px}.connect-inner{flex-direction:column;align-items:flex-start;gap:32px;padding-block:49px}.connect-section h2{font-size:40px}.connect-section p:not(.eyebrow){font-size:13px}.connect-action{align-items:flex-start;gap:12px}.button.light{min-height:52px;font-size:12px;min-width:260px}.instagram-handle{padding-inline-start:2px}.connect-sun{width:280px;height:280px;inset-inline-end:-126px;bottom:-87px}.site-footer{padding-top:32px}.footer-top{flex-wrap:wrap;gap:23px;padding-bottom:27px}.footer-top .brand{order:0}.footer-top>p{order:2;max-width:100%;width:100%;font-size:11px}.footer-social{order:1;margin-inline-start:auto}.footer-bottom{font-size:8px;gap:13px;align-items:start}.top-link{white-space:nowrap;gap:7px}dialog{padding:45px 26px 30px}dialog h2{font-size:36px}dialog .button{font-size:12px;width:100%}html[lang=fa] h1{font-size:clamp(39px,8.4vw,56px);line-height:1.5;letter-spacing:-1.6px}html[lang=fa] .hero .eyebrow{font-size:10px;letter-spacing:0}html[lang=fa] .hero-note{font-size:10px}html[lang=fa] h2,html[lang=fa] .about-copy h2,html[lang=fa] .spotlight-copy h2,html[lang=fa] .connect-section h2{font-size:32px;line-height:1.55}html[lang=fa] .values-inner>div{font-size:9px}html[lang=fa] .program-body h3{font-size:16px;min-height:50px}html[lang=fa] .program-body p{min-height:140px;font-size:12px}html[lang=fa] .program-link{font-size:10px}html[lang=fa] .program-body{padding-top:15px}html[lang=fa] .faq-heading .eyebrow{font-size:10px}html[lang=fa] .stage-topline{font-size:10px}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.header-actions{gap:14px}.brand strong{font-size:18px}.brand-sun{width:28px;height:28px}.language-switch button{font-size:10px}.hero h1{font-size:46px}.hero-actions{gap:18px}.hero-actions .text-link{font-size:10px}.hero-actions .button{padding-inline:14px;font-size:10px}.program-illustration{height:145px}.program-body h3{font-size:16px}.program-body p{min-height:130px}.stage-topline{font-size:8px}.stage-title{font-size:39px}.stage-title strong{font-size:73px}.stage-art{min-height:420px}.connect-section h2{font-size:36px}html[lang=fa] .hero h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Phase 1: shared type scale, solid navigation, and content-driven mobile layout. */
:root {
  --header-row-size: 88px;
  --header-block-size: 89px;
  --type-hero: clamp(48px, 5.35vw, 80px);
  --type-section: clamp(36px, 3.55vw, 54px);
  --type-card: 19px;
  --type-copy: 15px;
  --type-caption: 12px;
}
html { scroll-padding-block-start: calc(var(--header-block-size) + 16px); }
.site-header {
  background: var(--paper);
  z-index: 50;
  isolation: isolate;
  box-shadow: 0 2px 10px #173e3405;
}
.header-inner { min-height: var(--header-row-size); }
.brand { min-width: 0; }
.brand > span { min-width: 0; }
.brand strong { white-space: nowrap; }
.header-actions { gap: 16px; flex-shrink: 0; }
.language-switch { gap: 3px; }
.language-switch button { min-height: 44px; min-width: 40px; font-size: 12px; }
.language-switch > span { display: none; }
#site-nav { font-size: 13px; }
#site-nav a { display: flex; align-items: center; min-height: 44px; }
#site-nav .nav-phone { display: none; }
.nav-phone svg { width: 18px; height: 18px; margin-inline-end: 12px; }
.tiny-flower { width: 24px; height: 24px; }
.value-star { width: 20px; height: 20px; }
.stage-flower { width: 20px; height: 20px; }
.hero h1 { font-size: var(--type-hero); line-height: 1.12; }
h2, .about-copy h2, .spotlight-copy h2, .faq-heading h2, .connect-section h2 {
  font-size: var(--type-section);
  line-height: 1.15;
  letter-spacing: -1.7px;
}
.eyebrow, .hero .eyebrow, .section-heading .eyebrow,
.about-copy .eyebrow, .spotlight-copy .eyebrow,
.faq-heading .eyebrow, .connect-section .eyebrow {
  font-size: 11px;
  letter-spacing: 1.2px;
}
.hero-desc { font-size: 16px; }
.hero-note { font-size: var(--type-caption); line-height: 1.7; }
.heading-aside, .about-copy > p:not(.eyebrow),
.spotlight-copy > p:not(.eyebrow), .faq-heading > p:last-child,
.connect-section p:not(.eyebrow) { font-size: var(--type-copy); }
.program-card { display: flex; flex-direction: column; }
.program-body { display: flex; flex: 1; flex-direction: column; }
.program-body h3 { font-size: var(--type-card); min-height: 0; line-height: 1.45; }
.program-body p, html[lang=fa] .program-body p {
  min-height: 0;
  font-size: 14px;
  line-height: 1.9;
  margin-bottom: 18px;
}
.program-link { margin-top: auto; min-height: 48px; font-size: 12px; }
.simple-list li { font-size: 14px; }
.faq-list summary { min-height: 64px; font-size: 15px; }
.faq-list details p { font-size: 14px; }
.text-link { min-height: 44px; display: inline-flex; align-items: center; }
.mission-note p { font-size: 14px; }
.connect-action { width: min(100%, 320px); align-items: stretch; flex-shrink: 0; }
.connect-action .button { width: 100%; min-width: 0; min-height: 56px; white-space: normal; }
.contact-call { gap: 15px; justify-content: flex-start; }
.contact-call > svg { width: 24px; height: 24px; }
.call-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.call-copy > span { font-size: 12px; }
.call-copy bdi { font-size: 17px; letter-spacing: .3px; white-space: nowrap; }
.connect-action .instagram-button { background: transparent; color: var(--paper); border-color: #f8f5ed70; }
.connect-action .instagram-button:hover { background: #ffffff10; }
.instagram-handle { text-align: center; font-size: 12px; padding: 0; }
.footer-top { flex-wrap: wrap; }
.footer-top > p { font-size: 12px; }
.footer-contacts { display: flex; align-items: center; gap: 18px; margin-inline-start: auto; }
.footer-phone { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; font-size: 13px; }
.footer-phone svg { width: 18px; height: 18px; }
.footer-phone bdi { white-space: nowrap; }
.footer-social { display: grid; place-items: center; min-width: 44px; min-height: 44px; margin: 0; }
.footer-bottom { font-size: 11px; line-height: 1.8; }
.dialog-close { min-width: 44px; min-height: 44px; }
.dialog-call { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; min-height: 48px; margin-top: 15px; font-size: 13px; }
.dialog-call bdi { white-space: nowrap; text-decoration: underline; text-underline-offset: 4px; }

html[lang=fa] { --type-hero: clamp(42px, 4.2vw, 62px); --type-section: clamp(31px, 2.75vw, 42px); }
html[lang=fa] h1, html[lang=fa] h2,
html[lang=fa] .hero h1, html[lang=fa] .about-copy h2,
html[lang=fa] .spotlight-copy h2, html[lang=fa] .faq-heading h2,
html[lang=fa] .connect-section h2, html[lang=fa] dialog h2 {
  letter-spacing: normal;
  line-height: 1.6;
}
html[lang=fa] .hero h1 { font-size: var(--type-hero); }
html[lang=fa] h2, html[lang=fa] .about-copy h2,
html[lang=fa] .spotlight-copy h2, html[lang=fa] .faq-heading h2,
html[lang=fa] .connect-section h2 { font-size: var(--type-section); }
html[lang=fa] .eyebrow, html[lang=fa] .hero .eyebrow,
html[lang=fa] .about-copy .eyebrow, html[lang=fa] .spotlight-copy .eyebrow,
html[lang=fa] .faq-heading .eyebrow { font-size: 12px; letter-spacing: normal; }
html[lang=fa] .program-body h3 { font-size: var(--type-card); min-height: 0; }
html[lang=fa] .program-link { font-size: 12px; }

@media(max-width: 1100px) {
  .footer-top { gap: 24px; }
  .footer-top > p { max-width: 190px; }
}
@media(max-width: 900px) {
  :root { --header-row-size: 76px; }
  .header-inner { width: calc(100% - 40px); gap: 16px; }
  .header-connect { display: none; }
  .menu-toggle {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 7px; padding: 9px; border: 0; background: transparent; min-width: 44px; height: 44px;
  }
  .menu-toggle span { width: 23px; height: 1.5px; background: var(--ink); transition: transform .2s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(4.25px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-4.25px) rotate(-45deg); }
  #site-nav {
    display: none; position: absolute; inset-block-start: 100%; inset-inline: 0;
    background: var(--paper); padding: 12px 20px 18px; border-bottom: 1px solid var(--line);
    box-shadow: 0 10px 20px #173e3410; max-height: calc(100dvh - var(--header-block-size));
    overflow-y: auto; flex-direction: column; align-items: stretch; gap: 0; font-size: 15px;
  }
  #site-nav.is-open { display: flex; }
  #site-nav a { padding: 13px 12px; min-height: 48px; }
  #site-nav .nav-phone { display: flex; margin-top: 5px; border-top: 1px solid var(--line); }
}
@media(max-width: 700px) {
  :root {
    --header-row-size: 72px;
    --type-hero: clamp(40px, 11.2vw, 54px);
    --type-section: clamp(30px, 8vw, 38px);
    --type-card: 18px;
    --type-copy: 14px;
  }
  .header-inner { width: calc(100% - 32px); gap: 8px; }
  .brand { gap: 8px; flex-shrink: 1; }
  .brand strong { font-size: 18px; }
  .brand-sun { width: 28px; height: 28px; }
  .header-actions { gap: 4px; }
  .language-switch { gap: 0; }
  .language-switch button { min-width: 38px; font-size: 11px; }
  .hero { padding-block: 34px 48px; gap: 29px; }
  .hero h1 { letter-spacing: -1.5px; }
  .hero-desc { margin-top: 20px; font-size: 15px; }
  .hero-actions { gap: 12px 18px; margin-top: 24px; }
  .hero-actions .button { font-size: 12px; padding-inline: 17px; }
  .hero-actions .text-link { font-size: 12px; }
  .hero-note { margin-top: 22px; font-size: 11px; }
  .section-pad { padding-block: 52px; }
  .program-grid { gap: 30px 20px; }
  .program-link { font-size: 12px; }
  .about-inner { gap: 28px; }
  .about-copy > p:not(.eyebrow), .spotlight-copy > p:not(.eyebrow) { font-size: 14px; }
  .connect-inner { padding-block: 46px; gap: 28px; }
  .connect-section .eyebrow { font-size: 11px; }
  .connect-section p:not(.eyebrow) { font-size: 14px; }
  .connect-action { width: 100%; max-width: 340px; }
  .footer-contacts { order: 1; width: 100%; margin: 0; justify-content: space-between; }
  .footer-top > p { max-width: none; font-size: 12px; }
  .footer-bottom { flex-wrap: wrap; }
  .top-link { min-height: 44px; }
  html[lang=fa] { --type-hero: clamp(32px, 9vw, 42px); --type-section: clamp(28px, 7.5vw, 34px); }
  html[lang=fa] .hero-note { font-size: 11px; }
  html[lang=fa] .program-body h3 { min-height: 0; }
  html[lang=fa] .program-body p { min-height: 0; font-size: 14px; }
}
@media(max-width: 479px) {
  .program-grid { grid-template-columns: 1fr; gap: 28px; }
  .program-card { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: start; gap: 17px; }
  .program-illustration { height: 112px; }
  .program-illustration > svg { width: 62px; height: 62px; }
  .program-number { font-size: 9px; inset-inline-start: 9px; top: 7px; }
  .program-fa { font-size: 12px; inset-inline-end: 9px; bottom: 7px; }
  .program-body, html[lang=fa] .program-body { padding-top: 0; padding-bottom: 0; }
  .program-body h3 { margin-bottom: 9px; }
  .program-body p, html[lang=fa] .program-body p { margin-bottom: 5px; }
  .program-link { padding-block: 11px; min-height: 44px; }
  .stage-topline { font-size: 10px; line-height: 1.7; letter-spacing: .7px; align-items: start; }
  .stage-footer { font-size: 11px; }
}
@media(max-width: 359px) {
  .header-inner { width: calc(100% - 24px); }
  .brand { gap: 6px; }
  .brand strong { font-size: 16px; }
  .brand-sun { width: 24px; height: 24px; }
  .brand small { font-size: 9px; }
  .language-switch button { min-width: 36px; }
  .program-card { grid-template-columns: 76px minmax(0, 1fr); gap: 14px; }
  .program-illustration { height: 102px; }
  .program-illustration > svg { width: 55px; height: 55px; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 7px; }
  .hero-actions .button { align-self: flex-start; font-size: 12px; }
  .hero-actions .text-link { font-size: 12px; }
}

/* Phase 2: a clear inquiry journey within the existing homepage. */
.button.secondary { background: transparent; color: var(--ink); }
.button.secondary:hover { background: #173e3408; }
.hero-actions .button { min-height: 54px; }
.hero-note .location-icon { width: 16px; height: 16px; color: var(--rust); }
.values-inner > div { min-width: 0; flex: 1; }
.values-inner > div > span:last-child { font-size: 12px; line-height: 1.6; }
.values-inner .value-fa { font-family: var(--serif); font-weight: 400; line-height: 1.3; }
html[lang=fa] .values-inner .value-fa { letter-spacing: normal; }
.about-copy > .about-intro { color: var(--ink); font-weight: 500; }
.inquiry-context[hidden] { display: none; }
.inquiry-context { margin-top: 23px; padding-top: 17px; border-top: 1px solid #f8f5ed40; }
.connect-section .inquiry-context p { margin: 0; font-size: 13px; line-height: 1.8; }
.inquiry-context strong { color: var(--gold); font-weight: 600; }
.connect-section .inquiry-context .inquiry-note { margin-top: 6px; }
.inquiry-clear { min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: var(--paper); font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
#connect-heading:focus-visible { outline: 2px solid var(--gold); outline-offset: 8px; }
@media(max-width: 940px) {
  .hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 12px; }
  .hero-actions .button { width: 100%; min-width: 0; align-self: stretch; white-space: normal; gap: 10px; padding: 14px 14px; font-size: 12px; }
  .hero-actions .button > span { min-width: 0; }
  .values-inner > div { flex-direction: column; gap: 6px; text-align: center; }
  .values-inner .value-fa { font-size: 20px; }
}
@media(max-width: 700px) {
  .values-inner { gap: 10px; }
  .values-inner .value-star { width: 14px; height: 14px; }
  .values-inner .value-fa { font-size: 18px; }
  .values-inner > div > span:last-child { font-size: 11px; line-height: 1.6; }
}

/* Phase 3: shared program cards and a bounded, accessible native dialog. */
html { scrollbar-gutter: stable; }
.programs-summary { max-width: 340px; }
.programs-summary .heading-aside { margin: 0; }
.programs-hint { margin-top: 13px; color: var(--rust); font-size: 12px; }
.programs-offline { margin-block: 15px; }
.programs-offline a { text-decoration: underline; text-underline-offset: 4px; }
.program-art { position: relative; display: grid; place-items: center; width: 100%; height: 100%; min-width: 0; min-height: 0; }
.program-art > svg { width: 102px; height: 102px; stroke-width: 1.8; transition: transform .3s; }
.program-art > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.program-card:hover .program-art > svg,
.program-card:focus-within .program-art > svg { transform: translateY(-4px) rotate(-3deg); }
.program-illustration.has-image .program-fa { padding: 2px 7px; background: var(--paper); border-radius: 2px; }
.program-illustration.has-illustration .program-number { padding: 2px 6px; background: var(--paper); color: var(--ink); border-radius: 2px; opacity: 1; }
.program-illustration.has-illustration .program-fa { color: var(--ink); background: #f8f5edf2; }
#program-dialog {
  width: min(800px, calc(100% - 32px)); padding: 0;
  max-height: min(920px, calc(100dvh - 32px)); overflow: hidden;
  border-radius: 6px; box-shadow: 0 12px 45px #173e3426;
}
#program-dialog[open] { display: flex; flex-direction: column; }
#program-dialog [hidden] { display: none; }
.program-dialog-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 22px; border-bottom: 1px solid var(--line); flex-shrink: 0;
}
#program-dialog .dialog-close { position: static; width: 44px; height: 44px; padding: 0; }
.program-dialog-scroll { padding: 28px 32px; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.program-dialog-scroll:focus-visible { outline: 2px solid var(--rust); outline-offset: -3px; }
.program-dialog-header { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: start; gap: 24px; margin-bottom: 23px; }
#program-dialog .dialog-illustration { width: 110px; height: 130px; border-radius: 3px; }
#program-dialog .dialog-illustration svg { width: 80px; height: 80px; }
#program-dialog .program-dialog-header .eyebrow { font-size: 10px; line-height: 1.65; margin-bottom: 12px; }
#program-dialog .program-dialog-header h2 { font-size: 37px; line-height: 1.15; letter-spacing: -1.2px; margin-bottom: 0; }
#program-dialog .dialog-alternate-title { margin-top: 10px; font-size: 15px; line-height: 1.8; text-align: left; }
.dialog-alternate-title[lang=fa] { font-family: 'Vazirmatn', Tahoma, sans-serif; }
.dialog-alternate-title[lang=en] { font-family: Georgia, 'Times New Roman', serif; }
#program-dialog #dialog-description { font-size: 15px; line-height: 1.9; color: var(--muted); }
#program-dialog .program-related-note { padding-inline-start: 15px; border-inline-start: 2px solid #c5a868; margin-top: 17px; font-size: 13px; line-height: 1.85; }
.dialog-learning, .dialog-information, .dialog-class-groups { margin-top: 28px; }
#program-dialog h3 { font-size: 17px; line-height: 1.6; letter-spacing: -.2px; }
#program-dialog .simple-list { margin-block: 15px 0; }
#program-dialog .simple-list li { font-size: 14px; line-height: 1.8; margin-block: 8px; }
.dialog-information { border-top: 1px solid var(--line); padding-top: 22px; }
.program-facts { display: grid; gap: 0; margin: 12px 0 0; }
.program-facts > div { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(0, 1.3fr); gap: 16px; padding-block: 12px; border-bottom: 1px solid var(--line); }
.program-facts dt { color: var(--muted); font-size: 12px; }
.program-facts dd { margin: 0; font-size: 14px; }
#program-dialog .program-availability { font-size: 14px; line-height: 1.9; margin-top: 12px; }
.program-class-group { margin-top: 15px; padding: 17px 20px; border: 1px solid var(--line); border-radius: 3px; }
.program-class-group h4 { margin: 0; font-size: 16px; font-weight: 550; }
.program-dialog-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 32px; border-top: 1px solid var(--line); background: var(--paper); flex-shrink: 0; }
#program-dialog .program-dialog-actions .button { width: auto; min-width: 245px; min-height: 54px; white-space: normal; text-align: center; }
#program-dialog .dialog-call { min-height: 44px; margin: 0; max-width: 230px; gap: 7px; font-size: 12px; }
html[lang=fa] #program-dialog .program-dialog-header h2 { font-size: 32px; letter-spacing: normal; line-height: 1.65; }
html[lang=fa] #program-dialog .program-dialog-header .eyebrow { font-size: 11px; letter-spacing: normal; }
html[lang=fa] #program-dialog .dialog-alternate-title { text-align: right; }
html[lang=fa] #program-dialog h3 { letter-spacing: normal; }
@media(max-width: 700px) {
  .programs-summary { margin-top: 20px; max-width: 100%; }
  #program-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); }
  .program-dialog-toolbar { padding: 5px 13px; }
  .program-dialog-scroll { padding: 22px; }
  .program-dialog-header { grid-template-columns: 78px minmax(0, 1fr); gap: 17px; margin-bottom: 20px; }
  #program-dialog .dialog-illustration { width: 78px; height: 96px; }
  #program-dialog .dialog-illustration svg { width: 58px; height: 58px; }
  #program-dialog .program-dialog-header h2 { font-size: 30px; }
  html[lang=fa] #program-dialog .program-dialog-header h2 { font-size: 27px; }
  #program-dialog .program-dialog-header .eyebrow { font-size: 9px; }
  #program-dialog #dialog-description { font-size: 14px; }
}
@media(max-width: 600px) {
  .program-dialog-actions { flex-direction: column; align-items: stretch; gap: 6px; padding: 13px 22px; }
  #program-dialog .program-dialog-actions .button { width: 100%; min-width: 0; padding-inline: 16px; font-size: 12px; }
  #program-dialog .dialog-call { max-width: none; }
}
@media(max-width: 479px) {
  .program-art > svg { width: 62px; height: 62px; }
  #program-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); }
  .program-dialog-scroll { padding: 19px 18px; }
  .program-dialog-header { grid-template-columns: 60px minmax(0, 1fr); gap: 14px; }
  #program-dialog .dialog-illustration { width: 60px; height: 76px; }
  #program-dialog .dialog-illustration svg { width: 45px; height: 45px; }
  #program-dialog .program-dialog-header h2 { font-size: 27px; }
  html[lang=fa] #program-dialog .program-dialog-header h2 { font-size: 25px; }
  #program-dialog .dialog-alternate-title { font-size: 13px; }
  #program-dialog .program-dialog-header .eyebrow { margin-bottom: 8px; }
  #program-dialog h3 { font-size: 16px; }
  .program-dialog-actions { padding-inline: 18px; }
  .program-facts > div { grid-template-columns: 1fr; gap: 4px; }
}
@media(max-width: 359px) {
  .program-art > svg { width: 55px; height: 55px; }
}

/* Phase 4A: an optional message to copy, alongside the existing contact routes. */
.connect-section { overflow: clip; }
.faq-contact-options { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 14px; margin-top: 12px; font-size: 13px; }
.faq-contact-options a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.faq-contact-options a:hover { color: var(--rust); }
.connect-inner > div:first-child { min-width: 0; }
.connect-section .inquiry-message { margin-top: 14px; padding: 12px 15px; border-inline-start: 2px solid var(--gold); background: #ffffff08; color: var(--paper); font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; user-select: text; }
.inquiry-message:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.inquiry-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 18px; margin-top: 12px; }
.inquiry-copy { min-height: 44px; padding: 10px 15px; border: 1px solid #f8f5ed80; border-radius: var(--radius); color: var(--paper); background: transparent; font-size: 12px; line-height: 1.6; }
.inquiry-copy:hover { background: #ffffff12; }
.inquiry-copy:disabled { opacity: .7; }
.connect-section .copy-feedback { margin-top: 8px; color: var(--gold); font-size: 12px; line-height: 1.8; }
.connect-section .copy-feedback:empty { margin: 0; }
.connect-section button:focus-visible, .connect-section a:focus-visible { outline-color: var(--gold); }
.programs-class-note { margin: -20px 0 30px; padding-bottom: 15px; border-bottom: 1px solid var(--line); font-size: 13px; line-height: 1.9; }
.program-facts dd { white-space: pre-line; overflow-wrap: anywhere; }
[data-venue-summary] > *, .program-facts dd > * { display: block; }
.faq-list .faq-class-summary { color: var(--ink); }
.contact-venue { padding-top: 18px; margin-top: 5px; border-top: 1px solid #f8f5ed40; font-style: normal; }
.contact-venue h3 { font-size: 14px; letter-spacing: normal; }
.connect-section .contact-venue p { margin-top: 8px; font-size: 13px; line-height: 1.9; }
.venue-directions { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.venue-directions svg { width: 14px; height: 14px; }
.academy-logo { display: block; width: 126px; height: 104px; object-fit: contain; max-width: none; filter: brightness(.75) saturate(.78); }
.program-link {
  min-height: 50px; padding: 13px 16px; gap: 12px;
  border: 1px solid var(--ink); border-radius: var(--radius);
  background: var(--ink); color: var(--paper);
  font-size: 13px; font-weight: 600; line-height: 1.4; white-space: normal;
  transition: background .2s, border-color .2s;
}
.program-link:hover, .program-link:focus-visible {
  background: #285949; border-color: #285949; color: var(--paper);
}
html[lang=fa] .program-link { font-size: 14px; }
@media(max-width: 479px) {
  .program-link { margin-top: 12px; padding: 12px 14px; }
}
.site-header .header-inner { min-height: 112px; }
.site-footer .academy-logo { width: 150px; height: 124px; }
@media(max-width: 700px) {
  .academy-logo { width: 104px; height: 86px; }
  .site-header .header-inner { min-height: 94px; }
  .site-footer .academy-logo { width: 130px; height: 108px; }
}
@media(max-width: 479px) {
  .faq-contact-options { gap: 2px 12px; }
  .faq-contact-options > span { display: none; }
}

/* Class comparison and inquiry guidance, using the existing academy palette. */
.hero-service { margin-top: 22px; font-size: 15px; font-weight: 650; color: var(--ink); }
.hero-service + .hero-desc { margin-top: 12px; }
.enrollment-note { padding: 16px 20px; background: #e9ebdf; border-inline-start: 2px solid var(--rust); font-size: 13px; line-height: 1.85; }
.adult-note { margin: 12px 0 30px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.program-card-facts { margin: 18px 0; padding-block: 10px; border-block: 1px solid var(--line); }
.program-card-facts > div { padding-block: 5px; }
.program-card-facts dt { font-size: 11px; color: var(--muted); }
.program-card-facts dd { margin: 3px 0 0; font-size: 13px; line-height: 1.75; }
.enrollment-steps { border-top: 1px solid var(--line); }
.steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; list-style: none; padding: 0; margin: 30px 0; }
.steps-grid li { border-top: 1px solid var(--line); padding-top: 20px; min-width: 0; }
.step-number { font-size: 12px; color: var(--rust); }
.steps-grid h3 { margin: 12px 0; font-size: 19px; }
.steps-grid p { font-size: 14px; line-height: 1.85; color: var(--muted); }
.inquiry-context h3 { color: var(--paper); font-size: 19px; letter-spacing: normal; }
.inquiry-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-block: 16px; }
.inquiry-fields label { display: grid; gap: 8px; min-width: 0; font-size: 12px; }
.inquiry-fields select { width: 100%; min-width: 0; min-height: 48px; padding: 10px; border: 1px solid #f8f5ed80; border-radius: var(--radius); background: var(--paper); color: var(--ink); font: inherit; font-size: 13px; }
.inquiry-fields select:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.connect-section .contact-only { font-size: 12px; line-height: 1.8; color: var(--paper); margin: 0 0 8px; }
#program-dialog .dialog-information { margin-top: 0; padding-top: 0; border-top: 0; }
#program-dialog #dialog-description { margin-top: 24px; }
html[lang=fa] .steps-grid h3 { letter-spacing: normal; }
@media (max-width: 700px) {
  .steps-grid { grid-template-columns: 1fr; gap: 22px; }
  .steps-grid h3 { margin-block: 7px; }
  .inquiry-fields { grid-template-columns: 1fr; }
  .hero-service { font-size: 14px; }
}

/* Confirmed programs and term calendar, retaining the academy's visual language. */
.program-featured { display: inline-block; margin-bottom: 12px; padding: 4px 9px; border-radius: 3px; background: #eac17745; color: var(--ink); font-size: 11px; font-weight: 650; }
.program-featured[hidden] { display: none; }
.featured-program .program-body { border-inline-start: 2px solid var(--gold); padding-inline-start: 14px; }
.academy-calendar { border-top: 1px solid var(--line); }
.academy-calendar h2 { max-width: 820px; }
.calendar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-block: 30px 24px; }
.calendar-grid > div { padding: 22px; background: #e9ebdf; border-top: 2px solid var(--gold); }
.calendar-grid h3 { font-size: 19px; margin-bottom: 8px; }
.calendar-grid p { font-size: 15px; }
.academy-calendar .calendar-note { margin-bottom: 12px; color: var(--ink); font-weight: 550; }
.academy-calendar > p:not(.eyebrow) { font-size: 14px; line-height: 1.9; }
.about-copy .founder-line { font-weight: 600; color: var(--ink); }
.connect-section .contact-hours { color: var(--gold); font-size: 13px; line-height: 1.9; margin-bottom: 8px; }
html[lang=fa] .calendar-grid h3 { letter-spacing: normal; }
@media (max-width:700px) { .calendar-grid { grid-template-columns: 1fr; gap: 14px; } .calendar-grid > div { padding: 18px; } }


/* Founder biography follows the existing type, color, and ornament system. */
.founder-profile { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; border-bottom: 1px solid var(--line); }
.founder-profile h2 { font-size: var(--type-section); }
.founder-role { margin-top: 20px; font-size: 14px; line-height: 1.9; }
.founder-ornament { width: 92px; height: 92px; margin-top: 26px; color: var(--rust); }
.founder-copy, .founder-heading { min-width: 0; }
.founder-copy .founder-bio { color: var(--ink); font-size: 15px; line-height: 1.95; }
.founder-copy h3 { margin-top: 26px; font-size: 17px; }
.founder-credits { list-style: none; padding: 0; margin: 16px 0 12px; }
.founder-credits li { padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
.founder-date-note { font-size: 12px; line-height: 1.8; }
.founder-source-label { margin-top: 22px; font-size: 12px; }
.founder-sources { display: flex; gap: 22px; flex-wrap: wrap; }
.founder-sources a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.founder-sources svg { width: 14px; height: 14px; }
html[lang=fa] .founder-profile h3 { letter-spacing: normal; }
@media (max-width:700px) { .founder-profile { grid-template-columns: 1fr; gap: 26px; } .founder-ornament { width: 64px; height: 64px; margin-top: 16px; } .founder-copy .founder-bio { font-size: 14px; } }
