/* ZagSystems website kit — page-level layout only. Primitives come from the design system. */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
.site-header{position:sticky;top:0;z-index:var(--z-header);background:color-mix(in srgb,var(--bg-page) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color var(--dur-base) var(--ease-standard)}
.site-header.is-scrolled{border-bottom-color:var(--border-subtle)}
.site-header__in{display:flex;align-items:center;gap:24px;height:72px}
.site-logo{display:inline-flex;border-radius:6px}
.site-nav{display:flex;gap:2px;margin-inline-start:24px}
.site-nav a{position:relative;display:inline-flex;align-items:center;height:40px;padding:0 12px;border-radius:10px;color:var(--text-secondary);font-size:15px;font-weight:600;text-decoration:none;transition:color var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard)}
.site-nav a:hover{color:var(--text-primary);background:var(--action-ghost-bg-hover);text-decoration:none}
.site-nav a[aria-current="page"]{color:var(--text-primary)}
.site-nav a[aria-current="page"]::after{content:"";position:absolute;inset-inline:12px;bottom:-16px;height:2px;border-radius:2px;background:var(--brand)}
.site-header__end{margin-inline-start:auto;display:flex;align-items:center;gap:6px}
.site-lang{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:0;border-radius:10px;background:none;color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans Arabic','Manrope',sans-serif}
.site-lang[lang="en"]{font-family:'Manrope',sans-serif}
.site-lang:hover{background:var(--action-ghost-bg-hover)}
.site-lang:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.site-menu-btn{display:none!important}
.site-header__end .zs-btn--primary{margin-inline-start:8px}
@media (max-width:1023px){.site-nav,.site-header__end .hide-m{display:none!important}.site-menu-btn{display:inline-flex!important}}
@media (max-width:479px){.site-lang span.lbl{display:none}}
.site-drawer{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--bg-page);display:flex;flex-direction:column;padding:16px var(--grid-margin) 32px;animation:zs-fade var(--dur-base) var(--ease-enter)}
.site-drawer__top{display:flex;align-items:center;justify-content:space-between;height:56px}
.site-drawer nav{display:flex;flex-direction:column;margin-top:24px;border-top:1px solid var(--border-subtle)}
.site-drawer nav a{display:flex;align-items:center;justify-content:space-between;min-height:64px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-size:22px;font-weight:700;letter-spacing:var(--ls-heading);text-decoration:none}
.site-drawer .zs-btn{margin-top:auto}
/* Sections */
.site-section{padding-block:var(--section-y)}
.site-section--tight{padding-top:0}
.site-section--subtle{background:var(--bg-subtle)}
.site-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px var(--grid-gutter);align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.site-head__main{grid-column:1/span 7;display:flex;flex-direction:column;gap:16px}
.site-head__side{grid-column:9/span 4;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.site-head__side p{color:var(--text-secondary);font-size:17px;line-height:1.6}
@media (max-width:1023px){.site-head__main,.site-head__side{grid-column:1/-1}}
/* Hero */
.hero{padding-block:clamp(56px,9vw,120px) clamp(40px,5vw,72px)}
.hero__title{font-size:var(--fs-display-xl);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-display);margin-top:24px;max-width:15ch}
.hero__title span{display:block;color:var(--text-tertiary)}
.hero__lead{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--text-secondary);max-width:58ch;margin-top:28px}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
/* System strip */
.strip{position:relative;margin-top:clamp(56px,7vw,96px);padding:40px 32px 28px;border:1px solid var(--border-default);border-radius:var(--radius-surface);background-color:var(--bg-subtle)}
.strip__row{position:relative;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.strip__row::before{content:"";position:absolute;top:28px;inset-inline:6%;border-top:1.5px dashed var(--trace-color)}
.strip__node{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:default}
.strip__dot{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-md);background:var(--bg-page);border:1px solid var(--border-strong);color:var(--text-primary);transition:border-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard)}
.strip__node:hover .strip__dot,.strip__node.is-on .strip__dot{border-color:var(--brand);color:var(--brand-text)}
.strip__node:hover,.strip__node.is-on{color:var(--text-primary)}
.strip__foot{display:flex;justify-content:space-between;gap:16px;margin-top:28px;padding-top:16px;border-top:1px solid var(--border-subtle)}
@media (max-width:767px){.strip{padding:24px 16px}.strip__row{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:24px}.strip__row::before{display:none}.strip__dot{width:48px;height:48px}.strip__foot{flex-direction:column}}
/* Capability ruled grid */
.capgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border-default)}
.capgrid__cell{display:flex;flex-direction:column;gap:14px;padding:32px 28px 36px;border-bottom:1px solid var(--border-default);border-inline-end:1px solid var(--border-default);color:var(--text-primary);text-decoration:none;transition:background-color var(--dur-base) var(--ease-standard)}
.capgrid__cell:nth-child(3n){border-inline-end:0}
.capgrid__cell:hover{background:var(--bg-subtle);color:var(--text-primary);text-decoration:none}
.capgrid__cell .zs-icon{color:var(--text-primary)}
.capgrid__cell:hover .zs-icon{color:var(--brand-text)}
.capgrid__cell p{color:var(--text-secondary);font-size:15px;line-height:1.6}
@media (max-width:1023px){.capgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.capgrid__cell:nth-child(3n){border-inline-end:1px solid var(--border-default)}.capgrid__cell:nth-child(2n){border-inline-end:0}}
@media (max-width:639px){.capgrid{grid-template-columns:1fr}.capgrid__cell{border-inline-end:0!important;padding:24px 4px}}
/* Process */
.process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gutter)}
.process__step{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:1px solid var(--border-strong)}
.process__step:first-child{border-top-color:var(--brand)}
.process__idx{font-family:var(--font-mono);font-size:13px;color:var(--brand-text)}
.process__step p{color:var(--text-secondary);font-size:15px;line-height:1.6}
@media (max-width:1023px){.process{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}}
@media (max-width:639px){.process{grid-template-columns:1fr}}
/* Media placeholder */
.site-media{position:relative;width:100%;overflow:hidden;border-radius:var(--radius-lg);background:var(--bg-muted);background-image:linear-gradient(var(--blueprint-line) 1px,transparent 1px),linear-gradient(90deg,var(--blueprint-line) 1px,transparent 1px);background-size:24px 24px}
.site-media--xl{border-radius:var(--radius-2xl)}
.site-media__label{position:absolute;inset-inline-start:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:6px 10px;border-radius:8px;background:var(--bg-page);color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;line-height:1.3}
[lang="ar"] .site-media__label{font-family:var(--font-sans);font-size:12px}
/* Work teasers */
.workgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px var(--grid-gutter)}
.teaser{display:flex;flex-direction:column;gap:16px;color:var(--text-primary);text-decoration:none;border-radius:var(--radius-lg)}
.teaser:hover{color:var(--text-primary);text-decoration:none}
.teaser .site-media{transition:filter var(--dur-base) var(--ease-standard)}
.teaser:hover .site-media{filter:brightness(.96)}
.teaser__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.teaser__title{font-size:20px;line-height:1.35;font-weight:700;letter-spacing:-0.01em;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;text-decoration-thickness:1.5px;transition:text-decoration-color var(--dur-fast) var(--ease-standard)}
.teaser:hover .teaser__title{text-decoration-color:currentColor}
.teaser__out{color:var(--text-secondary);font-size:15px;line-height:1.6}
.teaser__sector{font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary)}
[lang="ar"] .teaser__sector{font-family:var(--font-sans);font-size:13px}
@media (max-width:1023px){.workgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.workgrid{grid-template-columns:1fr}}
/* Products */
.prodgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gutter)}
.prodgrid .zs-card{min-height:200px;justify-content:space-between}
.prod__name{font-size:22px;font-weight:700;letter-spacing:-0.015em}
.prod__by{font-size:13px;color:var(--text-tertiary)}
@media (max-width:1023px){.prodgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* CTA band */
.ctaband{position:relative;overflow:hidden;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px var(--grid-gutter);padding:clamp(40px,6vw,80px);border-radius:var(--radius-2xl);background:var(--neutral-900);border:1px solid var(--border-subtle);color:var(--text-primary)}
.ctaband__main{grid-column:1/span 7}
.ctaband__side{grid-column:9/span 4;display:flex;flex-direction:column;justify-content:flex-end;gap:24px}
.ctaband h2{font-size:var(--fs-display-l);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:700}
.ctaband h2 span{display:block;color:var(--text-tertiary)}
.ctaband p{color:var(--text-secondary);font-size:17px;line-height:1.6}
.ctaband__btns{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:1023px){.ctaband__main,.ctaband__side{grid-column:1/-1}}
/* Footer */
.site-footer{margin-top:var(--section-y);border-top:1px solid var(--border-default);padding-block:64px 32px}
.site-footer__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px var(--grid-gutter)}
.site-footer__brand{grid-column:1/span 4;display:flex;flex-direction:column;gap:16px}
.site-footer__brand p{color:var(--text-secondary);font-size:15px}
.site-footer__col{grid-column:span 2;display:flex;flex-direction:column;gap:12px}
.site-footer__col:nth-of-type(2){grid-column:7/span 2}
.site-footer__col h3{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}
[lang="ar"] .site-footer__col h3{font-family:var(--font-sans);letter-spacing:0;font-size:13px;font-weight:600}
.site-footer__col a{color:var(--text-secondary);font-size:15px;text-decoration:none}
.site-footer__col a:hover{color:var(--text-primary);text-decoration:underline}
.site-footer__bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:64px;padding-top:24px;border-top:1px solid var(--border-subtle);font-size:13px;color:var(--text-tertiary)}
.site-footer__bar div{display:flex;gap:20px}
.site-footer__bar a{color:var(--text-tertiary);text-decoration:none}
.site-footer__bar a:hover{color:var(--text-primary)}
@media (max-width:1023px){.site-footer__brand{grid-column:1/-1}.site-footer__col,.site-footer__col:nth-of-type(2){grid-column:span 4}}
@media (max-width:639px){.site-footer__col,.site-footer__col:nth-of-type(2){grid-column:1/-1}}
/* Page header (inner pages) */
.pagehead{padding-block:clamp(40px,6vw,80px) clamp(32px,4vw,56px)}
.pagehead h1{font-size:var(--fs-display-l);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:700;margin-top:28px;max-width:18ch}
.pagehead p{margin-top:20px;font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--text-secondary);max-width:58ch}
/* Capability detail */
.capdetail{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px var(--grid-gutter);padding-top:56px}
.capdetail__main{grid-column:1/span 7;display:flex;flex-direction:column;gap:20px}
.capdetail__side{grid-column:9/span 4;display:flex;flex-direction:column;gap:24px}
.capdetail__main>p{font-size:18px;line-height:1.6;color:var(--text-secondary);max-width:56ch}
.checklist{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border-default)}
.checklist li{display:flex;gap:12px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--border-default);font-weight:500;padding-inline-end:16px}
.checklist .zs-icon{color:var(--brand-text);margin-top:3px}
.taglist{display:flex;flex-wrap:wrap;gap:8px}
.sublabel{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-weight:500}
[lang="ar"] .sublabel{font-family:var(--font-sans);letter-spacing:0;text-transform:none;font-size:13px;font-weight:600}
@media (max-width:1023px){.capdetail__main,.capdetail__side{grid-column:1/-1}}
@media (max-width:639px){.checklist{grid-template-columns:1fr}}
/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px}
/* Case study */
.case__hero{margin-top:48px}
.case__body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px var(--grid-gutter);padding-top:72px}
.case__specs{grid-column:1/span 4;align-self:start;position:sticky;top:96px}
.case__content{grid-column:6/span 7;display:flex;flex-direction:column;gap:56px}
.case__content section{display:flex;flex-direction:column;gap:16px}
.case__content section p{font-size:18px;line-height:1.65;color:var(--text-secondary)}
.spec{border-top:1px solid var(--border-default);margin-top:16px}
.spec div{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--border-subtle)}
.spec dt{font-size:14px;color:var(--text-tertiary)}
.spec dd{margin:0;font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}
.diagram{position:relative;padding:32px 24px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--bg-subtle)}
.diagram__row{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.diagram__row::before{content:"";position:absolute;top:22px;inset-inline:10%;border-top:1.5px dashed var(--sage-500)}
.diagram__node{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font-size:13px;font-weight:600}
.diagram__node span:first-child{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--bg-page);border:1px solid var(--border-strong)}
.diagram__node:nth-child(4) span:first-child{border-color:var(--brand);color:var(--brand-text)}
.diagram__idx{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);font-weight:400}
.outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gutter);border-top:1px solid var(--border-strong);padding-top:24px}
.outcomes b{display:block;font-size:clamp(32px,3.6vw,48px);line-height:1.05;letter-spacing:-0.03em;font-weight:700}
.outcomes span{display:block;margin-top:8px;font-size:14px;color:var(--text-secondary)}
[lang="ar"] .outcomes b{letter-spacing:0;line-height:1.3}
.case__next{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:28px 0;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);color:var(--text-primary);text-decoration:none}
.case__next:hover{color:var(--text-primary);text-decoration:none}
.case__next:hover .zs-icon{color:var(--brand-text)}
@media (max-width:1023px){.case__specs,.case__content{grid-column:1/-1;position:static}}
@media (max-width:639px){.diagram__row{grid-template-columns:1fr;gap:16px}.diagram__row::before{display:none}.diagram__node{flex-direction:row;text-align:start}.outcomes{grid-template-columns:1fr}}
/* Contact */
.contact{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px var(--grid-gutter)}
.contact__form{grid-column:1/span 7;display:flex;flex-direction:column;gap:24px}
.contact__row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact__side{grid-column:9/span 4;align-self:start;position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.contact__success{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:40px;border:1px solid var(--success-border);border-radius:var(--radius-xl);background:var(--success-bg)}
.contact__success .zs-icon{color:var(--success-fg)}
@media (max-width:1023px){.contact__form,.contact__side{grid-column:1/-1;position:static}}
@media (max-width:639px){.contact__row{grid-template-columns:1fr}}
.toast-region{position:fixed;bottom:24px;inset-inline-end:24px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:12px;max-width:calc(100% - 48px)}
