@font-face{font-family:vazirmatn;src:url(../media/Vazirmatn_Variable-s.p.3knf6dhh8xxk6.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:vazirmatn Fallback;src:local(Arial);ascent-override:101.52%;descent-override:53.18%;line-gap-override:0.0%;size-adjust:101.0%}.vazirmatn_8e43da70-module__i9B8tW__className{font-family:vazirmatn,vazirmatn Fallback,IRANSans,Tahoma,Arial,sans-serif}.vazirmatn_8e43da70-module__i9B8tW__variable{--font-vazirmatn:"vazirmatn", "vazirmatn Fallback", IRANSans, Tahoma, Arial, sans-serif}
:root{--blue-50:#eff8fd;--blue-100:#d7eefb;--blue-200:#ade0f7;--blue-300:#74cbf0;--blue-400:#2ba9e7;--blue-500:#1a8cc9;--blue-600:#1170a3;--blue-700:#0e5b85;--blue-800:#0d4a6b;--blue-900:#0e3d58;--ink-50:#f5f8fa;--ink-100:#eaf0f4;--ink-200:#dce5eb;--ink-300:#b9c9d3;--ink-400:#8b9dab;--ink-500:#5c6873;--ink-600:#4a5967;--ink-700:#35424f;--ink-800:#212c38;--ink-900:#17202a;--ink-950:#0b1520;--green-50:#e8f7ed;--green-700:#1c6b39;--green-300:#7fd8a0;--red-50:#fff0f0;--red-700:#a33232;--red-300:#f2a1a1;--amber-50:#fff8e6;--amber-700:#8a5a00;--color-bg:#fff;--color-surface:var(--ink-50);--color-surface-raised:#fff;--color-surface-inverse:var(--ink-900);--color-border:var(--ink-200);--color-border-strong:var(--ink-300);--color-text:var(--ink-900);--color-text-muted:var(--ink-500);--color-text-inverse:#fff;--color-text-inverse-muted:#c3d0d9;--color-accent:var(--blue-400);--color-accent-strong:var(--blue-600);--color-accent-text:var(--blue-700);--color-accent-soft:var(--blue-50);--color-accent-line:var(--blue-200);--color-on-accent:#fff;--color-success-bg:var(--green-50);--color-success-text:var(--green-700);--color-error-bg:var(--red-50);--color-error-text:var(--red-700);--color-notice-bg:var(--amber-50);--color-notice-text:var(--amber-700);--color-focus-ring:color-mix(in srgb, var(--blue-500) 45%, transparent);--color-overlay:color-mix(in srgb, var(--ink-950) 55%, transparent);--shadow-sm:0 1px 2px color-mix(in srgb, var(--ink-900) 6%, transparent);--shadow-md:0 6px 16px color-mix(in srgb, var(--ink-900) 8%, transparent);--shadow-lg:0 18px 45px color-mix(in srgb, var(--ink-900) 12%, transparent);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--space-11:6rem;--font-sans:var(--font-vazirmatn), "IRANSans", Tahoma, Arial, sans-serif;--text-xs:.78rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.0625rem;--text-lg:clamp(1.05rem, .99rem + .3vw, 1.2rem);--text-xl:clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--text-2xl:clamp(1.5rem, 1.3rem + 1vw, 2rem);--text-3xl:clamp(1.8rem, 1.45rem + 1.7vw, 2.85rem);--text-4xl:clamp(2.1rem, 1.5rem + 2.9vw, 4rem);--leading-tight:1.4;--leading-snug:1.6;--leading-normal:1.85;--leading-relaxed:2.05;--tracking-eyebrow:.06em;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-pill:999px;--dur-fast:.12s;--dur-base:.22s;--ease-out:cubic-bezier(.22, .61, .36, 1);--content-width:1180px;--content-narrow:820px;--gutter:1.5rem;--header-height:76px;--page-inline:max(var(--gutter), calc((100% - var(--content-width)) / 2));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:var(--ink-950);--color-surface:#101c28;--color-surface-raised:var(--ink-800);--color-surface-inverse:var(--ink-100);--color-border:#24333f;--color-border-strong:#38495a;--color-text:#eef4f8;--color-text-muted:#a3b4c1;--color-text-inverse:var(--ink-950);--color-text-inverse-muted:#3d4c5a;--color-accent:var(--blue-400);--color-accent-strong:var(--blue-300);--color-accent-text:var(--blue-300);--color-accent-soft:#10293a;--color-accent-line:#1d4560;--color-on-accent:var(--ink-950);--color-success-bg:#10301d;--color-success-text:var(--green-300);--color-error-bg:#331617;--color-error-text:var(--red-300);--color-notice-bg:#2e2410;--color-notice-text:#e2b765;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 16px #0007;--shadow-lg:0 18px 45px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--color-bg:var(--ink-950);--color-surface:#101c28;--color-surface-raised:var(--ink-800);--color-surface-inverse:var(--ink-100);--color-border:#24333f;--color-border-strong:#38495a;--color-text:#eef4f8;--color-text-muted:#a3b4c1;--color-text-inverse:var(--ink-950);--color-text-inverse-muted:#3d4c5a;--color-accent-strong:var(--blue-300);--color-accent-text:var(--blue-300);--color-accent-soft:#10293a;--color-accent-line:#1d4560;--color-on-accent:var(--ink-950);--color-success-bg:#10301d;--color-success-text:var(--green-300);--color-error-bg:#331617;--color-error-text:var(--red-300);--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 16px #0007;--shadow-lg:0 18px 45px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--brand:var(--color-accent);--brand-deep:var(--color-accent-strong);--ink:var(--color-text);--muted:var(--color-text-muted);--surface:var(--color-surface);--line:var(--color-border);--white:var(--color-bg)}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-4))}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);font-feature-settings:"ss01";text-rendering:optimizelegibility;min-height:100dvh;margin:0}h1,h2,h3,h4{color:var(--color-text);font-weight:800;line-height:var(--leading-tight);text-wrap:balance;margin:0}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-xl)}p{margin:0 0 var(--space-4);text-wrap:pretty}p:last-child{margin-bottom:0}dl,dd,dt,figure,ol,ul{margin:0;padding:0}a{color:inherit;text-decoration:none}img,svg,video{max-width:100%;display:block}hr{border:0;border-top:1px solid var(--color-border);margin:var(--space-6) 0}button,input,select,textarea{font:inherit}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{border-radius:var(--radius-sm);outline:3px solid var(--color-focus-ring);outline-offset:2px}::selection{background:var(--color-accent-line);color:var(--color-text)}.skip-link{background:var(--color-surface-inverse);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);inset-inline-start:var(--space-4);transition:top var(--dur-base) var(--ease-out);z-index:60;font-weight:700;position:fixed;top:-6rem}.skip-link:focus{top:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.site-header,.site-footer,.mobile-action-bar,.skip-link{display:none!important}}
.container{max-width:var(--content-width);padding-inline:var(--gutter);width:100%;margin-inline:auto}.container-narrow{max-width:var(--content-narrow)}.section{padding-block:var(--space-11)}.section-tight{padding-block:var(--space-9)}.band{background:var(--color-surface);border-block:1px solid var(--color-border)}.section-heading{margin-bottom:var(--space-6);max-width:46rem}.section-heading-row{align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;justify-content:space-between;max-width:none;display:flex}.eyebrow{color:var(--color-accent-text);font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);margin:0 0 var(--space-2);font-weight:800}.lead{color:var(--color-text-muted);font-size:var(--text-lg);max-width:42rem}.site-header{-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);background:color-mix(in srgb, var(--color-bg) 88%, transparent);border-bottom:1px solid var(--color-border);z-index:40;position:sticky;top:0}.site-header-inner{align-items:center;gap:var(--space-5);min-height:var(--header-height);justify-content:space-between;display:flex}.brand{align-items:center;gap:var(--space-3);flex-shrink:0;display:inline-flex}.brand img{object-fit:contain;width:auto;height:40px}.brand-name{color:var(--color-accent-text);font-size:var(--text-lg);white-space:nowrap;font-weight:800;line-height:1.2}.brand-name span{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:.15rem;font-weight:500;display:block}.site-nav{gap:var(--space-1);display:flex}.site-nav a{border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);white-space:nowrap;font-weight:600}.site-nav a:hover,.site-nav a[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent-text)}.header-actions{align-items:center;gap:var(--space-3);display:flex}.header-phone{color:var(--color-accent-text);font-variant-numeric:tabular-nums;white-space:nowrap;direction:ltr;font-weight:700}.theme-toggle{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-xs);align-items:center;gap:var(--space-2);min-height:40px;padding-inline:var(--space-3);transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;font-weight:600;display:inline-flex}.theme-toggle:hover{border-color:var(--color-accent);color:var(--color-accent-text)}.theme-toggle-icon{display:inline-flex}.theme-toggle-label{text-align:center;min-width:3.1em;display:inline-block}.nav-toggle{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;align-items:center;gap:var(--space-2);min-height:44px;padding-inline:var(--space-3);background:0 0;display:none}.nav-toggle-bars{gap:3px;width:18px;display:grid}.nav-toggle-bars span{background:currentColor;border-radius:2px;height:2px}.site-footer{background:var(--color-surface);border-top:1px solid var(--color-border);margin-top:var(--space-10);padding-block:var(--space-9) var(--space-5)}.footer-grid{gap:var(--space-7) var(--space-6);margin-bottom:var(--space-7);grid-template-columns:1.6fr 1fr 1.2fr;display:grid}.footer-title{font-size:var(--text-sm);letter-spacing:var(--tracking-eyebrow);margin:0 0 var(--space-3);text-transform:none;font-weight:800}.footer address{color:var(--color-text-muted);font-size:var(--text-sm);font-style:normal;line-height:var(--leading-snug);max-width:32rem}.footer-links{gap:var(--space-2);font-size:var(--text-sm);display:grid}.footer-links a,.footer-contact a{color:var(--color-text-muted);transition:color var(--dur-fast) var(--ease-out)}.footer-links a:hover,.footer-contact a:hover{color:var(--color-accent-text)}.footer-contact{font-size:var(--text-sm);gap:var(--space-2);display:grid}.footer-contact .ltr{font-variant-numeric:tabular-nums;text-align:start;direction:ltr}.footer-social{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.footer-social a{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-xs);align-items:center;gap:var(--space-1);min-height:36px;padding-inline:var(--space-3);transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);font-weight:600;display:inline-flex}.footer-social a:hover{border-color:var(--color-accent);color:var(--color-accent-text)}.footer-bottom{border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);align-items:center;gap:var(--space-3);padding-top:var(--space-5);flex-wrap:wrap;justify-content:space-between;display:flex}.mobile-action-bar{background:color-mix(in srgb, var(--color-bg) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--color-border);gap:var(--space-2);bottom:0;padding:var(--space-2) var(--space-3) max(var(--space-2), env(safe-area-inset-bottom));z-index:45;display:none;position:fixed;inset-inline:0}.mobile-action-bar .button{flex:1}@media (max-width:900px){.site-nav{background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--gutter) var(--space-5);inset-inline:0;box-shadow:var(--shadow-md);flex-direction:column;gap:0;display:none;position:absolute;top:100%}.site-nav[data-open=true]{display:flex}.site-nav a{border-radius:var(--radius-sm);font-size:var(--text-md);padding:var(--space-3)}.nav-toggle{display:inline-flex}.site-header-inner{position:relative}.header-phone,.header-actions .button{display:none}.footer-grid{grid-template-columns:1fr 1fr}.mobile-action-bar{display:flex}body{padding-bottom:4.5rem}}@media (max-width:560px){:root{--gutter:1.15rem}.section{padding-block:var(--space-9)}.brand-name{font-size:var(--text-base)}.theme-toggle-label{display:none}.theme-toggle{padding-inline:var(--space-2)}.footer-grid{grid-template-columns:1fr}.footer-bottom{justify-content:flex-start}}
.button{border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:var(--space-2);min-height:46px;padding:var(--space-2) var(--space-5);text-align:center;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:1px solid #0000;justify-content:center;font-weight:700;display:inline-flex}.button:active{transform:translateY(1px)}.button[disabled]{cursor:not-allowed;opacity:.6}.button.primary{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:var(--color-on-accent)}.button.primary:hover{background:var(--color-accent-text);border-color:var(--color-accent-text)}.button.secondary{border-color:var(--color-border-strong);color:var(--color-accent-text);background:0 0}.button.secondary:hover{background:var(--color-accent-soft);border-color:var(--color-accent)}.button.ghost{color:var(--color-text-muted);background:0 0}.button.ghost:hover{color:var(--color-accent-text)}.button.on-inverse{border-color:color-mix(in srgb, var(--color-text-inverse) 55%, transparent);color:var(--color-text-inverse)}.button.on-inverse:hover{background:color-mix(in srgb, var(--color-text-inverse) 12%, transparent);border-color:var(--color-text-inverse)}.button.small{font-size:var(--text-sm);min-height:38px;padding-inline:var(--space-4)}.button-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.text-link{color:var(--color-accent-text);align-items:center;gap:var(--space-1);font-weight:700;display:inline-flex}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.hero{background:linear-gradient(160deg, var(--color-accent-soft), var(--color-bg) 62%);border-bottom:1px solid var(--color-border);position:relative;overflow:hidden}.card-icon-first{min-height:15rem}.hero-inner{gap:var(--space-8);padding-block:var(--space-11);z-index:1;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);display:grid;position:relative}.hero h1{margin:var(--space-2) 0 var(--space-4)}.hero .lead{font-size:var(--text-lg)}.hero-media{border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);min-height:340px;position:relative;overflow:hidden}.hero-media img{object-fit:cover;width:100%;height:100%}.hero-card{background:color-mix(in srgb, var(--color-surface-raised) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--color-border);gap:var(--space-1);bottom:0;padding:var(--space-5);display:grid;position:absolute;inset-inline:0}.hero-card strong{font-size:var(--text-lg)}.hero-card a{color:var(--color-accent-text);font-variant-numeric:tabular-nums;text-align:start;direction:ltr;font-weight:700}.hero-card small{color:var(--color-text-muted)}.stat-row{border-top:1px solid var(--color-border);gap:var(--space-4);margin-top:var(--space-7);padding-top:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat-value{color:var(--color-accent-text);font-size:var(--text-2xl);font-weight:800;line-height:1.2;display:block}.stat-label{color:var(--color-text-muted);font-size:var(--text-sm)}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));display:grid}.card-grid-3{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr))}.card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}a.card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card:has(a:hover){border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-body{gap:var(--space-2);padding:var(--space-5);flex-direction:column;flex:1;display:flex}.card h3,.card-title{font-size:var(--text-lg);line-height:var(--leading-tight);margin:0}.card p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-snug);margin:0}.card .text-link{padding-top:var(--space-3);margin-top:auto}.card-clamp{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-number{color:var(--color-accent-text);font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:800}.card-media{aspect-ratio:16/10;background:linear-gradient(140deg, var(--color-accent-soft), var(--color-surface));border-bottom:1px solid var(--color-border);position:relative;overflow:hidden}.card-media img{object-fit:cover;height:100%;transition:transform var(--dur-base) var(--ease-out);width:100%}a.card:hover .card-media img{transform:scale(1.03)}.card:has(a:hover) .card-media img{transform:scale(1.03)}.card-media-empty{color:var(--color-accent-line);justify-content:center;align-items:center;height:100%;display:flex}.badge{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-xs);align-items:center;gap:var(--space-1);padding:.2rem var(--space-3);white-space:nowrap;font-weight:600;display:inline-flex}.badge-accent{background:var(--color-accent-soft);border-color:var(--color-accent-line);color:var(--color-accent-text)}.badge-float{background:color-mix(in srgb, var(--color-surface-raised) 92%, transparent);position:absolute;inset-block-start:var(--space-3);inset-inline-start:var(--space-3)}.row-list{border-top:1px solid var(--color-border);display:grid}.row-item{border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-2);transition:background var(--dur-fast) var(--ease-out), padding-inline var(--dur-base) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.row-item:hover{background:var(--color-accent-soft);padding-inline:var(--space-4) var(--space-2)}.row-index{color:var(--color-accent-text);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:800}.row-title{font-size:var(--text-xl);font-weight:700}.row-desc{color:var(--color-text-muted);font-size:var(--text-sm);grid-column:2;margin:0}.row-arrow{color:var(--color-accent-text);font-size:var(--text-xl)}.page-header{background:linear-gradient(170deg, var(--color-accent-soft), var(--color-bg) 70%);border-bottom:1px solid var(--color-border);isolation:isolate;padding-block:var(--space-8) var(--space-9);position:relative;overflow:hidden}.page-header:before{background-image:repeating-linear-gradient(to right, var(--color-accent-line) 0 1px, transparent 1px 88px), repeating-linear-gradient(to bottom, var(--color-accent-line) 0 1px, transparent 1px 88px), repeating-linear-gradient(to right, var(--color-accent-line) 0 1px, transparent 1px 22px), repeating-linear-gradient(to bottom, var(--color-accent-line) 0 1px, transparent 1px 22px);content:"";opacity:.55;pointer-events:none;z-index:-1;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 78%),linear-gradient(270deg,#000 30%,#0000 88%);mask-image:linear-gradient(#000 0%,#0000 78%),linear-gradient(270deg,#000 30%,#0000 88%);-webkit-mask-composite:source-in;mask-composite:intersect}.page-header:after{background:radial-gradient(42rem 18rem at 88% -20%, color-mix(in srgb, var(--color-accent) 22%, transparent), transparent 70%);content:"";pointer-events:none;z-index:-1;position:absolute;inset:0}.page-header h1{font-size:var(--text-3xl);margin:var(--space-2) 0 var(--space-4)}.page-header-rule{background:linear-gradient(to left, var(--color-accent-strong), transparent);block-size:2px;inline-size:min(14rem,40%);margin-bottom:var(--space-4);transform-origin:100%;border-radius:2px;display:block}.breadcrumbs{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-5)}.breadcrumbs ol{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li:after{color:var(--color-border-strong);content:"/";margin-inline-start:var(--space-2)}.breadcrumbs li:last-child:after{content:none}.breadcrumbs a:hover{color:var(--color-accent-text);text-underline-offset:3px;text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--color-text);font-weight:600}.filter-bar{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.filter-bar label{font-size:var(--text-sm);gap:var(--space-2);flex:16rem;font-weight:700;display:grid}.chip-row{gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.chip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-sm);min-height:38px;padding-inline:var(--space-4);transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;font-weight:600;display:inline-flex}a.chip:hover{border-color:var(--color-accent);color:var(--color-accent-text)}.chip[aria-current=true]{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:var(--color-on-accent)}.result-count{color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin-bottom:var(--space-4)}.empty-state{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);gap:var(--space-4);padding:var(--space-9) var(--space-5);text-align:center;justify-items:center;display:grid}.empty-state p{color:var(--color-text-muted);margin:0}.field{font-size:var(--text-sm);gap:var(--space-2);margin-bottom:var(--space-4);font-weight:700;display:grid}.field-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}input,select,textarea{background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);min-height:46px;padding:var(--space-2) var(--space-3);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);width:100%;font-weight:400}textarea{line-height:var(--leading-snug);resize:vertical}input:hover,select:hover,textarea:hover{border-color:var(--color-accent)}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.75}.field-hint,.form-consent{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:400}.contact-form{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.form-message{border-radius:var(--radius-sm);font-size:var(--text-sm);margin-top:var(--space-4);padding:var(--space-3) var(--space-4)}.form-message.success{background:var(--color-success-bg);color:var(--color-success-text)}.form-message.error{background:var(--color-error-bg);color:var(--color-error-text)}.hp-field{width:1px;height:0;position:absolute;inset-inline-start:-9999px;overflow:hidden}.detail-layout{gap:var(--space-8);padding-block:var(--space-8) var(--space-10);grid-template-columns:minmax(0,1fr) 20rem;display:grid}.detail-body p{color:var(--color-text);line-height:var(--leading-relaxed)}.detail-body h2{font-size:var(--text-2xl);margin:var(--space-7) 0 var(--space-4)}.fact-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.fact-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.fact-value{color:var(--color-accent-text);font-size:var(--text-3xl);font-weight:800;line-height:1.1;display:block}.fact-unit{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-3);font-weight:600;display:block}.fact-card p{color:var(--color-text);font-size:var(--text-sm);line-height:var(--leading-snug);margin:0}.services-delivered{background:var(--color-accent-soft);border:1px solid var(--color-accent-line);border-radius:var(--radius-lg);margin-bottom:var(--space-6);padding:var(--space-5) var(--space-6)}.services-delivered h2{font-size:var(--text-lg);margin:0 0 var(--space-4)}.tick-list{gap:var(--space-3);list-style:none;display:grid}.tick-list li{padding-inline-start:var(--space-6);position:relative}.tick-list li:before{color:var(--color-accent-text);content:"✓";font-weight:800;position:absolute;inset-inline-start:0}.notice{background:var(--color-notice-bg);border:1px solid color-mix(in srgb, var(--color-notice-text) 25%, transparent);border-radius:var(--radius-sm);color:var(--color-notice-text);font-size:var(--text-sm);margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4)}.notice a{text-underline-offset:3px;text-decoration:underline}.gallery{margin-bottom:var(--space-7)}.gallery-lead-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:zoom-in;padding:var(--space-3);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.gallery-lead-button img{max-width:100%;height:auto;max-height:26rem;transition:transform var(--dur-base) var(--ease-out);width:auto;margin-inline:auto;display:block}.gallery-lead-button:hover img{transform:scale(1.02)}.gallery-zoom{background:color-mix(in srgb, var(--ink-950) 72%, transparent);border-radius:var(--radius-pill);color:#fff;font-size:var(--text-sm);align-items:center;gap:var(--space-2);opacity:0;padding:var(--space-2) var(--space-4);transition:opacity var(--dur-base) var(--ease-out);font-weight:600;display:inline-flex;position:absolute;inset-block-end:var(--space-4);inset-inline-end:var(--space-4)}.gallery-lead-button:hover .gallery-zoom,.gallery-lead-button:focus-visible .gallery-zoom{opacity:1}.gallery-strip{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));list-style:none;display:grid}.gallery-strip button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:zoom-in;transition:border-color var(--dur-fast) var(--ease-out);width:100%;padding:0;display:block;overflow:hidden}.gallery-strip button:hover{border-color:var(--color-accent)}.gallery-strip img{aspect-ratio:1;background:var(--color-surface);object-fit:contain;width:100%;height:auto;display:block}.gallery-tiles{columns:15rem;column-gap:var(--space-4);list-style:none}.gallery-tiles li{break-inside:avoid;margin-bottom:var(--space-4)}.gallery-tiles button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:zoom-in;padding:var(--space-3);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);width:100%;display:block;position:relative}.gallery-tiles button:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.gallery-tiles img{border-radius:calc(var(--radius-md) - 4px);background:#fff;width:100%;height:auto;display:block}.gallery-tile-label{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center;min-width:1.6rem;padding:.1rem .45rem;font-weight:700;position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2)}@media (max-width:560px){.gallery-tiles{columns:11rem}}.lightbox{color:#fff;max-width:100vw;height:100dvh;max-height:100dvh;padding:var(--space-5);background:0 0;border:0;width:100vw}.lightbox::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:color-mix(in srgb, var(--ink-950) 88%, transparent)}.lightbox-bar{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.lightbox-count{font-size:var(--text-sm);font-variant-numeric:tabular-nums;opacity:.85}.lightbox-close,.lightbox-nav button{border-radius:var(--radius-pill);color:#fff;cursor:pointer;align-items:center;gap:var(--space-2);min-height:44px;padding-inline:var(--space-4);transition:background var(--dur-fast) var(--ease-out);background:#ffffff1f;border:1px solid #ffffff59;font-weight:700;display:inline-flex}.lightbox-close:hover,.lightbox-nav button:hover{background:#fff3}.lightbox-image{border-radius:var(--radius-md);object-fit:contain;background:#fff;max-width:100%;max-height:calc(100dvh - 11rem);margin-inline:auto}.lightbox-nav{gap:var(--space-3);margin-top:var(--space-4);justify-content:center;display:flex}.table-scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-6);overflow-x:auto}.spec-table{border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums;width:max-content;min-width:100%}.spec-table th,.spec-table td{border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);text-align:start}.spec-table th{background:var(--color-surface);white-space:nowrap;font-weight:700}.spec-table tbody tr:last-child td{border-bottom:0}.spec-table tbody tr:hover{background:var(--color-accent-soft)}.detail-aside{align-self:start;gap:var(--space-4);top:calc(var(--header-height) + var(--space-4));display:grid;position:sticky}.aside-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:var(--space-3);padding:var(--space-5);display:grid}.aside-card h2{font-size:var(--text-lg);margin:0}.meta-list{font-size:var(--text-sm);gap:var(--space-3);margin:0;display:grid}.meta-list dt{color:var(--color-text-muted);font-size:var(--text-xs)}.meta-list dd{word-break:break-word;margin:0}.cta-band{background:var(--color-surface-inverse);border-radius:var(--radius-xl);color:var(--color-text-inverse);align-items:center;gap:var(--space-6);padding:var(--space-8);flex-wrap:wrap;justify-content:space-between;display:flex}.cta-band h2{color:var(--color-text-inverse);font-size:var(--text-2xl);max-width:30rem}.cta-band p{color:var(--color-text-inverse-muted);margin:var(--space-3) 0 0;max-width:34rem}.cta-band .eyebrow{color:var(--color-accent)}.not-found{gap:var(--space-4);padding-block:var(--space-11);text-align:center;justify-items:center;display:grid}.not-found h1{font-size:var(--text-3xl)}.not-found p{color:var(--color-text-muted);max-width:34rem}@media (max-width:1024px){.detail-layout{grid-template-columns:minmax(0,1fr)}.detail-aside{position:static}}@media (max-width:900px){.hero-inner{padding-block:var(--space-8);grid-template-columns:minmax(0,1fr)}.hero-media{min-height:260px}}@media (max-width:560px){.stat-row{gap:var(--space-3);grid-template-columns:1fr}.field-row{grid-template-columns:1fr}.row-item{grid-template-columns:auto minmax(0,1fr)}.row-arrow{display:none}.cta-band{padding:var(--space-6)}.button-row .button{width:100%}.contact-form{padding:var(--space-5) var(--space-4)}}
.art-blueprint{color:var(--color-accent);opacity:.16;pointer-events:none;z-index:0;width:min(46rem,68%);position:absolute;inset-block-start:-8%;inset-inline-end:-6%}.art-blueprint-dims{opacity:.9}.systems-split{align-items:center;gap:var(--space-8);grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);display:grid}.systems-art{justify-items:center;gap:var(--space-4);display:grid}.systems-art-caption{color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;max-width:18rem;margin:0}@media (max-width:900px){.systems-split{grid-template-columns:minmax(0,1fr)}.systems-art{order:-1}}.art-layers{color:var(--color-accent-strong);width:100%;max-width:20rem}.art-layer-face{color:var(--color-accent)}.art-service-icon{background:var(--color-accent-soft);border:1px solid var(--color-accent-line);border-radius:var(--radius-md);color:var(--color-accent-text);height:44px;margin-bottom:var(--space-3);transition:background var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);justify-content:center;align-items:center;width:44px;display:inline-flex}.art-service-icon svg{width:22px;height:22px}.card:hover .art-service-icon{background:var(--color-accent-strong);color:var(--color-on-accent);transform:translateY(-2px)}.art-empty{color:var(--color-border-strong);width:6rem}@media (prefers-reduced-motion:no-preference){.art-blueprint-dims path{animation:art-draw-line 1.6s var(--ease-entrance) both;stroke-dasharray:160;stroke-dashoffset:160px}.art-blueprint-dims path:nth-child(2){animation-delay:.12s}.art-blueprint-dims path:nth-child(3){animation-delay:.24s}.art-blueprint-dims path:nth-child(4){animation-delay:.36s}@keyframes art-draw-line{to{stroke-dashoffset:0}}.art-layer{opacity:0;transform:translate(18px)}@supports (animation-timeline:view()){.art-layer{animation:1ms linear both art-layer-in;animation-timeline:view();animation-range:entry calc(12% + var(--i) * 7%) cover calc(30% + var(--i) * 7%)}}@supports not (animation-timeline:view()){.art-layer{animation:art-layer-in .52s var(--ease-entrance) both;animation-delay:calc(var(--i) * .11s)}}@keyframes art-layer-in{to{opacity:1;transform:none}}.art-tick{stroke-dasharray:22;stroke-dashoffset:22px;transition:stroke-dashoffset var(--dur-base) var(--ease-out)}.card:hover .art-tick{stroke-dashoffset:0}.art-draw{animation:art-draw-line 1.4s var(--ease-entrance) both;stroke-dasharray:260;stroke-dashoffset:260px}.art-draw-2{animation-delay:.26s}}@media (prefers-reduced-motion:reduce){.art-tick,.art-draw{stroke-dashoffset:0}}
:root{--motion-rise:18px;--dur-slow:.62s;--ease-entrance:cubic-bezier(.16, .84, .44, 1)}.text-link [aria-hidden=true],.row-arrow{transition:transform var(--dur-base) var(--ease-out);display:inline-block}.text-link:hover [aria-hidden=true],.card:hover .text-link [aria-hidden=true],.row-item:hover .row-arrow{transform:translate(-4px)}.text-link{transition:background-size var(--dur-base) var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:100% 100%;background-repeat:no-repeat;background-size:0% 1.5px}.text-link:hover{background-size:100% 1.5px;text-decoration:none}.button{will-change:transform}.button.primary:hover{box-shadow:0 4px 14px color-mix(in srgb, var(--color-accent-strong) 35%, transparent)}.chip{transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}a.chip:hover{transform:translateY(-1px)}.badge-accent{transition:transform var(--dur-base) var(--ease-out)}.card:hover .badge-float{transform:translateY(-2px)}.site-nav a{position:relative}.site-nav a:after{background:var(--color-accent-strong);content:"";block-size:2px;transition:inset var(--dur-base) var(--ease-out);border-radius:2px;position:absolute;inset-block-end:2px;inset-inline:50%}.site-nav a:hover:after,.site-nav a[aria-current=page]:after{inset-inline:20%}@media (max-width:900px){.site-nav a:after{display:none}}.theme-toggle-icon{transition:transform var(--dur-base) var(--ease-out)}.theme-toggle:hover .theme-toggle-icon{transform:rotate(25deg)}@media (prefers-reduced-motion:no-preference){@keyframes rise-in{0%{opacity:0;transform:translateY(var(--motion-rise))}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.hero-media{animation:rise-in var(--dur-slow) var(--ease-entrance) both}.hero-card{animation:rise-in var(--dur-slow) var(--ease-entrance) .18s both}.lightbox[open]{animation:fade-in var(--dur-base) var(--ease-out)}@keyframes rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes cover-settle{0%{opacity:0;transform:translateY(-6px)}}.page-header-rule{animation:rule-draw .7s var(--ease-entrance) .12s both}.page-header:before{animation:cover-settle .9s var(--ease-out) both}.page-header:after{animation:cover-settle 1.1s var(--ease-out) both}@supports (animation-timeline:view()){.reveal,.card-grid>*,.fact-card,.row-item,.gallery-lead-button,.cta-band,.section-heading{animation:1ms linear both rise-in;animation-timeline:view();animation-range:entry 10% cover 26%}.band .section-heading{animation-range:entry 5% cover 22%}}}@media (prefers-reduced-motion:reduce){*{animation-timeline:none!important}}

