:root{--color-primary: #d4af37;--color-primary-hover: #c89b2b;--color-primary-dark: #b8860b;--color-primary-soft: #f7efd2;--color-accent: #d4af37;--color-accent-dark: #b8860b;--color-accent-soft: #f3e8bd;--color-black: #111315;--color-black-soft: #17191c;--color-charcoal: #1f2329;--color-charcoal-light: #2a2f36;--color-page: #f8f7f4;--color-surface: #ffffff;--color-surface-soft: #f5f3ee;--color-surface-dark: #17191c;--color-heading: #111315;--color-text: #444444;--color-text-muted: #777777;--color-text-light: #f8f7f4;--color-success: #b8860b;--color-warning: #c89b2b;--color-danger: #bc403a;--color-info: #1f2329;--color-border: rgba(23, 25, 28, .12);--color-border-medium: rgba(23, 25, 28, .2);--color-border-strong: rgba(23, 25, 28, .3);--color-border-light: rgba(255, 255, 255, .14);--shadow-small: 0 10px 28px rgba(15, 16, 18, .07);--shadow-medium: 0 20px 50px rgba(15, 16, 18, .12);--shadow-large: 0 35px 90px rgba(10, 11, 13, .22);--font-heading: "Manrope", "Inter", Arial, sans-serif;--font-body: "Inter", Arial, sans-serif;--font-display: clamp(2.8rem, 5vw, 5rem);--font-h1: clamp(2.4rem, 4.5vw, 4.4rem);--font-h2: clamp(2rem, 3.5vw, 3.4rem);--font-h3: clamp(1.35rem, 2.2vw, 2rem);--font-h4: clamp(1.1rem, 1.6vw, 1.5rem);--font-body-large: clamp(1rem, 1.15vw, 1.08rem);--font-body-normal: clamp(.92rem, 1vw, 1rem);--font-small: .78rem;--container-width: 1320px;--container-padding: 24px;--section-space: clamp(4rem, 7vw, 6.5rem);--section-space-small: clamp(2.8rem, 5vw, 4.5rem);--header-height-desktop: 90px;--header-height-tablet: 80px;--header-height-mobile: 70px;--radius-small: 6px;--radius-medium: 10px;--radius-large: 16px;--radius-pill: 999px;--transition-fast: .18s ease;--transition-normal: .28s ease;--transition-slow: .45s cubic-bezier(.2, .8, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;margin:0;padding:0;scroll-behavior:smooth;scroll-padding-top:var(--header-height-desktop);background:var(--color-page);font-size:16px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100%;margin:0;padding:0;overflow-x:hidden;background:var(--color-page);color:var(--color-text);font-family:var(--font-body);font-size:1rem;font-weight:400;line-height:1.65}body.project-modal-open,body.completed-project-modal-open{overflow:hidden}main,section,article,aside,header,footer,nav{display:block}figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0}table{width:100%;border-collapse:collapse}button,input,textarea,select{font:inherit}button{margin:0}textarea{resize:vertical}img,picture,video,canvas,svg{max-width:100%;display:block}img{height:auto;object-position:center}iframe{max-width:100%}.image-frame,.media-frame,.full-image-frame{position:relative;width:100%;overflow:hidden;background:var(--color-black-soft)}.image-frame img,.media-frame img,.full-image-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.hero-img,.slide-img,.hero-main-image,.hero-banner img,.hero-slide img,.hero-img-wrapper img{width:100%;height:100%;display:block;object-fit:cover!important;object-position:center center!important;background:transparent!important}.project-image,.card-image,.about-image,.gallery-image,.team-image,.robot-image,.machine-image,.completed-card>img,.ongoing-card>img,.project-card>img,.opas-image-container>img,.completed-modal-main-image>img,.modal-main-image>img,.gallery-main-image>img{width:100%;height:100%;display:block;object-fit:cover!important;object-position:center center!important;background:transparent!important}.certificate-image,.logo-image,.diagram-image,.technical-drawing,.preserve-full-image{width:100%;height:100%;display:block;object-fit:contain!important;object-position:center!important;background:#fff}.image-focus-top{object-position:center top!important}.image-focus-bottom{object-position:center bottom!important}.image-focus-left{object-position:left center!important}.image-focus-right{object-position:right center!important}.image-focus-center{object-position:center center!important}img[style*="object-fit: fill"]{object-fit:cover!important}.image-ratio-hero{aspect-ratio:16/7}.image-ratio-wide{aspect-ratio:16/9}.image-ratio-project{aspect-ratio:16/10}.image-ratio-card{aspect-ratio:4/3}.image-ratio-square{aspect-ratio:1/1}.image-ratio-portrait{aspect-ratio:3/4}img,video,iframe{max-inline-size:100%}h1,h2,h3,h4,h5,h6{margin:0;color:var(--color-heading);font-family:var(--font-heading);font-weight:800;letter-spacing:-.035em;line-height:1.12;text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}h1{font-size:var(--font-h1)}h2{font-size:var(--font-h2)}h3{font-size:var(--font-h3)}h4{font-size:var(--font-h4)}h5{font-size:1rem;letter-spacing:-.01em}h6{font-size:.9rem;letter-spacing:0}p{margin:0;color:var(--color-text);font-size:var(--font-body-normal);line-height:1.75}p+p{margin-top:1rem}strong,b{font-weight:700}small{font-size:var(--font-small)}::selection{background:var(--color-primary);color:var(--color-black)}.location,.address,.project-location,.office-address,.contact-address{word-break:normal;overflow-wrap:normal;hyphens:none}a{color:inherit;text-decoration:none;transition:color var(--transition-fast),opacity var(--transition-fast)}a:hover{color:var(--color-primary-dark)}button{padding:0;border:0;background:transparent;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.btn,.button-primary,.button-secondary,.button-outline{min-height:48px;padding:.82rem 1.45rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:1px solid transparent;border-radius:var(--radius-small);font-size:.76rem;font-weight:800;letter-spacing:.09em;line-height:1;text-align:center;text-transform:uppercase;cursor:pointer;transition:color var(--transition-normal),background-color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}.btn,.button-primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-black);box-shadow:0 10px 24px #d4af3738}.btn:hover,.button-primary:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:var(--color-black);transform:translateY(-2px)}.button-secondary{border-color:var(--color-charcoal);background:var(--color-charcoal);color:#fff}.button-secondary:hover{border-color:var(--color-black);background:var(--color-black);color:var(--color-primary);transform:translateY(-2px)}.button-outline{border-color:var(--color-border-strong);background:transparent;color:var(--color-heading)}.button-outline:hover{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-black);transform:translateY(-2px)}input,textarea,select{width:100%;min-height:48px;padding:.82rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-small);outline:none;background:var(--color-surface);color:var(--color-heading);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}textarea{min-height:125px}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.72}input:focus,textarea:focus,select:focus{border-color:var(--color-primary-dark);box-shadow:0 0 0 4px #d4af3729}label{display:inline-block;margin-bottom:.45rem;color:var(--color-heading);font-size:.78rem;font-weight:700;letter-spacing:.035em}.container,.page-container,.section-container{width:min(100% - var(--container-padding) * 2,var(--container-width));margin-inline:auto}.page-section{padding-block:var(--section-space)}.page-section-small{padding-block:var(--section-space-small)}.surface-section{background:var(--color-surface)}.soft-section{background:var(--color-surface-soft)}.dark-section{background:var(--color-surface-dark);color:var(--color-text-light)}.section-label,.section-eyebrow{display:inline-flex;align-items:center;gap:.65rem;color:var(--color-primary-dark);font-size:.68rem;font-weight:800;letter-spacing:.15em;line-height:1.4;text-transform:uppercase}.section-label:before,.section-eyebrow:before{width:30px;height:2px;flex:0 0 auto;background:var(--color-primary);content:""}.section-title{max-width:820px;margin-top:.9rem}.section-description{max-width:650px;margin-top:1.2rem;color:var(--color-text-muted)}.card,.content-card{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-small);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}.card:hover,.content-card:hover{border-color:#d4af378c;box-shadow:var(--shadow-medium);transform:translateY(-4px)}.cinematic-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-medium);background:var(--color-black-soft);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}.cinematic-card:hover{border-color:#d4af37ad;box-shadow:0 22px 55px #090a0b40;transform:translateY(-5px)}.cinematic-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.3rem;background:linear-gradient(180deg,transparent 25%,rgba(10,11,12,.15) 48%,rgba(10,11,12,.92) 100%);color:#fff}router-outlet{display:none}router-outlet+*{width:100%;min-height:1px;display:block}app-header{position:relative;z-index:10000;display:block;width:100%}.custom-snackbar{border:1px solid rgba(212,175,55,.48)!important;border-radius:8px!important;background:var(--color-black-soft)!important;color:var(--color-primary)!important;font-family:var(--font-body)!important;font-weight:700!important;text-align:center!important;box-shadow:var(--shadow-medium)!important}.custom-snackbar .mat-mdc-snack-bar-label,.custom-snackbar .mdc-snackbar__label{color:var(--color-primary)!important}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(212,175,55,.72);outline-offset:4px}.skip-link{position:fixed;top:12px;left:12px;z-index:99999;padding:.7rem 1rem;border-radius:var(--radius-small);background:var(--color-primary);color:var(--color-black);transform:translateY(-150%);transition:transform var(--transition-fast)}.skip-link:focus{transform:translateY(0)}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-bold{font-weight:700!important}.text-heading{color:var(--color-heading)!important}.text-primary,.text-accent{color:var(--color-primary-dark)!important}.text-muted{color:var(--color-text-muted)!important}.bg-page{background:var(--color-page)!important}.bg-surface{background:var(--color-surface)!important}.bg-primary{background:var(--color-primary)!important;color:var(--color-black)!important}.bg-dark{background:var(--color-black-soft)!important;color:#fff!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:2rem!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:2rem!important}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media (min-width: 769px){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#e3e0d9}::-webkit-scrollbar-thumb{border:2px solid #e3e0d9;border-radius:var(--radius-pill);background:var(--color-charcoal)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark)}}@media (max-width: 1024px){:root{--container-padding: 20px;--section-space: clamp(3.8rem, 7vw, 5.5rem)}html{scroll-padding-top:var(--header-height-tablet)}}@media (max-width: 768px){:root{--container-padding: 17px;--section-space: clamp(3.4rem, 10vw, 5rem);--section-space-small: clamp(2.5rem, 8vw, 3.8rem)}html{font-size:15px;scroll-padding-top:var(--header-height-mobile)}body{line-height:1.62}h1{font-size:clamp(2.2rem,9vw,3.5rem)}h2{font-size:clamp(1.8rem,7.5vw,2.7rem)}h3{font-size:clamp(1.3rem,5vw,1.9rem)}.btn,.button-primary,.button-secondary,.button-outline{min-height:44px;padding:.75rem 1.15rem}.image-ratio-hero{aspect-ratio:16/10}}@media (max-width: 480px){:root{--container-padding: 14px}html{font-size:14px}h1{font-size:clamp(2rem,10vw,3rem);line-height:1.08}h2{font-size:clamp(1.7rem,8vw,2.4rem);line-height:1.12}h3{font-size:clamp(1.25rem,6vw,1.75rem)}.image-ratio-hero,.image-ratio-wide{aspect-ratio:4/3}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
