:root{color-scheme:light;--bg: #ffffff;--surface: #f4f6f9;--surface-2: #e8edf3;--ink: #0b1220;--text: #10151c;--text-muted: #59667a;--text-on-ink: #eaf0f8;--text-on-ink-muted: #97a6bb;--border: rgba(16, 21, 28, .13);--border-strong: rgba(16, 21, 28, .22);--brand: #00adef;--accent: #0079b5;--accent-hover: #005e8f;--accent-soft: rgba(0, 173, 239, .12);--accent-contrast: #ffffff;--danger: #b3261e;--font: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--step--1: clamp(.83rem, .8rem + .15vw, .89rem);--step-0: clamp(1rem, .96rem + .2vw, 1.06rem);--step-1: clamp(1.2rem, 1.13rem + .32vw, 1.4rem);--step-2: clamp(1.45rem, 1.32rem + .6vw, 1.85rem);--step-3: clamp(1.8rem, 1.58rem + 1vw, 2.5rem);--step-4: clamp(2.2rem, 1.85rem + 1.6vw, 3.3rem);--step-5: clamp(2.6rem, 2.05rem + 2.4vw, 4.1rem);--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: clamp(4.5rem, 9vw, 7.5rem);--radius: 14px;--radius-sm: 10px;--measure: 62ch;--container: 1240px;--gutter: clamp(1.25rem, 5vw, 3rem);--header-h: 68px;--ease: cubic-bezier(.16, 1, .3, 1);--shadow: 0 18px 40px -24px rgba(11, 18, 32, .38);--shadow-lg: 0 30px 70px -30px rgba(11, 18, 32, .45)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4{line-height:1.12;text-wrap:balance;letter-spacing:-.025em;font-weight:800}p{text-wrap:pretty}img,picture,svg,video{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}:where(ul[role=list],ol[role=list]){list-style:none;margin:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--space-xl)}.prose{max-width:var(--measure)}.eyebrow{font-size:var(--step--1);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-sm)}.section-title{font-size:var(--step-3)}.section-lead{margin-top:var(--space-sm);color:var(--text-muted);max-width:54ch;font-size:var(--step-1);line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.8rem 1.4rem;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:700;font-size:var(--step-0);line-height:1.2;text-decoration:none;white-space:nowrap;transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .12s var(--ease),color .2s var(--ease)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn-ghost:hover{border-color:var(--text);background:var(--surface)}.header{position:sticky;top:0;z-index:40;height:var(--header-h);display:flex;align-items:center;background:var(--bg);border-bottom:1px solid transparent;transition:border-color .3s var(--ease)}.header[data-stuck=true]{border-bottom-color:var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);width:100%}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand-logo{height:34px;width:auto;display:block}.nav{display:flex;align-items:center;gap:clamp(1rem,2vw,1.75rem)}.nav-link{text-decoration:none;font-size:.95rem;font-weight:600;color:var(--text-muted);transition:color .2s var(--ease);white-space:nowrap}.nav-link:hover{color:var(--text)}.header-phone{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;text-decoration:none;font-size:.95rem;white-space:nowrap}@media(max-width:900px){.nav{display:none}}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-block:clamp(2.5rem,6vw,5.5rem) var(--space-xl)}.hero-slogan{font-size:var(--step-0);font-weight:700;letter-spacing:.01em;color:var(--accent);margin-bottom:.9rem}.hero-title{font-size:var(--step-4);letter-spacing:-.035em}.hero-title em{font-style:normal;color:var(--accent)}.hero-lead{margin-top:1.25rem;font-size:var(--step-1);color:var(--text-muted);max-width:46ch;line-height:1.5}.hero-actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem}.hero-media{position:relative;padding-left:clamp(0px,6vw,74px)}.hero-figure{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--surface)}.hero-figure img{width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 5}.hero-inset{position:absolute;left:0;bottom:clamp(1.5rem,6vw,3.5rem);width:clamp(120px,27%,190px);margin:0;border-radius:var(--radius);overflow:hidden;border:3px solid var(--bg);box-shadow:var(--shadow-lg);background:var(--surface)}.hero-inset img{width:100%;aspect-ratio:3 / 4;object-fit:cover}.hero-inset figcaption{position:absolute;inset:auto 0 0;padding:1.5rem .6rem .5rem;background:linear-gradient(to top,rgba(5,10,17,.9),transparent);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-align:center}.hero-caption{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1.25rem 1.1rem;background:linear-gradient(to top,rgba(5,10,17,.88),transparent);color:#fff;font-size:var(--step--1);font-weight:600}@media(max-width:880px){.hero{grid-template-columns:1fr;padding-block:var(--space-md) var(--space-lg)}.hero-media{order:-1;padding-left:0}.hero-figure img{aspect-ratio:3 / 2}.hero-inset{left:auto;right:1rem;bottom:-1.5rem;width:108px}}.refs{border-block:1px solid var(--border);background:var(--surface);padding-block:1.15rem;overflow:hidden}.refs-track{display:flex;width:max-content;gap:3rem;animation:marquee 44s linear infinite}.refs:hover .refs-track{animation-play-state:paused}.refs-item{font-weight:700;font-size:.95rem;color:var(--text-muted);white-space:nowrap;letter-spacing:-.01em}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(210px,auto);gap:1rem;margin-top:var(--space-lg)}.services-grid>:nth-child(1){grid-column:span 2;grid-row:span 2}.services-grid>:nth-child(2){grid-column:span 2}.services-grid>:nth-child(3),.services-grid>:nth-child(4){grid-column:span 1}.service{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);padding:1.4rem;display:flex;flex-direction:column;justify-content:flex-end;min-height:210px;isolation:isolate;color:#fff;transition:transform .35s var(--ease)}.service:hover{transform:translateY(-3px)}.service img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.service:hover img{transform:scale(1.04)}.service:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,#050a11f0,#050a11db 40%,#050a1180 72%,#050a1147)}.service-icon{align-self:flex-start;margin-bottom:auto;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-sm);background:#060c149e;border:1px solid rgba(255,255,255,.26)}.service-title{font-size:var(--step-1);margin-top:1rem}.service-text{margin-top:.4rem;font-size:.93rem;color:#ffffffd1;max-width:40ch}.service--flat{background:var(--accent);border-color:transparent}.service--flat:after{content:none}.service--flat .service-text{color:#ffffffdb}@media(max-width:860px){.services-grid{grid-template-columns:repeat(2,1fr)}.services-grid>:nth-child(1){grid-column:span 2;grid-row:auto}.services-grid>:nth-child(2){grid-column:span 2}}@media(max-width:560px){.services-grid{grid-template-columns:1fr}.services-grid>*{grid-column:1 / -1!important}}.featured{background:var(--ink);color:var(--text-on-ink)}.featured-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:var(--space-xl)}.featured h2{font-size:var(--step-3)}.featured p{margin-top:1rem;color:var(--text-on-ink-muted);max-width:46ch}.featured-meta{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:2rem;border-top:1px solid rgba(255,255,255,.16);padding-top:1.25rem}.featured-meta dt{font-size:var(--step--1);color:var(--text-on-ink-muted)}.featured-meta dd{margin:.25rem 0 0;font-weight:700}.featured-figure{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg)}.featured-figure img{width:100%;aspect-ratio:16 / 9;object-fit:cover}@media(max-width:880px){.featured-inner{grid-template-columns:1fr}}.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.filters{display:flex;flex-wrap:wrap;gap:.5rem}.filter{padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:transparent;font-size:.9rem;font-weight:600;color:var(--text-muted);transition:color .2s var(--ease),border-color .2s var(--ease),background-color .2s var(--ease)}.filter:hover{color:var(--text);border-color:var(--text)}.filter[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.gallery-grid{margin-top:var(--space-lg);display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media(max-width:980px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.gallery-grid{grid-template-columns:1fr 1fr;gap:3px;margin-inline:calc(-1 * var(--gutter))}.tile{border-radius:0;border:0}.tile img{aspect-ratio:1 / 1}}.tile{position:relative;padding:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);cursor:zoom-in;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.tile img{width:100%;height:100%;aspect-ratio:4 / 3;object-fit:cover;object-position:center 32%;transition:transform .5s var(--ease)}.tile:hover img{transform:scale(1.04)}.tile-label{position:absolute;inset:auto 0 0;padding:2rem .9rem .75rem;background:linear-gradient(to top,rgba(5,10,17,.9),transparent);color:#fff;text-align:left;font-size:.88rem;font-weight:700;opacity:0;transition:opacity .25s var(--ease)}.tile:hover .tile-label,.tile:focus-visible .tile-label{opacity:1}.gallery-empty{margin-top:var(--space-lg);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:var(--space-lg) var(--space-md);text-align:center;color:var(--text-muted)}.lightbox{position:fixed;inset:0;z-index:90;padding:clamp(1rem,4vw,3rem);background:#04080ef0;border:0;width:100%;height:100%;max-width:100%;max-height:100%}.lightbox[open]{display:grid;place-items:center}.lightbox::backdrop{background:#04080ecc}.lightbox img{max-width:min(1100px,100%);max-height:76vh;width:auto;object-fit:contain;border-radius:var(--radius)}.lightbox-caption{margin-top:1rem;text-align:center;color:#dce5f2;font-size:.95rem}.lightbox-caption strong{display:block;font-size:1.05rem;color:#fff}.lightbox-btn{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.26);color:#fff;transition:background-color .2s var(--ease)}.lightbox-btn:hover{background:#ffffff3d}.lightbox-prev{left:clamp(.5rem,2vw,1.5rem)}.lightbox-next{right:clamp(.5rem,2vw,1.5rem)}.lightbox-close{top:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem);transform:none}.process{margin-top:var(--space-lg);display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.step{border-top:2px solid var(--accent);padding-top:1.1rem}.step h3{font-size:var(--step-1)}.step p{margin-top:.5rem;color:var(--text-muted);font-size:.95rem}@media(max-width:860px){.process{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.process{grid-template-columns:1fr}}.contact{background:var(--surface);border-top:1px solid var(--border)}.contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start}.form{margin-top:var(--space-md);display:grid;gap:1.1rem}.field{display:grid;gap:.45rem}.field label{font-weight:700;font-size:.93rem}.field input,.field select,.field textarea{padding:.75rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);color:var(--text);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.field input::placeholder,.field textarea::placeholder{color:var(--text-muted);opacity:.9}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field textarea{resize:vertical;min-height:110px}.field-error{color:var(--danger);font-size:.87rem;font-weight:600}.field[data-invalid=true] input,.field[data-invalid=true] textarea{border-color:var(--danger)}.form-note{font-size:.87rem;color:var(--text-muted)}.form-status{border-radius:var(--radius-sm);padding:.85rem 1rem;font-weight:600;font-size:.93rem;background:var(--accent-soft);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.contact-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:1.5rem}.contact-list{display:grid;gap:1.1rem;margin-top:1.25rem}.contact-row{display:flex;gap:.85rem;align-items:flex-start}.contact-row svg{flex:none;color:var(--accent);margin-top:2px}.contact-row dt{font-size:.85rem;color:var(--text-muted)}.contact-row dd{margin:.1rem 0 0;font-weight:700}.contact-row a{text-decoration:none}.contact-row a:hover{text-decoration:underline}.map{margin-top:1.25rem;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--surface-2);aspect-ratio:4 / 3}.map iframe{width:100%;height:100%;border:0;display:block}@media(max-width:880px){.contact-grid{grid-template-columns:1fr}}.footer{background:var(--ink);color:var(--text-on-ink);padding-block:var(--space-xl) var(--space-md)}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:var(--space-lg) var(--space-md)}.footer-logo{display:inline-block;background:#fff;padding:.6rem .85rem;border-radius:var(--radius-sm);margin-bottom:1.1rem}.footer-logo img{height:30px;width:auto;display:block}.footer-slogan{color:var(--text-on-ink-muted);font-size:.95rem;max-width:30ch;margin-bottom:1.5rem}.footer-social{display:flex;gap:.6rem}.social-btn{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--text-on-ink);background:#ffffff14;border:1px solid rgba(255,255,255,.14);text-decoration:none;transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.social-btn:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.footer-col h2{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-on-ink-muted);margin-bottom:1.15rem;font-weight:700}.footer-col>a{display:block;color:var(--text-on-ink-muted);text-decoration:none;font-size:.95rem;font-weight:600;padding-block:.38rem;transition:color .2s var(--ease),padding-left .2s var(--ease)}.footer-col>a:hover{color:var(--text-on-ink);padding-left:4px}.footer-contact ul{display:grid;gap:.9rem}.footer-contact li{display:flex;align-items:flex-start;gap:.65rem;font-size:.93rem;color:var(--text-on-ink-muted);line-height:1.45}.footer-contact li svg{flex:none;margin-top:2px;color:var(--brand)}.footer-contact a{color:var(--text-on-ink-muted);text-decoration:none}.footer-contact a:hover{color:var(--text-on-ink);text-decoration:underline}.footer-contact-sub{display:block;font-size:.78rem;color:var(--text-on-ink-muted);opacity:.7;margin-top:1px}@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1 / -1}}@media(max-width:520px){.footer-grid{grid-template-columns:1fr;gap:var(--space-md)}}.footer-bottom{margin-top:var(--space-lg);padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;align-items:center;font-size:.88rem;color:var(--text-on-ink-muted)}.footer-legal{display:flex;gap:1.25rem}.footer-legal a{color:var(--text-on-ink-muted);text-decoration:none;font-weight:600}.footer-legal a:hover{color:var(--text-on-ink)}.sectors{background:var(--surface);border-block:1px solid var(--border)}.sector-list{margin-top:var(--space-lg);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-lg)}.sector{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;padding-block:1.05rem;border-bottom:1px solid var(--border)}.sector dt{font-weight:700}.sector dd{margin:0;color:var(--text-muted);font-size:.93rem;text-align:right}@media(max-width:780px){.sector-list{grid-template-columns:1fr}.sector dd{text-align:left}}.faq{margin-top:var(--space-lg);max-width:76ch}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-block:1.15rem;font-weight:700;font-size:var(--step-1);cursor:pointer;list-style:none;transition:color .2s var(--ease)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:var(--accent)}.faq-sign{position:relative;flex:none;width:16px;height:16px}.faq-sign:before,.faq-sign:after{content:"";position:absolute;inset:50% 0 auto;height:2px;border-radius:2px;background:var(--accent);transition:transform .25s var(--ease)}.faq-sign:after{transform:rotate(90deg)}.faq-item[open] .faq-sign:after{transform:rotate(0)}.faq-item p{padding-bottom:1.3rem;color:var(--text-muted);max-width:68ch}.legal{padding-block:var(--space-lg) var(--space-xl)}.legal .container{max-width:780px}.legal-back{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.93rem;text-decoration:none;color:var(--accent);margin-bottom:var(--space-md)}.legal-back:hover{text-decoration:underline}.legal h1{font-size:var(--step-3)}.legal-updated{margin-top:.6rem;color:var(--text-muted);font-size:.9rem}.legal-body{margin-top:var(--space-md)}.legal-body h2{font-size:var(--step-1);margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border)}.legal-body p{margin-top:.9rem;color:var(--text-muted)}.legal-body strong{color:var(--text)}.legal-body ul{margin:.9rem 0 0;padding-left:1.2rem;color:var(--text-muted)}.legal-body li{margin-top:.45rem}.legal-body a{color:var(--accent)}.legal-note{margin-top:1rem;padding:.8rem 1rem;border-left:3px solid var(--accent);background:var(--accent-soft);font-size:.9rem;color:var(--text)}.notfound{text-align:center}.notfound p{margin:1rem auto 2rem;color:var(--text-muted);max-width:46ch}.fab-stack{position:fixed;right:clamp(1rem,3vw,1.75rem);bottom:clamp(1rem,3vw,1.75rem);z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:.7rem}.fab{position:relative;display:inline-flex;align-items:center;gap:.6rem;padding:.8rem;border-radius:999px;color:#fff;text-decoration:none;font-weight:700;box-shadow:inset 0 1px #ffffff47,inset 0 -2px 6px #0000002e,0 16px 30px -12px #0b122080;transition:transform .22s var(--ease),box-shadow .22s var(--ease),filter .22s var(--ease);animation:fab-in .5s var(--ease) both}.fab .fab-label,.fab svg{position:relative;z-index:1}.fab svg{transition:transform .22s var(--ease)}.fab:hover{transform:translateY(-3px);filter:brightness(1.05)}.fab:hover svg{transform:scale(1.12)}.fab:active{transform:translateY(-1px) scale(.97)}.fab-label{font-size:.95rem;padding-right:.35rem}.fab-call{background:linear-gradient(180deg,#0092cf,var(--accent));animation-delay:.05s}.fab-wa{background:linear-gradient(180deg,#27c063,#1faf54);animation-delay:.16s}.fab-wa:before{content:"";position:absolute;inset:0;border-radius:inherit;background:#1faf54;z-index:-1;animation:fab-ping 2.6s var(--ease) infinite}@keyframes fab-in{0%{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fab-ping{0%{transform:scale(1);opacity:.45}70%,to{transform:scale(1.55);opacity:0}}@media(max-width:560px){.fab-label{display:none}.fab{width:52px;height:52px;padding:0;justify-content:center}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal[data-visible=true]{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.refs-track{animation:none}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
