/* Shared semantic foundation. Brand compositions are appended at build time. */
@font-face{font-family:Vazirmatn;src:url('../fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../fonts/Vazirmatn-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--brand-primary:#87c232;--brand-primary-hover:#76ad27;--brand-primary-soft:#f0f7e6;--brand-dark:#222629;--brand-on-dark:#fff;--brand-on-primary:#111;--brand-text:#222629;--brand-muted:#535b60;--brand-border:#d9dedb;--brand-surface:#fff;--brand-background:#f7f9f6;--brand-success:#22603b;--brand-danger:#b22232;--brand-warning:#765400;--brand-secondary:#46525a;--brand-accent:#526c35;--brand-link:#375b18;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius:8px;--container:1240px;--shadow:0 8px 28px #19221b0a;--transition:160ms ease}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-block-start:24px}
body{margin:0;background:var(--brand-surface);color:var(--brand-text);font-family:Vazirmatn,Tahoma,Arial,sans-serif;font-size:16px;line-height:1.9;direction:rtl;text-align:start}
button,input,select,textarea{font:inherit;color:inherit}
button,input,select,textarea,a{touch-action:manipulation}
button{cursor:pointer}
a{color:var(--brand-link);text-underline-offset:5px;overflow-wrap:anywhere}
a:hover{text-decoration-thickness:2px}
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,figure{margin-block-start:0}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.6;overflow-wrap:anywhere}
h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.55;margin-block-end:24px}
h2{font-size:clamp(1.45rem,2.4vw,2rem);margin-block-end:16px}
h3{font-size:1.125rem;margin-block-end:8px}
p{margin-block-end:16px;overflow-wrap:anywhere}
img,video,iframe{max-width:100%}
img{height:auto;vertical-align:middle}
svg{flex-shrink:0}
button:disabled,input:disabled{cursor:not-allowed;opacity:.65}
:focus-visible{outline:3px solid var(--brand-text);outline-offset:4px}
.site-footer :focus-visible,.research-frame :focus-visible,.start-panel :focus-visible{outline-color:var(--brand-primary)}
[hidden]{display:none}
.container{width:min(var(--container),calc(100% - 64px));margin-inline:auto;min-width:0}
.section{padding-block:48px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-block-end:24px}
.section-heading h2{margin:0}
.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:0;line-height:1.8;color:var(--brand-link);margin-block-end:12px}
.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;font-weight:700;max-width:100%}
.icon{width:24px;height:24px;vertical-align:middle}
.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:var(--brand-primary);color:var(--brand-on-primary);border:1px solid transparent;border-radius:var(--radius);padding:10px 22px;min-height:48px;font-size:1rem;font-weight:700;text-decoration:none;text-align:center;line-height:1.65;max-width:100%;overflow-wrap:anywhere;transition:filter var(--transition),transform var(--transition)}
.button:hover{filter:brightness(.95);text-decoration:none}
.button:active{transform:translateY(1px)}
.button-outline{background:transparent;color:var(--brand-text);border-color:var(--brand-border)}
.button-secondary{background:var(--brand-dark);color:var(--brand-on-dark)}
.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--brand-border);border-radius:var(--radius);background:transparent;flex-shrink:0}
.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;z-index:10001;inset-block-start:8px;inset-inline-start:8px;background:#fff;color:#111;padding:12px 20px}
.enhanced-control{display:none}
html[data-enhanced=true] .enhanced-control{display:inline-flex}
.site-header{border-block-end:1px solid var(--brand-border);background:var(--brand-surface);position:relative;z-index:30}
.header-inner{display:flex;align-items:center;gap:24px;min-height:76px}
.brand,.custom-logo-link{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none;color:var(--brand-text);max-width:100%}
.custom-logo{width:auto;max-height:58px;max-width:220px;object-fit:contain}
.brand-image{display:block}
.brand-name{font-weight:700;font-size:1.25rem;line-height:1.5;white-space:nowrap}
.brand-name small{display:block;font-size:.875rem;color:var(--brand-muted);font-weight:400}
.brand-fast .brand-image{position:relative;width:85px;height:54px;overflow:hidden}
.brand-fast .brand-image img{position:absolute;width:322.0126%;height:auto;max-width:none;inset-inline-end:-110.849%;top:-175.615%}
.brand-kanoon .brand-image img{width:225px;height:52px;object-fit:contain}
.desktop-navigation{flex:1;min-width:0}
.menu{margin:0;padding:0;list-style:none}
.desktop-navigation>.menu{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px}
.menu li{position:relative;min-width:0}
.menu a{display:block;padding:8px 4px;min-height:44px;color:inherit;text-decoration:none;line-height:1.7;overflow-wrap:anywhere}
.menu a:hover,.menu .current-menu-item>a{color:var(--brand-link);text-decoration:underline}
.desktop-navigation .menu-item-has-children{padding-inline-end:32px}
.submenu-toggle{position:absolute;inset-inline-end:0;inset-block-start:0;border:0;padding:0;width:32px;min-height:44px;display:flex;align-items:center;justify-content:center;background:none}
.submenu-toggle .icon{width:18px;height:18px}
.menu .sub-menu{list-style:none;margin:0;padding:10px;min-width:220px;max-width:min(310px,calc(100vw - 40px));background:var(--brand-surface);border:1px solid var(--brand-border);color:var(--brand-text);border-radius:var(--radius)}
.desktop-navigation .sub-menu{position:absolute;inset-inline-start:0;inset-block-start:100%;z-index:40;box-shadow:var(--shadow)}
.desktop-navigation .sub-menu .sub-menu{position:static;min-width:0;box-shadow:none;margin-block:4px;border-inline:0;border-radius:0}
.desktop-navigation .sub-menu[data-align=end]{inset-inline-start:auto;inset-inline-end:0}
html:not([data-enhanced]) .desktop-navigation .sub-menu{display:none}
html:not([data-enhanced]) .desktop-navigation li:hover>.sub-menu,html:not([data-enhanced]) .desktop-navigation li:focus-within>.sub-menu{display:block}
.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.header-phone{font-size:.875rem;white-space:nowrap}
.menu-toggle{display:none}
html[data-enhanced=true] .menu-toggle{display:none}
.no-js-tools{padding-block:16px}
.no-js-tools .menu{display:flex;flex-wrap:wrap;gap:12px}
dialog{color:var(--brand-text);background:var(--brand-surface);border:1px solid var(--brand-border);padding:24px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;border-radius:var(--radius)}
dialog::backdrop{background:#17202799}
.dialog-open{overflow:hidden}
.drawer{margin:0;inset-inline-start:0;inset-inline-end:auto;inset-block:0;width:340px;max-width:calc(100vw - 32px);height:100dvh;max-height:100dvh;border-radius:0;padding:24px}
.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-block-end:24px}
.dialog-heading h2{font-size:1.25rem;margin:0}
.drawer .menu{margin-block-end:24px}
.drawer .menu a{padding:10px 4px;border-block-end:1px solid var(--brand-border)}
.drawer .menu-item-has-children>a{padding-inline-end:44px}
.drawer .submenu-toggle{min-width:44px}
.drawer .sub-menu{min-width:0;max-width:100%;border:0;padding-block:4px;padding-inline:16px 0}
.search-dialog{width:600px}
.search-form label{display:block;margin-block-end:10px;font-weight:700}
.search-fields{display:flex;gap:8px}
.search-fields input{flex:1;min-width:0}
.search-fields button{flex-shrink:0}
.hero{padding-block:48px}
.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center}
.hero-description{font-size:1.125rem;color:var(--brand-muted);max-width:640px;line-height:2}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-block:24px}
.hero-note{font-size:.875rem;display:flex;gap:8px;align-items:start;color:var(--brand-muted)}
.hero-note .icon{width:20px;height:20px;margin-block-start:4px}
.start-panel{padding:32px;border:1px solid var(--brand-border);border-radius:var(--radius)}
.panel-top{display:flex;justify-content:space-between;margin-block-end:24px}
.start-steps{list-style:none;padding:0;margin:0 0 24px}
.start-steps li{display:flex;gap:16px;border-block-end:1px solid var(--brand-border);padding-block:16px}
.step-number{color:var(--brand-link);font-weight:700;font-size:1.5rem}
.start-steps h3{margin-block-end:4px}
.start-steps p{font-size:.875rem;margin:0;color:var(--brand-muted)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.content-card{min-width:0;border:1px solid var(--brand-border);border-radius:var(--radius);display:flex;flex-direction:column;background:var(--brand-surface);transition:border-color var(--transition)}
.content-card:hover{border-color:var(--brand-muted)}
.card-image{display:block;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;aspect-ratio:16/10}
.card-image img{width:100%;height:100%;object-fit:cover}
.card-body{display:flex;flex-direction:column;flex:1;padding:24px;min-width:0}
.card-type{font-size:.875rem;color:var(--brand-link);margin-block-end:12px}
.content-card h3{font-size:1.2rem}
.content-card h3 a{color:var(--brand-text);text-decoration:none}
.card-excerpt{color:var(--brand-muted);font-size:1rem}
.card-bottom{margin-block-start:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block-start:12px;font-size:.875rem;color:var(--brand-muted)}
.card-action{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--radius);color:var(--brand-text)}
.category-nav{display:flex;flex-wrap:wrap;gap:8px;margin-block:0 24px}
.category-nav a{padding:8px 14px;border:1px solid var(--brand-border);border-radius:var(--radius);font-size:.875rem;min-height:44px;text-decoration:none;color:var(--brand-text)}
.category-nav a[aria-current]{background:var(--brand-dark);color:var(--brand-on-dark)}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0;list-style:none}
.process-number{font-size:1.7rem;color:var(--brand-link);font-weight:700;display:block;margin-block-end:16px}
.process-grid p{color:var(--brand-muted);margin:0}
.principles{border-block:1px solid var(--brand-border);display:grid;grid-template-columns:1fr 2fr;gap:48px}
.principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.principle-grid p{color:var(--brand-muted);font-size:.9375rem;margin:0}
.empty-state{padding:24px;border-block:1px solid var(--brand-border);display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.empty-state p{margin:0;flex:1;min-width:min(230px,100%)}
.empty-icon{display:flex;color:var(--brand-link)}
.faq{display:grid;grid-template-columns:1fr 2fr;gap:48px}
.faq-items{min-width:0}
.faq details{border-block-end:1px solid var(--brand-border)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;min-height:56px;padding-block:16px;font-weight:700;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq details>div{padding-block:0 16px;color:var(--brand-muted)}
.faq details[open] summary .icon{transform:rotate(45deg)}
.request-section{display:grid;grid-template-columns:1fr 1.7fr;gap:48px;border-block-start:1px solid var(--brand-border);align-items:start}
.request-intro{min-width:0}
.request-intro p{color:var(--brand-muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.field{min-width:0}
.field-wide{grid-column:1/-1}
.field label{display:block;margin-block-end:8px;font-size:.9375rem;font-weight:700}
input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea{display:block;width:100%;min-width:0;min-height:48px;border:1px solid var(--brand-border);border-radius:var(--radius);padding:10px 12px;background:var(--brand-surface);font-size:1rem;line-height:1.7}
select{padding-inline-end:28px;max-width:100%}
textarea{resize:vertical}
input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--brand-link);flex-shrink:0}
input[type=file]{font-size:.875rem;overflow-wrap:anywhere}
input::file-selector-button{background:var(--brand-background);color:var(--brand-text);font:inherit;border:1px solid var(--brand-border);padding:5px 10px;margin-inline-end:12px;border-radius:4px;cursor:pointer}
.form-help{font-size:.875rem;color:var(--brand-muted);margin-block:8px 16px}
.consent-field{margin-block:20px}
.consent-field label{display:flex;gap:12px;align-items:start;cursor:pointer;min-height:44px;font-size:.875rem}
.consent-field input{margin-block-start:5px}
.consent-field a{font-size:.875rem;display:inline-block;min-height:44px}
.field-error{color:var(--brand-danger);font-size:.875rem;margin-block:8px 0}
[aria-invalid=true]{border-color:var(--brand-danger)}
.notice{padding:20px 24px;border:1px solid var(--brand-border);border-inline-start:4px solid var(--brand-success);margin-block-end:24px;border-radius:var(--radius);background:var(--brand-background)}
.notice-error{border-inline-start-color:var(--brand-danger)}
.notice h3{margin-block-end:8px}
.notice ul,.notice p:last-child{margin-block-end:0}
.honeypot{position:absolute;inset-inline-start:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.breadcrumbs{padding-block:20px;font-size:.875rem;color:var(--brand-muted)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.breadcrumbs li+li::before{content:'‹';margin-inline-end:8px}
.breadcrumbs a{color:inherit}
.page-heading{max-width:900px;padding-block:24px 32px}
.page-heading h1{font-size:clamp(1.8rem,3.5vw,3rem);margin-block-end:16px}
.page-heading p{color:var(--brand-muted);font-size:1.125rem}
.reading-layout{display:grid;grid-template-columns:minmax(0,820px) minmax(200px,1fr);gap:48px;align-items:start}
.reading-layout>*{min-width:0}
.prose{font-size:1.0625rem;line-height:2.05;overflow-wrap:anywhere}
.prose>*{max-width:100%}
.prose h2{margin-block:32px 16px}
.prose h3{margin-block:24px 12px}
.prose ul,.prose ol{padding-inline-start:24px}
.prose li{margin-block-end:8px}
.prose blockquote,.wp-block-quote{margin-inline:0;padding:16px 24px;border-inline-start:3px solid var(--brand-primary);background:var(--brand-background)}
.prose blockquote p:last-child{margin-block-end:0}
.prose pre{white-space:pre;overflow:auto;max-width:100%;direction:ltr;text-align:left;background:var(--brand-background);padding:16px;font-size:.875rem}
.prose code{font-size:.9em}
.prose table{border-collapse:collapse;width:100%;font-size:.9375rem}
.prose table:not(.wp-block-table table){display:block;overflow:auto}
.prose th,.prose td{padding:12px;border:1px solid var(--brand-border);text-align:start;min-width:100px}
.prose th{background:var(--brand-background)}
.wp-block-table{overflow:auto}
.wp-block-image,.wp-block-gallery{margin-inline:0}
figcaption,.wp-caption-text{color:var(--brand-muted);font-size:.875rem;text-align:center;line-height:1.8;margin-block-start:8px}
.wp-caption{max-width:100%}
.aligncenter{display:block;margin-inline:auto}
.alignleft{float:left;margin:0 16px 16px 0}
.alignright{float:right;margin:0 0 16px 16px}
.page-content>:not(.alignwide):not(.alignfull){max-width:820px;margin-inline:auto}
.page-content>.alignwide{max-width:1100px;margin-inline:auto}
.page-content>.alignfull{max-width:none;width:100%}
.entry-meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--brand-muted);font-size:.875rem;margin-block-end:24px}
.entry-image{margin-block-end:24px}
.entry-image img{width:100%;height:auto;max-height:600px;object-fit:cover;border-radius:var(--radius)}
.aside-card{padding:24px;background:var(--brand-background);border:1px solid var(--brand-border);border-radius:var(--radius)}
.aside-card h2{font-size:1.25rem}
.aside-card p{font-size:.9375rem;color:var(--brand-muted)}
.aside-card .button{width:100%}
.contact-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:48px}
.contact-links{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:4px 16px}
.contact-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;overflow-wrap:anywhere;max-width:100%}
.contact-links li{min-width:0;max-width:100%}
.pagination{padding-block:32px}
.nav-links{display:flex;flex-wrap:wrap;gap:8px}
.page-numbers{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--brand-border);padding:6px 12px;text-decoration:none;border-radius:var(--radius)}
.page-numbers.current{background:var(--brand-dark);color:var(--brand-on-dark)}
.sitemap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.sitemap-grid ul{padding-inline-start:20px}
.sitemap-grid a{display:inline-flex;min-height:44px;align-items:center}
.comments-area{margin-block:48px}
.comment-list{list-style:none;padding:0}
.comment-list .children{list-style:none;padding-inline-start:24px}
.comment-body{padding-block:20px;border-block-end:1px solid var(--brand-border)}
.comment-meta{font-size:.875rem;margin-block-end:12px}
.comment-author .avatar{border-radius:50%;margin-inline-end:8px}
.comment-content{overflow-wrap:anywhere}
.comment-form label{display:block;margin-block-end:8px}
.comment-form-cookies-consent{display:flex;align-items:start;gap:12px}
.comment-form-cookies-consent label{font-size:.875rem}
.site-footer{padding-block:40px 20px;background:var(--brand-background);border-block-start:1px solid var(--brand-border)}
.footer-grid{display:flex;flex-wrap:wrap;gap:32px;align-items:start}
.footer-grid>*{flex:1 1 180px;min-width:0}
.footer-grid .footer-brand{flex:2 1 260px;max-width:440px}
.footer-grid h2{font-size:1.125rem;margin-block-end:16px}
.footer-grid p{font-size:.9375rem;color:var(--brand-muted)}
.footer-grid .menu a{font-size:.9375rem}
.footer-grid .sub-menu{min-width:0;border:0;padding:0 12px;background:none}
.footer-bottom{border-block-start:1px solid var(--brand-border);margin-block-start:24px;padding-block-start:20px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;font-size:.875rem}
.footer-bottom p{margin:0;margin-inline-end:auto}
.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
.contact-widget{position:fixed;z-index:35;inset-inline-start:20px;inset-block-end:calc(20px + env(safe-area-inset-bottom,0px) + var(--contact-offset,0px))}
.contact-launcher{background:var(--brand-dark);color:var(--brand-on-dark);border:1px solid var(--brand-border);border-radius:var(--radius);min-height:48px;align-items:center;gap:8px;padding:10px 16px}
.contact-panel{position:absolute;inset-inline-start:0;inset-block-end:calc(100% + 8px);width:280px;max-width:calc(100vw - 40px);padding:20px;border:1px solid var(--brand-border);background:var(--brand-surface);border-radius:var(--radius);box-shadow:var(--shadow);max-height:60dvh;overflow:auto}
.contact-panel h2{font-size:1rem}
.contact-panel .contact-links{display:block}
.contact-panel button{background:none;border:0;color:var(--brand-link);padding:0}
@media(min-width:1440px){.container{width:min(var(--container),calc(100% - 96px))}}
@media(max-width:1100px){.header-inner{gap:16px}.header-phone{display:none}.desktop-navigation>.menu{gap:4px}.header-cta{font-size:.875rem;padding-inline:14px}.hero-grid{gap:32px}.principles{grid-template-columns:1fr}.reading-layout{gap:32px;grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:980px){.desktop-navigation{display:none}.header-inner{justify-content:space-between}.header-actions{margin-inline-start:auto}html[data-enhanced=true] .menu-toggle{display:inline-flex}.hero-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faq{grid-template-columns:1fr;gap:16px}.request-section,.contact-layout{grid-template-columns:1fr;gap:24px}.request-intro{max-width:720px}}
@media(max-width:767px){.container{width:calc(100% - 40px)}.section{padding-block:32px}.hero{padding-block:32px}.hero-grid{grid-template-columns:1fr;gap:24px}.hero-description{font-size:1rem}.hero-actions{gap:12px}.hero-note{font-size:.875rem}.start-panel{padding:24px}.section-heading{align-items:start;gap:16px;flex-wrap:wrap}.cards{grid-template-columns:1fr;gap:16px}.principle-grid{grid-template-columns:1fr;gap:20px}.reading-layout{grid-template-columns:1fr;gap:24px}.reading-layout>aside{order:2}.page-heading{padding-block:16px 24px}.page-heading p{font-size:1rem}.footer-grid{gap:24px}.footer-grid>*{flex-basis:calc(50% - 24px)}.footer-grid .footer-brand{max-width:none;flex-basis:100%}.sitemap-grid{grid-template-columns:1fr}.brand-name{font-size:1rem}.custom-logo{max-width:180px}.header-cta{max-width:190px}.prose{font-size:1rem}.alignleft,.alignright{float:none;display:block;margin-inline:auto}.contact-widget{inset-inline-start:12px;inset-block-end:calc(12px + env(safe-area-inset-bottom,0px) + var(--contact-offset,0px))}}
@media(max-width:480px){.container{width:calc(100% - 32px)}.header-inner{gap:8px;min-height:72px}.header-actions{gap:4px}.header-cta{display:none}.brand-fast .brand-image{width:72px;height:46px}.brand-kanoon .brand-image img{width:186px;height:auto}.brand{gap:8px}.form-grid{grid-template-columns:1fr;gap:16px}.process-grid{grid-template-columns:1fr;gap:20px}.process-grid li{display:grid;grid-template-columns:40px 1fr;gap:0 12px}.process-number{grid-row:1/3;margin:0}.process-grid p{grid-column:2}.search-fields{flex-wrap:wrap}.search-fields input{flex-basis:180px}.search-fields .button{flex-grow:1}.footer-grid>*{flex-basis:100%}.card-body{padding:20px}.contact-launcher{width:48px;padding:10px}.contact-launcher span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none;animation:none}}
@media print{.site-header,.site-footer,dialog,.contact-widget,.hero-actions,.enquiry-form{display:none}.container{width:100%;max-width:none}.reading-layout{display:block}.reading-layout>aside{display:none}body{font-size:12pt;background:#fff;color:#000}.prose a{color:#000}}

/* Kanoon Research: institutional, editorial, Persian first.
 * Logo sample: RGB(210, 0, 20). No remote assets or build dependency. */
:root {
  --brand-primary: #d20014;
  --brand-primary-hover: #a70010;
  --brand-primary-soft: #fff1f1;
  --brand-on-primary: #fff;
  --brand-dark: #202422;
  --brand-on-dark: #fff;
  --brand-text: #262a28;
  --brand-muted: #616661;
  --brand-border: #d9dbd5;
  --brand-surface: #fff;
  --brand-background: #f8f7f4;
  --brand-success: #286345;
  --brand-danger: #b11225;
  --brand-link: #b60012;
  --brand-secondary: #4d5650;
  --brand-accent: #b60012;
  --radius: 2px;
  --radius-sm: 2px;
  --radius-lg: 2px;
}
.brand-kanoon { background: var(--brand-background); color: var(--brand-text); font-size: 16px; line-height: 1.95; }
.brand-kanoon .container { width: min(1240px, calc(100% - 64px)); }
.brand-kanoon h1, .brand-kanoon h2, .brand-kanoon h3 { font-weight: 700; line-height: 1.65; }
.brand-kanoon .section { margin-block: 0; padding-block: 48px; }
.brand-kanoon .eyebrow { margin: 0 0 8px; color: var(--brand-primary); font-size: 14px; font-weight: 700; line-height: 1.8; }
.brand-kanoon .section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-block-end: 24px; }
.brand-kanoon .section-heading h2 { margin: 0; font-size: clamp(23px, 2.35vw, 30px); }
.brand-kanoon .text-link { display: inline-flex; align-items: center; justify-content: flex-start; gap: 8px; min-height: 44px; font-weight: 650; color: var(--brand-primary); text-decoration: none; }
.brand-kanoon .text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.brand-kanoon .button { min-height: 48px; border-radius: 2px; padding: 11px 20px; color: var(--brand-on-primary); background: var(--brand-primary); border: 1px solid var(--brand-primary); font-size: 15px; line-height: 1.8; font-weight: 700; box-shadow: none; }
.brand-kanoon .button:hover { background: var(--brand-primary-hover); border-color: var(--brand-primary-hover); transform: none; }
.brand-kanoon .icon-button, .brand-kanoon input, .brand-kanoon textarea, .brand-kanoon select, .brand-kanoon .notice, .brand-kanoon .contact-panel, .brand-kanoon .contact-launcher, .brand-kanoon .empty-state { border-radius: 2px; }
.brand-kanoon .icon-button { min-width: 44px; min-height: 44px; color: var(--brand-dark); }
.brand-kanoon .icon { flex-shrink: 0; }
.brand-kanoon a, .brand-kanoon button, .brand-kanoon input, .brand-kanoon select, .brand-kanoon textarea { -webkit-tap-highlight-color: transparent; }
.brand-kanoon .content-card:hover { transform: none; box-shadow: none; }

/* Compact masthead; menus remain owned by WordPress. */
.brand-kanoon .kanoon-header { position: sticky; inset-block-start: 0; z-index: 50; border-block-start: 3px solid var(--brand-primary); border-block-end: 1px solid var(--brand-border); background: #fff; box-shadow: none; }
.brand-kanoon .header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; padding-block: 10px; }
.brand-kanoon .brand { display: flex; align-items: center; flex-shrink: 0; }
.brand-kanoon .brand-image { width: 225px; height: 52px; }
.brand-kanoon .brand-image img { display: block; width: 225px; height: 52px; object-fit: contain; }
.brand-kanoon .custom-logo-link { display: flex; flex-shrink: 0; max-width: 225px; }
.brand-kanoon .custom-logo { width: auto; max-width: 225px; max-height: 52px; object-fit: contain; }
.brand-kanoon .header-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.brand-kanoon .header-cta { min-height: 44px; padding: 9px 14px; font-size: 14px; }
.brand-kanoon .header-phone { font-size: 14px; }
.brand-kanoon .desktop-navigation { margin-inline: auto; }
.brand-kanoon .desktop-navigation > .menu { gap: 17px; }
.brand-kanoon .desktop-navigation > .menu > li > a { padding-inline: 0; font-size: 14px; font-weight: 600; }
.brand-kanoon .desktop-navigation .sub-menu { border-radius: 2px; border-block-start: 2px solid var(--brand-primary); }
.brand-kanoon .desktop-navigation a[aria-current="page"], .brand-kanoon .desktop-navigation .current-menu-item > a { color: var(--brand-primary); text-decoration: underline; text-underline-offset: 9px; }
.brand-kanoon .menu-toggle, html[data-enhanced=true] .brand-kanoon .menu-toggle { display: none; }

/* A research note is an editorial element, with no invented metrics. */
.kanoon-hero { background: #fff; border-block-end: 1px solid var(--brand-border); }
.kanoon-hero-dateline { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 20px 14px; border-block-end: 1px solid var(--brand-dark); }
.kanoon-hero-dateline .eyebrow { margin: 0; }
.kanoon-hero-dateline > span { color: var(--brand-muted); font-size: 11px; font-weight: 650; letter-spacing: .15em; line-height: 1.5; }
.kanoon-hero-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .85fr); align-items: center; gap: 64px; padding-block: 36px 44px; }
.kanoon-hero-copy h1 { max-width: 750px; margin: 0 0 18px; font-size: clamp(36px, 4.4vw, 58px); line-height: 1.6; letter-spacing: -.025em; }
.kanoon-hero-copy .hero-description { max-width: 640px; margin: 0 0 28px; color: var(--brand-muted); font-size: 18px; line-height: 2; }
.brand-kanoon .hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; margin: 0; }
.kanoon-research-note { align-self: stretch; padding: 22px 28px 16px; background: #f5f4f0; border: 1px solid var(--brand-border); border-block-start: 4px solid var(--brand-primary); }
.kanoon-note-heading { display: flex; align-items: center; gap: 12px; padding-block-end: 16px; }
.kanoon-note-heading > span { display: flex; align-items: center; color: var(--brand-primary); }
.kanoon-note-heading .eyebrow { margin: 0; font-size: 13px; }
.kanoon-research-note h2 { margin: 0 0 18px; font-size: 28px; line-height: 1.7; }
.kanoon-research-note h2 > span { color: var(--brand-primary); }
.kanoon-research-note dl { margin: 0; padding: 0; }
.kanoon-research-note dl > div { display: flex; gap: 14px; border-block-start: 1px solid var(--brand-border); padding-block: 10px; }
.kanoon-research-note dt { color: var(--brand-primary); font-size: 14px; }
.kanoon-research-note dd { margin: 0; font-size: 14px; }
.brand-kanoon .home-editor-content { border-block-end: 1px solid var(--brand-border); }

/* A numbered directory of services; the card treatment differs from articles. */
.brand-kanoon .category-nav { display: flex; flex-wrap: wrap; gap: 4px 20px; padding: 0 0 18px; margin: 0 0 8px; border-block-end: 1px solid var(--brand-border); }
.brand-kanoon .category-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 0; background: transparent; border: 0; border-block-end: 2px solid transparent; border-radius: 0; color: var(--brand-muted); font-size: 15px; }
.brand-kanoon .category-nav a:hover, .brand-kanoon .category-nav a[aria-current="page"] { color: var(--brand-primary); border-block-end-color: var(--brand-primary); }
.kanoon-service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.brand-kanoon .kanoon-service-entry { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 20px; margin: 0; padding: 24px 0; background: transparent; border: 0; border-block-end: 1px solid var(--brand-border); border-radius: 0; box-shadow: none; }
.kanoon-service-mark { padding-block-start: 3px; color: var(--brand-primary); font-size: 29px; font-weight: 350; line-height: 1.7; }
.kanoon-service-mark .icon { width: 28px; height: 28px; }
.brand-kanoon .kanoon-service-entry .card-body { display: flex; flex-direction: column; gap: 0; min-width: 0; padding: 0; }
.brand-kanoon .card-type { color: var(--brand-muted); font-size: 13px; font-weight: 500; margin: 0 0 7px; }
.brand-kanoon .kanoon-service-entry h2, .brand-kanoon .kanoon-service-entry h3 { margin: 0 0 10px; font-size: 21px; }
.brand-kanoon .kanoon-service-entry h2 a, .brand-kanoon .kanoon-service-entry h3 a, .brand-kanoon .kanoon-article-entry h2 a, .brand-kanoon .kanoon-article-entry h3 a { color: var(--brand-dark); text-decoration: none; }
.brand-kanoon .kanoon-service-entry h2 a:hover, .brand-kanoon .kanoon-service-entry h3 a:hover, .brand-kanoon .kanoon-article-entry h2 a:hover, .brand-kanoon .kanoon-article-entry h3 a:hover { color: var(--brand-primary); }
.brand-kanoon .card-excerpt { margin: 0 0 12px; color: var(--brand-muted); line-height: 1.95; font-size: 15px; }
.brand-kanoon .kanoon-read-link { width: fit-content; margin-block-start: auto; font-size: 14px; }
.brand-kanoon .kanoon-read-link .icon { width: 20px; height: 20px; }

/* A margin label and three readable research prompts. */
.brand-kanoon .kanoon-principles { display: grid; grid-template-columns: minmax(170px, .65fr) minmax(0, 2fr); gap: 48px; padding-block-start: 8px; }
.kanoon-section-label { border-inline-start: 3px solid var(--brand-primary); padding-inline-start: 20px; }
.kanoon-section-label h2 { margin: 0; font-size: 25px; }
.kanoon-principle-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.kanoon-principle-list h3 { margin: 0 0 10px; font-size: 17px; }
.kanoon-principle-list p { margin: 0; color: var(--brand-muted); font-size: 15px; line-height: 1.95; }

/* The cooperation sequence creates one deliberate dark interval. */
.kanoon-process-band { padding-block: 36px 40px; background: var(--brand-dark); color: var(--brand-on-dark); border-block-start: 4px solid var(--brand-primary); }
.brand-kanoon .kanoon-process-band .eyebrow { color: #fbc3c8; }
.brand-kanoon .kanoon-process-band h2, .brand-kanoon .kanoon-process-band h3 { color: inherit; }
.kanoon-process-sign .icon { width: 36px; height: 36px; opacity: .75; }
.kanoon-process-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.kanoon-process-list li { padding: 0 24px; border-inline-start: 1px solid #505652; }
.kanoon-process-list li:first-child { padding-inline-start: 0; border-inline-start: 0; }
.brand-kanoon .kanoon-process-list .process-number { display: block; width: auto; height: auto; padding: 0; margin: 0 0 12px; background: transparent; border: 0; border-radius: 0; color: #f5c9cd; font-size: 25px; font-weight: 350; line-height: 1.6; }
.kanoon-process-list h3 { font-size: 18px; margin: 0 0 8px; }
.kanoon-process-list p { font-size: 15px; line-height: 1.9; margin: 0; color: #d2d5d1; }

/* Publication cards: quiet rules, authentic featured images when present. */
.kanoon-article-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.brand-kanoon .kanoon-article-entry { display: flex; flex-direction: column; border: 0; border-block-end: 1px solid var(--brand-border); border-radius: 0; background: transparent; box-shadow: none; }
.brand-kanoon .kanoon-article-entry .card-image { display: block; aspect-ratio: 16 / 9; border-radius: 0; margin: 0; overflow: hidden; }
.brand-kanoon .kanoon-article-entry .card-image img { width: 100%; height: 100%; object-fit: cover; transition: none; }
.brand-kanoon .kanoon-article-entry .card-body { display: flex; flex-direction: column; flex: 1; padding: 16px 0 14px; }
.brand-kanoon .kanoon-article-entry h2, .brand-kanoon .kanoon-article-entry h3 { font-size: 21px; margin: 0 0 12px; }
.kanoon-article-rule { display: flex; align-items: center; justify-content: flex-start; min-height: 54px; border-block-start: 2px solid var(--brand-dark); padding-block-start: 14px; color: var(--brand-primary); }
.kanoon-article-rule .icon { width: 27px; height: 27px; }
.brand-kanoon .faq { display: grid; grid-template-columns: minmax(170px, .65fr) minmax(0, 2fr); gap: 48px; padding-block-start: 8px; }
.brand-kanoon .faq > .section-heading { display: block; margin: 0; border-inline-start: 3px solid var(--brand-primary); padding-inline-start: 20px; }
.brand-kanoon .faq > .section-heading h2 { font-size: 25px; }
.brand-kanoon .faq details { background: transparent; border: 0; border-block-start: 1px solid var(--brand-border); border-radius: 0; margin: 0; padding: 0; }
.brand-kanoon .faq details:last-child { border-block-end: 1px solid var(--brand-border); }
.brand-kanoon .faq summary { min-height: 60px; padding: 15px 0; font-size: 16px; }
.brand-kanoon .faq details > div { padding: 0 0 18px; color: var(--brand-muted); }

/* A written request reads as a document, not a checkout panel. */
.brand-kanoon .kanoon-request { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.5fr); gap: 48px; align-items: start; border-block-start: 3px solid var(--brand-primary); padding-block: 40px 48px; background: transparent; border-radius: 0; }
.brand-kanoon .kanoon-request .request-intro { padding: 0; }
.kanoon-request .request-intro h2 { margin: 0 0 16px; font-size: 32px; line-height: 1.75; }
.kanoon-request .request-intro > p:not(.eyebrow) { margin: 0; color: var(--brand-muted); }
.kanoon-request-note { display: flex; align-items: flex-start; gap: 12px; border-block-start: 1px solid var(--brand-border); border-block-end: 1px solid var(--brand-border); padding-block: 16px; margin-block: 24px; }
.kanoon-request-note > span { color: var(--brand-primary); padding-block-start: 4px; }
.kanoon-request-note p { margin: 0; color: var(--brand-muted); font-size: 14px; }
.kanoon-form-sheet { min-width: 0; padding: 28px; background: #fff; border: 1px solid var(--brand-border); border-block-start: 3px solid var(--brand-dark); }
.brand-kanoon .kanoon-form-sheet .enquiry-form { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.brand-kanoon .form-grid { gap: 20px; }
.brand-kanoon .field label { color: var(--brand-dark); font-size: 14px; font-weight: 600; }
.brand-kanoon input:not([type="checkbox"]):not([type="radio"]), .brand-kanoon textarea, .brand-kanoon select { border: 1px solid #aeb4ad; background: #fff; font-size: 16px; }
.brand-kanoon .form-help { font-size: 13px; line-height: 1.9; }
.brand-kanoon .consent-field { border-block-start: 1px solid var(--brand-border); padding-block-start: 18px; }
.brand-kanoon .empty-state { display: flex; align-items: center; gap: 20px; min-height: 126px; padding: 24px; background: #fff; border: 1px solid var(--brand-border); border-inline-start: 3px solid var(--brand-primary); text-align: start; }
.brand-kanoon .empty-state p { flex: 1; margin: 0; font-size: 16px; }
.brand-kanoon .empty-icon { display: flex; color: var(--brand-primary); background: transparent; border-radius: 0; }
.brand-kanoon .empty-state > .text-link { flex-shrink: 0; }

/* The archive has its own masthead and compact directory rhythm. */
.kanoon-archive, .kanoon-contact-page { padding-block-end: 48px; }
.brand-kanoon .breadcrumbs { padding-block: 20px 14px; margin: 0; font-size: 13px; }
.kanoon-archive-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; border-block-end: 2px solid var(--brand-dark); padding-block: 12px 24px; margin-block-end: 28px; }
.kanoon-archive-heading h1 { margin: 0; font-size: clamp(29px, 3.6vw, 44px); line-height: 1.6; }
.kanoon-archive-intro { max-width: 820px; margin-block: 0 28px; color: var(--brand-muted); }
.kanoon-archive .kanoon-article-list { row-gap: 32px; }
.brand-kanoon .pagination { margin-block-start: 32px; }
.brand-kanoon .page-numbers { border-radius: 0; }
.brand-kanoon .content-layout { gap: 48px; }
.brand-kanoon .entry-header { border-block-end: 2px solid var(--brand-dark); padding-block-end: 24px; }
.brand-kanoon .entry-header h1 { line-height: 1.65; }
.brand-kanoon .entry-content, .brand-kanoon .prose { line-height: 2; }
.brand-kanoon .prose blockquote { border-inline-start: 3px solid var(--brand-primary); background: #fff; border-radius: 0; }
.brand-kanoon .prose h2 { padding-block-start: 8px; }
.brand-kanoon .article-sidebar, .brand-kanoon .service-sidebar, .brand-kanoon .toc { border-radius: 0; box-shadow: none; }
.brand-kanoon .toc { border-block-start: 3px solid var(--brand-primary); background: #fff; }
.brand-kanoon .related { border-block-start: 1px solid var(--brand-border); }
.kanoon-contact-intro { max-width: 840px; }
.kanoon-contact-heading-icon { color: var(--brand-primary); }
.kanoon-contact-heading-icon .icon { width: 42px; height: 42px; }
.brand-kanoon .kanoon-contact-layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 64px; padding-block: 24px 0; align-items: start; }
.kanoon-contact-directory h2 { margin: 0 0 16px; font-size: 28px; }
.kanoon-contact-directory > p:not(.eyebrow) { color: var(--brand-muted); }
.kanoon-directory-detail { border-block-start: 1px solid var(--brand-border); margin-block-start: 24px; padding-block-start: 18px; }
.kanoon-directory-detail h3 { margin: 0 0 8px; font-size: 16px; }
.kanoon-directory-detail p { margin: 0; color: var(--brand-muted); }
.kanoon-form-sheet > h2 { font-size: 24px; margin: 0 0 16px; }

/* A structured directory anchored by a wide research masthead. */
.brand-kanoon .kanoon-footer { margin: 0; padding: 0; background: var(--brand-dark); color: #e5e8e3; border-block-start: 4px solid var(--brand-primary); }
.kanoon-footer-masthead { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 30px; border-block-end: 1px solid #4a504b; }
.brand-kanoon .kanoon-footer .kanoon-footer-masthead .eyebrow { margin: 0 0 6px; color: #c4c9c2; font-size: 13px; }
.brand-kanoon .kanoon-footer h2 { margin: 0; color: #fff; font-size: 27px; }
.kanoon-footer-request { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; padding-block: 8px; border-block-end: 1px solid #bfc5be; color: #fff; font-size: 16px; text-decoration: none; }
.kanoon-footer-request:hover { border-block-end-color: #fff; }
.kanoon-footer-directory { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 36px; padding-block: 30px; }
.brand-kanoon .kanoon-footer h3 { margin: 0 0 14px; color: #fff; font-size: 16px; font-weight: 650; }
.brand-kanoon .kanoon-footer p { color: #c4c9c2; margin: 0; font-size: 14px; line-height: 1.95; }
.kanoon-footer-wordmark { display: block; width: fit-content; margin-block-start: 20px; color: #c4c9c2; font-size: 12px; letter-spacing: .14em; }
.kanoon-footer-directory .menu { margin: 0; padding: 0; list-style: none; }
.kanoon-footer-directory .menu li { margin: 0; }
.kanoon-footer-directory .menu a { display: block; min-height: 38px; padding-block: 5px; font-size: 14px; color: #c4c9c2; }
.kanoon-footer-directory .menu a:hover { color: #fff; }
.kanoon-footer-directory .sub-menu { padding-inline-start: 16px; margin-block: 0; list-style: none; }
.brand-kanoon .kanoon-footer .contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: 0; margin: 0 0 12px; padding: 0; }
.brand-kanoon .kanoon-footer .contact-links a { color: #e5e8e3; font-size: 14px; min-height: 38px; border: 0; padding: 5px 0; background: transparent; border-radius: 0; }
.brand-kanoon .kanoon-footer .text-link { color: #fff; font-size: 14px; }
.brand-kanoon .kanoon-footer .footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0; padding-block: 17px; border-block-start: 1px solid #4a504b; }
.brand-kanoon .kanoon-footer .footer-bottom p, .brand-kanoon .kanoon-footer .footer-bottom a { color: #c4c9c2; font-size: 12px; }
.kanoon-footer .footer-bottom > div { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.kanoon-footer .footer-bottom a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; }
.brand-kanoon .kanoon-footer :focus-visible { outline-color: #fff; }

/* Centered navigation occupies the available mobile height, with native dialog focus. */
.drawer.kanoon-menu-dialog { inset: 0; width: min(760px, calc(100% - 64px)); height: calc(100dvh - 64px); max-width: none; max-height: none; margin: auto; padding: 32px 48px; background: var(--brand-background); color: var(--brand-text); border: 0; border-block-start: 4px solid var(--brand-primary); border-radius: 0; box-shadow: 0 18px 60px #0003; overflow-y: auto; }
.kanoon-menu-dialog[open] { display: flex; flex-direction: column; }
.kanoon-menu-dialog::backdrop, .kanoon-search-dialog::backdrop { background: #151b19b3; }
.brand-kanoon .kanoon-menu-dialog .dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-block-end: 24px; margin-block-end: 8px; border-block-end: 1px solid var(--brand-dark); }
.brand-kanoon .kanoon-menu-dialog .dialog-heading .eyebrow { font-size: 13px; }
.kanoon-menu-dialog .dialog-heading h2 { margin: 0; font-size: 28px; }
.kanoon-menu-dialog .dialog-heading .icon-button { margin-inline-end: -8px; }
.kanoon-mobile-navigation { flex: 1; padding-block: 12px 32px; }
.kanoon-mobile-navigation .menu { display: block; list-style: none; margin: 0; padding: 0; }
.kanoon-mobile-navigation .menu li { position: relative; margin: 0; padding: 0; }
.kanoon-mobile-navigation .menu > li { border-block-end: 1px solid var(--brand-border); }
.kanoon-mobile-navigation .menu > li > a { display: block; padding: 10px 0; padding-inline-end: 50px; color: var(--brand-dark); font-size: 23px; font-weight: 550; text-decoration: none; }
.kanoon-mobile-navigation .menu .sub-menu { position: static; min-width: 0; border: 0; padding: 0 20px 12px; margin: 0; box-shadow: none; background: transparent; list-style: none; }
.kanoon-mobile-navigation .sub-menu a { display: block; padding: 8px 0; padding-inline-end: 44px; font-size: 16px; color: var(--brand-muted); }
.kanoon-mobile-navigation .submenu-toggle { position: absolute; inset-inline-end: 0; inset-block-start: 8px; min-width: 44px; min-height: 44px; border: 0; border-radius: 0; background: transparent; color: var(--brand-primary); }
.kanoon-mobile-navigation .current-menu-item > a { color: var(--brand-primary); }
.kanoon-menu-bottom { border-block-start: 2px solid var(--brand-dark); padding-block-start: 20px; }
.kanoon-menu-bottom .button { display: flex; justify-content: space-between; width: 100%; }
.kanoon-menu-bottom .contact-links { margin-block-end: 0; }
.brand-kanoon .kanoon-search-dialog { width: min(700px, calc(100% - 32px)); border: 0; border-block-start: 4px solid var(--brand-primary); border-radius: 0; background: #fff; padding: 32px; }
.kanoon-search-dialog .dialog-heading { align-items: flex-start; gap: 20px; border-block-end: 1px solid var(--brand-border); padding-block-end: 20px; margin-block-end: 24px; }
.kanoon-search-dialog h2 { font-size: 27px; margin: 0; }
.brand-kanoon .contact-launcher { border: 1px solid var(--brand-primary); box-shadow: 0 4px 18px #20242226; font-size: 14px; }
.brand-kanoon .contact-panel { border-block-start: 3px solid var(--brand-primary); box-shadow: 0 8px 32px #20242226; }

@media (max-width: 1199px) {
  .brand-kanoon .desktop-navigation { display: none; }
  html[data-enhanced=true] .brand-kanoon .menu-toggle { display: inline-flex; }
  .brand-kanoon .header-inner { gap: 16px; }
  .kanoon-hero-layout { gap: 36px; grid-template-columns: minmax(0, 1.3fr) minmax(300px, 1fr); }
  .kanoon-hero-copy h1 { font-size: 45px; }
  .kanoon-hero-copy .hero-description { font-size: 17px; }
  .brand-kanoon .kanoon-principles, .brand-kanoon .faq { grid-template-columns: minmax(170px, .65fr) minmax(0, 2fr); gap: 32px; }
  .kanoon-principle-list { gap: 20px; }
  .kanoon-principle-list h3 { font-size: 16px; }
  .kanoon-service-list { column-gap: 32px; }
  .brand-kanoon .kanoon-request { gap: 32px; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); }
  .kanoon-request .request-intro h2 { font-size: 28px; }
  .kanoon-form-sheet { padding: 24px; }
  .kanoon-footer-directory { gap: 24px; }
}
@media (max-width: 1023px) {
  .brand-kanoon .container { width: min(1240px, calc(100% - 48px)); }
  .kanoon-hero-layout { grid-template-columns: minmax(0, 1.25fr) minmax(270px, 1fr); gap: 24px; padding-block: 28px 32px; }
  .kanoon-hero-copy h1 { font-size: 37px; }
  .kanoon-research-note { padding: 20px; }
  .kanoon-research-note h2 { font-size: 25px; }
  .brand-kanoon .hero-actions { gap: 8px 20px; }
  .brand-kanoon .section { padding-block: 36px; }
  .brand-kanoon .kanoon-principles { grid-template-columns: 1fr; gap: 24px; padding-block-start: 8px; }
  .kanoon-section-label h2 { font-size: 24px; }
  .kanoon-principle-list { gap: 24px; }
  .kanoon-process-list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
  .kanoon-process-list li:nth-child(3) { padding-inline-start: 0; border-inline-start: 0; }
  .kanoon-article-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .kanoon-article-list .kanoon-article-entry:last-child:nth-child(3) { grid-column: 1 / -1; }
  .brand-kanoon .faq { gap: 24px; padding-block-start: 8px; }
  .brand-kanoon .kanoon-request { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 24px; padding-block: 32px 36px; }
  .kanoon-form-sheet { padding: 20px; }
  .brand-kanoon .kanoon-form-sheet .form-grid { grid-template-columns: 1fr; gap: 16px; }
  .brand-kanoon .empty-state { flex-wrap: wrap; gap: 12px 16px; }
  .brand-kanoon .empty-state p { flex: 1; min-width: min(240px, 100%); }
  .brand-kanoon .empty-state > .text-link { margin-inline-start: 0; }
  .brand-kanoon .kanoon-contact-layout { gap: 32px; }
  .kanoon-footer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; }
  .kanoon-footer-directory > :last-child:nth-child(2) { grid-column: auto; }
}
@media (max-width: 767px) {
  .brand-kanoon { font-size: 16px; }
  .brand-kanoon .container { width: calc(100% - 36px); }
  .brand-kanoon .section { padding-block: 30px; }
  .brand-kanoon .header-inner { min-height: 69px; gap: 10px; padding-block: 8px; }
  .brand-kanoon .brand-image, .brand-kanoon .brand-image img { width: 202px; height: auto; }
  .brand-kanoon .custom-logo { max-width: 202px; max-height: 48px; }
  .brand-kanoon .header-actions { gap: 0; }
  .brand-kanoon .header-cta, .brand-kanoon .header-phone { display: none; }
  .kanoon-hero-dateline { gap: 8px; padding-block: 14px 12px; }
  .kanoon-hero-dateline .eyebrow { font-size: 11px; }
  .kanoon-hero-dateline > span { display: none; }
  .kanoon-hero-layout { grid-template-columns: 1fr; gap: 24px; padding-block: 24px 28px; }
  .kanoon-hero-copy h1 { max-width: 540px; margin-block-end: 14px; font-size: clamp(33px, 7vw, 43px); line-height: 1.65; }
  .kanoon-hero-copy .hero-description { margin-block-end: 20px; font-size: 16px; }
  .brand-kanoon .hero-actions { align-items: flex-start; gap: 8px 20px; }
  .kanoon-research-note { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 12px 24px; padding: 18px 20px; }
  .kanoon-note-heading { grid-column: 1 / -1; padding-block-end: 0; }
  .kanoon-research-note h2 { font-size: 23px; margin: 0; }
  .kanoon-research-note dl > div { gap: 10px; padding-block: 8px; }
  .kanoon-research-note dd { font-size: 13px; }
  .kanoon-research-note dt { font-size: 12px; }
  .brand-kanoon .section-heading { align-items: flex-start; gap: 12px; flex-direction: column; margin-block-end: 16px; }
  .brand-kanoon .section-heading h2 { font-size: 24px; }
  .brand-kanoon .section-heading > .text-link { font-size: 14px; }
  .brand-kanoon .category-nav { gap: 4px 16px; padding-block-end: 12px; }
  .kanoon-service-list { grid-template-columns: 1fr; }
  .brand-kanoon .kanoon-service-entry { grid-template-columns: 35px minmax(0, 1fr); gap: 16px; padding-block: 20px; }
  .kanoon-service-mark { font-size: 25px; }
  .brand-kanoon .kanoon-service-entry h2, .brand-kanoon .kanoon-service-entry h3 { font-size: 20px; }
  .brand-kanoon .kanoon-principles { padding-block-start: 4px; gap: 20px; }
  .kanoon-principle-list { grid-template-columns: 1fr; gap: 18px; }
  .kanoon-principle-list > div { padding-block-end: 18px; border-block-end: 1px solid var(--brand-border); }
  .kanoon-principle-list > div:last-child { border-block-end: 0; padding-block-end: 0; }
  .kanoon-principle-list h3 { font-size: 17px; margin-block-end: 6px; }
  .kanoon-section-label h2 { font-size: 23px; }
  .kanoon-process-band { padding-block: 26px 30px; }
  .brand-kanoon .kanoon-process-band .section-heading { flex-direction: row; margin-block-end: 24px; }
  .kanoon-process-sign { display: none; }
  .kanoon-process-list { gap: 24px 20px; }
  .kanoon-process-list li, .kanoon-process-list li:first-child, .kanoon-process-list li:nth-child(3) { padding: 0; border-inline-start: 0; border-block-start: 1px solid #505652; padding-block-start: 16px; }
  .brand-kanoon .kanoon-process-list .process-number { font-size: 23px; margin-block-end: 8px; }
  .kanoon-process-list h3 { font-size: 17px; }
  .kanoon-process-list p { font-size: 14px; }
  .kanoon-article-list { grid-template-columns: 1fr; gap: 24px; }
  .kanoon-article-list .kanoon-article-entry:last-child:nth-child(3) { grid-column: auto; }
  .brand-kanoon .kanoon-article-entry h2, .brand-kanoon .kanoon-article-entry h3 { font-size: 21px; }
  .brand-kanoon .faq { grid-template-columns: 1fr; gap: 20px; padding-block-start: 4px; }
  .brand-kanoon .faq > .section-heading h2 { font-size: 23px; }
  .brand-kanoon .faq summary { font-size: 15px; }
  .brand-kanoon .kanoon-request { grid-template-columns: 1fr; gap: 24px; padding-block: 26px 30px; }
  .kanoon-request .request-intro h2 { max-width: 440px; font-size: 29px; }
  .kanoon-request-note { margin-block: 18px 0; }
  .kanoon-form-sheet { padding: 20px; }
  .brand-kanoon .empty-state { align-items: flex-start; padding: 20px; }
  .brand-kanoon .empty-state p { min-width: 0; flex-basis: calc(100% - 54px); }
  .brand-kanoon .empty-state > .text-link { margin-inline-start: 40px; }
  .kanoon-archive-heading { align-items: flex-start; flex-direction: column; gap: 8px; padding-block: 8px 18px; margin-block-end: 24px; }
  .kanoon-archive-heading h1 { font-size: 31px; }
  .kanoon-archive, .kanoon-contact-page { padding-block-end: 30px; }
  .brand-kanoon .kanoon-contact-layout { grid-template-columns: 1fr; gap: 24px; padding-block-start: 12px; }
  .kanoon-contact-heading-icon { display: none; }
  .kanoon-contact-directory h2 { font-size: 25px; }
  .kanoon-footer-masthead { align-items: flex-start; flex-direction: column; gap: 16px; padding-block: 26px; }
  .brand-kanoon .kanoon-footer h2 { font-size: 23px; }
  .kanoon-footer-request { font-size: 15px; }
  .kanoon-footer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-block: 24px; }
  .kanoon-footer-directory .footer-brand { grid-column: 1 / -1; }
  .kanoon-footer-directory .footer-contact { grid-column: 1 / -1; }
  .kanoon-footer-wordmark { margin-block-start: 14px; }
  .brand-kanoon .kanoon-footer .contact-links { flex-direction: row; flex-wrap: wrap; gap: 4px 20px; }
  .brand-kanoon .kanoon-footer .footer-bottom { flex-direction: column; align-items: flex-start; gap: 6px; padding-block: 16px; }
  .drawer.kanoon-menu-dialog { width: 100%; height: 100dvh; padding: 24px; margin: 0; box-shadow: none; }
  .kanoon-menu-dialog .dialog-heading h2 { font-size: 25px; }
  .kanoon-mobile-navigation .menu > li > a { font-size: 23px; }
  .brand-kanoon .kanoon-search-dialog { padding: 22px; }
  .kanoon-search-dialog h2 { font-size: 22px; }
}
@media (max-width: 379px) {
  .brand-kanoon .container { width: calc(100% - 32px); }
  .brand-kanoon .brand-image, .brand-kanoon .brand-image img { width: 180px; }
  .brand-kanoon .custom-logo { max-width: 180px; }
  .brand-kanoon .header-inner { gap: 8px; }
  .brand-kanoon .button { padding-inline: 16px; font-size: 14px; }
  .kanoon-hero-copy h1 { font-size: 32px; }
  .kanoon-research-note { display: block; padding: 18px; }
  .kanoon-note-heading { padding-block-end: 12px; }
  .kanoon-research-note h2 { font-size: 23px; margin-block-end: 16px; }
  .kanoon-research-note dd { font-size: 14px; }
  .kanoon-form-sheet { padding: 16px; }
  .kanoon-process-list { grid-template-columns: 1fr; gap: 18px; }
  .brand-kanoon .empty-state { gap: 12px; padding: 16px; }
  .brand-kanoon .empty-state > .text-link { margin-inline-start: 0; }
  .drawer.kanoon-menu-dialog { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-kanoon *, .brand-kanoon *::before, .brand-kanoon *::after { scroll-behavior: auto; animation-duration: .01ms; transition-duration: .01ms; }
}
