/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/a1727c74-4b7b-44bf-af75-fbff664957e2.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/3dd8c0bf-2ec6-4039-a58f-43adc6439eb2.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/06eb6f99-7a26-4b83-b7e6-5426670a3421.woff2") format('woff2');
  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;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/a1727c74-4b7b-44bf-af75-fbff664957e2.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/3dd8c0bf-2ec6-4039-a58f-43adc6439eb2.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/06eb6f99-7a26-4b83-b7e6-5426670a3421.woff2") format('woff2');
  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;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/a1727c74-4b7b-44bf-af75-fbff664957e2.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/3dd8c0bf-2ec6-4039-a58f-43adc6439eb2.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/06eb6f99-7a26-4b83-b7e6-5426670a3421.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/3f8c162e-699a-4c70-b284-f3e007b2fdb7.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/26980175-ca6a-44da-a398-c2c210735f8d.woff2") format('woff2');
  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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/1d5a8ebe-8eb2-4243-b35b-75b559f6d71e.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/81ff8084-3bca-448d-b06d-25d8d52d9b80.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/977dd6fc-81bd-4ad2-9f1c-0b9f9e30e719.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/2841b63c-6b21-439a-9e6b-74ab3868adf0.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/2bc806ec-66cf-4b52-9d5d-01766688d9d2.woff2") format('woff2');
  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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/83fd5a72-e98f-4fd7-83d4-6ea8046fdcc9.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/69449d1d-4abf-417f-bfaf-838b8563090c.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/8302e099-d9a1-4703-8200-2ee1cd030d75.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/384ee0c0-72de-4c9c-ae52-2fbbe00e1a24.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/e8ceac71-02ac-47fa-848d-1657d1628835.woff2") format('woff2');
  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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/7a794515-c039-438f-9f3c-759e3eb1aeba.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/16797a85-ad6f-404d-b907-50c43e3c58e2.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/67aebbe3-9295-48b5-b5a1-39c32b022a90.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/aeb0fa07-3479-48f9-b0bb-855aadb57091.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/da1b8ae9-3968-4a5e-bb13-44348399900b.woff2") format('woff2');
  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;
}

body{--bg:#0E0E0E;--panel:#141414;--line:#2A2A2A;--text:#EAEAEA;--dim:#9A9A9A;--mid:#C9C9C9;--red:#FF2A2A;--mapf:grayscale(1) invert(.9) contrast(.9);margin:0;background:var(--bg);color:var(--text);font-family:Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--text);text-decoration:none}a:hover{color:var(--red)}::selection{background:var(--red);color:var(--bg)}
.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:.14em;font-size:11px}.dim{color:var(--dim)}
h1,h2{font-family:'Archivo Black',sans-serif;text-transform:uppercase;letter-spacing:-.01em;margin:0}
.wrap{max-width:1400px;margin:0 auto;padding:0 28px}
.page{display:none}.page.active{display:block}
.scan{position:fixed;inset:0;z-index:60;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.06) 3px 4px)}
@keyframes glow{0%,100%{filter:drop-shadow(0 0 2px rgba(70,200,240,.15))}50%{filter:drop-shadow(0 0 7px rgba(70,200,240,.55))}}
@keyframes ldbar{from{width:0%}to{width:100%}}
nav.top{background:var(--bg);border-bottom:1px solid var(--line);position:relative;z-index:20}
nav.top .in{max-width:1400px;margin:0 auto;display:flex;align-items:stretch;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;padding:0 18px;border-right:1px solid var(--line);flex:none}
.brand .lg{position:relative;width:78px;height:52px}.brand img{width:78px;height:52px;object-fit:contain;display:block;animation:glow 3.4s ease-in-out infinite}
.brand canvas{position:absolute;left:1px;top:-16px;width:76px;height:84px;pointer-events:none}
.brand .t1{display:block;font-family:'Archivo Black',sans-serif;font-size:15px;letter-spacing:.1em;line-height:1}
.brand .t2{display:block;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.22em;color:var(--dim);margin-top:3px}
.navlinks{flex:1;display:flex;align-items:center;justify-content:center;gap:10px 20px;padding:8px 16px;min-width:0;flex-wrap:wrap}
.navlinks a{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.12em;color:var(--dim);border-bottom:2px solid transparent;padding:4px 0;white-space:nowrap}
.navlinks a:hover{color:var(--text)}.navlinks a.on{color:var(--text);border-color:var(--red)}
.telbtn{display:flex;align-items:center;padding:0 22px;background:var(--red);color:var(--bg)!important;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;letter-spacing:.1em;transition:background .2s}.telbtn:hover{background:var(--text)}
.btn{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;letter-spacing:.14em;padding:17px 30px;transition:background .2s,transform .15s,border-color .2s;cursor:pointer}
.btn:active{transform:scale(.96)}
.btn.red{background:#FF2A2A;color:#0E0E0E!important}.btn.red:hover{background:#EAEAEA;color:#0E0E0E!important}
.btn.ghost{border:1px solid rgba(234,234,234,.45);color:#EAEAEA!important;padding:16px 30px}.btn.ghost:hover{border-color:#EAEAEA}
.btn.inv{background:var(--bg);color:var(--text)!important}.btn.inv:hover{background:var(--panel);color:var(--red)!important;transform:translateY(-2px)}
.hero{position:relative;border-bottom:1px solid var(--line);overflow:hidden;min-height:min(80dvh,760px);display:flex;align-items:center}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.93) 0%,rgba(10,10,10,.6) 52%,rgba(10,10,10,.24) 100%)}
.hero>.in{position:relative;z-index:1;width:100%;max-width:1400px;margin:0 auto;padding:80px 28px 84px}
.hero h1{font-size:clamp(2.3rem,4.4vw,4rem);line-height:.96;max-width:16ch;color:#EAEAEA}
.hero p{font-size:16px;line-height:1.6;color:#D6D6D6;max-width:44ch;margin:24px 0 0;text-wrap:pretty}
.sect{border-bottom:1px solid var(--line);padding:70px 0 74px}
.sect h2{font-size:clamp(1.6rem,2.6vw,2.3rem)}
.sub{font-size:15px;color:var(--dim);margin:12px 0 34px;max-width:52ch}
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.bento figure{margin:0;background:var(--bg)}.bento img{width:100%;object-fit:cover;display:block}
.bento .c7{grid-column:span 7}.bento .c5{grid-column:span 5}.bento .c4{grid-column:span 4}
.bento .c7 img,.bento .c5 img{height:300px}.bento .c4 img{height:230px}
.bento figcaption{padding:14px 16px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;color:var(--mid);border-top:1px solid var(--line);text-transform:uppercase}
.svc{display:grid;grid-template-columns:minmax(200px,1fr) auto auto;gap:24px;align-items:center;padding:26px 8px;border-bottom:1px solid var(--line);transition:background .2s,padding-left .25s}
.svc:hover{background:var(--panel);padding-left:20px;color:var(--text)}
.svc .n{display:block;font-family:'Archivo Black',sans-serif;font-size:clamp(1.3rem,2.4vw,2rem);text-transform:uppercase}
.svc .d{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--dim);margin-top:8px}
.svc img{width:190px;height:110px;object-fit:cover;display:block;border:1px solid var(--line)}
.svc .ar{font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--red)}
.strip{border:1px solid var(--line);padding:1px;background:var(--line)}
swiper-container{width:100%;--swiper-navigation-color:var(--red);--swiper-navigation-size:24px}
swiper-slide{width:min(380px,78vw);user-select:none}
swiper-container img{-webkit-user-drag:none;pointer-events:none}
.card{margin:0;background:var(--bg)}.card img{width:100%;height:250px;object-fit:cover;display:block;filter:saturate(.88) contrast(1.06)}
.card figcaption{padding:14px 16px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--mid);border-top:1px solid var(--line);text-transform:uppercase}
.cta{background:var(--red)}.cta .in{max-width:1400px;margin:0 auto;padding:60px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.cta h2{font-size:clamp(1.8rem,3.4vw,3rem);color:var(--bg)}.cta p{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.06em;color:var(--bg);margin:10px 0 0}
.phead{padding:64px 28px 56px;border-bottom:1px solid var(--line);max-width:1400px}
.phead h1{font-size:clamp(2.4rem,5vw,4.2rem);line-height:.95}
.lead{font-size:16px;line-height:1.6;color:var(--mid);max-width:52ch;margin:20px 0 0;text-wrap:pretty}
.gal{padding:56px 28px 60px;border-bottom:1px solid var(--line)}
.galhead{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:26px}
.galhead h2{font-size:clamp(1.5rem,2.4vw,2.1rem)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2px}
.tile{position:relative;padding:0;border:0;background:var(--panel);display:block;width:100%;cursor:pointer;overflow:hidden;aspect-ratio:4/3}
.tile img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) contrast(1.06);transition:transform .5s cubic-bezier(.16,1,.3,1),filter .3s}
.tile:hover img{transform:scale(1.06);filter:saturate(1.03)}
.tile .vig{position:absolute;inset:0;box-shadow:inset 0 -52px 44px -34px rgba(0,0,0,.6);pointer-events:none}
.tile .num{position:absolute;left:10px;bottom:8px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.18em;color:#EAEAEA;background:rgba(10,10,10,.72);padding:4px 8px;pointer-events:none}
.show{margin:0;max-width:1400px;margin-left:auto;margin-right:auto}
.show img{width:100%;height:min(62vh,560px);object-fit:cover;display:block;filter:saturate(.88) contrast(1.06);transition:filter .3s}
.show img:hover{filter:saturate(1.05) brightness(1.08)}
.show figcaption,.showcap{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding:18px 28px;border-top:1px solid var(--line)}
.show .nm,.showcap .nm{font-family:'Archivo Black',sans-serif;font-size:clamp(1.3rem,2.2vw,1.9rem);text-transform:uppercase}
.duo{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1px;background:var(--line)}
.duo figure{margin:0;background:var(--bg)}.duo img{width:100%;height:420px;object-fit:cover;display:block;filter:saturate(.88) contrast(1.06)}
.duo figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 24px;border-top:1px solid var(--line)}
.duo .nm{font-family:'Archivo Black',sans-serif;font-size:1.2rem;text-transform:uppercase}
.cgrid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(300px,5fr) minmax(300px,7fr);gap:1px;background:var(--line)}
.cgrid>div{background:var(--bg)}
.ccol{padding:48px 28px;display:flex;flex-direction:column;gap:34px}
.lab{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.22em;color:var(--dim);margin:0 0 10px}
.big{font-family:'Archivo Black',sans-serif;font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:.02em}
.cgrid iframe{width:100%;height:100%;min-height:520px;border:0;display:block;filter:var(--mapf)}
.faq{border-top:1px solid var(--line)}
.faq .q{border-bottom:1px solid var(--line)}
.faq button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:none;border:0;padding:22px 8px;cursor:pointer;text-align:left}
.faq button:hover{background:var(--panel)}
.faq .qt{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.06em;color:var(--text)}
.faq .mk{font-family:'IBM Plex Mono',monospace;font-size:16px;color:var(--red)}
.faq .an{font-size:14px;line-height:1.7;color:var(--dim);margin:0;padding:0 8px 22px;max-width:65ch;display:none}
.faq .q.open .an{display:block}
footer{border-top:1px solid var(--line)}
.fgrid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--line)}
.fgrid>div{background:var(--bg);padding:36px 28px}
.fgrid img.logo{width:170px;height:auto;display:block}
.flinks{display:flex;flex-direction:column;gap:10px;font-size:14px}
.legal{border-top:1px solid var(--line)}
.legal .in{max-width:1400px;margin:0 auto;padding:16px 28px;display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.06em;color:var(--dim)}
.legal a{color:var(--dim)}.legal a:hover{color:var(--text)}
#splash{position:fixed;inset:0;z-index:100;background:#212023;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .45s}
#splash.hide{opacity:0;pointer-events:none}
#splash video{height:min(62vh,580px);max-width:86vw;object-fit:contain;display:block}
#splash .bar{width:240px;height:2px;background:#2A2A2A;margin-top:36px}#splash .bar div{height:2px;background:#FF2A2A;animation:ldbar 3.9s linear forwards}
#splash p{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.26em;color:#9A9A9A;margin:14px 0 0}
#splash .skip{position:absolute;top:22px;right:26px;background:none;border:1px solid #2A2A2A;color:#9A9A9A;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;padding:9px 16px;cursor:pointer}
#splash .skip:hover{color:#EAEAEA;border-color:#EAEAEA}
#lb{position:fixed;inset:0;z-index:90;background:rgba(6,6,6,.95);display:none;flex-direction:column}
#lb.on{display:flex}
#lb .bar2{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #2A2A2A}
#lb .bar2 span{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.16em;color:#9A9A9A}
#lb .bar2 button,#lb .navb{background:none;border:1px solid #2A2A2A;color:#EAEAEA;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;padding:9px 16px;cursor:pointer}
#lb .bar2 button:hover{border-color:#FF2A2A;color:#FF2A2A}
#lb .body{flex:1;display:flex;align-items:center;justify-content:center;gap:18px;padding:20px;min-height:0}
#lb .navb{font-size:16px;padding:14px 18px;flex:none}#lb .navb:hover{border-color:#EAEAEA}
#lb img{max-height:80vh;max-width:78vw;object-fit:contain;display:block;border:1px solid #2A2A2A}
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
[data-reveal].in{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

/* mobile menu */
.menub{display:none;background:none;border:0;border-left:1px solid var(--line);width:58px;padding:0;cursor:pointer}
.menub span{display:block;width:22px;height:2px;background:var(--text);margin:5px auto;transition:transform .32s cubic-bezier(.16,1,.3,1),opacity .2s,background .2s}
.menub:hover span{background:var(--red)}
.menub.x span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menub.x span:nth-child(2){opacity:0}
.menub.x span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mtel{display:none;background:var(--red);color:var(--bg)!important;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;letter-spacing:.2em;padding:8px 10px}
body.mopen .mtel,body.mopen nav.top{position:relative;z-index:86}
#mmenu{position:fixed;inset:0;z-index:80;background:var(--bg);display:flex;flex-direction:column;clip-path:circle(0px at calc(100% - 29px) 64px);visibility:hidden;transition:clip-path .42s cubic-bezier(.7,0,.25,1),visibility 0s .42s}
#mmenu.on{clip-path:circle(150% at calc(100% - 29px) 64px);visibility:visible;transition:clip-path .55s cubic-bezier(.7,0,.25,1)}
#mmenu::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.07) 3px 4px);pointer-events:none}
.mm-top{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}
.mm-close{background:none;border:1px solid var(--line);color:var(--dim);padding:10px 16px;cursor:pointer}
.mm-close:hover{color:var(--red);border-color:var(--red)}
.mm-links{flex:1;display:flex;flex-direction:column;justify-content:center;padding:100px 26px 12px;min-height:0;overflow-y:auto}
.mm-links a{display:block;padding:7px 0;opacity:0;transform:translateX(-30px);transition:opacity .3s ease,transform .4s cubic-bezier(.16,1,.3,1)}
#mmenu.on .mm-links a{opacity:1;transform:none;transition:opacity .45s ease,transform .55s cubic-bezier(.16,1,.3,1)}
#mmenu.on .mm-links a:nth-child(1){transition-delay:.14s}#mmenu.on .mm-links a:nth-child(2){transition-delay:.19s}#mmenu.on .mm-links a:nth-child(3){transition-delay:.24s}#mmenu.on .mm-links a:nth-child(4){transition-delay:.29s}#mmenu.on .mm-links a:nth-child(5){transition-delay:.34s}#mmenu.on .mm-links a:nth-child(6){transition-delay:.39s}
.mm-big{display:inline-block;position:relative;font-family:'Archivo Black',sans-serif;font-size:clamp(1.7rem,7.6vw,2.6rem);text-transform:uppercase;line-height:1.12;letter-spacing:-.01em}
.mm-links a.on .mm-big{color:var(--red)}
.mm-links a.on .mm-big::after{content:"";position:absolute;left:0;bottom:1px;height:4px;width:100%;background:var(--red)}
.mm-sub{display:block;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.2em;color:var(--dim);margin-top:3px}
.mm-foot{border-top:1px solid var(--line)}
.mm-tel{display:block;background:var(--red);color:var(--bg)!important;text-align:center;padding:17px;font-family:'Archivo Black',sans-serif;font-size:1.25rem;letter-spacing:.05em}
.mm-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;padding:15px 20px}
.mm-row a,.mm-row button{background:none;border:0;color:var(--dim);cursor:pointer;padding:4px 0}
.mm-row a:hover,.mm-row button:hover{color:var(--text)}
/* whatsapp float */
.wa{position:fixed;right:20px;bottom:20px;z-index:70;display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);padding:13px 18px;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--text);transition:border-color .2s,transform .2s;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.wa:hover{border-color:#25D366;color:var(--text);transform:translateY(-2px)}
.wa svg{flex:none}
/* hero weld underline */
.weld{position:relative}
.weld::after{content:"";position:absolute;left:0;bottom:-7px;height:4px;width:100%;background:var(--red);transform-origin:left;transform:scaleX(var(--wp,0))}
.weld::before{content:"";position:absolute;bottom:-12px;left:calc(var(--wp,0)*100% - 7px);width:14px;height:14px;border-radius:50%;background:#FFF6E0;box-shadow:0 0 20px 7px rgba(255,150,55,.95),0 0 7px 2px #fff;opacity:0;z-index:1}
.weld.go::before{opacity:1}
.weld.done::before{opacity:0;transition:opacity .45s}
@media (prefers-reduced-motion:reduce){.weld::after{transform:scaleX(1)}.weld::before{display:none}}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.steps>div{position:relative;background:var(--bg);padding:26px 22px 30px}
.steps>div::before{content:"";position:absolute;top:0;left:0;height:3px;width:0;background:var(--red);transition:width .4s cubic-bezier(.16,1,.3,1)}
.steps>div:hover::before{width:100%}
.steps h3{font-family:'Archivo Black',sans-serif;font-size:1.02rem;text-transform:uppercase;letter-spacing:.01em;margin:0 0 10px}
.steps p{font-size:13px;line-height:1.65;color:var(--dim);margin:0}
/* brand section */
.brandsec{display:grid;grid-template-columns:minmax(240px,400px) 1fr;gap:56px;align-items:center}
.bstage{position:relative;max-width:400px;cursor:pointer}
.bstage img{width:100%;height:auto;display:block;filter:drop-shadow(0 0 22px rgba(70,200,240,.10))}
.bstage .bflames{position:absolute;left:0;top:0;width:100%;pointer-events:none;transition:transform .16s ease-out,opacity .8s;animation:flick 3.2s ease-in-out infinite}
.bstage .bfl{position:absolute;pointer-events:none;transition:transform .16s ease-out,opacity .8s;animation:flick 3.2s ease-in-out infinite}
.bstage.vfl .bflames{opacity:0;animation:none}
.bstage.playing .bfl{opacity:0}
@keyframes flick{0%,100%{filter:drop-shadow(0 0 3px rgba(70,200,240,.25)) brightness(1)}50%{filter:drop-shadow(0 0 9px rgba(70,200,240,.65)) brightness(1.3)}}
.bstage video{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:104%;opacity:0;transition:opacity .6s;clip-path:inset(2px 2px 2px 5px)}
.bstage.playing video{opacity:1}
.bstage img{transition:opacity .8s}
.bstage.playing img{opacity:0}
@media (max-width:900px){.brandsec{grid-template-columns:1fr;gap:30px}.bstage{margin:0 auto;max-width:320px}}
/* corner peek mascot */
#peek{position:fixed;right:0;bottom:84px;z-index:65;width:min(230px,52vw);pointer-events:none;opacity:0;transition:opacity .3s}
#peek.on{opacity:1}
#peek video{width:100%;display:block;clip-path:inset(2px 0 2px 5px)}
/* gallery cap */
.gal.capped .grid .tile:nth-child(n+13){display:none}
.morebtn{display:block;width:100%;margin-top:14px;background:none;border:1px solid var(--line);color:var(--dim);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;padding:15px;cursor:pointer;transition:color .2s,border-color .2s}
.morebtn:hover{color:var(--text);border-color:var(--red)}
/* service rows polish */
.svc img{transition:transform .45s cubic-bezier(.16,1,.3,1)}
.svc:hover img{transform:scale(1.06)}
.svc .ar{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.svc:hover .ar{transform:translateX(7px)}
/* mobile */
@media (max-width:900px){
.navlinks{display:none}
.menub{display:block;margin-left:auto}
nav.top .in{flex-wrap:nowrap;min-height:56px}
.brand{padding:0 12px;border-right:0}
.brand .lg,.brand img{width:66px;height:44px}
.brand canvas{left:0;top:-14px;width:64px;height:71px}
.telbtn{display:none}
.mtel{display:block}
.wrap{padding:0 20px}
.hero>.in{padding:54px 20px 58px}
.hero h1{font-size:clamp(2rem,8.6vw,2.9rem)}
.sect{padding:46px 0 50px}
.phead{padding:42px 20px 38px}
.gal{padding:38px 20px 42px}
.bento .c7,.bento .c5,.bento .c4{grid-column:span 12}
.bento .c7 img,.bento .c5 img,.bento .c4 img{height:220px}
.svc{grid-template-columns:1fr auto;gap:14px;padding:20px 4px}
.svc img{width:104px;height:72px}
.svc:hover{padding-left:10px}
.steps{grid-template-columns:1fr 1fr}
.cgrid{grid-template-columns:1fr}
.cgrid iframe{min-height:340px}
.cta .in{padding:40px 20px}
.duo img{height:300px}
.show img{height:44vh}
.show figcaption,.showcap{padding:14px 20px}
#lb img{max-width:92vw}
.ccol .mono{font-size:12.5px;word-break:break-all}
.wa{right:14px;bottom:14px;padding:13px}
.wa span{display:none}
}
@media (max-width:560px){
.steps{grid-template-columns:1fr}
.svc img{display:none}
.legal .in{justify-content:flex-start}
}

/* cookie consent */
#ckovl{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:74}
#ckbar{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(14px);width:min(640px,calc(100% - 32px));box-sizing:border-box;z-index:75;background:var(--panel);border:1px solid var(--line);padding:24px 26px;box-shadow:0 10px 34px rgba(0,0,0,.5);opacity:0;transition:opacity .3s,transform .35s cubic-bezier(.16,1,.3,1)}
#ckbar.on{opacity:1;transform:translateX(-50%)}
#ckbar .ck-t{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.22em;color:var(--red);margin:0 0 10px}
#ckbar .ck-h{font-family:'Archivo Black',sans-serif;font-size:17px;margin:0 0 10px;letter-spacing:.01em}
#ckbar .ck-x{font-size:12.5px;line-height:1.65;color:var(--dim);margin:0 0 16px}
#ckbar .ck-x a{color:var(--text);text-decoration:underline}
#ckcats{margin:0 0 16px}
.ck-c{display:flex;align-items:flex-start;gap:14px;padding:11px 0;border-top:1px solid var(--line)}
.ck-c:first-child{border-top:0}
.ck-c .ck-ct{flex:1}
.ck-c .ck-ct strong{display:block;font-size:13px;color:var(--text)}
.ck-c .ck-ct span{display:block;font-size:12px;line-height:1.55;color:var(--dim);margin-top:2px}
.ck-sw{position:relative;width:42px;height:24px;flex:0 0 auto;margin-top:1px}
.ck-sw input{position:absolute;opacity:0;width:0;height:0}
.ck-sw i{position:absolute;inset:0;background:#2c2c2c;border:1px solid var(--line);cursor:pointer;transition:background .2s,border-color .2s}
.ck-sw i:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:var(--dim);transition:transform .2s,background .2s}
.ck-sw input:checked+i{background:var(--red);border-color:var(--red)}
.ck-sw input:checked+i:before{transform:translateX(18px);background:#fff}
.ck-sw input:disabled+i{cursor:not-allowed;opacity:.6}
#ckbar .ck-b{display:flex;gap:10px;flex-wrap:wrap}
#ckbar button{cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;padding:11px 16px;flex:1 1 auto;transition:transform .15s,border-color .2s,color .2s,background .2s}
#ckbar button:active{transform:scale(.97)}
#ck-yes,#ck-save{background:var(--red);border:1px solid var(--red);color:#fff}
#ck-no,#ck-yes2{background:none;border:1px solid var(--line);color:var(--dim)}
#ck-no:hover,#ck-yes2:hover{color:var(--text);border-color:var(--dim)}
#ck-set{background:none;border:0;color:var(--dim);text-decoration:underline;flex:0 0 auto}
#ck-set:hover{color:var(--text)}
#ckfab{position:fixed;left:16px;bottom:16px;z-index:73;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--line);color:var(--dim);cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.4);transition:color .2s,border-color .2s,transform .15s}
#ckfab:hover{color:var(--red);border-color:var(--red);transform:translateY(-2px)}
#ckfab svg{width:22px;height:22px;fill:currentColor}
#ckbar [hidden],#ckovl[hidden],#ckfab[hidden]{display:none!important}
@media (max-width:560px){
  #ckbar{left:0;right:0;bottom:0;width:100%;transform:translateY(14px)}
  #ckbar.on{transform:none}
  #ckbar .ck-b button{flex:1 1 100%}
}

/* gallery intros */
.gal .galintro{font-size:13.5px;line-height:1.72;color:var(--dim);max-width:70ch;margin:-6px 0 22px}


.legal-prose{padding:44px 28px 72px;max-width:820px}
.legal-prose h2{font-family:'Archivo Black',sans-serif;font-size:1.15rem;text-transform:uppercase;letter-spacing:.01em;margin:38px 0 12px}
.legal-prose h2:first-child{margin-top:0}
.legal-prose p,.legal-prose li{font-size:14px;line-height:1.75;color:var(--dim);margin:0 0 12px}
.legal-prose ul{padding-left:20px;margin:0 0 12px}
.legal-prose strong{color:var(--text)}
.legal-prose a{color:var(--red)}
.legal-prose .upd{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--dim);margin-bottom:28px}


/* --- WP: tile caption + count badge --- */
.tile{position:relative}
.tile .tcap{position:absolute;left:0;right:0;bottom:0;padding:8px 10px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));text-align:left;pointer-events:none}
.tile .tcount{position:absolute;top:8px;right:8px;background:rgba(14,14,14,.78);border:1px solid var(--line);color:var(--text);font-size:10px;letter-spacing:.1em;padding:3px 8px;pointer-events:none}
/* --- WP: lightbox video + descriere --- */
#lb video{max-width:88vw;max-height:74vh;display:none;background:#000}
#lb.vid img{display:none}
#lb.vid video{display:block}
#lb .lbdesc{display:none;font-size:13px;line-height:1.6;color:var(--dim);padding:10px 20px 16px;max-width:70ch;margin:0 auto;text-align:center}
#lb .lbdesc.on{display:block}
/* --- WP: formular contact --- */
.cform{max-width:660px;display:flex;flex-direction:column;gap:18px}
.cform label{display:flex;flex-direction:column;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.16em;color:var(--dim)}
.cform .frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cform input,.cform textarea{background:var(--panel);border:1px solid var(--line);color:var(--text);font-family:'IBM Plex Mono',monospace;font-size:14px;padding:13px 14px;letter-spacing:.02em}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--red)}
.cform textarea{resize:vertical}
.cform .btn{align-self:flex-start;cursor:pointer;border:0}
.cform .hp{position:absolute;left:-9999px;height:0;overflow:hidden;margin:0}
.fnote{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.04em;padding:16px 18px;border:1px solid var(--line);max-width:660px}
.fnote.ok{border-color:#2f7d4f;color:#7fd8a4}
.fnote.err{border-color:var(--red);color:#ff8a8a}
@media (max-width:560px){.cform .frow{grid-template-columns:1fr}}

/* language switcher */
nav.top .langsw{display:flex;align-items:center;align-self:stretch;padding:0 18px;border-left:1px solid var(--line);font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.18em;color:var(--dim);margin-left:auto}
nav.top .langsw:hover{color:var(--red)}
@media (max-width:900px){nav.top .langsw{display:none}}
.mm-links .langsw2{padding:16px 0 0}
.mm-links .langsw2 .mm-sub{color:var(--red)}

/* footer social icons */
.fsoc{display:flex;gap:10px}
.fsoc a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);color:var(--dim);transition:color .25s,border-color .25s,transform .25s}
.fsoc a:hover{color:var(--red);border-color:var(--red);transform:translateY(-2px)}
.fsoc svg{width:19px;height:19px;fill:currentColor}
.mm-row .fsoc a{padding:0}
