/* Factory network: route-scoped styles reuse the site's fonts and theme. */
.factory-redesign { --fn-accent:var(--brand-accent); --fn-muted:var(--muted); --fn-surface:var(--glass-strong); background:var(--bg); }
html[data-theme=light] .factory-redesign { --fn-accent:var(--brand-accent); --fn-muted:var(--muted); --fn-surface:#fff; background:var(--bg); }
.factory-redesign .container { width:min(1240px,calc(100% - 80px)); inline-size:min(1240px,calc(100% - 80px)); }
.factory-redesign .site-header { box-shadow:none; }
.factory-redesign .header-inner { min-height:84px; }
.factory-redesign .fn-page { overflow:hidden; }
.fn-page *, .fn-page *::before, .fn-page *::after { box-sizing:border-box; }
.fn-page h1,.fn-page h2,.fn-page h3,.fn-page p,.fn-page figure { margin:0; }
.fn-page p { color:var(--fn-muted); }
.fn-page h2 { font-size:clamp(27px,3vw,39px); line-height:1.5; letter-spacing:-.025em; }
.fn-page a { text-decoration:none; }
.fn-page [hidden] { display:none!important; }
.fn-page svg { flex-shrink:0; }
.fn-page .lucide-arrow-right { transform:rotate(180deg); }
.fn-page .btn { display:inline-flex; gap:12px; align-items:center; justify-content:center; min-height:54px; padding:12px 23px; box-shadow:none; border-radius:7px; font-size:15px; }
.fn-page a:focus-visible,.fn-page summary:focus-visible { outline:3px solid var(--fn-accent); outline-offset:5px; }
.fn-breadcrumb { display:flex; align-items:center; gap:12px; padding-block:24px 30px; font-size:12px; color:var(--fn-muted); }
.fn-breadcrumb a { color:var(--fn-muted); }
.fn-breadcrumb [aria-current] { color:var(--ink); }
.fn-hero { padding-bottom:0; }
.fn-hero-grid { display:grid; grid-template-columns:1.04fr 1fr; align-items:center; gap:64px; padding-bottom:48px; }
.fn-eyebrow { color:var(--fn-accent)!important; font-size:12px; font-weight:700; letter-spacing:.01em; display:flex; align-items:center; gap:9px; margin-bottom:16px!important; }
.fn-eyebrow>span { width:6px; height:6px; background:currentColor; border-radius:50%; }
html[lang=ar] .fn-hero h1 { font-size:clamp(35px,3.9vw,54px); line-height:1.5; font-weight:700; letter-spacing:-.035em; text-wrap:initial; }
.fn-hero h1 em { font-style:normal; color:var(--fn-accent); }
.fn-hero-description { max-width:540px; font-size:16px; line-height:2!important; margin-top:22px!important; }
.fn-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:29px; }
.fn-secondary-link { display:inline-flex; align-items:center; gap:12px; color:var(--ink); font-size:13px; min-height:44px; }
.fn-secondary-link>span { font-size:20px; color:var(--fn-accent); }
.fn-hero-proof { display:flex; gap:8px; align-items:center; color:var(--fn-muted); font-size:11px; margin-top:22px; }
.fn-hero-proof svg { color:var(--fn-accent); width:15px; height:15px; }
.fn-hero-visual { height:444px; position:relative; border-radius:12px; overflow:hidden; background:#132a3a; }
.fn-hero-visual picture,.fn-hero-visual img { display:block; width:100%; height:100%; }
.fn-hero-visual img { object-fit:cover; object-position:62% center; }
.fn-hero-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,19,33,.94),rgba(5,19,33,0) 67%); pointer-events:none; }
.fn-hero-visual figcaption { position:absolute; z-index:1; bottom:30px; right:30px; left:30px; color:#fff; display:grid; gap:8px; }
.fn-photo-label { font-size:11px; color:#a8ecd7; }
.fn-hero-visual strong { color:#fff; font-size:24px; line-height:1.65; font-weight:700; }
.fn-photo-foot { color:#c5d2dd; font-size:9px; letter-spacing:.17em; text-align:right; margin-top:10px; }
.fn-image-note { position:absolute; z-index:1; top:14px; left:14px; color:white; background:#0a1628b3; padding:3px 8px; border-radius:4px; font-size:9px; }
.fn-proof-strip { display:grid; grid-template-columns:repeat(4,1fr); padding:26px 0; border-block:1px solid var(--line); gap:24px; }
.fn-proof-strip>div { display:flex; align-items:center; gap:16px; border-inline-end:1px solid var(--line); padding-inline-end:20px; }
.fn-proof-strip>div:last-child { border:0; padding-inline-end:0; }
.fn-proof-strip strong { color:var(--fn-accent); font-size:34px; line-height:1; font-family:Inter,sans-serif; font-weight:500; }
.fn-proof-strip svg { width:25px; height:25px; color:var(--fn-accent); }
.fn-proof-strip>div>span { font-size:13px; color:var(--ink); line-height:1.8; }
.fn-proof-strip small { color:var(--fn-muted); font-size:10px; }
.fn-proof-strip .fn-languages { font-family:inherit; font-size:14px; white-space:nowrap; }
.fn-section { padding:82px 0; }
.fn-section-top { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:32px; }
.fn-section-top p:not(.fn-eyebrow) { font-size:14px; margin-top:12px; }
.fn-text-link { display:inline-flex; align-items:center; gap:10px; color:var(--fn-accent); font-size:13px; font-weight:700; min-height:44px; }
.fn-text-link:hover { color:var(--ink); }
.fn-explorer { display:grid; grid-template-columns:245px minmax(0,1fr); border:1px solid var(--line); border-radius:10px; background:var(--fn-surface); overflow:hidden; }
.fn-city-nav { padding:12px; border-inline-end:1px solid var(--line); }
.fn-city-link { display:flex; align-items:center; gap:14px; padding:14px 12px; border:1px solid transparent; border-radius:6px; color:var(--fn-muted); margin-bottom:5px; min-height:67px; transition:background .15s; }
.fn-city-link:hover { background:color-mix(in srgb,var(--fn-accent) 6%,transparent); color:var(--ink); }
.fn-city-link[aria-selected=true] { border-color:color-mix(in srgb,var(--fn-accent) 38%,transparent); background:color-mix(in srgb,var(--fn-accent) 9%,transparent); color:var(--ink); }
.fn-city-index { font-size:11px; opacity:.8; direction:ltr; font-family:Inter,sans-serif; }
.fn-city-link>span:nth-child(2) { flex:1; font-weight:700; font-size:15px; }
.fn-city-link small { display:block; font-size:8px; font-weight:400; letter-spacing:.11em; color:var(--fn-muted); text-align:right; }
.fn-city-link>svg { width:15px; height:15px; opacity:0; color:var(--fn-accent); }
.fn-city-link[aria-selected=true]>svg,.fn-city-link:hover>svg { opacity:1; }
.fn-city-help { margin:18px 12px 4px; padding-top:20px; border-top:1px solid var(--line); }
.fn-city-help strong { font-size:12px; }
.fn-city-help p { font-size:11px; margin:6px 0 8px; }
.fn-city-help a { display:inline-flex; align-items:center; gap:8px; font-size:11px; color:var(--fn-accent); min-height:36px; }
.fn-city-help svg { width:14px; height:14px; }
.fn-city-panel { padding:24px; display:grid; grid-template-columns:minmax(0,1fr); gap:24px; scroll-margin-top:110px; }
.fn-city-panel + .fn-city-panel { border-top:1px solid var(--line); }
.fn-explorer[data-enhanced] .fn-city-panel { border-top:0; }
.fn-city-visual { position:relative; height:196px; overflow:hidden; border-radius:6px; background:var(--bg); }
.fn-city-visual picture,.fn-city-visual img { display:block; width:100%; height:100%; }
.fn-city-visual img { object-fit:cover; object-position:center 51%; }
.fn-city-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#091526eb,transparent 85%); }
.fn-visual-caption { position:absolute; z-index:1; right:20px; left:20px; bottom:18px; display:grid; gap:2px; color:white; }
.fn-visual-caption span { font-size:10px; color:#c9dbdf; }
.fn-visual-caption strong { font-size:20px; color:#fff; }
.fn-city-meta { display:flex; align-items:center; justify-content:space-between; color:var(--fn-muted); font-size:10px; }
.fn-city-meta span:last-child { font-family:Inter,sans-serif; color:var(--fn-accent); }
.fn-city-content h3 { display:flex; gap:14px; align-items:baseline; font-size:28px; margin-top:5px; }
.fn-city-content h3>span { font-family:Inter,sans-serif; font-size:12px; font-weight:400; color:var(--fn-muted); }
.fn-city-content>p { font-size:13px; line-height:1.95; margin-top:10px; }
.fn-tags { list-style:none; padding:0; margin:15px 0 18px; display:flex; gap:7px; flex-wrap:wrap; }
.fn-tags li { font-size:10px; padding:5px 9px; border:1px solid var(--line); border-radius:4px; color:var(--fn-muted); }
.fn-check-note { display:flex; align-items:flex-start; gap:10px; border-top:1px solid var(--line); padding-top:16px; }
.fn-check-note>svg { margin-top:4px; color:var(--fn-accent); width:17px; height:17px; }
.fn-check-note strong { font-size:12px; }
.fn-check-note p { font-size:11px; margin-top:4px; }
.fn-city-content>.fn-text-link { margin-top:12px; }
.fn-network-note { font-size:11px; margin-top:16px!important; }
.fn-assurance { background:color-mix(in srgb,var(--fn-surface) 62%,transparent); border-block:1px solid var(--line); }
.fn-assurance-grid { display:grid; grid-template-columns:1fr .95fr; gap:90px; align-items:center; }
.fn-assurance-copy>p:not(.fn-eyebrow) { font-size:14px; margin-top:16px; line-height:1.95; }
.fn-checklist { list-style:none; padding:0; margin:24px 0 10px; }
.fn-checklist li { display:flex; gap:17px; padding:18px 0; border-top:1px solid var(--line); }
.fn-checklist li>span { color:var(--fn-accent); font-size:11px; padding-top:4px; font-family:Inter,sans-serif; }
.fn-checklist h3 { font-size:15px; }
.fn-checklist p { font-size:12px; margin-top:4px; }
.fn-assurance-visual { position:relative; border-radius:9px; overflow:hidden; min-height:510px; align-self:stretch; }
.fn-assurance-visual picture,.fn-assurance-visual img { position:absolute; inset:0; width:100%; height:100%; display:block; }
.fn-assurance-visual img { object-fit:cover; object-position:72% center; }
.fn-assurance-visual figcaption { position:absolute; bottom:18px; left:18px; right:18px; padding:18px; display:flex; gap:12px; align-items:center; border:1px solid #ffffff2a; background:#0a1628ef; border-radius:7px; }
.fn-assurance-visual figcaption svg { color:var(--fn-accent); width:23px; height:23px; }
.fn-assurance-visual figcaption strong { color:#fff; font-size:14px; }
.fn-assurance-visual figcaption p { color:#b7c8d5; font-size:10px; margin-top:4px; }
.fn-process { display:grid; grid-template-columns:repeat(4,1fr); list-style:none; padding:0; margin:0; gap:28px; }
.fn-process li { border-top:1px solid var(--line); padding-top:20px; }
.fn-step-number { font-family:Inter,sans-serif; color:var(--fn-accent); font-size:28px; font-weight:400; }
.fn-process h3 { font-size:18px; margin-top:18px; }
.fn-process p { font-size:13px; line-height:1.95; margin-top:10px; }
.fn-step-output { display:flex; align-items:center; gap:7px; font-size:10px; color:var(--fn-accent); margin-top:22px; }
.fn-step-output svg { width:14px; height:14px; }
.fn-faq-section { border-top:1px solid var(--line); }
.fn-faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.fn-faq-grid>div>p:not(.fn-eyebrow) { font-size:13px; margin-top:12px; }
.fn-faq-grid .fn-text-link { margin-top:20px; }
.fn-faq details { border-bottom:1px solid var(--line); }
.fn-faq details:first-child { border-top:1px solid var(--line); }
.fn-faq summary { display:flex; justify-content:space-between; align-items:center; gap:16px; cursor:pointer; font-weight:700; font-size:14px; padding:20px 0; list-style:none; }
.fn-faq summary::-webkit-details-marker { display:none; }
.fn-faq summary>span { display:flex; flex:0 0 24px; align-items:center; justify-content:center; width:24px; height:24px; font-family:Inter,sans-serif; font-size:20px; color:var(--fn-accent); transition:transform .2s; }
.fn-faq details[open] summary>span { transform:rotate(45deg); }
.fn-faq details>p { font-size:13px; line-height:2; padding-bottom:20px; padding-inline-end:30px; }
.fn-final-section { padding:0 0 80px; }
.fn-final { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:48px; border:1px solid color-mix(in srgb,var(--fn-accent) 24%,transparent); border-radius:10px; background:color-mix(in srgb,var(--fn-accent) 6%,var(--bg)); }
.fn-final h2 { font-size:30px; line-height:1.6; }
.fn-final p:not(.fn-eyebrow) { font-size:12px; margin-top:14px; }
.fn-final-action { display:grid; text-align:center; flex-shrink:0; gap:14px; }
.fn-final-action>a:last-child { color:var(--fn-muted); font-size:12px; min-height:36px; }
.factory-redesign .footer-cta { display:none; }
.factory-redesign .site-footer { padding-top:46px; }
.factory-redesign .whatsapp-float { width:52px; height:52px; min-width:52px; min-height:52px; box-shadow:0 6px 24px #0002; }
@media(min-width:1250px) { .fn-city-panel { grid-template-columns:.8fr 1fr; align-items:stretch; gap:26px; min-height:500px; } .fn-city-visual { height:auto; min-height:440px; } .fn-city-visual img { object-position:48% center; } .fn-city-content { padding-block:10px; display:flex; flex-direction:column; } .fn-city-content>.fn-text-link { margin-top:auto; padding-top:16px; } .fn-visual-caption strong { font-size:18px; } }
@media(max-width:1100px) { .fn-hero-grid { gap:32px; } .fn-actions { gap:12px; } .fn-assurance-grid { gap:42px; } .fn-faq-grid { gap:40px; } .fn-proof-strip { gap:16px; } .fn-proof-strip>div { gap:10px; } .fn-proof-strip small { font-size:9px; } }
@media(max-width:800px) { .factory-redesign .container { width:calc(100% - 40px); inline-size:calc(100% - 40px); } .fn-breadcrumb { padding-block:18px 25px; } .fn-hero-grid { grid-template-columns:1fr; gap:30px; padding-bottom:30px; } .fn-hero-copy { max-width:640px; } html[lang=ar] .fn-hero h1 { font-size:44px; } .fn-hero-visual { height:340px; } .fn-hero-visual img { object-position:center 37%; } .fn-proof-strip { grid-template-columns:1fr 1fr; gap:24px; } .fn-proof-strip>div:nth-child(2) { border:0; } .fn-section { padding:58px 0; } .fn-section-top { align-items:flex-start; gap:16px; } .fn-explorer { grid-template-columns:190px minmax(0,1fr); } .fn-city-nav { padding:8px; } .fn-city-link { padding:12px 8px; gap:8px; } .fn-city-link>span:nth-child(2) { font-size:14px; } .fn-city-panel { padding:18px; } .fn-assurance-grid { grid-template-columns:1fr; gap:30px; } .fn-assurance-visual { height:350px; min-height:350px; } .fn-assurance-visual img { object-position:center 35%; } .fn-process { grid-template-columns:1fr 1fr; gap:32px; } .fn-faq-grid { grid-template-columns:1fr; gap:28px; } .fn-final { padding:30px; } .fn-final h2 { font-size:25px; } }
@media(max-width:560px) { .factory-redesign .header-inner { min-height:72px; } .fn-eyebrow { font-size:11px; margin-bottom:14px!important; } html[lang=ar] .fn-hero h1 { font-size:clamp(30px,8.9vw,43px); line-height:1.58; } .fn-hero-description { font-size:14px; margin-top:15px!important; } .fn-actions { margin-top:22px; display:grid; grid-template-columns:1fr; gap:8px; } .fn-actions .btn { width:100%; } .fn-secondary-link { justify-content:center; } .fn-hero-proof { font-size:10px; margin-top:12px; gap:7px; } .fn-hero-visual { height:290px; } .fn-hero-visual figcaption { bottom:22px; right:22px; left:22px; } .fn-hero-visual strong { font-size:22px; } .fn-proof-strip { gap:22px 10px; padding-block:24px; } .fn-proof-strip>div { gap:10px; padding-inline-end:6px; } .fn-proof-strip strong { font-size:27px; } .fn-proof-strip>div>span { font-size:11px; } .fn-proof-strip small { font-size:9px; } .fn-proof-strip .fn-languages { font-size:11px; } .fn-proof-strip svg { width:19px; height:19px; } .fn-section-top { display:block; margin-bottom:20px; } .fn-section-top>.fn-text-link { margin-top:12px; } .fn-section-top p:not(.fn-eyebrow) { font-size:12px; } .fn-explorer { display:block; } .fn-city-nav { display:flex; flex-wrap:wrap; gap:6px; border-inline-end:0; border-bottom:1px solid var(--line); padding:12px; } .fn-city-link { flex:1 0 28%; justify-content:center; gap:5px; min-height:56px; margin:0; padding:8px 6px; border:1px solid var(--line); } .fn-city-index,.fn-city-link>svg { display:none; } .fn-city-link>span:nth-child(2) { flex:none; font-size:12px; text-align:center; } .fn-city-link small { font-size:7px; text-align:center; } .fn-city-help { display:none; } .fn-city-panel { gap:18px; padding:16px; } .fn-city-visual { height:180px; } .fn-visual-caption strong { font-size:17px; } .fn-city-content h3 { font-size:25px; } .fn-city-content>p { font-size:12px; } .fn-city-meta { font-size:9px; } .fn-network-note { font-size:10px; line-height:1.9; } .fn-assurance-visual { height:310px; min-height:310px; } .fn-assurance-visual figcaption { left:12px; right:12px; bottom:12px; padding:14px; } .fn-assurance-visual figcaption strong { font-size:12px; } .fn-assurance-visual figcaption p { font-size:9px; } .fn-process { gap:26px 18px; } .fn-process h3 { font-size:16px; margin-top:12px; } .fn-process p { font-size:12px; } .fn-step-output { font-size:9px; gap:5px; margin-top:14px; } .fn-faq summary { font-size:13px; } .fn-final { display:block; padding:25px 20px; } .fn-final h2 { font-size:24px; } .fn-final-action { margin-top:24px; } .fn-final-section { padding-bottom:50px; } .factory-redesign .whatsapp-float { inset-inline-end:14px; bottom:14px; width:46px; height:46px; min-width:46px; min-height:46px; } }
@media(prefers-reduced-motion:reduce) { .fn-page *, .fn-page *::before, .fn-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
.fn-city-tabs { display:contents; }
.fn-city-panel:focus-visible { outline:2px solid var(--fn-accent); outline-offset:-4px; }
