/* --- public\assets\css\ds\tokens.css --- */
:root{--color-primary:#01696f;--color-primary-hover:#0c4e54;--color-primary-soft:#7aaace;--color-accent:#9cd5ff;--color-secondary:#444;--color-orange:#ec8b5d;--color-bg:#f7f7f7;--color-bg-alt:#f8fbfb;--color-surface:#ffffff;--color-surface-alt:#fafafa;--color-surface-hover:#f1f3f5;--color-surface-pressed:#e9ecef;--color-text:#222;--color-text-muted:#717171;--color-text-light:#4f5b66;--color-text-heading:#222831;--color-border:#e0e0e0;--color-border-subtle:rgba(34,40,49,0.06);--color-border-light:rgba(34,34,34,0.08);--color-success:#2f9b63;--color-success-bg:#e8f5eb;--color-warning:#d9891b;--color-warning-bg:#fff6db;--color-danger:#d35f5f;--color-danger-bg:#fdecea;--color-info:#2f7fd8;--color-info-bg:#e8f3ff;--color-white:#ffffff;--color-black:#000000;--color-primary-10:rgba(1,105,111,0.10);--color-primary-20:rgba(1,105,111,0.20);--color-primary-30:rgba(1,105,111,0.30);--color-navy-10:rgba(15,23,42,0.10);--color-navy-20:rgba(15,23,42,0.20);--color-navy-45:rgba(15,23,42,0.45);--color-navy-75:rgba(15,23,42,0.75);--color-whatsapp:#25D366;--color-youtube:#d92525;--color-facebook:#1877F2;--color-instagram:#E4405F;--color-tiktok:#000000;--color-twitter:#000000;--color-snapchat:#FFFC00;--color-linkedin:#0A66C2;--color-teal:#1AB3B3;--color-teal-soft:rgba(26,179,179,0.08);--color-teal-glow:rgba(26,179,179,0.12);--color-teal-line:rgba(26,179,179,0.32);--color-overlay-dark:rgba(15,23,42,0.45);--color-overlay-light:rgba(0,0,0,0.75);--footer-bg:#0b1120;--footer-text:#e5e7eb;--footer-text-muted:#9ca3af;--footer-divider:rgba(255,255,255,0.08);--footer-divider-strong:rgba(255,255,255,0.10);--footer-hover-bg:rgba(255,255,255,0.08);--footer-hover-active:rgba(255,255,255,0.16);--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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;--space-12:8rem;--font-family-base:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-family-heading:"IBM Plex Sans Arabic","IBM Plex Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.85rem;--font-size-md:1rem;--font-size-lg:1.1rem;--font-size-xl:1.25rem;--font-size-2xl:clamp(1.5rem,2.5vw,2rem);--font-size-3xl:clamp(1.9rem,3vw,2.8rem);--font-size-4xl:clamp(2.6rem,5vw,5rem);--line-height-none:1;--line-height-tight:1.04;--line-height-snug:1.15;--line-height-normal:1.6;--line-height-relaxed:1.8;--line-height-loose:2;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--letter-spacing-tighter:-0.05em;--letter-spacing-tight:-0.03em;--letter-spacing-normal:-0.01em;--letter-spacing-wide:0.02em;--letter-spacing-wider:0.05em;--text-xs:var(--font-size-xs);--text-sm:var(--font-size-sm);--text-md:var(--font-size-md);--text-lg:var(--font-size-lg);--text-xl:var(--font-size-xl);--text-2xl:var(--font-size-2xl);--text-3xl:var(--font-size-3xl);--text-4xl:var(--font-size-4xl);--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1.25rem;--radius-2xl:1.5rem;--radius-full:999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.06);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--shadow-lg:0 18px 40px rgba(0,0,0,0.10);--elevation-1:0 1px 2px rgba(0,0,0,0.06);--elevation-2:0 4px 12px rgba(0,0,0,0.08);--elevation-3:0 8px 20px rgba(0,0,0,0.10);--elevation-4:0 12px 28px rgba(0,0,0,0.12);--elevation-5:0 18px 40px rgba(0,0,0,0.15);--elevation-6:0 24px 48px rgba(0,0,0,0.18);--duration-fast:200ms;--duration-normal:300ms;--duration-slow:400ms;--ease-standard:cubic-bezier(0.22,1,0.36,1);--z-base:1;--z-sticky:10;--z-backdrop:40;--z-header:50;--z-dropdown:55;--z-fab:60;--z-nav:70;--z-lightbox:80;--z-modal:90;--z-tooltip:100;--z-skip:1000;--bp-xs:480px;--bp-sm:640px;--bp-md:768px;--bp-lg:992px;--bp-xl:1280px;--bp-2xl:1536px;--bp-footer:900px;--bp-hero:1100px;--container-sm:640px;--container-md:768px;--container-lg:992px;--container-xl:1140px;--container-2xl:1280px;--container-px:var(--space-4);--measure-prose:72ch;--target-size-min:44px;--focus-ring:2px solid var(--color-primary);--focus-ring-primary:2px solid var(--color-primary);--focus-offset:2px;--touch-target:40px;--font-body:var(--font-family-base);--font-heading:var(--font-family-heading);--color-primary-dark:var(--color-primary-hover);--color-muted:var(--color-text-muted);--footer-muted:var(--footer-text-muted);--space-5-legacy:1.25rem;--space-7-legacy:2rem;--space-8-legacy:2rem;--space-9-legacy:3rem;--space-10-legacy:2.5rem;--space-11-legacy:5rem;--space-12-legacy:3rem;--space-13-legacy:4.5rem;--space-14-legacy:8rem;--section-padding-y:var(--space-9);--section-padding-y-compact:var(--space-7);--section-padding-y-large:var(--space-11)}
/* --- public\assets\css\ds\base\reset.css --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-normal);scroll-behavior:smooth;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;background-color:var(--color-bg);color:var(--color-text);max-width:100vw;min-height:100vh}html.ltr body{direction:ltr}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);color:var(--color-text-heading);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-normal);font-weight:var(--font-weight-bold);text-wrap:balance}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:1.1;letter-spacing:var(--letter-spacing-normal)}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:1.2;letter-spacing:-0.01em}h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.3}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.4}h6{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);line-height:1.4}p{margin-bottom:var(--space-4);line-height:var(--line-height-relaxed)}p:last-child{margin-bottom:0}small{font-size:var(--font-size-sm);color:var(--color-text-muted)}strong,b{font-weight:var(--font-weight-bold)}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}a:hover{color:var(--color-primary-hover);text-decoration:underline}a:focus-visible{outline:var(--focus-ring-primary);outline-offset:var(--focus-offset);border-radius:2px}img,video,svg,embed,iframe,object{max-width:100%;height:auto;display:block}img{max-width:100%;display:block}.project-media-hidden{display:none}ul,ol{list-style:none;padding:0;margin:0}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}button{cursor:pointer;border:none;background:none}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--color-surface);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-20)}table{width:100%;border-collapse:collapse}::selection{background:var(--color-primary);color:var(--color-surface)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* --- public\assets\css\ds\base\typography.css --- */
.text-uppercase{text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section-subtitle{color:var(--color-text-muted);margin-top:var(--space-2)}
/* --- public\assets\css\ds\layout\grid.css --- */
.container{width:100%;max-width:var(--container-xl);margin-inline:auto;padding-inline:var(--container-px)}.section{padding-block:var(--section-padding-y)}.two-cols{display:grid;gap:var(--space-6)}.two-cols > .col{min-width:0}@media (min-width:768px){.two-cols{grid-template-columns:repeat(2,1fr)}}
/* --- public\assets\css\ds\components\site-header.css --- */
.site-header{--header-bg:rgba(53,88,114,0.96);--header-bg-scrolled:#355872;--header-text:#f7fafc;--header-text-link:rgba(247,250,252,0.9);--header-border:rgba(255,255,255,0.06);--header-nav-bg:rgba(13,122,136,0.94);--header-hover:rgba(255,255,255,0.08);--header-hover-strong:rgba(255,255,255,0.12);--header-border-subtle:rgba(255,255,255,0.07);--header-border-medium:rgba(255,255,255,0.15);--header-border-strong:rgba(255,255,255,0.35);--header-active-bar:rgba(185,230,255,0.95);--header-divider:rgba(255,255,255,0.2);--header-radius-panel:20px;--header-radius-dropdown:12px;--header-transition:0.18s ease-out}.site-header{position:-webkit-sticky;position:sticky;background-color:var(--header-bg);color:var(--header-text);top:0;z-index:var(--z-header);border-bottom:1px solid var(--header-border);transition:background-color var(--header-transition),box-shadow var(--header-transition)}.site-header.is-scrolled{background-color:var(--header-bg-scrolled);box-shadow:0 4px 12px rgba(15,23,42,0.25)}.header-inner{display:flex;align-items:center;justify-content:space-between}.logo a{display:inline-flex;align-items:center;gap:var(--space-2);color:inherit;text-decoration:none}.logo img{height:75px;width:auto;border-radius:10%}.site-name{font-weight:700;font-size:var(--font-size-xl)}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.btn-cta-header{padding:0.30rem 0.8rem;border-radius:999px;font-size:var(--font-size-sm);background-color:var(--color-orange);border:1px solid rgba(255,255,255,0.2);color:var(--color-surface);text-decoration:none;font-weight:600}.btn-cta-header:hover{background-color:var(--color-accent);border-color:var(--color-accent);color:#0f172a}.lang-switcher a{display:inline-flex;align-items:center;gap:0.35rem;padding:0.25rem 0.75rem;border-radius:999px;border:1px solid var(--header-border-strong);font-size:var(--font-size-sm);color:var(--header-text);text-decoration:none}.lang-switcher a:hover{border-color:var(--color-accent);background:rgba(156,213,255,0.12)}.lang-flag{font-size:1rem;line-height:1}.lang-code{font-weight:500}.main-nav{display:flex;align-items:center}.main-nav ul{list-style:none;display:flex;gap:var(--space-3);padding:0;margin:0}.main-nav a{position:relative;font-weight:500;color:var(--header-text-link);text-decoration:none}.main-nav a::after{content:"";position:absolute;inset-inline:0;bottom:-0.35rem;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--color-accent),var(--color-primary-soft));transform-origin:center;transform:scaleX(0);transition:transform var(--header-transition)}.main-nav a.is-active{color:var(--color-white)}.main-nav a.is-active::after{transform:scaleX(1)}.main-nav a:hover,.main-nav a:focus-visible{color:var(--color-white)}.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1)}.nav-toggle{display:none;border-radius:20%;border:1px solid var(--header-border-strong);background:transparent;color:var(--header-text);padding:0.4rem 0.7rem;font-size:0.9rem;min-inline-size:var(--target-size-min);min-block-size:var(--target-size-min)}.main-nav .nav-dropdown{position:relative}.main-nav .nav-dropdown-toggle{cursor:pointer;display:flex;align-items:center;gap:var(--space-1)}.main-nav .nav-dropdown-arrow{font-size:0.7rem;transition:transform 0.2s}@media (min-width:769px){.main-nav .nav-dropdown-menu{position:absolute;top:100%;inset-inline-start:0;background:var(--header-nav-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--header-border-medium);border-radius:var(--header-radius-dropdown);min-width:240px;padding:0.5rem 0;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity 0.2s ease,visibility 0.2s ease,transform 0.2s ease;z-index:var(--z-dropdown);box-shadow:0 10px 30px rgba(0,0,0,0.25);display:block;flex-direction:column}.main-nav .nav-dropdown:hover .nav-dropdown-menu,.main-nav .nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.main-nav .nav-dropdown:hover .nav-dropdown-arrow,.main-nav .nav-dropdown:focus-within .nav-dropdown-arrow{transform:rotate(180deg)}.main-nav .nav-dropdown-menu li{display:block;width:100%}.main-nav .nav-dropdown-menu li a{display:block;padding:var(--space-3) var(--space-5);color:var(--color-white);font-size:0.94rem;text-decoration:none;white-space:nowrap}.main-nav .nav-dropdown-menu li a:hover{background:var(--header-hover-strong)}.main-nav .nav-dropdown-divider{height:1px;background:var(--header-divider);margin:0.4rem 1rem}.main-nav .nav-dropdown-all{font-weight:600}}@media (max-width:768px){html.mobile-nav-is-open,body.mobile-nav-is-open{overflow:hidden;overscroll-behavior:none}body.mobile-nav-is-open{position:fixed;inset-inline:0;inset-block-start:var(--mobile-nav-scroll-offset,0);inline-size:100%}body.mobile-nav-is-open{padding-block-start:var(--mobile-nav-header-height,0)}body.mobile-nav-is-open .site-header{position:fixed;inset-block-start:0;inset-inline:0}.logo img{height:50px}.header-inner{position:relative;padding-block:var(--space-3);gap:var(--space-4)}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:0.35rem}.nav-toggle-icon{font-size:1.1rem;line-height:1}.nav-backdrop{position:fixed;inset:0;background:rgba(15,23,42,0.45);opacity:0;pointer-events:none;transition:opacity var(--header-transition);z-index:var(--z-backdrop)}.nav-backdrop.is-visible{opacity:1;pointer-events:auto}.main-nav{position:fixed;inset-block-start:calc(var(--space-10) + var(--space-3));inset-inline:0;margin-inline:auto;inline-size:min(340px,calc(100vw - 2rem));transform:translateY(-8px) scale(0.98);background:var(--header-nav-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.08);border-radius:var(--header-radius-panel);box-shadow:0 18px 40px rgba(15,23,42,0.24),0 6px 18px rgba(15,23,42,0.14);overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform-origin:top center;transition:opacity 0.22s,transform 0.22s,visibility 0.22s;z-index:var(--z-nav)}.main-nav::before{content:"";position:absolute;inset-block-start:-8px;inset-inline:0;margin-inline:auto;width:16px;height:16px;background:var(--header-nav-bg);border-inline-start:1px solid rgba(255,255,255,0.08);border-top:1px solid rgba(255,255,255,0.08);transform:rotate(45deg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.main-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);max-block-size:calc(100dvh - var(--space-10) - var(--space-4));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.main-nav ul{width:200px;max-width:100%;margin:0 auto;padding:0.9rem 0;list-style:none;display:flex;flex-direction:column;gap:0}.main-nav li{width:100%;display:block}.main-nav li + li{border-top:1px solid var(--header-border-subtle)}.main-nav a{width:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem 0.75rem;color:var(--color-white);font-size:var(--font-size-md);font-weight:700;letter-spacing:0;border-radius:12px;transition:background-color 0.18s,color 0.18s,transform 0.18s}.main-nav a:hover,.main-nav a:focus-visible{background:var(--header-hover);text-decoration:none;transform:scale(0.985)}.main-nav a.is-active,.main-nav a.active,.main-nav a[aria-current="page"],.main-nav a[aria-current="location"]{background:transparent;color:var(--color-white);box-shadow:none;position:relative}.main-nav a.is-active .nav-label,.main-nav a.active .nav-label,.main-nav a[aria-current="page"] .nav-label,.main-nav a[aria-current="location"] .nav-label{position:relative}.main-nav a.is-active .nav-label::after,.main-nav a.active .nav-label::after,.main-nav a[aria-current="page"] .nav-label::after,.main-nav a[aria-current="location"] .nav-label::after{content:"";position:absolute;inset-inline:0;bottom:-0.35rem;height:3px;border-radius:999px;background:var(--header-active-bar)}.main-nav a.is-active::after,.main-nav a.active::after,.main-nav a[aria-current="page"]::after,.main-nav a[aria-current="location"]::after{content:none}.main-nav .nav-dropdown-menu{display:none;position:static;background:rgba(255,255,255,0.05);border-radius:0;box-shadow:none;padding:0;margin:0;list-style:none;width:100%;flex-direction:column}.main-nav .nav-dropdown.active .nav-dropdown-menu{display:block;max-block-size:min(42dvh,19rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.main-nav .nav-dropdown-menu li{width:100%;display:block}.main-nav .nav-dropdown-menu li a{display:block;padding:0.7rem 1.8rem;color:var(--color-white);text-decoration:none;width:100%;border-radius:0}.main-nav .nav-dropdown-arrow{font-size:0.8rem;pointer-events:none}.main-nav .nav-dropdown.active .nav-dropdown-arrow{transform:rotate(180deg)}.main-nav .nav-dropdown-menu .nav-dropdown-divider{display:none}}@media (max-width:385px){.header-inner{padding-block:var(--space-3);gap:var(--space-4);flex-wrap:nowrap}.logo img{height:50px}}@media (max-width:320px){.btn-cta-header{display:none}}@media (prefers-reduced-motion:reduce){.site-header{transition-duration:0.01ms}.main-nav a::after{transition-duration:0.01ms}.main-nav .nav-dropdown-arrow{transition-duration:0.01ms;transform:none !important}.main-nav .nav-dropdown-menu{transition-duration:0.01ms}.nav-backdrop{transition-duration:0.01ms}.main-nav{transition-duration:0.01ms}.main-nav a{transition-duration:0.01ms;transform:none !important}}
/* --- public\assets\css\ds\components\project-card.css --- */
.project-card{--card-accent:rgba(1,105,111,0.22);--card-accent-bar:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));--badge-bg:rgba(1,105,111,0.08);--badge-border:rgba(1,105,111,0.14);--badge-text:var(--color-primary);--thumb-bg:#e8ecec;--thumb-scale-idle:1.02;--thumb-scale-hover:1.06}.project-card{position:relative;display:flex;flex-direction:column;min-height:100%;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard)}.project-card::before{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:var(--card-accent-bar);opacity:0;transform:scaleX(0.65);transform-origin:center;transition:opacity var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard)}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--card-accent)}.project-card:hover::before{opacity:1;transform:scaleX(1)}.project-card-link{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}.project-card-btn{margin-block-start:auto;align-self:flex-start;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.project-card:hover .project-card-btn,.project-card-link:focus-visible .project-card-btn{text-decoration:underline}.project-thumb{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--thumb-bg)}.project-thumb img,.project-thumb-placeholder{width:100%;height:100%;object-fit:cover}.project-thumb img{transform:scale(var(--thumb-scale-idle));transition:transform 0.4s var(--ease-standard)}.project-card:hover .project-thumb img{transform:scale(var(--thumb-scale-hover))}.project-thumb-placeholder{background:repeating-linear-gradient( 135deg,#e5e7eb,#e5e7eb 12px,#dfe3e6 12px,#dfe3e6 24px )}.project-info{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);flex:1}.project-service-badge{align-self:flex-start;display:inline-flex;align-items:center;min-height:30px;max-width:100%;padding:0.35rem 0.75rem;border-radius:var(--radius-full);background:var(--badge-bg);border:1px solid var(--badge-border);color:var(--badge-text);font-size:0.78rem;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide)}.project-info h3{margin:0;font-size:1.12rem;line-height:1.35;color:var(--color-text)}.project-info p{margin:0;color:var(--color-text-muted);font-size:0.95rem;line-height:1.7}.project-card-location{display:flex;align-items:center;gap:var(--space-2);margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.project-card-location i{color:var(--color-primary)}.project-info .btn{margin-top:auto;align-self:flex-start;max-width:100%;white-space:normal;text-align:center;word-break:break-word;box-sizing:border-box}@media (max-width:768px){.project-info{padding:var(--space-3)}.project-info h3{font-size:1.05rem}.project-info p{font-size:0.92rem}}@media (max-width:768px){.project-info h3{font-size:1.02rem}.project-info p{font-size:0.92rem;line-height:1.65}}@media (max-width:480px){.project-info{gap:var(--space-2)}.project-service-badge{font-size:0.74rem;padding:0.3rem 0.65rem}}.project-info h3 a:focus-visible,.project-info .btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@media (prefers-reduced-motion:reduce){.project-card{transition-duration:0.01ms;transform:none !important}.project-card:hover{transform:none !important}.project-card::before{transition-duration:0.01ms}.project-thumb img{transition-duration:0.01ms;transform:none !important}.project-card:hover .project-thumb img{transform:none !important}}
/* --- public\assets\css\ds\components\blog-card.css --- */
.blog-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.blog-card-thumb img{width:100%;height:200px;object-fit:cover}.blog-card-thumb-placeholder{height:200px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-alt);color:var(--color-text-muted);font-size:var(--font-size-2xl)}.blog-card-body{padding:var(--space-4)}.blog-card-body h3{margin:0 0 0.4rem;font-size:var(--font-size-lg);font-family:var(--font-family-heading)}.blog-card-body h3 a{color:var(--color-text);text-decoration:none}.blog-card-subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.blog-card-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-2)}.blog-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.blog-card-body .btn{margin-top:auto;align-self:flex-start;max-width:100%;white-space:normal;text-align:center;word-break:break-word;box-sizing:border-box}.blog-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.blog-tag-badge{background:var(--color-primary-10);border:1px solid var(--color-primary-20);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-primary);white-space:nowrap}.blog-card-body h3 a:focus-visible,.blog-card-body .btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@media (prefers-reduced-motion:reduce){.blog-card{transition-duration:0.01ms;transform:none !important}.blog-card:hover{transform:none !important}}
/* --- public\assets\css\ds\components\site-footer.css --- */
.site-footer{background:var(--footer-bg);color:var(--footer-text);margin-top:var(--space-8);padding-top:var(--space-8);padding-bottom:var(--space-3)}.footer-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.9fr) minmax(0,1fr);gap:var(--space-6);align-items:start}.footer-column{min-width:0}.footer-title{margin:0 0 var(--space-3);font-size:var(--font-size-lg);color:var(--footer-text)}.footer-brand-name{margin-top:var(--space-3);margin-bottom:var(--space-2)}.footer-brand-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);color:var(--footer-text)}.footer-logo-link{display:inline-flex;align-items:center}.footer-logo{max-width:250px;max-height:100px;object-fit:contain}.footer-description{margin:0 0 var(--space-4);color:var(--footer-muted);line-height:var(--line-height-relaxed);max-width:36ch}.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3)}.footer-links a{color:var(--footer-text);opacity:0.78;text-decoration:none;transition:color var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard);display:inline-flex}.footer-links a:hover{color:var(--footer-text);opacity:1;transform:translateX(-4px)}.footer-contact-list{display:grid;gap:var(--space-3)}.footer-contact-item{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--footer-text);opacity:0.82;text-decoration:none}.footer-contact-item:hover{color:var(--footer-text);opacity:1}.footer-contact-icon{width:42px;min-width:42px;height:42px;border-radius:var(--radius-lg);display:inline-flex;align-items:center;justify-content:center;background:var(--footer-divider);color:var(--color-white)}.footer-contact-whatsapp .footer-contact-icon{background:rgba(37,211,102,0.16);color:#25d366}.footer-contact-text{display:grid;gap:0.4rem;line-height:1.7}.footer-contact-text strong{color:var(--footer-text);font-size:0.98rem}.footer-phone-list{display:grid;gap:0.35rem}.footer-phone-list a{color:var(--footer-text);opacity:0.78;text-decoration:none}.footer-phone-list a:hover{color:var(--footer-text);opacity:1}.footer-social-icons{display:flex;flex-wrap:wrap;gap:0.7rem}.footer-social-icon{width:42px;height:42px;border-radius:var(--radius-lg);display:inline-flex;align-items:center;justify-content:center;background:var(--color-orange);color:var(--color-white);text-decoration:none;transition:transform var(--duration-normal) var(--ease-standard),background var(--duration-normal) var(--ease-standard),color var(--duration-normal) var(--ease-standard)}.footer-social-icon:hover{transform:translateY(-2px);background:var(--footer-hover-active);color:var(--color-white)}.footer-social-icons-contact{margin-top:var(--space-2)}.footer-bottom{display:flex;justify-content:center;align-items:center;margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--footer-divider)}.footer-bottom p{margin:0;color:var(--footer-muted);font-size:0.92rem}.footer-services{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--footer-divider-strong)}.footer-services-list{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;padding:0;list-style:none}.footer-service-link{display:inline-block;padding:0.35rem 0.9rem;border-radius:var(--radius-full);background:var(--footer-divider);color:var(--footer-text);text-decoration:none;font-size:0.88rem;transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.footer-service-link:hover{background:var(--footer-hover-active);color:var(--color-white);transform:translateY(-1px)}@media (max-width:768px){.footer-services-list{gap:var(--space-2)}.footer-service-link{font-size:0.8rem;padding:0.3rem 0.7rem}}.footer-links a:focus-visible,.footer-contact-item:focus-visible,.footer-phone-list a:focus-visible,.footer-social-icon:focus-visible,.footer-service-link:focus-visible,.footer-logo-link:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){.footer-links a,.footer-social-icon,.footer-service-link{transition:none}.footer-links a:hover,.footer-social-icon:hover,.footer-service-link:hover{transform:none}}@media (max-width:900px){.footer-inner{grid-template-columns:minmax(0,1fr)}}
/* --- public\assets\css\ds\components\breadcrumb.css --- */
.breadcrumb{padding:0.8rem var(--space-2);font-size:0.92rem;color:var(--color-text-muted);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.breadcrumb::-webkit-scrollbar{display:none}.breadcrumb-list{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:0.4rem 0.6rem;padding:0;margin:0}.breadcrumb-item{display:inline-flex;align-items:center;gap:0.4rem;flex-shrink:0;white-space:nowrap}.breadcrumb-item a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--duration-fast) ease}.breadcrumb-item a:hover{text-decoration:underline;color:var(--color-primary-hover)}.breadcrumb-item.active span{color:var(--color-text);font-weight:var(--font-weight-semibold);white-space:normal;word-break:break-word}.breadcrumb-separator{color:var(--color-text-muted);margin:0 0.2rem;user-select:none;flex-shrink:0}.breadcrumb-item a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){.breadcrumb-item a{transition:none}}@media (max-width:768px){.breadcrumb{font-size:var(--font-size-sm);padding:0.6rem 0.8rem}.breadcrumb-item{white-space:normal;flex-shrink:1}.breadcrumb-item a,.breadcrumb-item span{word-break:break-word}}@media (max-width:480px){.breadcrumb{font-size:0.8rem;padding:var(--space-2) var(--space-4)}}
/* --- public\assets\css\ds\components\pagination.css --- */
.pagination{margin-top:var(--space-4)}.pagination ul{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;list-style:none;padding:0;margin:0}.pagination a,.pagination span{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);line-height:1.4;text-decoration:none}.pagination a{background:var(--color-surface-hover);color:var(--color-text);transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.pagination a:hover{background:var(--color-surface-pressed)}.pagination li.is-active span{background:var(--color-primary);color:var(--color-white);font-weight:var(--font-weight-medium)}.projects-pagination{justify-content:center;margin-top:var(--space-8)}.projects-pagination a,.projects-pagination span{padding:6px 14px;font-size:var(--font-size-sm)}.projects-pagination a{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary-20);box-shadow:0 1px 2px var(--color-navy-10);transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.projects-pagination a:hover{background:var(--color-bg-alt);border-color:var(--color-primary-30)}.projects-pagination li.is-active span{background:var(--color-primary);color:var(--color-white);box-shadow:0 3px 8px rgba(1,105,111,0.25);font-weight:var(--font-weight-medium)}.pagination a:focus-visible,.projects-pagination a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@media (prefers-reduced-motion:reduce){.pagination a,.projects-pagination a{transition:none}}
/* --- public\assets\css\ds\components\floating-buttons.css --- */
.floating-btn{position:fixed;inset-inline-end:var(--space-3);width:60px;height:60px;border-radius:50%;display:inline-flex;box-shadow:0 10px 25px rgba(0,0,0,0.18);background:linear-gradient(135deg,var(--color-whatsapp) 0%,#1ebe5d 100%);color:var(--color-white);align-items:center;justify-content:center;font-size:1.75rem;text-decoration:none;z-index:var(--z-fab);transition:transform var(--duration-fast),box-shadow var(--duration-fast),background var(--duration-fast),opacity var(--duration-fast),visibility var(--duration-fast)}.floating-btn:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 14px 30px rgba(0,0,0,0.22)}.floating-btn:active{transform:scale(0.96)}.floating-btn i{line-height:var(--line-height-none)}.floating-phone{bottom:var(--space-3);background:var(--color-orange)}.floating-whatsapp{bottom:calc(var(--space-3) + 72px)}.scroll-progress-btn{position:fixed;inset-inline-start:var(--space-3);bottom:var(--space-3);width:60px;height:60px;border:0;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(12,78,84,0.9);color:var(--color-white);box-shadow:0 10px 25px var(--color-primary-30);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;z-index:var(--z-fab);opacity:1;visibility:visible;pointer-events:auto;transition:transform var(--duration-fast),box-shadow var(--duration-fast),background var(--duration-fast)}.scroll-progress-btn:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 14px 30px var(--color-primary-30)}.scroll-progress-btn:active{transform:scale(0.96)}.scroll-progress-circle{position:absolute;inset:0;transform:rotate(-90deg)}.scroll-progress-track,.scroll-progress-path{fill:none;stroke-width:4}.scroll-progress-track{stroke:var(--color-orange)}.scroll-progress-path{stroke:#52eaf2;stroke-linecap:round;transition:stroke-dashoffset 0.1s linear,stroke var(--duration-fast)}.scroll-progress-icon{position:relative;z-index:var(--z-base);display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.12);transition:transform var(--duration-fast),background var(--duration-fast)}.scroll-progress-btn[data-mode="down"] .scroll-progress-icon{background:rgba(255,255,255,0.08)}.scroll-progress-btn[data-mode="up"] .scroll-progress-icon{background:var(--color-orange)}.scroll-progress-icon i{font-size:1.2rem;line-height:var(--line-height-none);transition:transform var(--duration-fast)}.scroll-progress-btn[data-mode="down"] .scroll-progress-icon i{transform:translateY(1px)}.scroll-progress-btn[data-mode="up"] .scroll-progress-icon i{transform:translateY(-1px)}.floating-btn:focus-visible,.scroll-progress-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@media (prefers-reduced-motion:reduce){.floating-btn,.scroll-progress-btn,.scroll-progress-icon,.scroll-progress-icon i{transition:none}.floating-btn:hover,.floating-btn:active,.scroll-progress-btn:hover,.scroll-progress-btn:active{transform:none}.scroll-progress-path{transition:none}}@media (max-width:992px){.floating-btn{width:56px;height:56px;font-size:1.55rem;inset-inline-end:var(--space-2)}.floating-phone{bottom:var(--space-2)}.floating-whatsapp{bottom:calc(var(--space-2) + 66px)}.scroll-progress-btn{width:56px;height:56px;inset-inline-start:var(--space-2);bottom:var(--space-2)}.scroll-progress-icon{width:34px;height:34px}}@media (max-width:768px){.floating-btn{width:52px;height:52px;font-size:1.4rem;inset-inline-end:var(--space-3);box-shadow:0 8px 18px rgba(0,0,0,0.18)}.floating-phone{bottom:var(--space-3)}.floating-whatsapp{bottom:74px}.scroll-progress-btn{width:52px;height:52px;inset-inline-start:var(--space-3);bottom:var(--space-3);box-shadow:0 8px 18px rgba(1,105,111,0.24)}.scroll-progress-icon{width:32px;height:32px}.scroll-progress-icon i{font-size:1.05rem}}@media (max-width:480px){.floating-btn{width:48px;height:48px;font-size:var(--font-size-xl);inset-inline-end:10px}.floating-phone{bottom:var(--space-13-legacy)}.floating-whatsapp{bottom:var(--space-14-legacy)}.scroll-progress-btn{width:48px;height:48px;inset-inline-start:10px;bottom:var(--space-13-legacy)}.scroll-progress-icon{width:30px;height:30px}.scroll-progress-icon i{font-size:var(--font-size-md)}}
/* --- public\assets\css\ds\components\lightbox.css --- */
.lightbox-overlay{position:fixed;inset:0;background:var(--color-overlay-light);display:none;align-items:center;justify-content:center;z-index:var(--z-lightbox)}.lightbox-overlay.is-active{display:flex}.lightbox-content{position:relative;max-width:960px;width:95%;max-height:90vh;margin:var(--space-7) auto;background:var(--color-black);border-radius:var(--radius-md);padding:var(--space-6) var(--space-6) var(--space-4);overflow:hidden;color:var(--color-white)}.lightbox-body{padding:var(--space-2);display:flex;justify-content:center}.lightbox-body-inner{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:80vh}.lightbox-body-inner img,.lightbox-body-inner video,.lightbox-body-inner iframe{max-width:100%;max-height:70vh;display:block;margin-inline:auto}.lightbox-close{position:absolute;top:var(--space-2);inset-inline-end:var(--space-2);background:rgba(0,0,0,0.7);border-radius:50%;width:32px;height:32px;border:none;color:var(--color-white);font-size:1.3rem;line-height:var(--line-height-none);cursor:pointer}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.7);border:none;color:var(--color-white);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:var(--z-modal)}.lightbox-prev{inset-inline-start:var(--space-3)}.lightbox-next{inset-inline-end:var(--space-3)}.lightbox-prev:hover,.lightbox-next:hover{background:rgba(0,0,0,0.9)}.lightbox-thumbs{margin-top:var(--space-3);display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-1) 0}.lightbox-thumb-item{flex:0 0 auto;width:70px;height:50px;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;cursor:pointer;position:relative}.lightbox-thumb-item img{width:100%;height:100%;object-fit:cover}.lightbox-thumb-badge{position:absolute;bottom:2px;inset-inline-end:2px;background:rgba(0,0,0,0.7);color:var(--color-white);font-size:10px;padding:2px 4px;border-radius:3px}.lightbox-thumb-item.is-active{border-color:var(--color-white)}.lightbox-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--color-white)}.lightbox-thumb-item.thumb-video .lightbox-thumb-placeholder{background:#333}.lightbox-thumb-item.thumb-youtube .lightbox-thumb-placeholder{background:var(--color-youtube)}.lightbox-close:focus-visible,.lightbox-prev:focus-visible,.lightbox-next:focus-visible,.lightbox-thumb-item:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@media (prefers-reduced-motion:reduce){}
/* --- public\assets\css\ds\components\faq.css --- */
.faq-list{display:flex;flex-direction:column;gap:var(--space-2)}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.faq-item summary{padding:var(--space-4) var(--space-5);font-weight:var(--font-weight-medium);cursor:pointer;list-style:none;color:var(--color-text-heading)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::before{content:'+';margin-inline-end:var(--space-2);font-weight:var(--font-weight-normal)}.faq-item[open] summary::before{content:'\2212'}.faq-answer{padding:0 var(--space-5) var(--space-5);color:var(--color-text-light);line-height:var(--line-height-normal)}.faq-item summary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@media (prefers-reduced-motion:reduce){}
/* --- public\assets\css\ds\components\buttons.css --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.btn:hover{text-decoration:none}.btn:active{transform:scale(0.97);transition-duration:50ms}.btn:focus-visible{outline:var(--focus-ring-primary);outline-offset:var(--focus-offset)}.btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-white)}.btn-secondary{background-color:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.btn-secondary:hover{background-color:var(--color-primary);color:var(--color-white)}.btn-outline{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:var(--color-white)}.btn-ghost{background:transparent;border-color:transparent;color:var(--color-secondary)}.btn-ghost:hover{color:var(--color-primary)}.btn-lg{min-height:var(--space-8);padding-inline:var(--space-6)}.btn-small{padding-inline:var(--space-3);font-size:var(--font-size-sm)}
/* --- public\assets\css\ds\components\cards.css --- */
.service-card-highlights{list-style:none;margin:0 0 var(--space-4);padding:0;display:grid;gap:var(--space-2)}.service-card-highlights li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-light)}.service-card-highlights i{flex-shrink:0;margin-block-start:var(--space-1);color:var(--color-primary)}
/* --- public\assets\css\ds\components\badges.css --- */
.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-full);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);white-space:nowrap}.badge-success{background-color:var(--color-success-bg);color:var(--color-success)}.badge-info{background-color:var(--color-info-bg);color:var(--color-info)}.badge-neutral{background-color:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-text-muted)}.popular-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background-color:var(--color-orange);color:var(--color-text-heading);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);white-space:nowrap}
/* --- public\assets\css\ds\components\rich-content.css --- */
.rich-content{max-width:var(--measure-prose);color:var(--color-text-light);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.rich-content a{color:var(--color-primary);text-decoration:underline}.rich-content a:hover{color:var(--color-primary-hover)}
/* --- public\assets\css\ds\components\projects-grid.css --- */
.projects-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width:992px){.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}}@media (min-width:1280px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.projects-services-tabs{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0 0 var(--space-6);align-items:center}.projects-service-chip{appearance:none;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);cursor:pointer;font-size:0.95rem;font-weight:var(--font-weight-medium);line-height:var(--line-height-none);white-space:nowrap;transition:background-color var(--duration-normal) var(--ease-standard),color var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard)}.projects-service-chip:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.projects-service-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.projects-service-chip.is-active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary);box-shadow:0 8px 20px var(--color-primary-20)}.projects-empty{margin:0;padding:var(--space-6);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);text-align:center}.projects-page-section .section-header{text-align:start}@media (max-width:768px){.projects-services-tabs{gap:10px;margin-bottom:var(--space-4);flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-inline:10px;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%)}.projects-services-tabs::-webkit-scrollbar{display:none}.projects-service-chip{flex:0 0 auto;scroll-snap-align:start;padding:0.66rem 0.9rem;font-size:0.88rem}}@media (max-width:480px){.projects-services-tabs{gap:8px;padding-inline:8px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}.projects-service-chip{flex:0 0 auto;max-width:none;padding:0.62rem 0.85rem;font-size:0.84rem}}
/* --- public\assets\css\ds\components\blog-grid.css --- */
.blog-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width:600px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:992px){.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}}.blog-empty{text-align:center;color:var(--color-text-muted);padding:var(--space-6)}
/* --- public\assets\css\ds\components\section-eyebrow.css --- */
.section-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);min-height:38px;padding:var(--space-2) var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-full);background:var(--color-orange);border:1px solid rgba(26,179,179,0.16);color:var(--color-surface);font-size:0.9rem;font-weight:var(--font-weight-bold);line-height:var(--line-height-none)}
/* --- public\assets\css\ds\utilities\utilities.css --- */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6)}@media (max-width:992px){.grid-2,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.mt-auto{margin-top:auto}.mx-auto{margin-inline:auto}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.text-start{text-align:start}.text-center{text-align:center}.text-end{text-align:end}.items-center{align-items:center}.self-start{align-self:flex-start}.hidden{display:none}.w-full{width:100%}
/* --- public\assets\css\ds\utilities\accessibility.css --- */
.skip-to-content{position:absolute;top:-40px;inset-inline-start:0;background:var(--color-primary);color:var(--color-white) !important;padding:var(--space-2) var(--space-4);border-radius:0 0 var(--radius-md) var(--radius-md);text-decoration:none;font-weight:var(--font-weight-semibold);z-index:var(--z-skip);transition:top var(--duration-fast) var(--ease-standard);box-shadow:0 4px 8px rgba(0,0,0,0.1)}.skip-to-content:focus{top:0;outline:3px solid var(--color-primary);outline-offset:var(--focus-offset)}a.contextual-link{color:var(--color-primary);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;font-weight:var(--font-weight-medium)}a.contextual-link:hover{color:var(--color-primary-hover);text-decoration-style:solid}
/* --- public\assets\css\ds\animations\animations.css --- */
.reveal{opacity:0;transition:opacity 0.8s var(--ease-standard),transform 0.8s var(--ease-standard);will-change:opacity,transform}.reveal-up{transform:translateY(34px)}.reveal-left{transform:translateX(-34px)}.reveal-right{transform:translateX(34px)}.reveal.is-visible{opacity:1;transform:translate(0,0)}@media (prefers-reduced-motion:reduce){.reveal,.reveal-up,.reveal-left,.reveal-right{opacity:1;transform:none;transition:none;will-change:auto}}.marquee-row{position:relative;overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}.marquee-track{display:flex;align-items:center;width:max-content;will-change:transform;transform:translate3d(0,0,0)}.marquee-group{display:flex;align-items:stretch;gap:var(--space-4);flex-shrink:0;padding-inline-end:var(--space-4)}@media (prefers-reduced-motion:reduce){.marquee-track{transform:none !important}}@media (max-width:640px){.marquee-row{mask-image:none;-webkit-mask-image:none}.marquee-group{gap:var(--space-3);padding-inline-end:var(--space-3)}}
/* --- public\assets\css\ds\pages\home\hero.css --- */
.hero-section{--hero-bg-fallback:linear-gradient(135deg,var(--color-primary) 0%,#0d7c86 52%,#1698a4 100%);--hero-overlay-left:rgba(7,20,24,0.80);--hero-overlay-mid:rgba(7,20,24,0.48);--hero-overlay-right:rgba(7,20,24,0.22);--hero-overlay-top:rgba(7,20,24,0.08);--hero-overlay-bot:rgba(7,20,24,0.36);--hero-badge-bg:rgba(255,255,255,0.10);--hero-badge-border:rgba(255,255,255,0.20);--hero-text:var(--color-white);--hero-text-subtle:rgba(255,255,255,0.86);--hero-badge-icon:#ffd36b;--hero-cta-primary-hover-bg:#f2fbfc;--hero-cta-primary-hover-text:#0a6971;--hero-cta-secondary-bg:rgba(10,105,113,0.55);--hero-cta-secondary-border:rgba(255,255,255,0.25);--hero-wave-fill:var(--color-surface)}.hero-section{position:relative;min-height:85vh;display:flex;align-items:center;padding:120px 0 100px;overflow:hidden;background:var(--hero-bg-fallback)}.hero-container{position:relative;z-index:4}.hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,var(--hero-overlay-left) 0%,var(--hero-overlay-mid) 38%,var(--hero-overlay-right) 100%),linear-gradient(180deg,var(--hero-overlay-top) 0%,var(--hero-overlay-bot) 100%)}.hero-content{position:relative;z-index:4;max-width:780px;color:var(--hero-text)}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;padding:10px 20px;margin-bottom:var(--space-5);border-radius:var(--radius-full);background:var(--hero-badge-bg);border:1px solid var(--hero-badge-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--hero-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:var(--line-height-none);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.hero-badge i{font-size:var(--font-size-sm);color:var(--hero-badge-icon)}.hero-content h1{margin:0 0 var(--space-5);color:var(--hero-text);font-family:var(--font-family-heading);font-size:clamp(2.6rem,5vw,4.8rem);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);font-weight:var(--font-weight-extrabold)}.hero-content p{margin:0 0 var(--space-7);max-width:58ch;color:var(--hero-text-subtle);font-size:1.08rem;line-height:var(--line-height-relaxed)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:0}.hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:54px;padding:0 28px;border-radius:var(--radius-xl);text-decoration:none;font-size:1rem;font-weight:var(--font-weight-bold);line-height:1;transition:background-color var(--duration-normal) var(--ease-standard),color var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.hero-cta-primary{min-width:200px;background:var(--color-orange);color:var(--color-surface);border:1px solid rgba(255,255,255,0.25);box-shadow:0 16px 40px rgba(0,0,0,0.22)}.hero-cta-primary:hover{background:var(--hero-cta-primary-hover-bg);color:var(--hero-cta-primary-hover-text);border-color:transparent;box-shadow:0 8px 24px rgba(0,0,0,0.12);transform:translateY(-2px);text-decoration:none}.hero-cta-primary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);box-shadow:0 8px 24px rgba(0,0,0,0.12)}.hero-cta-primary:active{transform:translateY(0);transition-duration:80ms}.hero-cta-secondary{min-width:180px;background:var(--hero-cta-secondary-bg);color:var(--hero-text);border:1px solid var(--hero-cta-secondary-border);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.hero-cta-secondary:hover{background:rgba(255,255,255,0.14);color:var(--hero-text);border-color:rgba(255,255,255,0.35);text-decoration:none;transform:translateY(-1px)}.hero-cta-secondary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.hero-cta-secondary:active{transform:translateY(0);transition-duration:80ms}.hero-wave{position:absolute;inset-inline:0;bottom:-1px;z-index:4;line-height:0}.hero-wave svg{display:block;width:100%;height:80px}@media (max-width:1100px){.hero-section{min-height:auto;padding:110px 0 96px}}@media (max-width:768px){.hero-section{padding:100px 0 88px}.hero-content h1{max-width:100%;font-size:clamp(2.1rem,8vw,3.3rem)}.hero-content p{font-size:1rem;line-height:var(--line-height-normal)}.hero-actions{justify-content:center}.hero-cta{flex:0 0 auto;min-width:180px;max-width:220px}.hero-wave svg{height:52px}}@media (max-width:520px){.hero-section{padding:92px 0 80px}.hero-badge{font-size:var(--font-size-xs);padding:8px 14px;gap:var(--space-1)}.hero-content p{margin-bottom:var(--space-6)}.hero-actions{gap:var(--space-2)}}@media (max-width:480px){.hero-actions{flex-direction:column;align-items:center}.hero-cta{max-width:260px;width:100%}}@media (prefers-reduced-motion:reduce){.hero-cta{transition-duration:0.01ms;transform:none !important}.hero-cta:hover{transform:none !important}.hero-cta:active{transform:none !important}}
/* --- public\assets\css\ds\pages\home\counters.css --- */
.counters-section{position:relative;background:var(--color-bg-alt)}.counters-header{text-align:center;max-width:720px;margin-inline:auto;margin-bottom:var(--space-6)}.counters-header h2{margin:0 0 var(--space-3);color:var(--color-text-heading);font-family:var(--font-family-heading);font-size:var(--font-size-3xl);line-height:var(--line-height-snug);font-weight:var(--font-weight-extrabold)}.counters-subtitle{margin:0;color:var(--color-text-light);font-size:var(--font-size-md);line-height:var(--line-height-relaxed)}.counters-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);align-items:stretch}.counter-item{text-align:center;padding:var(--space-5) var(--space-4);border-radius:var(--radius-xl);border:1px solid var(--color-border-subtle);background:rgba(255,255,255,0.96);box-shadow:0 14px 30px rgba(15,23,42,0.06)}.counter-icon{width:46px;height:46px;margin:0 auto var(--space-3);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:var(--color-teal-soft);color:var(--color-orange)}.counter-icon i{font-size:var(--font-size-xl)}.counter-value{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:var(--font-weight-extrabold);color:var(--color-text-heading);font-variant-numeric:tabular-nums;letter-spacing:0.04em;margin-bottom:var(--space-1)}.counter-label{font-size:var(--font-size-md);color:var(--color-text-light)}@media (max-width:992px){.counters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.counters-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.counter-item{padding:var(--space-4) var(--space-3)}.counter-label{font-size:var(--font-size-sm)}.counters-header{margin-bottom:var(--space-5)}}
/* --- public\assets\css\ds\pages\home\about.css --- */
.about-section{--about-card-bg:rgba(255,255,255,0.92);--about-card-border:var(--color-border-subtle);--about-card-shadow:0 18px 40px rgba(31,41,51,0.06);--about-card-blur:6px;--about-card-radius:1.5rem;--about-text-color:var(--color-text-light);--about-heading-color:var(--color-text-heading);--about-point-icon-glow:var(--color-teal-glow);--about-frame-radius:1.75rem;--about-frame-shadow:0 22px 50px rgba(31,41,51,0.10);--about-media-height:420px;--about-media-radius:1.375rem;--about-placeholder-gradient:linear-gradient(135deg,var(--color-teal-glow),rgba(255,138,52,0.10))}.about-section{position:relative;background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-bg-alt) 100%);overflow:hidden}.about-section .section-header{max-width:var(--container-xl);margin-bottom:var(--space-6)}.about-section .section-header h2{margin:0;color:var(--about-heading-color);font-size:var(--font-size-3xl);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-normal)}.about-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-8);align-items:center}.about-text{min-width:0}.about-card{padding:clamp(20px,3vw,34px);border:1px solid var(--about-card-border);border-radius:var(--about-card-radius);background:var(--about-card-bg);box-shadow:var(--about-card-shadow);backdrop-filter:blur(var(--about-card-blur))}.about-text p{margin:0;color:var(--about-text-color);font-size:1.02rem;line-height:var(--line-height-loose)}.about-points{display:grid;gap:var(--space-4);margin-top:var(--space-7)}.about-point{display:flex;align-items:flex-start;gap:12px;color:var(--about-heading-color);font-size:0.98rem;line-height:var(--line-height-relaxed)}.about-point-icon{flex:0 0 12px;width:12px;height:12px;margin-top:var(--space-2);border-radius:var(--radius-full);background:var(--color-teal);box-shadow:0 0 0 6px var(--about-point-icon-glow)}.about-image{min-width:0}.about-image-frame{position:relative;padding:var(--space-3);border-radius:var(--about-frame-radius);background:linear-gradient(180deg,rgba(26,179,179,0.08),rgba(255,255,255,0.9));box-shadow:var(--about-frame-shadow)}.about-image img.about-media{width:100%;height:var(--about-media-height);object-fit:cover;border-radius:var(--about-media-radius);display:block}.about-placeholder{background:var(--about-placeholder-gradient);border-radius:var(--about-frame-radius);height:var(--about-media-height);box-shadow:0 18px 40px rgba(31,41,51,0.08)}@media (max-width:992px){.about-section{--about-media-height:340px}.about-body{grid-template-columns:1fr;gap:var(--space-6)}.about-image{order:2}.about-text{order:1}}@media (max-width:640px){.about-section{--about-media-height:280px;--about-card-radius:1.25rem;--about-frame-radius:1.375rem;--about-media-radius:1.125rem}.about-section .section-header{margin-bottom:1rem}.about-card{padding:20px}.about-text p{font-size:0.97rem;line-height:1.95}.about-point{font-size:0.94rem}.about-image-frame{padding:8px}}
/* --- public\assets\css\ds\pages\home\why.css --- */
.why-section{--why-card-bg:rgba(255,255,255,0.96);--why-card-border:var(--color-border-subtle);--why-card-shadow:0 14px 30px rgba(15,23,42,0.06);--why-card-radius:1.125rem;--why-card-icon-bg:var(--color-teal-soft);--why-card-icon-color:#0e7676;--why-card-dot-glow:rgba(26,179,179,0.10);--why-line-gradient:linear-gradient(180deg,var(--color-teal-line),rgba(26,179,179,0));--why-media-height:420px;--why-media-radius:1.25rem;--why-frame-radius:1.625rem;--why-frame-shadow:0 22px 50px rgba(31,41,51,0.14)}.why-section{position:relative;background:var(--color-surface);padding-top:0;overflow:hidden}.why-section .section-header{max-width:780px;margin-bottom:var(--space-6)}.why-section .section-header h2{margin:0 0 10px;color:var(--color-text-heading);font-size:clamp(1.9rem,3vw,2.7rem);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-normal)}.why-tagline{margin:0;color:var(--color-text-light);font-size:1.02rem;line-height:1.9}.why-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,0.9fr);gap:var(--space-8);align-items:center}.why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);position:relative}.why-grid::before{content:"";position:absolute;top:8px;bottom:8px;inset-inline-end:16px;width:2px;background:var(--why-line-gradient);pointer-events:none;z-index:0}.why-card{position:relative;padding:var(--space-4);border-radius:var(--why-card-radius);border:1px solid var(--why-card-border);background:var(--why-card-bg);box-shadow:var(--why-card-shadow);display:flex;gap:var(--space-4);z-index:1}.why-card::before{content:"";position:absolute;inset-inline-end:-5px;top:20px;width:10px;height:10px;border-radius:var(--radius-full);background:var(--color-teal);box-shadow:0 0 0 5px var(--why-card-dot-glow);z-index:2}.why-card-icon{flex:0 0 40px;width:40px;height:40px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:var(--why-card-icon-bg);color:var(--why-card-icon-color)}.why-card-icon i{font-size:1.15rem}.why-card-body{flex:1;min-width:0}.why-card-title{margin:0 0 6px;font-size:0.98rem;font-weight:var(--font-weight-extrabold);color:var(--color-text-heading)}.why-card-text{margin:0;font-size:0.95rem;line-height:var(--line-height-relaxed);color:var(--color-text-light)}.why-media-wrapper{min-width:0}.why-media-frame{position:relative;padding:var(--space-3);border-radius:var(--why-frame-radius);background:radial-gradient(circle at top left,rgba(26,179,179,0.16),transparent 55%);box-shadow:var(--why-frame-shadow)}.why-media-image{width:100%;height:var(--why-media-height);border-radius:var(--why-media-radius);object-fit:cover;display:block}.why-media-placeholder{height:var(--why-media-height);border-radius:var(--why-frame-radius);background:linear-gradient(135deg,rgba(26,179,179,0.12),rgba(255,138,52,0.10));box-shadow:0 18px 40px rgba(31,41,51,0.08)}@media (max-width:992px){.why-section{--why-media-height:340px}.why-layout{grid-template-columns:1fr;gap:var(--space-6)}.why-media-wrapper{order:2}.why-grid{order:1}}@media (max-width:640px){.why-section{--why-media-height:280px}.why-section .section-header{margin-bottom:1rem}.why-grid{grid-template-columns:1fr}.why-card{padding-inline-start:26px}.why-tagline{font-size:0.95rem}}
/* --- public\assets\css\ds\pages\home\partners.css --- */
.partners-section{position:relative;overflow:hidden;background:var(--color-surface)}.partners-section .section-header{margin-bottom:var(--space-6);text-align:center}.partners-marquees{display:grid;gap:var(--space-4)}.partners-marquee-row{position:relative;overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}.partners-track{display:flex;align-items:center;width:max-content;will-change:transform;transform:translate3d(0,0,0)}.partners-group{display:flex;align-items:stretch;gap:var(--space-4);flex-shrink:0;padding-inline-end:var(--space-4)}.partner-logo-card,.partner-logo{flex:0 0 auto;width:220px;min-width:220px;height:110px;display:flex;align-items:center;justify-content:center;padding:0.35rem 0.5rem;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:1.125rem;box-shadow:var(--shadow-sm);overflow:hidden}.partner-logo-image{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain;object-position:center;opacity:0;transition:opacity var(--duration-normal) var(--ease-standard),filter var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard)}.partner-logo-image.is-loaded{opacity:1}.partner-logo-fallback{display:none;align-items:center;justify-content:center;width:100%;height:100%;color:var(--color-text-muted);font-size:var(--font-size-2xl)}.partner-logo-card.has-image-error .partner-logo-image{display:none}.partner-logo-card.has-image-error .partner-logo-fallback{display:flex}.partner-logo-card:hover .partner-logo-image{filter:grayscale(0%);transform:scale(1.01)}.partners-static-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.partners-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-8) var(--space-4);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-xl);color:var(--color-muted)}.partners-empty-icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-primary-10);color:var(--color-primary);font-size:1.8rem}.partners-empty h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0}.partners-empty p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;max-width:40ch}@media (max-width:992px){.partner-logo-card,.partner-logo{width:190px;min-width:190px}}@media (max-width:640px){.partners-marquees{gap:0.75rem}.partners-marquee-row{mask-image:none;-webkit-mask-image:none}.partners-group{gap:var(--space-3);padding-inline-end:var(--space-3)}.partner-logo-card,.partner-logo{width:160px;min-width:160px;border-radius:1rem}.partners-static-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}}@media (prefers-reduced-motion:reduce){.partners-track{transform:none !important}}
/* --- public\assets\css\ds\pages\home\contact.css --- */
.contact-section{position:relative}.contact-section .section-header{margin-block-end:var(--space-6)}.contact-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,0.95fr);gap:var(--space-6);align-items:stretch}.contact-map-card,.contact-details-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:1.5rem;box-shadow:var(--shadow-sm);overflow:hidden}.contact-map-card{padding:var(--space-3);display:flex;flex-direction:column}.contact-map-head{padding:var(--space-3) var(--space-3) var(--space-4)}.contact-map-head h3{margin:0;font-size:var(--text-lg);color:var(--color-text)}.contact-map{border-radius:1.25rem;overflow:hidden;background:var(--color-surface-alt)}.contact-map iframe{width:100%;height:100%;min-height:420px;border:0;display:block}.contact-map-directions{align-self:flex-start;margin:var(--space-4) var(--space-3) var(--space-3)}.contact-details-card{padding:var(--space-5);display:flex;align-items:center}.contact-details-list{display:grid;gap:var(--space-4);width:100%}.contact-company{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-alt);border-radius:1.25rem}.contact-company-logo{width:54px;min-width:54px;height:54px;padding:var(--space-1);object-fit:contain;border:1px solid var(--color-border-light);border-radius:1rem;background:var(--color-surface)}.contact-method{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:1.25rem;text-decoration:none;color:var(--color-text);transition:transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard)}.contact-method:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:rgba(34,34,34,0.14)}.contact-method-icon{width:54px;min-width:54px;height:54px;border-radius:1rem;display:inline-flex;align-items:center;justify-content:center;background:rgba(1,105,111,0.08);color:var(--color-primary);font-size:1.2rem}.contact-method-whatsapp .contact-method-icon{background:rgba(37,211,102,0.12);color:#25d366}.contact-method-content{display:grid;gap:0.2rem;min-width:0}.contact-method-content strong{font-size:var(--text-md);color:var(--color-text)}.contact-method-content small{font-size:var(--text-sm);color:var(--color-muted);word-break:break-word}.contact-method-list{align-items:flex-start}.contact-extra-numbers{display:grid;gap:0.35rem}.contact-extra-numbers a{color:var(--color-text);text-decoration:none}.contact-extra-numbers a:hover{color:var(--color-primary)}.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.contact-action{min-width:0;width:100%;justify-content:center;white-space:normal;text-align:center}.contact-action-whatsapp{border-color:#25d366;color:#1f7a3e}.contact-action-whatsapp:hover{background-color:#25d366;border-color:#25d366;color:var(--color-white)}@media (max-width:900px){.contact-layout{grid-template-columns:minmax(0,1fr)}.contact-map iframe{min-height:320px}}@media (max-width:640px){.contact-map-card,.contact-details-card{border-radius:1.25rem}.contact-method{padding:var(--space-3);gap:var(--space-3);border-radius:1rem}.contact-method-icon{width:48px;min-width:48px;height:48px;border-radius:14px}.contact-company-logo{width:48px;min-width:48px;height:48px;border-radius:14px}.contact-map iframe{min-height:280px}.contact-map-directions{align-self:stretch;justify-content:center}.contact-actions{grid-template-columns:minmax(0,1fr)}}
/* --- public\assets\css\ds\pages\home\services.css --- */
.home-services-section{background:var(--color-bg-alt)}.home-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-6);margin-top:2rem}.home-service-card{background:var(--color-surface);border-radius:1rem;padding:var(--space-6) var(--space-5);text-align:center;text-decoration:none;color:var(--color-text);box-shadow:0 4px 12px rgba(0,0,0,0.04);transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);display:flex;flex-direction:column;align-items:center}.home-service-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,0.08);text-decoration:none;color:var(--color-text)}.home-service-icon{width:70px;height:70px;background:var(--color-primary-10);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--color-primary);margin-bottom:1rem}.home-service-image{overflow:hidden}.home-service-image img{width:100%;height:100%;object-fit:cover}.home-service-card h3{font-size:var(--font-size-lg);margin:0 0 0.5rem}.home-service-card p{font-size:var(--font-size-sm);color:var(--color-muted);line-height:1.5}@media (max-width:768px){.home-services-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.home-service-card{padding:1.5rem 1rem}}@media (max-width:480px){.home-services-grid{gap:var(--space-3)}.home-service-card{padding:var(--space-4) var(--space-3)}}
/* --- public\assets\css\ds\pages\home\phase-65b.css --- */
.hp-hero-bg{position:absolute;inset:0;z-index:1;background-size:cover;background-position:center;background-repeat:no-repeat}.hp-hero-bg-desktop{display:block}.hp-hero-bg-mobile{display:none}.hp-hero-bg-fallback{background:linear-gradient(135deg,var(--color-primary) 0%,#0d7c86 52%,#1698a4 100%)}@media (max-width:768px){.hp-hero-bg-desktop{display:none}.hp-hero-bg-mobile{display:block}}.hp-industries-section{background:var(--color-bg-alt)}.hp-industries-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-top:var(--space-7)}.hp-industry-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-4);text-align:center;border:1px solid var(--color-border-subtle);transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.hp-industry-card:hover{transform:translateY(-4px);box-shadow:var(--elevation-2);border-color:var(--color-primary-20)}.hp-industry-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-primary-10);color:var(--color-primary);font-size:1.4rem;margin:0 auto var(--space-3)}.hp-industry-image{width:56px;height:56px;margin:0 auto var(--space-3);overflow:hidden;border-radius:var(--radius-full);background:var(--color-primary-10)}.hp-industry-image img{width:100%;height:100%;object-fit:cover}.hp-industry-card h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0;line-height:var(--line-height-normal)}.hp-industry-card p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.hp-testimonials-section{background:var(--color-bg-alt)}.hp-testimonials-carousel{--testimonials-per-view:3;--testimonials-gap:var(--space-5);margin-top:var(--space-7)}.hp-testimonials-track{display:grid;grid-template-columns:repeat(var(--testimonials-per-view),minmax(0,1fr));gap:var(--testimonials-gap)}.hp-testimonials-viewport:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-lg)}.hp-testimonials-carousel.is-enhanced .hp-testimonials-viewport{direction:ltr;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x pan-y}.hp-testimonials-carousel.is-enhanced .hp-testimonials-viewport::-webkit-scrollbar{display:none}.hp-testimonials-carousel.is-enhanced .hp-testimonials-track{display:flex;gap:var(--testimonials-gap)}.hp-testimonials-carousel.is-enhanced .hp-testimonial-card{flex:0 0 calc((100% - (var(--testimonials-gap) * (var(--testimonials-per-view) - 1))) / var(--testimonials-per-view));min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.hp-testimonial-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:var(--space-4);font-style:normal;margin:0;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.hp-testimonial-card:hover{transform:translateY(-2px);box-shadow:var(--elevation-2)}.hp-testimonial-stars{display:flex;gap:2px;color:#f59e0b;font-size:var(--font-size-sm)}.hp-testimonial-quote{font-size:var(--font-size-md);color:var(--color-text);line-height:var(--line-height-relaxed);margin:0;flex:1}.hp-testimonial-author{display:flex;align-items:center;gap:var(--space-3);margin:0;padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.hp-testimonial-avatar{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-primary-10);color:var(--color-primary);font-size:1.6rem;flex-shrink:0}.hp-testimonial-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.hp-testimonial-info{display:flex;flex-direction:column;gap:2px}.hp-testimonial-info strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-heading)}.hp-testimonial-info span{font-size:var(--font-size-xs);color:var(--color-text-muted)}.hp-testimonials-controls{display:none}.hp-testimonials-carousel.is-enhanced .hp-testimonials-controls{display:grid;grid-template-columns:var(--touch-target) minmax(0,1fr) var(--touch-target);align-items:center;gap:var(--space-3);max-width:420px;margin:var(--space-5) auto 0}.hp-testimonial-nav{width:var(--touch-target);height:var(--touch-target);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-primary);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.hp-testimonial-nav:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);transform:translateY(-1px)}.hp-testimonial-nav:focus-visible,.hp-testimonial-dot:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.hp-testimonials-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.hp-testimonial-dot{width:10px;height:10px;padding:0;border:0;border-radius:var(--radius-full);background:var(--color-border);transition:width var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.hp-testimonial-dot.is-active,.hp-testimonial-dot[aria-current="true"]{width:24px;background:var(--color-primary)}html[dir="rtl"] .hp-testimonial-card{direction:rtl}html[dir="rtl"] .hp-testimonial-nav i{transform:scaleX(-1)}.hp-faq-section{background:var(--color-surface)}.hp-faq-list{max-width:800px;margin:var(--space-7) auto 0;display:flex;flex-direction:column;gap:var(--space-3)}.hp-faq-item{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);transition:box-shadow var(--duration-fast) var(--ease-standard)}.hp-faq-item[open]{box-shadow:var(--elevation-1)}.hp-faq-question{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);cursor:pointer;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);line-height:var(--line-height-snug);list-style:none;border:none;background:none;text-align:start;transition:background-color var(--duration-fast) var(--ease-standard);min-height:var(--touch-target)}.hp-faq-question::-webkit-details-marker{display:none}.hp-faq-question::marker{content:''}.hp-faq-question:hover{background:var(--color-surface-hover)}.hp-faq-question:focus-visible{outline:var(--focus-ring);outline-offset:calc(-1 * var(--focus-offset))}.hp-faq-chevron{font-size:var(--font-size-sm);color:var(--color-text-muted);transition:transform var(--duration-normal) var(--ease-standard);flex-shrink:0}.hp-faq-item[open] .hp-faq-chevron{transform:rotate(180deg)}.hp-faq-answer{padding:0 var(--space-5) var(--space-5)}.hp-faq-answer p{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-relaxed);margin:0}.hp-quote-cta-section{padding-block:var(--space-10);background:linear-gradient(135deg,var(--color-primary) 0%,#0d7c86 60%,#0a5c62 100%);color:var(--color-white);text-align:center}.hp-quote-cta-inner{max-width:640px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.hp-quote-cta-inner h2{font-size:clamp(1.5rem,3vw,var(--font-size-3xl));font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);color:var(--color-white);margin:0}.hp-quote-cta-inner p{font-size:1.05rem;color:rgba(255,255,255,0.85);line-height:var(--line-height-normal);margin:0;max-width:50ch}.hp-quote-cta-btn{min-height:54px;padding:0 36px;border-radius:var(--radius-xl);font-size:1.05rem;font-weight:var(--font-weight-bold);background:var(--color-orange) !important;color:var(--color-surface) !important;border:none !important;box-shadow:0 16px 40px rgba(0,0,0,0.22);text-decoration:none !important;transition:background-color var(--duration-normal) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard)}.hp-quote-cta-btn:hover{background:var(--color-surface) !important;color:var(--color-primary) !important;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.15);text-decoration:none !important}.hp-quote-cta-btn:active{transform:translateY(0);transition-duration:80ms}.hp-quote-cta-btn:focus-visible{outline:2px solid var(--color-white);outline-offset:var(--focus-offset)}.hp-quote-cta-trust{font-size:var(--font-size-sm);color:rgba(255,255,255,0.7)}@media (max-width:768px){.hp-industries-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.hp-quote-cta-section{padding-block:var(--space-8)}}@media (max-width:991px){.hp-testimonials-carousel{--testimonials-per-view:2}}@media (max-width:480px){.hp-quote-cta-section{padding-block:var(--space-7)}.hp-quote-cta-btn{width:100%;max-width:300px}}@media (max-width:640px){.hp-testimonials-carousel{--testimonials-per-view:1;--testimonials-gap:var(--space-4)}.hp-testimonials-carousel.is-enhanced .hp-testimonials-controls{margin-top:var(--space-4)}}@media (prefers-reduced-motion:reduce){.hp-industry-card,.hp-testimonial-card{transition-duration:0.01ms;transform:none !important}.hp-testimonials-carousel.is-enhanced .hp-testimonials-viewport{scroll-behavior:auto}.hp-faq-chevron{transition-duration:0.01ms}}
/* --- public\assets\css\ds\pages\home\index.css --- */
.section-footer{margin-top:var(--space-6);text-align:center}.projects-section .section-header,.blog-home-section .section-header{margin-block-end:var(--space-6)}
/* --- public\assets\css\ds\pages\blog\listing.css --- */
.blog-page-section .section-header{margin-block-end:var(--space-6)}.blog-page-section .section-subtitle{max-width:var(--measure-prose)}
/* --- public\assets\css\ds\pages\blog\post.css --- */
.blog-post-page{padding-block:var(--space-6) var(--space-9)}.post-hero{margin-bottom:2rem}.post-cover{width:100%;max-height:450px;object-fit:cover;border-radius:1.25rem}.post-title{font-size:clamp(1.8rem,3vw,2.5rem);margin:1.5rem 0 0.5rem;color:var(--color-text-heading)}.post-subtitle{color:var(--color-text-light);font-size:var(--font-size-lg)}.post-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;margin:1rem 0;color:#6b8a95}.post-reading-time{display:inline-flex;align-items:center;gap:var(--space-1)}.post-content{font-size:1.05rem;line-height:2;color:#333;max-width:760px}.post-content h2{color:var(--color-text-heading);font-size:var(--font-size-2xl);line-height:var(--line-height-tight);margin-block:var(--space-8) var(--space-4)}.post-content h3{color:var(--color-text-heading);font-size:var(--font-size-xl);line-height:var(--line-height-tight);margin-block:var(--space-6) var(--space-3)}.post-media-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:0.8rem;margin:2rem 0}.post-media-gallery img,.post-media-gallery video{width:100%;border-radius:10px;cursor:pointer}.toc-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);margin:var(--space-6) 0;box-shadow:var(--shadow-sm);max-width:600px;margin-inline:auto}.toc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.toc-title{margin:0;font-size:1.2rem;color:var(--color-primary)}.toc-toggle{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0.3rem 0.8rem;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-muted);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.toc-toggle:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.toc-nav{transition:max-height var(--duration-slow) ease,overflow 0s;overflow:hidden}.toc-nav.collapsed{max-height:0}.toc-list{list-style:none;padding:0;margin:0}.toc-item{margin-bottom:0.4rem}.toc-item.toc-h3{padding-inline-start:1.5rem}.toc-link{color:var(--color-text);text-decoration:none;font-size:0.95rem;transition:color var(--duration-fast) var(--ease-standard);display:flex;align-items:baseline}.toc-link:hover{color:var(--color-primary)}.toc-number{color:var(--color-primary);font-weight:var(--font-weight-bold);margin-inline-end:0.35rem;min-width:1.5rem}.toc-link.active{color:var(--color-primary-hover);font-weight:var(--font-weight-bold)}.blog-services-sidebar{background:var(--color-bg-alt);border-radius:1rem;padding:1.5rem;margin:2rem 0;border:1px solid var(--color-border)}.sidebar-title{margin:0 0 1rem;font-size:1.2rem;color:var(--color-primary)}.sidebar-services-list{list-style:none;padding:0;margin:0;display:grid;gap:0.6rem}.sidebar-services-list li a{display:flex;align-items:center;gap:0.6rem;padding:0.5rem 0.8rem;background:var(--color-surface);border-radius:10px;text-decoration:none;color:var(--color-text);font-size:0.95rem;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard);border:1px solid transparent}.sidebar-services-list li a:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.sidebar-services-list li a i{width:20px;text-align:center}@media (max-width:768px){.blog-post-page{padding-inline:1.2rem}.post-content{padding-inline:0.5rem}.post-hero{padding-inline:0}}@media (max-width:600px){.post-cover{max-height:300px}.toc-container{padding:var(--space-3)}.toc-title{font-size:1rem}}.cross-links{margin-top:var(--space-8);margin-bottom:var(--space-6);text-align:center}.cross-links-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.cross-links-list a.btn{min-width:180px}@media (max-width:480px){.blog-post-page{padding-inline:1rem}.post-content{padding-inline:0.3rem}}.post-share{margin:var(--space-10,2rem) 0;padding-top:var(--space-8,1.5rem);border-top:1px solid var(--color-border,#e5e7eb)}.post-share-title{font-size:var(--font-size-lg,1.125rem);margin:0 0 var(--space-6,0.75rem)}.post-share-list{display:flex;flex-wrap:wrap;gap:var(--space-4,0.5rem);margin:0;padding:0;list-style:none}.post-share-link{display:inline-flex;align-items:center;gap:var(--space-3,0.4rem);padding:var(--space-4,0.5rem) var(--space-6,0.85rem);border:1px solid var(--color-border,#e5e7eb);border-radius:999px;text-decoration:none;font-size:var(--font-size-sm,0.9rem);font-weight:600;color:var(--color-text,#222);background:var(--color-surface,#fff);transition:background 0.18s ease-out,border-color 0.18s ease-out}.post-share-link:hover,.post-share-link:focus-visible{background:var(--color-surface-alt,#f5f5f5);border-color:currentColor}.post-share-link:focus-visible{outline:2px solid var(--color-primary,#01696f);outline-offset:2px}.blog-related-projects,.related-posts-section{margin-block-start:var(--space-10);padding-block-start:var(--space-8);border-block-start:1px solid var(--color-border)}.related-posts-title{font-size:var(--font-size-xl);margin-block:0 var(--space-6)}
/* --- public\assets\css\ds\pages\services\hub.css --- */
.services-hub-hero{position:relative;background-size:cover;background-position:center;background-color:#0b5f66;padding-block:var(--section-padding-y);color:var(--color-white)}.services-hub-hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,0.45)}.services-hub-hero .container{position:relative;z-index:1}.services-hub-hero h1{color:var(--color-white)}.services-hub-subtitle{font-size:var(--font-size-lg);max-width:600px;margin:1rem auto 0;line-height:1.8}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6);margin-top:2rem}.service-card-hub{background:var(--color-surface);border-radius:1rem;box-shadow:0 4px 12px rgba(0,0,0,0.05);overflow:hidden;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);display:flex;flex-direction:column}.service-card-hub:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.1)}.service-card-img img{width:100%;height:200px;object-fit:cover}.service-card-icon{height:120px;display:flex;align-items:center;justify-content:center;background:rgba(1,105,111,0.05);font-size:3rem;color:var(--color-primary)}.service-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}.service-card-body h2{font-size:var(--font-size-xl);margin:0 0 0.5rem;color:var(--color-text)}.service-card-body p{color:var(--color-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal);flex:1;margin-bottom:1rem}.services-quick-nav{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0.8rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.quick-nav-chips{display:flex;gap:0.8rem;flex-wrap:nowrap}.quick-nav-chip{background:#f0f4f4;padding:0.4rem 1rem;border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text);text-decoration:none;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.quick-nav-chip:hover{background:var(--color-primary);color:var(--color-white)}.services-grid-section > .container > .services-grid{margin-top:0}.service-card-hub.popular{position:relative}.service-card-hub.popular .popular-badge{position:absolute;inset-block-start:var(--space-3);inset-inline-end:var(--space-3);z-index:var(--z-base)}.popular-services-section,.services-cta-section{background-color:var(--color-bg-alt)}.services-projects-section .section-title,.services-blog-section .section-title{margin-bottom:var(--space-6)}.popular-services-section > .container > h2{margin-bottom:var(--space-6)}.services-cta-section h2{margin-bottom:var(--space-3)}.services-cta-section p{color:var(--color-text-light);margin-bottom:var(--space-6);margin-inline:auto;max-width:var(--measure-prose)}.section-title{text-align:center;font-size:1.8rem;margin-bottom:2rem;color:var(--color-text)}@media (max-width:768px){.services-grid{grid-template-columns:1fr}.services-hub-hero{padding:2.5rem 0}}
/* --- public\assets\css\ds\pages\services\detail-hero.css --- */
.service-hero{position:relative;display:flex;align-items:center;min-height:42vh;padding-block:var(--section-padding-y-large);background-color:var(--color-primary);background-size:cover;background-position:center;background-repeat:no-repeat;color:var(--color-white)}.service-hero[style*="background-image"]::before{content:"";position:absolute;inset:0;background:var(--color-overlay-light)}.service-hero > .container{position:relative;z-index:var(--z-base)}.service-hero-content{max-width:var(--measure-prose)}.service-hero-content h1{color:var(--color-white);margin-bottom:var(--space-4)}.service-hero-desc{color:var(--color-white);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:var(--space-6)}.service-hero .btn-primary{background-color:var(--color-orange);border-color:var(--color-orange);color:var(--color-white);box-shadow:var(--elevation-6)}.service-hero .btn-primary:hover{background-color:var(--color-orange);border-color:var(--color-orange);color:var(--color-white);box-shadow:var(--elevation-4)}@media (min-width:768px){.service-hero{min-height:52vh}}
/* --- public\assets\css\ds\pages\services\detail.css --- */
.service-highlights{background-color:var(--color-bg-alt)}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space-5)}.highlight-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);line-height:var(--line-height-normal)}.highlight-item i{flex-shrink:0;margin-block-start:var(--space-1);color:var(--color-primary)}.service-description .rich-content{margin-inline:auto}.service-cta-section,.service-final-cta{background-color:var(--color-bg-alt)}.service-cta-section h2,.service-final-cta h2{margin-bottom:var(--space-3)}.service-cta-section p,.service-final-cta p{color:var(--color-text-light);margin-bottom:var(--space-6);margin-inline:auto;max-width:var(--measure-prose)}.service-comparison h2,.service-faq h2{margin-bottom:var(--space-6)}.comparison-table-wrapper{max-inline-size:100%;contain:inline-size paint;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface)}.comparison-table{width:100%;border-collapse:collapse;min-width:34rem}.comparison-table th,.comparison-table td{padding:var(--space-4);text-align:start;vertical-align:top;border-bottom:1px solid var(--color-border-light)}.comparison-table thead th{background-color:var(--color-surface-alt);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);white-space:nowrap}.comparison-table tbody tr:last-child th,.comparison-table tbody tr:last-child td{border-bottom:0}.comparison-table thead th:first-child,.comparison-table tbody td:first-child{position:sticky;inset-inline-start:0;background-color:var(--color-surface);box-shadow:var(--shadow-sm)}.comparison-table thead th:first-child{background-color:var(--color-surface-alt)}.comparison-current td{background-color:var(--color-success-bg)}.comparison-table tbody tr.comparison-current td:first-child{background-color:var(--color-success-bg)}.related-services{background-color:var(--color-bg-alt)}.related-services h2,.service-projects h2,.service-blog h2{margin-bottom:var(--space-6)}.service-card{display:flex;flex-direction:column;background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--elevation-2);overflow:hidden;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.service-card:hover{transform:translateY(calc(var(--space-1) * -1));box-shadow:var(--elevation-3)}.service-card-body h3{font-size:var(--font-size-xl);margin-block-end:var(--space-2);color:var(--color-text)}@media (prefers-reduced-motion:reduce){.service-card,.service-card:hover{transition:none;transform:none}}
/* --- public\assets\css\ds\pages\projects\hub-hero.css --- */
.projects-hub-hero{position:relative;background-color:var(--color-primary);background-size:cover;background-position:center;background-repeat:no-repeat;color:var(--color-white)}.projects-hub-hero[style*="background-image"]::before{content:"";position:absolute;inset:0;background:var(--color-overlay-light)}.projects-hub-hero > .container{position:relative;z-index:var(--z-base)}.projects-hub-hero h1{color:var(--color-white);margin-bottom:var(--space-4)}.projects-hub-subtitle{color:var(--color-white);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);max-width:var(--measure-prose);margin-inline:auto;margin-bottom:0}
/* --- public\assets\css\ds\pages\projects\hub.css --- */
.projects-overview .rich-content{max-width:var(--measure-prose);margin-inline:auto}.projects-grid-wrapper{display:flex;flex-direction:column;gap:var(--space-8)}.projects-cta-section{background-color:var(--color-bg-alt)}.projects-cta-section h2{margin-bottom:var(--space-3)}.projects-cta-section p{color:var(--color-text-light);margin-bottom:var(--space-6);margin-inline:auto;max-width:var(--measure-prose)}
/* --- public\assets\css\ds\pages\projects\detail-hero.css --- */
.project-hero{position:relative;display:flex;align-items:center;min-height:42vh;padding-block:var(--section-padding-y-large);background-color:var(--color-primary);background-size:cover;background-position:center;background-repeat:no-repeat;color:var(--color-white)}.project-hero[style*="background-image"]::before{content:"";position:absolute;inset:0;background:var(--color-overlay-light)}.project-hero > .container{position:relative;z-index:var(--z-base)}.project-hero-content{max-width:var(--measure-prose)}.project-hero-content h1{color:var(--color-white);margin-bottom:var(--space-4)}.project-hero-meta{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);margin-bottom:var(--space-6)}.project-hero-meta span{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-white);font-size:var(--font-size-sm)}.project-hero-meta i{flex-shrink:0}.project-hero .btn-primary{background-color:var(--color-orange);border-color:var(--color-orange);color:var(--color-white);box-shadow:var(--elevation-6)}.project-hero .btn-primary:hover{background-color:var(--color-orange);border-color:var(--color-orange);color:var(--color-white);box-shadow:var(--elevation-4)}@media (min-width:768px){.project-hero{min-height:52vh}}
/* --- public\assets\css\ds\pages\projects\detail.css --- */
.project-challenge-solution,.project-client,.project-cta{background-color:var(--color-bg-alt)}.project-overview h2,.project-results h2,.project-gallery h2,.project-client h2,.project-faq h2,.related-projects h2,.project-related-blog h2{margin-bottom:var(--space-6)}.project-challenge-solution .col h3{margin-bottom:var(--space-3);color:var(--color-primary)}.project-challenge-solution .col p{color:var(--color-text-light);line-height:var(--line-height-relaxed)}.project-gallery-stage{position:relative;inline-size:100%;aspect-ratio:16 / 10;overflow:hidden;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background-color:var(--color-text-heading);box-shadow:var(--elevation-2)}.project-gallery-main-item{position:absolute;inset:0;display:block;inline-size:100%;block-size:100%}.project-gallery-main-item[hidden]{display:none}.project-gallery-main-image{cursor:zoom-in}.project-gallery-main-item img,.project-gallery-main-item video,.project-gallery-main-item iframe{display:block;inline-size:100%;block-size:100%;border:0}.project-gallery-main-item img{object-fit:cover}.project-gallery-main-item video{object-fit:contain}.project-gallery-main-item iframe{background-color:var(--color-text-heading)}.project-gallery-zoom{position:absolute;inset-inline-end:var(--space-4);inset-block-end:var(--space-4);display:grid;place-items:center;inline-size:var(--target-size-min);block-size:var(--target-size-min);border-radius:var(--radius-full);background-color:var(--color-primary);color:var(--color-white);box-shadow:var(--elevation-2)}.project-gallery-thumbnails{display:flex;gap:var(--space-3);margin-block-start:var(--space-4);padding:var(--space-1);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-width:thin}.project-gallery-thumb{flex:0 0 7rem;aspect-ratio:4 / 3;overflow:hidden;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface-alt);color:var(--color-white);cursor:pointer;scroll-snap-align:start;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.project-gallery-thumb img,.project-gallery-thumb-video{display:block;inline-size:100%;block-size:100%}.project-gallery-thumb img{object-fit:cover}.project-gallery-thumb-video{display:grid;place-items:center;background-color:var(--color-text-heading);font-size:var(--font-size-lg)}.project-gallery-thumb:hover,.project-gallery-thumb.is-active{border-color:var(--color-primary);box-shadow:var(--elevation-2)}.project-gallery-thumb:hover{transform:translateY(calc(var(--space-1) * -1))}.project-gallery-thumb:focus-visible,.project-gallery-main-image:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.related-projects .projects-grid{grid-template-columns:minmax(0,1fr)}@media (min-width:768px){.related-projects .projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:992px){.related-projects .projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-client p{font-size:var(--font-size-lg);color:var(--color-text)}.project-related-service h2{margin-bottom:var(--space-3)}.project-related-service p{color:var(--color-text-light);margin-bottom:var(--space-6);margin-inline:auto;max-width:var(--measure-prose)}.project-cta h2{margin-bottom:var(--space-3)}.project-cta p{color:var(--color-text-light);margin-bottom:var(--space-6);margin-inline:auto;max-width:var(--measure-prose)}@media (prefers-reduced-motion:reduce){.project-gallery-thumb,.project-gallery-thumb:hover{transition:none;transform:none}}
/* --- public\assets\css\ds\pages\error.css --- */
.error-page{display:flex;align-items:center;justify-content:center;min-height:80vh;text-align:center;padding:var(--space-4)}.error-page__code{font-size:clamp(5rem,12vw,8rem);font-weight:var(--font-weight-extrabold);background:linear-gradient(135deg,var(--color-primary),#0d7c86);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:var(--line-height-none);margin-bottom:var(--space-2)}.error-page__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-4);color:var(--color-primary-hover)}.error-page__message{color:var(--color-text-muted);margin-bottom:var(--space-8);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.error-page__actions{display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap}
