/* Shared typography and interaction refinements for both studio sites. */
:root{--text-body:1.1875rem;--text-small:.9375rem;--text-control:1.0625rem;--focus-ring:#126a98;--space-section:clamp(2.5rem,5vw,4.5rem)}
body{font-size:var(--text-body);line-height:1.9;--muted:#4c5d63}
html:has(.editorial-page){scroll-behavior:auto}
body.personal{--muted:#565c58}
body.page-template-page-learning{--muted:#506168}
h1,h2,h3{overflow-wrap:break-word}
.wrap{max-width:1360px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px;border-radius:4px}
.company.home .header-shell a:focus-visible,.company.home .header-shell button:focus-visible,.company .hero a:focus-visible{outline-color:#a7e5ca}
.studio-icon{width:22px;height:22px;flex:none;vertical-align:middle}
.button .studio-icon,.text-link .studio-icon{width:21px;height:21px}
.button{min-height:52px;font-size:var(--text-control);gap:12px;padding:12px 22px;font-weight:500;line-height:1.6}
.button:disabled{opacity:.65;cursor:wait;transform:none}
.text-link{min-height:44px;gap:12px;font-size:var(--text-control);line-height:1.65;padding-block:8px}
.text-link:hover{gap:12px}
.site-header,.page-template-page-learning .site-header{height:88px;gap:24px}
.site-header .brand{font-size:22px;gap:12px}
.site-header .brand img{width:44px;height:44px}
.site-header .monogram{font-size:26px;padding-inline-end:14px}
.site-header nav,.page-template-page-learning .site-header nav{font-size:16px;gap:24px}
.site-header nav a{min-height:44px;display:flex;align-items:center;padding-block:9px}
.header-cta{min-height:46px;font-size:15px;gap:10px;padding-inline:18px}
.mobile-contact-link{display:none!important}
.menu-toggle{width:46px;height:46px;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:8px;padding:10px}
.menu-icon-close{display:none}
.menu-toggle[aria-expanded=true] .menu-icon-open{display:none}
.menu-toggle[aria-expanded=true] .menu-icon-close{display:block}
.company .hero,.personal .hero{gap:clamp(32px,4vw,64px);min-height:540px;padding-block:32px 50px}
.company .hero h1,.personal .hero h1{font-size:clamp(36px,4.5vw,68px);line-height:1.5}
.company .hero-lead,.personal .hero-lead{font-size:20px;line-height:1.95;margin-top:24px}
.hero-actions,.personal .hero-actions{gap:22px;margin-top:30px;flex-wrap:wrap}
.company .hero-actions .button{min-width:0}
.company .hero-media img{transform:none}
.rail,.personal .rail{padding-block:36px}
.rail h2,.personal .rail h2{font-size:clamp(26px,2.4vw,34px)}
.rail-items{gap:0;margin-top:22px}
.rail-items a,.personal .rail-items a{font-size:17px;min-height:68px;gap:12px;padding:14px 18px}
.rail-items a>.studio-icon:first-child,.personal .rail-items a>.studio-icon:first-child{width:30px;height:30px;color:var(--accent)}
.rail-items a>.studio-icon:last-child{width:19px;height:19px}
.solutions,.journal{padding-block:var(--space-section)}
.section-heading h2,.process h2{font-size:clamp(28px,3vw,42px);line-height:1.55}
.section-heading>p,.section-intro{font-size:19px;line-height:1.95;max-width:820px}
.product-row,.personal .product-row,.company .product-row{gap:28px;padding-block:30px;min-height:0}
.product-number,.personal .product-number{align-self:start;transform:none;margin-top:8px;font-size:23px}
.company .product-copy h2,.company .product-copy h3,.personal .product-copy h2,.personal .product-copy h3{font-size:clamp(25px,2.4vw,34px);line-height:1.65;margin-bottom:12px}
.company .product-copy p,.personal .product-copy p{font-size:19px;line-height:1.95;max-width:620px;margin-bottom:16px}
.product-copy .text-link{font-size:17px}
.process{padding-block:var(--space-section)}
.process-steps{margin-top:40px;gap:30px}
.process-steps h3{font-size:24px;line-height:1.6;margin-bottom:12px}
.process-steps p{font-size:18px;line-height:1.9}
.process-steps .studio-icon{width:34px;height:34px;margin-bottom:18px;stroke-width:1.8}
.process-number{font-size:25px;margin-bottom:14px}
.feature h3,.personal .feature h3{font-size:28px;line-height:1.7}
.feature p{font-size:18px;line-height:1.95}
.article-row h3,.personal .article-row h3{font-size:22px;line-height:1.75;margin-bottom:10px}
.article-row time,.feature time,.archive-row time{font-size:15px}
.cta{min-height:280px;padding-block:64px;gap:32px}
.cta h2{font-size:clamp(29px,3vw,42px);line-height:1.6}
.cta p{font-size:19px;margin-top:16px}
.cta .button{font-size:18px;min-height:54px;padding-inline:24px}
.footer-main{gap:48px;padding-bottom:30px}
.footer-main p,.footer-main nav,.social-links{font-size:17px;line-height:1.9}
.footer-main nav,.social-links{gap:6px}
.footer-main nav a,.social-links a{min-height:44px;display:flex;align-items:center;gap:10px}
.social-links .studio-icon{width:19px;height:19px;color:var(--accent)}
.footer-bottom{font-size:14px;padding-block:18px}
.footer-bottom a{min-height:32px;display:inline-flex;align-items:center}
.page-title{padding-block:32px 36px}
.page-title h1{font-size:clamp(30px,3.2vw,46px);line-height:1.65}
.page-title>p{font-size:19px;line-height:1.95;max-width:900px;margin-top:16px}
.breadcrumb{align-items:center;font-size:15px;margin-bottom:18px;gap:10px}
.breadcrumb a{min-height:32px;display:inline-flex;align-items:center;gap:6px}
.breadcrumb .studio-icon{width:17px;height:17px}
.prose{font-size:19px;line-height:2;max-width:800px}
.prose p{color:var(--ink);margin-bottom:22px}
.prose h2{font-size:clamp(25px,2.3vw,31px);line-height:1.7;margin:36px 0 16px;scroll-margin-top:28px}
.prose h3{font-size:23px;line-height:1.75;scroll-margin-top:28px}
.editorial-page .page-title h1{font-size:clamp(30px,3.2vw,44px);max-width:1000px;line-height:1.65}
.editorial-page .page-title>p{font-size:19px;max-width:900px}
.article-meta{font-size:15px;line-height:1.8;margin-top:18px;gap:10px 18px}
.article-meta span,.article-meta time{display:inline-flex;align-items:center;gap:7px}
.article-meta .studio-icon{width:17px;height:17px}
.article-meta>span+time,.article-meta>time+span{padding-inline-start:18px}
.article-cover figcaption,.studio-article-figure figcaption,.academy-course-lead figcaption{font-size:15px;line-height:1.85;max-width:780px;margin-inline:auto}
.editorial-page .article-cover{max-width:860px}
.article-layout{gap:48px;margin-top:40px;grid-template-columns:minmax(0,800px) 230px}
.toc h2{font-size:19px;margin-bottom:12px;display:flex;align-items:center;gap:9px}
.toc a{font-size:16px;line-height:1.85;padding:8px 10px;margin:0;border-inline-start:2px solid transparent;border-radius:4px}
.toc a:hover,.toc a[aria-current]{background:var(--soft);color:var(--accent);border-inline-start-color:var(--accent)}
.toc a.toc-subheading{padding-inline-start:20px;font-size:15px}
.mobile-toc{display:none}
.code-block{margin-block:26px;min-width:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--soft)}
.code-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;direction:rtl;border-bottom:1px solid var(--border);background:var(--soft);font-family:Vazir,Tahoma,sans-serif;font-size:14px}
.code-tools>span{color:var(--muted)}
.copy-code{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--paper);color:var(--ink);font:500 15px/1.6 Vazir,Tahoma,sans-serif;cursor:pointer}
.copy-code:hover{border-color:var(--accent);color:var(--accent)}
.copy-code .studio-icon{width:18px;height:18px}
.prose .code-block pre{margin:0;padding:20px;border:0;border-radius:0;font-size:15px;line-height:1.8;overflow-x:auto;white-space:pre;tab-size:4;background:var(--soft)}
.prose .code-block pre code{font-size:inherit}
.contact-details>a{min-height:44px;gap:14px}
.contact-details>a .studio-icon{width:23px;height:23px;padding:0;background:none;border-radius:0}
.contact-form{gap:20px;box-shadow:none}
.contact-form .consent{font-size:15px;line-height:1.9;min-height:44px;padding-block:6px}
.contact-form .consent input{width:20px;height:20px;min-height:20px}
.contact-form label{font-size:17px}
.search-form{max-width:800px}
.search-form .button{white-space:nowrap;gap:10px;min-height:52px}
.archive-row h2{font-size:27px;line-height:1.7}
.topics a{padding-block:7px;min-height:38px;display:block}
.archive-layout{padding-bottom:55px}
.empty-state h1{font-size:clamp(30px,3vw,44px)}
.empty-state .search-form{margin-bottom:25px}
.academy-heading h1{font-size:clamp(30px,3.2vw,46px)}
.academy-heading>p{font-size:19px;max-width:850px;margin-inline:auto;line-height:1.95}
.academy-row{gap:36px;padding-block:28px}
.academy-row h2{font-size:27px;line-height:1.65}
.academy-row-image img{aspect-ratio:3/2;object-fit:contain;border-radius:10px}
.academy-row-actions{align-items:flex-start;flex-direction:column;gap:12px;margin-top:18px}
.academy-downloads{gap:10px}
.academy-downloads .button{min-height:46px;font-size:16px;padding:10px 14px;gap:8px;border-radius:7px}
.academy-downloads .studio-icon{width:19px;height:19px}
.academy-path h2{font-size:23px;line-height:1.65}
.academy-path img{aspect-ratio:3/2;object-fit:contain}
.academy-path .text-link{min-height:44px}
.academy-latest .article-row-text>p{font-size:17px;line-height:1.95}
.academy-latest.wrap{max-width:1200px}
.academy-latest .article-row-text>time{font-size:15px}
.academy-latest .article-row-image img{aspect-ratio:3/2;object-fit:contain}
@media(max-width:1100px){.site-header .brand{font-size:20px}.site-header nav{gap:17px}.header-cta{padding-inline:14px;font-size:14px}.rail-items a,.personal .rail-items a{padding-inline:10px;font-size:16px}.process-steps h3{font-size:22px}.article-layout{gap:30px}}
@media(max-width:960px){.menu-toggle{display:flex}.site-header nav{top:80px;padding:12px;gap:4px!important}.site-header nav a{padding:10px 14px;min-height:48px;font-size:17px;border-radius:6px}.site-header nav a:hover,.site-header nav a[aria-current]{background:var(--soft);box-shadow:none}.mobile-contact-link{display:flex!important;border-top:1px solid var(--border);margin-top:6px}.article-layout{display:flex;flex-direction:column;gap:24px}.article-body{width:100%}.mobile-toc:not([hidden]){display:block;width:100%;margin:0 0 28px;background:var(--soft);border:1px solid var(--border);border-radius:9px}.mobile-toc summary{display:flex;align-items:center;gap:10px;padding:12px 16px;font:500 17px/1.7 Vazir,Tahoma,sans-serif;cursor:pointer;list-style:none;min-height:52px}.mobile-toc summary::-webkit-details-marker{display:none}.mobile-toc .toc-chevron{margin-inline-start:auto;transition:transform .2s}.mobile-toc[open] .toc-chevron{transform:rotate(180deg)}.mobile-toc nav{padding:0 12px 12px}.mobile-toc a{display:block;font-size:16px;line-height:1.9;padding:9px 10px;border-radius:5px;min-height:44px}.mobile-toc a:hover{background:var(--paper);color:var(--accent)}.process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.cta{min-height:0}}
@media(max-width:760px){body{font-size:18px}.site-header,.page-template-page-learning .site-header{height:76px;gap:14px}.site-header .brand{font-size:18px;gap:9px}.site-header .brand img{width:36px;height:36px}.site-header .monogram{font-size:22px}.site-header nav{top:70px}.company .hero,.personal .hero{gap:28px;min-height:0;padding-block:26px 36px}.company .hero h1,.personal .hero h1{font-size:clamp(34px,8.8vw,46px);line-height:1.6}.company .hero-lead,.personal .hero-lead{font-size:18px;margin-top:18px}.hero-actions,.personal .hero-actions{gap:16px;margin-top:24px}.button,.text-link{font-size:16px}.button{min-height:50px;padding:11px 16px}.personal .hero-actions .button{font-size:16px;padding-inline:16px}.rail-items,.personal .rail-items{grid-template-columns:1fr;gap:0}.rail-items a,.personal .rail-items a{padding:15px 0;border-inline-end:0;border-bottom:1px solid var(--border)!important;min-height:62px;font-size:18px}.rail-items a:last-child{border-bottom:0!important}.rail-items a>.studio-icon:first-child{width:27px;height:27px}.company .product-row,.personal .product-row{grid-template-columns:32px minmax(0,1fr);gap:12px;padding-block:24px}.product-number,.personal .product-number{margin-top:4px;font-size:21px}.company .product-copy h2,.company .product-copy h3,.personal .product-copy h2,.personal .product-copy h3{font-size:25px}.company .product-copy p,.personal .product-copy p{font-size:18px}.product-copy .text-link{font-size:16px}.process-steps h3{font-size:21px}.process-steps p{font-size:17px}.process-steps .studio-icon{width:30px;height:30px}.feature h3,.personal .feature h3{font-size:25px}.article-row h3,.personal .article-row h3{font-size:20px}.cta{padding-block:44px;gap:22px}.cta h2{font-size:30px}.cta p{font-size:18px}.cta .button{font-size:17px;min-height:52px}.footer-main{gap:24px}.footer-main p,.footer-main nav,.social-links{font-size:16px}.footer-bottom{font-size:13px;flex-wrap:wrap}.page-title{padding-block:24px 28px}.page-title h1,.editorial-page .page-title h1{font-size:30px;line-height:1.7}.page-title>p,.editorial-page .page-title>p{font-size:18px}.prose{font-size:18px;line-height:2}.article-meta{font-size:15px;gap:8px 16px}.article-meta>span+time,.article-meta>time+span{padding:0}.article-cover figcaption,.studio-article-figure figcaption,.academy-course-lead figcaption{font-size:15px}.article-layout{margin-top:28px}.prose .code-block pre{font-size:14px;padding:16px}.code-tools{padding:8px 10px;font-size:13px}.contact-form .consent{font-size:15px}.archive-row h2{font-size:24px}.topics{gap:6px 16px}.topics a{display:inline-flex;align-items:center;min-height:44px}.academy-heading h1{font-size:30px}.academy-heading>p{font-size:18px}.academy-row{gap:20px}.academy-row h2{font-size:25px}.academy-row-actions{gap:10px}.academy-downloads .button{font-size:15px;min-height:46px;padding:10px 12px}.academy-latest .article-row{grid-template-columns:1fr 90px;gap:16px}.academy-latest .article-row h3{font-size:19px}.academy-path h2{font-size:23px}.academy-path p{font-size:17px}}
@media(max-width:380px){.search-form>div{flex-wrap:wrap}.search-form .button{width:100%}.process-steps{grid-template-columns:1fr}.academy-downloads{width:100%}.academy-downloads .button{flex:1 1 130px}.article-row{grid-template-columns:1fr 80px;gap:12px}}
