/* KTIRIA / GSCON-inspired Elementor site. All selectors are namespaced. */
@font-face { font-family:Geist; src:url('../fonts/geist-latin.woff2') format('woff2'); font-weight:300 800; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:Inter; src:url('../fonts/inter-greek.woff2') format('woff2'); font-weight:400 800; font-style:normal; font-display:swap; unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family:'Geist Mono'; src:url('../fonts/geist-mono-latin.woff2') format('woff2'); font-weight:400 500; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Noto Sans Mono'; src:url('../fonts/noto-sans-mono-greek.woff2') format('woff2'); font-weight:400 600; font-style:normal; font-display:swap; unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
:root { --kt-ink:#0b0f17; --kt-paper:#f5f6f8; --kt-blue:#00a0e0; --kt-blue-text:#00678f; --kt-navy:#15345a; --kt-line:#d9dee5; --kt-muted:#58616d; --kt-sans:Geist,Inter,Arial,sans-serif; --kt-mono:'Geist Mono','Noto Sans Mono',monospace; }
html { scroll-behavior:auto; }
body { margin:0; background:var(--kt-paper); color:var(--kt-ink); font-family:var(--kt-sans); }
.elementor .elementor-widget-heading .elementor-heading-title, .elementor .elementor-widget-text-editor, .elementor .elementor-widget-text-editor p, .elementor .elementor-button, .elementor .kt-nav a { font-family:var(--kt-sans); }
.elementor .elementor-widget-heading .elementor-heading-title { color:var(--kt-ink); }
.elementor a:focus-visible, .elementor button:focus-visible, .kt-contact-form :focus-visible { outline:2px solid var(--kt-blue); outline-offset:4px; }
.elementor .kt-header *, .elementor .kt-hero *, .elementor .kt-section *, .elementor .kt-services *, .elementor .kt-footer * { box-sizing:border-box; }
.elementor .kt-header.e-con { position:fixed; z-index:100; top:0; left:0; right:0; min-height:78px; padding:0 clamp(22px,3.2vw,56px); display:grid; grid-template-columns:210px 1fr auto auto; align-items:center; gap:24px; background:rgba(16,20,28,.92); border-bottom:1px solid rgba(255,255,255,.18); backdrop-filter:blur(16px); }
.elementor .kt-logo { width:170px; margin:0; }
.elementor .kt-logo img { display:block; width:170px; height:auto; max-height:54px; object-fit:contain; object-position:left center; filter:brightness(0) invert(1); }
.elementor .kt-nav nav { display:flex; align-items:center; justify-content:center; gap:clamp(15px,2.1vw,34px); }
.elementor .kt-nav a { color:#fff; font-size:12px; font-weight:700; letter-spacing:.075em; text-decoration:none; white-space:nowrap; transition:color .2s; }
.elementor .kt-nav a:hover, .elementor .kt-nav a:focus-visible { color:#76cff0; }
.elementor .kt-header-cta .elementor-button { display:inline-block; text-decoration:none; background:#fff; color:var(--kt-ink); padding:14px 20px; border:1px solid #fff; border-radius:0; font-size:12px; font-weight:700; white-space:nowrap; }
.elementor .kt-header-cta .elementor-button:hover { background:var(--kt-blue-text); border-color:var(--kt-blue-text); color:#fff; }
.elementor .kt-menu-control { display:none; }
.elementor .kt-hero.e-con { box-sizing:border-box; min-height:100dvh; padding:140px clamp(24px,3.2vw,56px) 50px; display:flex; justify-content:flex-end; align-items:stretch; position:relative; background-color:var(--kt-ink); background-position:center; background-size:cover; color:#fff; isolation:isolate; }
.elementor .kt-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(6,12,20,.28) 10%,rgba(6,12,20,.18) 38%,rgba(6,12,20,.88) 100%); }
.elementor .kt-hero-content.e-con { max-width:1440px; margin:0 auto; width:100%; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(270px,.72fr); align-items:end; column-gap:clamp(40px,8vw,150px); row-gap:20px; }
.elementor .kt-hero .kt-eyebrow p { color:#fff; }
.elementor .kt-eyebrow { grid-column:1/-1; margin:0; }
.elementor .kt-eyebrow p, .elementor .kt-label p { margin:0; font-family:var(--kt-mono); font-size:12px; font-weight:500; letter-spacing:.13em; }
.elementor .kt-hero-title { grid-column:1; grid-row:2/4; margin:0; }
.elementor .kt-hero-title .elementor-heading-title { color:#fff; font-size:clamp(54px,6.2vw,106px); line-height:1.02; letter-spacing:-.045em; font-weight:700; max-width:940px; }
.elementor .kt-hero-lead { grid-column:2; grid-row:2; }
.elementor .kt-hero-lead p { color:#ecf1f4; font-size:clamp(16px,1.35vw,20px); line-height:1.5; margin:0; max-width:410px; }
.elementor .kt-hero-content > .kt-button-light { grid-column:2; grid-row:3; }
.elementor .kt-button-light .elementor-button { display:inline-block; text-decoration:none; background:#fff; color:var(--kt-ink); border:1px solid #fff; border-radius:0; padding:15px 24px; font-size:13px; font-weight:700; white-space:nowrap; }
.elementor .kt-button-light .elementor-button:hover { background:var(--kt-blue-text); border-color:var(--kt-blue-text); color:#fff; }
.elementor .kt-inner-hero.e-con { min-height:70dvh; }
.elementor .kt-inner-hero .kt-hero-title .elementor-heading-title { font-size:clamp(44px,5.5vw,82px); }
.elementor .kt-section.e-con { padding:clamp(76px,9vw,136px) clamp(24px,3.2vw,56px); }
.elementor .kt-section > * { max-width:1440px; }
.elementor .kt-section-title .elementor-heading-title { color:inherit; font-size:clamp(38px,4vw,68px); line-height:1.1; letter-spacing:-.04em; font-weight:700; }
.elementor .kt-section-lead p { color:#58616d; font-size:clamp(17px,1.45vw,21px); line-height:1.65; margin:0; }
.elementor .kt-text-link .elementor-button { display:inline-block; text-decoration:none; padding:0 0 7px; color:inherit; background:transparent; border:0; border-bottom:1px solid currentColor; border-radius:0; font-size:13px; font-weight:700; }
.elementor .kt-text-link .elementor-button:hover { color:var(--kt-blue-text); }
.elementor .kt-services .kt-text-link .elementor-button:hover, .elementor .kt-method .kt-text-link .elementor-button:hover { color:var(--kt-blue); }
.elementor .kt-intro.e-con, .elementor .kt-method.e-con, .elementor .kt-company-main.e-con, .elementor .kt-contact.e-con, .elementor .kt-detail.e-con { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(44px,7vw,120px); max-width:none; }
.elementor .kt-intro-copy, .elementor .kt-method-copy { max-width:760px; }
.elementor .kt-intro-copy .kt-section-title, .elementor .kt-method-copy .kt-section-title { margin:18px 0 24px; }
.elementor .kt-intro-copy .kt-text-link { margin-top:28px; }
.elementor .kt-intro.e-con { background:#fff; }
.elementor .kt-facts.e-con { display:grid; grid-template-columns:1fr 1fr; align-content:center; gap:18px; padding:10px 8px 26px; background:transparent; border:0; perspective:1100px; overflow:visible; }
.elementor .kt-fact.e-con { position:relative; isolation:isolate; min-height:210px; padding:22px; display:flex; flex-direction:column; justify-content:space-between; background-color:var(--kt-navy); background-size:cover; background-position:center; border:1px solid rgba(255,255,255,.34); box-shadow:0 18px 32px rgba(11,15,23,.2),0 4px 0 rgba(21,52,90,.34); transform:rotateY(-3deg) rotateX(2deg); transform-style:preserve-3d; transition:transform .35s ease,box-shadow .35s ease; }
.elementor .kt-fact:nth-child(even) { transform:rotateY(3deg) rotateX(2deg); }
.elementor .kt-fact::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(5,13,23,.45),rgba(5,13,23,.18) 36%,rgba(5,13,23,.86)); }
.elementor .kt-fact::after { content:""; position:absolute; inset:1px; z-index:-1; border-top:1px solid rgba(255,255,255,.3); border-left:1px solid rgba(255,255,255,.14); pointer-events:none; }
.elementor .kt-fact:hover { transform:translateY(-8px) rotateY(0) rotateX(0) scale(1.015); box-shadow:0 28px 42px rgba(11,15,23,.24),0 5px 0 rgba(21,52,90,.36); }
.elementor .kt-fact .kt-label p { color:rgba(255,255,255,.88); text-shadow:0 1px 3px rgba(0,0,0,.7); }
.elementor .kt-fact .elementor-heading-title { color:#fff; font-size:clamp(20px,1.9vw,29px); line-height:1.17; letter-spacing:-.035em; text-shadow:0 2px 9px rgba(0,0,0,.68); }
.elementor .kt-services.e-con { background:var(--kt-ink); color:#fff; }
.elementor .kt-services .kt-section-head.e-con { display:grid; grid-template-columns:1fr auto; align-items:end; max-width:1440px; margin:0 auto; padding-bottom:60px; }
.elementor .kt-services .kt-section-head .kt-label { grid-column:1/-1; margin-bottom:16px; }
.elementor .kt-services .kt-section-title .elementor-heading-title { color:#fff; }
.elementor .kt-services .kt-text-link { align-self:end; }
.elementor .kt-service-grid.e-con { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; max-width:none; }
.elementor .kt-services .kt-label p, .elementor .kt-method .kt-label p { color:#b8c7d5; }
.elementor .kt-service-card.e-con { min-height:465px; position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:25px; overflow:hidden; border-right:1px solid rgba(255,255,255,.25); isolation:isolate; }
.elementor .kt-service-card:last-child { border-right:0; }
.elementor .kt-service-card::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(8,13,22,.6),rgba(8,13,22,.16) 40%,rgba(8,13,22,.9)); }
.elementor .kt-service-image { position:absolute; inset:0; z-index:-2; margin:0; }
.elementor .kt-service-image .elementor-widget-container, .elementor .kt-service-image img { display:block; width:100%; height:100%; object-fit:cover; }
.elementor .kt-service-image img { transition:transform .6s; }
.elementor .kt-service-card:hover .kt-service-image img { transform:scale(1.06); }
.elementor .kt-service-number p { color:#d5e1eb; font-family:var(--kt-mono); font-size:12px; letter-spacing:.12em; }
.elementor .kt-service-title .elementor-heading-title { color:#fff; font-size:clamp(21px,1.8vw,30px); line-height:1.13; letter-spacing:-.04em; }
.elementor .kt-service-body p { color:#eef2f6; font-size:14px; line-height:1.5; margin:10px 0 0; }
.elementor .kt-section-head.e-con { display:grid; grid-template-columns:1fr auto; align-items:end; gap:20px; max-width:1440px; margin:0 auto 44px; }
.elementor .kt-section-head .kt-label { grid-column:1/-1; }
.elementor .kt-section-head .kt-section-title { max-width:850px; }
.elementor .kt-project-grid.e-con { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:52px 24px; max-width:1440px; width:100%; margin:0 auto; }
.elementor .kt-project-card.e-con { display:flex; flex-direction:column; align-items:flex-start; }
.elementor .kt-project-image { width:100%; aspect-ratio:1.1; overflow:hidden; margin-bottom:18px; background:#dce1e6; }
.elementor .kt-project-image .elementor-widget-container, .elementor .kt-project-image a, .elementor .kt-project-image img { display:block; width:100%; height:100%; }
.elementor .kt-project-image img { object-fit:cover; transition:transform .6s; }
.elementor .kt-project-card:hover .kt-project-image img { transform:scale(1.045); }
.elementor .kt-project-number p { color:var(--kt-blue-text); font-family:var(--kt-mono); font-size:12px; font-weight:600; letter-spacing:.1em; }
.elementor .kt-project-title .elementor-heading-title { color:var(--kt-ink); font-size:clamp(21px,2vw,29px); line-height:1.2; letter-spacing:-.04em; }
.elementor .kt-project-location p { color:var(--kt-muted); font-size:14px; margin:8px 0 13px; }
.elementor .kt-project-card .kt-text-link { margin-top:auto; }
.elementor .kt-method.e-con { background:var(--kt-ink); color:#fff; }
.elementor .kt-method .kt-section-title .elementor-heading-title { color:#fff; }
.elementor .kt-method .kt-section-lead p { color:#aeb9c8; }
.elementor .kt-method-list.e-con { display:flex; flex-direction:column; }
.elementor .kt-method-row.e-con { display:grid; grid-template-columns:50px minmax(120px,.8fr) 1.35fr; gap:16px; padding:22px 0; border-top:1px solid rgba(255,255,255,.18); }
.elementor .kt-method-no p { color:#b8c7d5; font-family:var(--kt-mono); }
.elementor .kt-method-row .elementor-heading-title { color:#fff; font-size:21px; }
.elementor .kt-method-row p { color:#aeb9c8; font-size:14px; line-height:1.55; margin:0; }
.elementor .kt-journal-grid.e-con { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; width:100%; max-width:1440px; margin:0 auto; }
.elementor .kt-journal-card.e-con { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:24px 0; border-top:1px solid var(--kt-ink); }
.elementor .kt-journal-card .elementor-heading-title { font-size:clamp(22px,2vw,29px); line-height:1.25; letter-spacing:-.035em; }
.elementor .kt-journal-card p { color:var(--kt-muted); font-size:14px; line-height:1.55; }
.elementor .kt-journal-card .kt-label p { color:var(--kt-blue-text); font-size:12px; }
.elementor .kt-journal-image { width:100%; aspect-ratio:1.5; overflow:hidden; }
.elementor .kt-journal-image .elementor-widget-container, .elementor .kt-journal-image a, .elementor .kt-journal-image img { width:100%; height:100%; display:block; }
.elementor .kt-journal-image img { object-fit:cover; }
.elementor .kt-footer.e-con { display:block; background:var(--kt-ink); color:#fff; padding:0; overflow:hidden; }
.elementor .kt-footer-cta.e-con { display:block; padding:clamp(80px,8vw,126px) clamp(24px,3.2vw,56px) clamp(90px,8vw,120px); background:var(--kt-ink); }
.elementor .kt-footer-top.e-con { max-width:1200px; width:100%; margin:0 auto; display:flex; justify-content:space-between; align-items:end; gap:30px; padding-bottom:48px; }
.elementor .kt-footer-title .elementor-heading-title { color:#fff; font-size:clamp(38px,5vw,72px); line-height:1.06; letter-spacing:-.05em; }
.elementor .kt-footer-main.e-con { width:100%; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:0; background:var(--kt-ink); }
.elementor .kt-footer-map { position:relative; min-height:640px; width:100%; margin:0; clip-path:polygon(0 0,100% 0,85% 100%,0 100%); }
.elementor .kt-footer-map .elementor-widget-container, .elementor .kt-map-surface { position:relative; width:100%; height:100%; min-height:640px; }
.elementor .kt-map-surface { background:#151b25; }
.elementor .kt-map-surface iframe { position:absolute; inset:0; width:100%; height:100%; border:0; filter:grayscale(1) invert(.94) brightness(.78) contrast(1.42); }
.elementor .kt-map-wash { position:absolute; inset:0; background:rgba(11,15,23,.28); pointer-events:none; }
.elementor .kt-map-edge { position:absolute; inset:0; pointer-events:none; background:linear-gradient(99deg,transparent 86%,rgba(255,255,255,.26) 86.12%,transparent 86.28%); }
.elementor .kt-map-chip { position:absolute; left:20px; bottom:20px; display:inline-flex; align-items:center; gap:16px; max-width:calc(85% - 30px); padding:11px 15px; border:1px solid rgba(255,255,255,.16); background:rgba(11,15,23,.88); color:#fff; text-decoration:none; font-size:13px; line-height:1.35; backdrop-filter:blur(8px); }
.elementor .kt-map-chip strong { font-weight:600; }
.elementor .kt-map-chip span { color:rgba(255,255,255,.56); white-space:nowrap; }
.elementor .kt-map-chip:hover { border-color:var(--kt-blue); }
.elementor .kt-footer-panel.e-con { min-height:640px; padding:72px clamp(30px,4vw,64px) 76px clamp(26px,3.7vw,60px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:0; }
.elementor .kt-footer-logo { width:180px; margin:0 0 30px; }
.elementor .kt-footer-logo img { display:block; width:180px; height:auto; max-height:80px; object-fit:contain; object-position:left center; filter:brightness(0) invert(1); }
.elementor .kt-footer-copy-widget { width:100%; }
.elementor .kt-footer-copy h2 { margin:0; color:#fff; font-family:var(--kt-sans); font-size:clamp(32px,3vw,40px); font-weight:650; line-height:1.13; letter-spacing:-.045em; }
.elementor .kt-footer-copy > p { max-width:40ch; margin:16px 0 0; color:rgba(255,255,255,.65); font-size:16px; line-height:1.6; }
.elementor .kt-footer-facts { display:grid; grid-template-columns:1fr 1fr; column-gap:28px; row-gap:30px; margin-top:38px; }
.elementor .kt-footer-facts span { display:block; margin-bottom:10px; color:rgba(255,255,255,.44); font-family:var(--kt-mono); font-size:11px; line-height:1.3; letter-spacing:.12em; }
.elementor .kt-footer-facts a { display:block; color:#fff; text-decoration:none; font-size:17px; line-height:1.38; overflow-wrap:anywhere; }
.elementor .kt-footer-facts a:hover { color:#91d8f1; }
.elementor .kt-footer-bottom.e-con { width:100%; padding:24px clamp(24px,3.2vw,56px); display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid rgba(255,255,255,.12); }
.elementor .kt-copyright p, .elementor .kt-footer-location p { margin:0; color:rgba(255,255,255,.5); font-size:13px; line-height:1.4; }
.elementor .kt-company-main .kt-company-text { display:flex; flex-direction:column; gap:18px; }
.elementor .kt-company-main .kt-company-text p { color:#59636e; font-size:17px; line-height:1.7; margin:0; }
.elementor .kt-company-main .kt-company-text .kt-label p { color:var(--kt-blue-text); font-size:12px; }
.elementor .kt-company-photo img { width:100%; height:560px; object-fit:cover; }
.elementor .kt-values.e-con { background:#e9edf1; }
.elementor .kt-values-grid.e-con { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--kt-line); max-width:1440px; width:100%; margin:0 auto; }
.elementor .kt-value.e-con { min-height:250px; padding:30px; background:#e9edf1; }
.elementor .kt-value .elementor-heading-title { font-size:25px; margin:40px 0 14px; }
.elementor .kt-value p { color:#59636e; line-height:1.6; }
.elementor .kt-services-list.e-con { display:flex; flex-direction:column; max-width:none; }
.elementor .kt-service-row.e-con { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,7vw,110px); align-items:center; max-width:1440px; width:100%; margin:0 auto; padding:50px 0; border-top:1px solid var(--kt-line); }
.elementor .kt-service-row:nth-child(even) .kt-service-row-image { order:2; }
.elementor .kt-service-row-image img { width:100%; height:430px; object-fit:cover; }
.elementor .kt-service-row-copy { display:flex; flex-direction:column; gap:20px; }
.elementor .kt-contact-info a { display:block; width:fit-content; color:var(--kt-ink); text-decoration:none; font-size:clamp(18px,2vw,26px); line-height:1.6; }
.elementor .kt-contact-info a:hover { color:var(--kt-blue-text); }
.elementor .kt-contact-address { margin:30px 0; }
.elementor .kt-contact-form-wrap { padding:40px; background:#e8edf1; }
.elementor .kt-form-title .elementor-heading-title { color:var(--kt-ink); font-size:clamp(26px,2.5vw,40px); letter-spacing:-.04em; }
.kt-contact-form { display:grid; grid-template-columns:1fr 1fr; gap:19px; }
.kt-field { display:flex; flex-direction:column; gap:8px; }
.kt-field.kt-full, .kt-form-submit, .kt-form-message { grid-column:1/-1; }
.kt-field label { color:#27303b; font-size:14px; font-weight:700; }
.kt-field input, .kt-field select, .kt-field textarea { width:100%; padding:13px 14px; border:1px solid #aeb8c3; border-radius:0; background:#fff; color:var(--kt-ink); font:inherit; }
.kt-field input:focus, .kt-field select:focus, .kt-field textarea:focus { outline:2px solid var(--kt-blue); outline-offset:2px; }
.kt-form-submit { width:fit-content; padding:14px 24px; border:0; border-radius:0; color:#fff; background:var(--kt-navy); font-weight:700; cursor:pointer; }
.kt-form-submit:hover { background:var(--kt-blue-text); }
.kt-form-message { font-size:13px; line-height:1.5; }
.kt-form-message.error { color:#9c2828; }.kt-form-message.success { color:#17613c; }
.kt-honeypot { position:absolute!important; left:-9999px!important; }
.elementor .kt-detail-photo img { width:100%; max-height:600px; object-fit:cover; }
.elementor .kt-detail-copy { display:flex; flex-direction:column; gap:22px; }
.elementor .kt-detail-facts.e-con { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; width:100%; margin:14px 0; }
.elementor .kt-detail-fact.e-con { padding:17px 0; border-top:1px solid var(--kt-line); }
.elementor .kt-detail-fact p { margin:8px 0 0; font-size:17px; line-height:1.45; }
.elementor .kt-detail-fact .kt-label p { margin:0; color:var(--kt-muted); font-size:11px; }
.elementor .kt-article-body.e-con { max-width:850px; margin:auto; }
.elementor .kt-article-body p { font-size:18px; line-height:1.8; color:#39434d; }
@media (max-width:1100px) {
  .elementor .kt-header.e-con { grid-template-columns:170px 1fr auto; }
  .elementor .kt-nav nav { gap:14px; }
  .elementor .kt-nav a { font-size:11px; }
  .elementor .kt-header-cta { display:none; }
  .elementor .kt-service-grid.e-con { grid-template-columns:repeat(3,1fr); }
  .elementor .kt-service-card.e-con { min-height:390px; }
}
@media (max-width:767px) {
  .elementor .kt-header.e-con { min-height:68px; grid-template-columns:1fr auto; padding:0 20px; }
  .elementor .kt-logo, .elementor .kt-logo img { width:144px; }
  .elementor .kt-menu-control { display:block; }
  .kt-menu-toggle { width:42px; height:42px; background:transparent; border:1px solid rgba(255,255,255,.5); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; }
  .kt-menu-toggle span { display:block; width:18px; height:1px; background:#fff; }
  .elementor .kt-nav { display:none; position:absolute; top:68px; left:0; right:0; background:var(--kt-ink); padding:20px; }
  .elementor .kt-header.kt-open .kt-nav { display:block; }
  .elementor .kt-nav nav { flex-direction:column; align-items:stretch; gap:0; }
  .elementor .kt-nav a { padding:15px 0; font-size:15px; border-bottom:1px solid rgba(255,255,255,.15); }
  .elementor .kt-hero.e-con { min-height:100dvh; padding:110px 24px 38px; }
  .elementor .kt-inner-hero.e-con { min-height:70dvh; }
  .elementor .kt-hero-content.e-con { display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
  .elementor .kt-hero-title .elementor-heading-title { font-size:clamp(40px,10vw,68px); }
  .elementor .kt-hero-lead p { font-size:17px; }
  .elementor .kt-intro.e-con, .elementor .kt-method.e-con, .elementor .kt-company-main.e-con, .elementor .kt-contact.e-con, .elementor .kt-detail.e-con { display:flex; flex-direction:column; gap:42px; }
  .elementor .kt-fact.e-con { min-height:195px; padding:18px; }
  .elementor .kt-services .kt-section-head.e-con, .elementor .kt-section-head.e-con { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
  .elementor .kt-service-grid.e-con { grid-template-columns:1fr 1fr; }
  .elementor .kt-service-card.e-con { min-height:300px; padding:18px; }
  .elementor .kt-service-title .elementor-heading-title { font-size:22px; }
  .elementor .kt-service-body p { font-size:14px; }
  .elementor .kt-project-grid.e-con, .elementor .kt-journal-grid.e-con { grid-template-columns:1fr 1fr; gap:32px 18px; }
  .elementor .kt-method-row.e-con { grid-template-columns:32px 1fr; }
  .elementor .kt-method-row > :last-child { grid-column:2; }
  .elementor .kt-footer-top.e-con { flex-direction:column; align-items:flex-start; }
  .elementor .kt-footer-main.e-con { grid-template-columns:1fr; }
  .elementor .kt-footer-map { min-height:360px; clip-path:none; }
  .elementor .kt-footer-map .elementor-widget-container, .elementor .kt-map-surface { min-height:360px; }
  .elementor .kt-map-edge { display:none; }
  .elementor .kt-footer-panel.e-con { min-height:0; padding:56px clamp(24px,5vw,42px) 66px; }
  .elementor .kt-service-row.e-con { grid-template-columns:1fr; gap:20px; }
  .elementor .kt-service-row:nth-child(even) .kt-service-row-image { order:0; }
  .elementor .kt-service-row-image img { height:350px; }
  .elementor .kt-company-photo img { height:400px; }
  .elementor .kt-values-grid.e-con { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .elementor .kt-section.e-con { padding:72px 22px; }
  .elementor .kt-section-title .elementor-heading-title { font-size:clamp(34px,9vw,44px); }
  .elementor .kt-section-lead p { font-size:16px; line-height:1.6; }
  .elementor .kt-facts.e-con { gap:12px; padding:4px 3px 24px; }
  .elementor .kt-fact.e-con { min-height:168px; padding:15px; }
  .elementor .kt-fact .elementor-heading-title { font-size:17px; overflow-wrap:anywhere; }
  .elementor .kt-project-grid.e-con, .elementor .kt-journal-grid.e-con { grid-template-columns:1fr; }
  .elementor .kt-service-grid.e-con { grid-template-columns:1fr; }
  .elementor .kt-service-card.e-con { min-height:310px; }
  .elementor .kt-project-location p, .elementor .kt-journal-card p { font-size:15px; }
  .elementor .kt-footer-cta.e-con { padding:76px 22px 82px; }
  .elementor .kt-footer-facts { grid-template-columns:1fr; gap:28px; }
  .elementor .kt-footer-facts a { font-size:16px; }
  .elementor .kt-footer-bottom.e-con { flex-direction:column; align-items:flex-start; padding:24px 22px; gap:8px; }
  .kt-contact-form { grid-template-columns:1fr; }
  .elementor .kt-contact-form-wrap { padding:26px 20px; }
}
@keyframes kt-enter-up {
  from { opacity:.88; transform:translate3d(0,var(--kt-enter-distance,10px),0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes kt-enter-fade {
  from { opacity:.88; }
  to { opacity:1; }
}
.elementor .kt-entered { animation:kt-enter-up .52s cubic-bezier(.2,.7,.2,1) var(--kt-enter-delay,0ms) backwards; }
.elementor .kt-fact.kt-entered { animation-name:kt-enter-fade; }
@media (max-width:767px) {
  .elementor .kt-entered { --kt-enter-distance:6px; animation-duration:.45s; }
}
@media (prefers-reduced-motion:reduce) {
  .elementor .kt-entered { animation:none !important; }
  .elementor .kt-service-image img, .elementor .kt-project-image img, .elementor .kt-fact.e-con { transition:none; }
  .elementor .kt-fact:hover { transform:none; }
}
