*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:18pt}
@media(max-width:1680px){html{font-size:13pt}}
@media(max-width:980px){html{font-size:11pt}}

body{background:#F2F2F2;font-family:'Source Sans Pro',sans-serif;font-weight:300;color:#474747;line-height:1.875;display:flex;flex-direction:column;align-items:center;min-height:100vh}
a{color:inherit;text-decoration:underline;transition:color .25s}
strong{font-weight:700}
em{font-style:italic}
ul{list-style:none}
img{display:block;max-width:100%}

/* ── Page card ──────────────────────────────────────────────── */
#page{width:74rem;max-width:100%;padding:0 3rem 3rem;display:flex;flex-direction:column;flex:1;position:relative}

/* Home page: full viewport, no scroll (position:fixed locks it reliably
   on mobile Safari, where overflow:hidden alone is known to leak scroll) */
body.pg-home{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;overflow:hidden}
body.pg-home #page{padding:4.5rem 3rem 3rem;height:100%;overflow:hidden}

/* Page transition: brief pause, then slide+fade out; the next page
   slides+fades in from the mirrored direction. Going to "home"
   reverses the motion, just like the old single-page version. */
#page.pg-exit-fwd{animation:pgExitFwd .24s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}
#page.pg-exit-rev{animation:pgExitRev .24s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}
#page.pg-enter-fwd{animation:pgEnterFwd .36s cubic-bezier(.4,0,.2,1) both}
#page.pg-enter-rev{animation:pgEnterRev .36s cubic-bezier(.4,0,.2,1) both}
@keyframes pgExitFwd{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-26px)}}
@keyframes pgExitRev{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(26px)}}
@keyframes pgEnterFwd{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:translateX(0)}}
@keyframes pgEnterRev{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:translateX(0)}}

/* Non-home pages: top padding for the sticky bar */
body:not(.pg-home) #page{padding-top:4.5rem}

/* ── Nav buttons ────────────────────────────────────────────── */
.nav-btn{font-family:'Raleway',sans-serif;font-weight:700;font-size:.6em;text-transform:uppercase;letter-spacing:.2rem;border:2px solid #202020;border-radius:.25rem;height:1.85rem;line-height:1.85rem;padding:0 .65rem;text-decoration:none;color:#202020;transition:color .25s,border-color .25s,background .25s;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem;background:transparent;min-width:9rem;justify-content:center;cursor:pointer}
.nav-btn:hover{color:#528E92;border-color:#528E92;background:rgba(82,142,146,.06)}

/* ── Footer ─────────────────────────────────────────────────── */
#ft{padding:1.5rem 4rem}
#ft.off{display:none}
.ft-in{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.icons{display:flex;gap:1rem}
.icons a{text-decoration:none;color:#474747;transition:color .25s}
.icons a:hover{color:#528E92}
.icons svg{width:1.5rem;height:1.5rem;fill:currentColor;vertical-align:middle}
.copy{font-size:.875em;color:#B3B3B3}

/* ── Headings ────────────────────────────────────────────────── */
h1{font-family:'Raleway',sans-serif;font-weight:300;font-size:1.875em;text-transform:uppercase;letter-spacing:.15rem;color:#474747;line-height:1.375}
h2{font-family:'Raleway',sans-serif;font-weight:400;font-size:1.25em;text-transform:uppercase;letter-spacing:.35rem;color:#474747;line-height:1.375;margin-bottom:1.25rem}
h3{font-family:'Raleway',sans-serif;font-weight:300;font-size:.875em;text-transform:uppercase;color:#474747;line-height:1.375;margin-bottom:1rem}
p{font-size:1em;letter-spacing:.025rem}
p+p{margin-top:1rem}
.dim{color:#A6A6A6}

/* ── Buttons ─────────────────────────────────────────────────── */
.btns{display:flex;flex-wrap:wrap;gap:1rem}
.btns.col{flex-direction:column;align-items:flex-start}
.btns.ctr{justify-content:center}
a.btn{font-family:'Raleway',sans-serif;font-weight:700;font-size:.625em;text-transform:uppercase;letter-spacing:.25rem;border:1px solid #ccc;border-radius:.25rem;height:2.5rem;line-height:2.5rem;padding:0 .75rem;text-decoration:none;color:#474747;transition:color .25s,border-color .25s;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem}
a.btn:hover{color:#528E92;border-color:#528E92}
a.btn.pk:hover{color:#E2B5AF;border-color:#E2B5AF}
a.btn svg{width:1.1em;height:1.1em;fill:currentColor;flex-shrink:0}
.w-xl{min-width:19.875rem}
.w-lg{min-width:17rem}
.w-sm{min-width:8rem}

/* ── Split 2-col layout ──────────────────────────────────────── */
.split{display:flex;background:#fff}
.split-img{flex:0 0 50%;overflow:hidden;min-height:26rem}
.split-img img{width:100%;height:100%;object-fit:cover;display:block}
.split-img.tl img{object-position:top left}
.split-img.tall{min-height:38rem}
.split-txt{flex:1;padding:6rem 4rem;display:flex;flex-direction:column;justify-content:center;gap:.75rem}

/* ── Two text columns ────────────────────────────────────────── */
.dual{display:flex;gap:8rem;padding:4rem;max-width:89rem;margin:0 auto}
.dual>*{flex:1;display:flex;flex-direction:column;gap:.75rem}

/* ── Services 3 cols ─────────────────────────────────────────── */
.tri{display:flex;gap:8rem;max-width:74rem;margin:0 auto;padding:0 4rem;align-items:flex-start}
.tri>*{flex:1;display:flex;flex-direction:column;gap:.75rem}
.svc-img{width:100%;height:14rem;object-fit:cover;display:block}

/* ── Boxes ───────────────────────────────────────────────────── */
.box{max-width:74rem;margin:0 auto;padding:4rem;display:flex;flex-direction:column;gap:.75rem}
.box-sm{max-width:74rem;margin:0 auto;padding:1.5rem 4rem;display:flex;flex-direction:column;gap:.75rem}

/* ── HOME / HERO ─────────────────────────────────────────────── */
.home{display:flex;align-items:stretch;flex:1;position:relative;overflow:hidden}
.home>*{flex:0 0 50%;min-width:0}

.home-txt{padding:2rem 2.5rem;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;align-items:center;background:#fff;position:relative;z-index:2;overflow-y:auto}

/* Feature grid */
.feature-grid{position:relative;width:100%;max-width:32rem}
.feature-copy{display:flex;flex-direction:column;gap:.65rem}
.feat-title{font-family:'Raleway',sans-serif;font-weight:300;font-size:1.15em;color:#1a1a1a;line-height:1.3;letter-spacing:.04em}
.feat-desc{font-size:.72em;color:#666;line-height:1.6;max-width:28rem}
.feature-grid{display:grid;grid-template:1fr/1fr;min-height:18rem}
.feat-slide{grid-area:1/1;display:flex;flex-direction:column;gap:1.8rem;width:100%;opacity:0;transform:translateX(40px);transition:opacity .6s ease,transform .6s cubic-bezier(.4,0,.2,1);pointer-events:none}
.feat-slide.active{opacity:1;transform:translateX(0);pointer-events:auto;z-index:2}
.feat-slide.swap-out{opacity:0;transform:translateX(-40px);z-index:1}

/* Mockup card */
.mockup-card{background:#1c1c1c;border:1px solid #2a2a2a;border-radius:.55rem;overflow:hidden;box-shadow:0 1px 8px rgba(0,0,0,.25)}
.mockup-top{display:flex;align-items:center;gap:.35rem;padding:.3rem .5rem;background:#141414;border-bottom:1px solid #2a2a2a}
.dash-dots{display:flex;gap:4px;flex-shrink:0}
.dash-dots span{width:5px;height:5px;border-radius:50%}
.dash-dots span:nth-child(1){background:#EC6A5E}
.dash-dots span:nth-child(2){background:#F5BD4F}
.dash-dots span:nth-child(3){background:#61C554}
.mockup-title{font-family:'Space Grotesk',sans-serif;font-size:.42em;font-weight:700;color:#e0e0e0;letter-spacing:.04em;flex:1}
.dash-status{font-size:.38em;font-weight:700;color:#4C9A6A;background:rgba(76,154,106,.15);padding:.1rem .35rem;border-radius:1rem;letter-spacing:.06em;text-transform:uppercase}

/* Auto rows */
.auto-rows{padding:.4rem .55rem;display:flex;flex-direction:column;gap:.25rem}
.auto-row{display:flex;align-items:center;gap:.35rem;background:#222;border-radius:.3rem;padding:.25rem .4rem}
.ar-icon{width:1.3rem;height:1.3rem;border-radius:.2rem;background:#2a2a2a;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.55em;color:#999}
.ar-flow{flex:1;min-width:0}
.ar-label{font-size:.33em;color:#ddd;display:block;line-height:1.4}
.ar-track{height:3px;background:#2a2a2a;border-radius:3px;margin-top:.15rem;position:relative;overflow:hidden}
.ar-fill{position:absolute;top:0;left:0;height:100%;background:#C4A05A;border-radius:3px;width:85%;animation:fillBar 2s ease-out var(--d) both}
@keyframes fillBar{from{width:0}to{width:85%}}
.ar-chips{display:flex;gap:.15rem;flex-shrink:0}
.ar-chip{font-size:.28em;background:#2a2a2a;color:#999;padding:.1rem .3rem;border-radius:1rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.ar-done{flex-shrink:0;color:#4C9A6A;font-size:.55em;display:flex;align-items:center}
.auto-footer{display:flex;gap:1px;background:#2a2a2a;border-top:1px solid #2a2a2a}
.af-stat{flex:1;text-align:center;padding:.35rem .25rem;background:#1c1c1c}
.af-stat strong{display:block;font-size:.55em;font-weight:700;color:#e0e0e0;font-family:'Space Grotesk',sans-serif}
.af-stat small{display:block;font-size:.28em;color:#777;margin-top:.1rem;text-transform:uppercase;letter-spacing:.04em}

/* IG posts */
.ig-posts{padding:.4rem .5rem;display:flex;gap:.35rem;overflow:hidden}
.ig-post{flex:1;min-width:0;background:#222;border-radius:.3rem;overflow:hidden}
.ig-post-img{height:2.8rem;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:#2a2a2a}
.ig-post-img img{width:100%;height:100%;object-fit:cover}
.ig-post-info{padding:.2rem .3rem;display:flex;flex-direction:column;gap:.08rem}
.ig-post-caption{font-size:.28em;color:#ccc;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig-post-likes{font-size:.26em;color:#777;display:flex;align-items:center;gap:.15rem}
.ig-post-likes svg{width:.55em;height:.55em;fill:#E2B5AF}
.ig-footer{display:flex;gap:1px;background:#2a2a2a;border-top:1px solid #2a2a2a}
.ig-stat{flex:1;text-align:center;padding:.3rem .25rem;background:#1c1c1c}
.ig-stat strong{display:block;font-size:.5em;font-weight:700;color:#e0e0e0;font-family:'Space Grotesk',sans-serif}
.ig-stat small{display:block;font-size:.26em;color:#777;margin-top:.08rem;text-transform:uppercase;letter-spacing:.04em}

/* Chat mockup */
.chat-top-bar{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;background:#141414;border-bottom:1px solid #2a2a2a}
.chat-avatar{width:1.3rem;height:1.3rem;border-radius:50%;background:#C4A05A;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:900;font-size:.5em;color:#0d0d0d;flex-shrink:0}
.chat-name-block{flex:1;min-width:0}
.chat-bot-name{display:block;font-size:.33em;color:#e0e0e0;font-weight:700;font-family:'Space Grotesk',sans-serif;line-height:1.3}
.chat-online{display:flex;align-items:center;gap:.15rem;font-size:.26em;color:#4C9A6A}
.chat-online-dot{width:5px;height:5px;border-radius:50%;background:#4C9A6A;flex-shrink:0}
.chat-msgs{padding:.35rem .5rem;display:flex;flex-direction:column;gap:.25rem;max-height:8.2rem;overflow:hidden}
.cmsg{max-width:85%;padding:.2rem .35rem;border-radius:.3rem;font-size:.28em;line-height:1.5;position:relative}
.cmsg-bot{align-self:flex-start;background:#2a2a2a;color:#ccc;border-bottom-left-radius:.1rem}
.cmsg-user{align-self:flex-end;background:#C4A05A;color:#0d0d0d;font-weight:500;border-bottom-right-radius:.1rem}
.cmsg-time{display:block;font-size:.7em;color:inherit;opacity:.5;margin-top:.1rem;text-align:right}
.cmsg-typing{align-self:flex-start;display:flex;gap:3px;padding:.15rem .35rem;background:#2a2a2a;border-radius:.3rem}
.cmsg-typing span{width:4px;height:4px;border-radius:50%;background:#777;animation:typingBounce 1.2s ease-in-out infinite}
.cmsg-typing span:nth-child(2){animation-delay:.2s}
.cmsg-typing span:nth-child(3){animation-delay:.4s}
@keyframes typingBounce{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}

/* Web preview mockup */
.web-preview{background:#fff;padding:.5rem .55rem;display:flex;flex-direction:column;gap:.4rem}
.web-hero{background:#f5f5f5;border-radius:.25rem;padding:.5rem .6rem;display:flex;flex-direction:column;gap:.5rem}
.web-navbar{display:flex;align-items:center;gap:.35rem}
.web-logo-dot{width:10px;height:10px;border-radius:50%;background:#C4A05A;flex-shrink:0}
.web-logo-txt{font-family:'Space Grotesk',sans-serif;font-size:.38em;font-weight:700;color:#1a1a1a;letter-spacing:-.02em}
.web-links{display:flex;gap:.25rem;margin-left:auto}
.web-links span{width:16px;height:3px;background:#ccc;border-radius:2px}
.web-hero-content{display:flex;flex-direction:column;gap:.3rem}
.web-h1{height:8px;background:#ddd;border-radius:2px;width:80%}
.web-p{height:4px;background:#e8e8e8;border-radius:2px;width:95%}
.web-cta{height:12px;background:#C4A05A;border-radius:3px;width:30%;margin-top:.1rem}
.web-cards{display:flex;gap:.35rem}
.web-card{flex:1;height:2.2rem;background:#f0f0f0;border-radius:.2rem;border:1px solid #e0e0e0}

/* ── Brand / home right panel ────────────────────────────────── */
.home-brand{background:#0d0d0d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.25rem;padding:4rem;position:relative;z-index:2}
.brand-row{display:flex;align-items:center;gap:1.25rem}
.brand-icon{width:4.5rem;height:4.5rem;display:flex;align-items:center;justify-content:center;font-family:Verdana,sans-serif;font-weight:900;font-size:1.5em;color:#C4A05A;flex-shrink:0;letter-spacing:-.02em}
.brand-name{font-family:'Space Grotesk',sans-serif;font-size:2.75em;font-weight:700;letter-spacing:-.03em;line-height:1}
.brand-via{color:#e8e8e8;font-weight:300}
.brand-nexu{color:#C4A05A}

/* ── Top bar ─────────────────────────────────────────────────── */
.top-bar{position:fixed;top:0;left:0;right:0;width:100%;z-index:10;pointer-events:none;opacity:0;background:rgba(242,242,242,.92);backdrop-filter:blur(8px)}
body:not(.pg-home) .top-bar{pointer-events:auto;opacity:1}
.top-bar-inner{width:74rem;max-width:100%;margin:0 auto;display:flex;align-items:center;gap:1.5rem;padding:1.2rem 3rem}
.top-logo{display:flex;align-items:center;gap:.65rem;text-decoration:none;opacity:0;transform:translateY(30px)}
body:not(.pg-home) .top-logo{animation:tbFadeUp .6s cubic-bezier(.4,0,.2,1) .1s both}
.top-logo .brand-icon{width:2.2rem;height:2.2rem;font-size:.85em;font-weight:900}
.top-logo .brand-name{font-size:1.35em;letter-spacing:-.02em;color:#202020}
.top-logo .brand-via{color:#202020}
.top-logo .brand-nexu{color:#C4A05A}
.top-nav{display:flex;align-items:center;gap:.6rem}
.top-nav .nav-btn{min-width:auto;padding:0 .55rem;height:1.65rem;line-height:1;font-size:.55em;letter-spacing:.15rem;border-width:1.5px;opacity:0;transform:translateY(30px);gap:.3rem;transition:color .25s,border-color .25s,background .25s}
.top-nav .nav-icon{width:.65rem;height:.65rem}
body:not(.pg-home) .top-nav .nav-btn{animation:tbFadeUp .6s cubic-bezier(.4,0,.2,1) both}
body:not(.pg-home) .top-nav .nav-btn:nth-child(1){animation-delay:.16s}
body:not(.pg-home) .top-nav .nav-btn:nth-child(2){animation-delay:.22s}
body:not(.pg-home) .top-nav .nav-btn:nth-child(3){animation-delay:.28s}
body:not(.pg-home) .top-nav .nav-btn:nth-child(4){animation-delay:.34s}
body:not(.pg-home) .top-nav .nav-btn:nth-child(5){animation-delay:.40s}
body:not(.pg-home) .top-nav .nav-btn:nth-child(6){animation-delay:.46s}
.top-nav .nav-btn.on{color:#528E92;border-color:#528E92}
@keyframes tbFadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* ── Home nav (big buttons in brand panel) ───────────────────── */
.home-nav{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;justify-content:center;width:100%;max-width:30rem}
.home-nav.col{flex-direction:row;align-items:center}
.home-nav a{font-family:'Space Grotesk',sans-serif;font-size:.95em;font-weight:400;color:#aaa;text-decoration:none;transition:color .2s;white-space:nowrap;display:flex;align-items:center;gap:.35em}
.home-nav a.on{color:#2a2a2a;font-weight:700}
.home-nav a:hover{color:#2a2a2a}
.home-nav svg{flex-shrink:0}
.home-nav .nav-btn{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.58em;text-transform:uppercase;letter-spacing:.2rem;border:2px solid #C4A05A;border-radius:.35rem;height:2.6rem;line-height:1;padding:0 .75rem;text-decoration:none;color:#C4A05A;white-space:nowrap;display:flex;align-items:center;gap:.5rem;background:transparent;width:calc(50% - .4rem);max-width:14rem;justify-content:center;position:relative;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.home-nav .nav-btn>span{flex:0 1 auto}
.nav-icon{width:1.1rem;height:1.1rem;flex-shrink:0;opacity:.85;fill:currentColor;animation:iconColorCycle 18s ease-in-out infinite}
.home-nav .nav-btn:hover .nav-icon{opacity:.7}
@keyframes iconColorCycle{0%{fill:#C4A05A;color:#C4A05A;border-color:#C4A05A}16%{fill:#C4A05A;color:#C4A05A;border-color:#C4A05A}20%{fill:#528E92;color:#528E92;border-color:#528E92}36%{fill:#528E92;color:#528E92;border-color:#528E92}40%{fill:#E2B5AF;color:#E2B5AF;border-color:#E2B5AF}56%{fill:#E2B5AF;color:#E2B5AF;border-color:#E2B5AF}60%{fill:#8b8685;color:#8b8685;border-color:#8b8685}76%{fill:#8b8685;color:#8b8685;border-color:#8b8685}80%{fill:#CFB87C;color:#CFB87C;border-color:#CFB87C}96%{fill:#CFB87C;color:#CFB87C;border-color:#CFB87C}100%{fill:#C4A05A;color:#C4A05A;border-color:#C4A05A}}
.home-nav .nav-btn:nth-child(1) .nav-icon{animation-delay:0s}
.home-nav .nav-btn:nth-child(2) .nav-icon{animation-delay:3s}
.home-nav .nav-btn:nth-child(3) .nav-icon{animation-delay:6s}
.home-nav .nav-btn:nth-child(4) .nav-icon{animation-delay:9s}
.home-nav .nav-btn:nth-child(5) .nav-icon{animation-delay:12s}
.home-nav .nav-btn:nth-child(6) .nav-icon{animation-delay:15s}
.home-nav .nav-btn:hover{color:#528E92;border-color:#528E92;background:rgba(82,142,146,.06)}

/* ── Tagline ─────────────────────────────────────────────────── */
.brand-tagline{color:#888;font-family:'Ubuntu',sans-serif;font-size:calc(.72em + 2px);font-weight:700;letter-spacing:.04em;text-align:center;max-width:18rem;line-height:1.8;text-transform:none;min-height:3.6em}
.brand-tagline .static-text{display:block;font-weight:400;color:#666}

/* ── Language button ─────────────────────────────────────────── */
.lang-btn{position:fixed;top:1.1rem;right:2rem;z-index:100;background:transparent;border:1px solid #888;border-radius:.5rem;padding:.4rem .75rem;color:#474747;font-family:'Space Grotesk',sans-serif;font-size:.7em;font-weight:400;cursor:pointer;display:flex;align-items:center;gap:.4rem;letter-spacing:.02em;line-height:1;transition:border-color .25s,color .25s;text-decoration:none}
.lang-btn:hover{border-color:#528E92;color:#528E92}
.lang-menu{position:fixed;top:3.2rem;right:2rem;z-index:100;background:#fff;border:1px solid #ddd;border-radius:.5rem;padding:.35rem 0;box-shadow:0 4px 16px rgba(0,0,0,.1);display:none;flex-direction:column;min-width:6rem}
.lang-menu.open{display:flex}
.lang-menu a{padding:.35rem .85rem;font-family:'Space Grotesk',sans-serif;font-size:.7em;color:#474747;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}
.lang-menu a:hover{background:#f5f5f5;color:#528E92}
.lang-menu a.active{font-weight:700;color:#528E92}

/* ── QR page ─────────────────────────────────────────────────── */
.qr{max-width:34rem;margin:0 auto;padding:6rem 4rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem}

/* ── App icons ───────────────────────────────────────────────── */
.ap-icon{font-size:2.6em;color:rgba(255,255,255,.7);z-index:1;position:relative;transition:transform .3s ease}
.work-card:hover .ap-icon{transform:scale(.85)}

/* ── Works grid ──────────────────────────────────────────────── */
.works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;max-width:58rem;margin:0 auto;padding:1rem 2rem}
.work-card{aspect-ratio:1;border-radius:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.work-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.18);z-index:3}
.work-card-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .4s ease}
.work-card:hover .work-card-bg{opacity:.3}
.work-card-logo{position:relative;z-index:1;flex:0 0 40%;display:flex;align-items:center;justify-content:center;padding:.5rem;width:100%;transition:transform .3s ease}
.work-card:hover .work-card-logo{transform:scale(.85)}
.work-card-logo img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}
.work-strip{position:absolute;bottom:0;left:0;right:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:.35rem .55rem;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .3s ease}
.work-card:hover .work-strip{background:rgba(0,0,0,.75)}
.work-cat{font-size:.28em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:rgba(255,255,255,.18);padding:.12rem .45rem;border-radius:1rem}
.work-name{font-size:.32em;font-weight:700;color:#fff;text-align:right;line-height:1.2;font-family:'Space Grotesk',sans-serif;letter-spacing:.02em}
.work-reveal{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;text-align:center;opacity:0;pointer-events:none;transition:opacity .35s ease}
.work-card:hover .work-reveal{opacity:1;pointer-events:auto}
.work-reveal-name{font-family:'Raleway',sans-serif;font-size:.55em;font-weight:700;color:#1a1a1a;line-height:1.2}
.work-reveal-desc{font-size:.32em;color:#555;line-height:1.5;max-width:14rem}
.work-reveal-cta{font-size:.28em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#C4A05A;display:flex;align-items:center;gap:.3rem;margin-top:.2rem}

/* ── Modal ───────────────────────────────────────────────────── */
.modal-overlay{display:flex;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.72);align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .35s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal-overlay.open{opacity:1;pointer-events:auto}
.modal-box{background:#fff;border-radius:.7rem;max-width:30rem;width:100%;padding:1.8rem;position:relative;display:flex;flex-direction:column;gap:.9rem;box-shadow:0 12px 48px rgba(0,0,0,.35);transform:scale(.92) translateY(16px);transition:transform .4s cubic-bezier(.4,0,.2,1)}
.modal-overlay.open .modal-box{transform:scale(1) translateY(0)}
.modal-close{position:absolute;top:.7rem;right:.85rem;background:none;border:none;font-size:1.5em;cursor:pointer;color:#999;line-height:1;font-family:'Space Grotesk',sans-serif;transition:color .2s}
.modal-close:hover{color:#333}
.modal-box h3{font-family:'Raleway',sans-serif;font-size:.95em;font-weight:700;color:#1a1a1a;margin:0;padding-right:2rem;line-height:1.3}
.modal-box p{font-size:.72em;color:#555;line-height:1.65}
.modal-box a.btn{font-size:.58em;align-self:flex-start}

/* ── Hamburger ───────────────────────────────────────────────── */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:transparent;border:none;padding:.4rem;z-index:126;margin-left:auto}
.hamburger span{display:block;width:22px;height:2px;background:#202020;border-radius:2px;transition:transform 0.4s ease,opacity 0.3s ease}

/* ── Mobile menu ─────────────────────────────────────────────── */
.mobile-menu{position:fixed;top:0;left:0;right:0;bottom:0;z-index:125;background:rgba(255,255,255,0.97);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;opacity:0;transform:translateX(40px);pointer-events:none;transition:opacity 0.5s cubic-bezier(0.4,0,0.2,1),transform 0.5s cubic-bezier(0.4,0,0.2,1)}
.mm-close{position:absolute;top:1.25rem;right:1.25rem;z-index:130;width:2.5rem;height:2.5rem;border-radius:.55rem;background:#161616;border:1.5px solid #2e2e2e;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .25s,background .25s,transform .15s}
.mm-close:hover{border-color:#C4A05A;background:#000}
.mm-close:active{transform:scale(.92)}
.mobile-menu.open{opacity:1;transform:translateX(0);pointer-events:auto}
.mobile-menu .nav-btn{font-size:.7em;min-width:11rem;height:2.2rem;line-height:1;padding:0 .75rem;transform:translateY(20px);opacity:0;transition:transform 0.5s cubic-bezier(0.4,0,0.2,1),opacity 0.4s ease}
.mobile-menu .nav-icon{width:.85rem;height:.85rem}
.mobile-menu.open .nav-btn{transform:translateY(0);opacity:1}

/* ── Contact page ────────────────────────────────────────────── */
.contact-wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:5rem;max-width:74rem;margin:0 auto;padding:4rem;align-items:start}
.contact-label{font-family:'Space Grotesk',sans-serif;font-size:.62em;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:#C4A05A;margin-bottom:1.1rem}
.contact-title{font-family:'Raleway',sans-serif;font-weight:300;font-size:2em;text-transform:none;letter-spacing:0;line-height:1.25;color:#2a2a2a;margin-bottom:1.1rem}
.contact-title span{color:#C4A05A;font-weight:400}
.contact-sub{font-size:.95em;color:#888;line-height:1.7;max-width:24rem;margin-bottom:2.5rem}

.contact-info{display:flex;flex-direction:column;gap:.6rem}
.cii{display:flex;align-items:center;gap:1rem;padding:.9rem 1.1rem;border-radius:.6rem;border:1px solid #e4e4e4;text-decoration:none;color:#474747;transition:border-color .25s,background .25s,transform .25s}
.cii:hover{border-color:#C4A05A;background:rgba(196,160,90,.05);transform:translateX(3px)}
.cii-icon{width:2.2rem;height:2.2rem;border-radius:.5rem;background:#f5f0e6;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#C4A05A;font-size:1.1rem}
.cii-icon svg{fill:currentColor}
.cii-txt{display:flex;flex-direction:column;gap:.1rem;line-height:1.3}
.cii-txt strong{font-family:'Space Grotesk',sans-serif;font-size:.78em;font-weight:700;color:#2a2a2a}
.cii-txt span{font-size:.72em;color:#999}

.contact-card{background:#fff;border:1px solid #ececec;border-radius:1rem;padding:2.75rem;box-shadow:0 24px 64px rgba(0,0,0,.06);position:relative;overflow:hidden}
.contact-form{display:flex;flex-direction:column;gap:1.35rem;transition:opacity .3s ease,transform .3s ease}
.contact-form.hide{display:none}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.cf-field{display:flex;flex-direction:column;gap:.5rem}
.cf-field label{font-family:'Space Grotesk',sans-serif;font-size:.65em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#888}
.cf-field input,.cf-field select,.cf-field textarea{font-family:'Source Sans Pro',sans-serif;font-size:.85em;font-weight:400;color:#2a2a2a;background:#fafafa;border:1.5px solid #e4e4e4;border-radius:.5rem;padding:.75rem .9rem;transition:border-color .25s,background .25s;resize:vertical;line-height:1.5}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{outline:none;border-color:#C4A05A;background:#fff}
.cf-field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center}

.cf-submit{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.72em;text-transform:uppercase;letter-spacing:.12em;color:#fff;background:#2a2a2a;border:none;border-radius:.5rem;height:3rem;display:flex;align-items:center;justify-content:center;gap:.6rem;cursor:pointer;transition:background .25s,transform .15s;margin-top:.25rem}
.cf-submit:hover{background:#C4A05A}
.cf-submit:active{transform:scale(.98)}
.cf-submit:disabled{cursor:default;opacity:.75}
.cf-submit.loading .cf-submit-icon{animation:cfSpin .8s linear infinite}
.cf-submit-icon{flex-shrink:0}
@keyframes cfSpin{to{transform:rotate(360deg)}}
.cf-error{font-size:.72em;color:#c0392b;min-height:1em;margin:0}

.cf-success{display:none;flex-direction:column;align-items:center;text-align:center;gap:.85rem;padding:2rem 0}
.cf-success.show{display:flex;animation:cfPop .45s cubic-bezier(.4,0,.2,1) both}
.cf-success-icon{width:4rem;height:4rem;border-radius:50%;background:rgba(76,154,106,.12);color:#4C9A6A;display:flex;align-items:center;justify-content:center}
.cf-success h3{font-family:'Raleway',sans-serif;font-weight:400;text-transform:none;letter-spacing:0;font-size:1.15em;color:#2a2a2a;margin:0}
.cf-success p{font-size:.82em;color:#888;line-height:1.6;max-width:20rem}
@keyframes cfPop{from{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}

/* ── Automation demo ─────────────────────────────────────────── */
.demo-section{background:#fff;padding:3.5rem 4rem;margin:0}
.demo-label{font-family:'Space Grotesk',sans-serif;font-size:.62em;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:#C4A05A;margin-bottom:.75rem}
.demo-title{font-family:'Space Grotesk',sans-serif;font-size:1.2em;font-weight:700;color:#2a2a2a;margin-bottom:.5rem;letter-spacing:-.02em}
.demo-sub{font-size:.78em;color:#777;line-height:1.7;margin-bottom:2rem;max-width:44rem}
.demo-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.75rem}
@media(max-width:860px){.demo-cards{grid-template-columns:1fr}}
.dc{background:#111;border:1px solid #1e1e1e;border-radius:.65rem;padding:1.5rem 1.4rem 1.4rem;display:flex;flex-direction:column;gap:1rem;transition:border-color .3s,transform .3s,box-shadow .3s;position:relative;overflow:hidden;align-items:stretch}
.dc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;border-radius:.65rem .65rem 0 0}
.dc-news::before{background:linear-gradient(90deg,#3B82F6,#60a5fa)}
.dc-extract::before{background:linear-gradient(90deg,#4C9A6A,#6ee7b7)}
.dc-doc::before{background:linear-gradient(90deg,#C4A05A,#e2c07c)}
.dc:hover{transform:translateY(-3px)}
.dc-news:hover{border-color:rgba(59,130,246,.3);box-shadow:0 12px 36px rgba(59,130,246,.1)}
.dc-extract:hover{border-color:rgba(76,154,106,.3);box-shadow:0 12px 36px rgba(76,154,106,.1)}
.dc-doc:hover{border-color:rgba(196,160,90,.3);box-shadow:0 12px 36px rgba(196,160,90,.1)}
.dc.running{animation:dc-pulse 1.8s ease-in-out infinite}
.dc-news.running{animation-name:dc-blue}
.dc-extract.running{animation-name:dc-green}
.dc-doc.running{animation-name:dc-gold}
@keyframes dc-blue{0%,100%{border-color:#1e1e1e}50%{border-color:rgba(59,130,246,.4)}}
@keyframes dc-green{0%,100%{border-color:#1e1e1e}50%{border-color:rgba(76,154,106,.4)}}
@keyframes dc-gold{0%,100%{border-color:#1e1e1e}50%{border-color:rgba(196,160,90,.4)}}
.dc-icon{width:2.6rem;height:2.6rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:.25rem}
.dc-news .dc-icon{background:rgba(59,130,246,.1)}
.dc-extract .dc-icon{background:rgba(76,154,106,.1)}
.dc-doc .dc-icon{background:rgba(196,160,90,.1)}
.dc h3{font-family:'Space Grotesk',sans-serif;font-size:.82em;font-weight:700;color:#f0f0f0;margin-bottom:.25rem}
.dc p{font-size:.72em;color:#555;line-height:1.6;flex:1}
.dc-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1rem;border-radius:.35rem;border:1px solid;font-family:'Space Grotesk',sans-serif;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .25s;background:transparent;flex:1}
.dc-news .dc-btn{border-color:rgba(59,130,246,.35);color:#3B82F6}
.dc-news .dc-btn:hover,.dc-news.running .dc-btn{background:rgba(59,130,246,.1)}
.dc-extract .dc-btn{border-color:rgba(76,154,106,.35);color:#4C9A6A}
.dc-extract .dc-btn:hover,.dc-extract.running .dc-btn{background:rgba(76,154,106,.1)}
.dc-doc .dc-btn{border-color:rgba(196,160,90,.35);color:#C4A05A}
.dc-doc .dc-btn:hover,.dc-doc.running .dc-btn{background:rgba(196,160,90,.1)}
.dc-btn:disabled{cursor:default;opacity:.85}
.spin{display:inline-block;animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Per-card actions row: run + edit/upload toggle */
.dc-actions{display:flex;gap:.5rem}
.dc-edit-toggle{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem .7rem;border-radius:.35rem;border:1px solid #2a2a2a;background:transparent;color:#777;font-family:'Space Grotesk',sans-serif;font-size:.64em;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:border-color .25s,color .25s;white-space:nowrap}
.dc-edit-toggle:hover{border-color:#555;color:#aaa}
.dc-edit-toggle.active{border-color:#C4A05A;color:#C4A05A}
.dc-file-name{font-family:'JetBrains Mono',monospace;font-size:.62em;color:#4C9A6A;word-break:break-all}

/* Accordion: smooth slide for both the edit textarea and the inline terminal */
.dc-edit-wrap,.dc-term-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}
.dc-edit-wrap.open,.dc-term-wrap.open{grid-template-rows:1fr}
.dc-edit-inner,.dc-term-inner{overflow:hidden;min-height:0}

.dc-edit-input{width:100%;font-family:'JetBrains Mono',monospace;font-size:.72em;color:#ddd;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:.4rem;padding:.65rem .75rem;resize:vertical;line-height:1.6;transition:border-color .25s}
.dc-edit-input:focus{outline:none;border-color:#C4A05A}
.dc-edit-input::placeholder{color:#444}

.dc-terminal{background:#0a0a0a;border:1px solid #1e1e1e;border-radius:.5rem;overflow:hidden;margin-top:.15rem}
.term-top{display:flex;align-items:center;gap:.75rem;padding:.55rem .9rem;background:#141414;border-bottom:1px solid #1e1e1e}
.term-dots{display:flex;gap:5px}
.term-dots span{width:9px;height:9px;border-radius:50%}
.term-dots span:nth-child(1){background:#EC6A5E}
.term-dots span:nth-child(2){background:#F5BD4F}
.term-dots span:nth-child(3){background:#61C554}
.term-title{font-family:'JetBrains Mono',monospace;font-size:.65em;color:#444;flex:1;text-align:center;letter-spacing:.04em}
.term-badge{font-family:'Space Grotesk',sans-serif;font-size:.6em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.12rem .45rem;border-radius:1rem}
.term-badge-blue{background:rgba(59,130,246,.15);color:#60a5fa}
.term-badge-green{background:rgba(76,154,106,.15);color:#6ee7b7}
.term-badge-gold{background:rgba(196,160,90,.15);color:#C4A05A}
.term-body{padding:1rem 1.1rem;min-height:80px;max-height:380px;overflow-y:auto;font-size:1rem}
.term-body::-webkit-scrollbar{width:3px}
.term-body::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:2px}
.status-msg{font-family:'JetBrains Mono',monospace;font-size:.75em;color:#555;display:flex;align-items:center;gap:.6rem}
.status-msg.active{color:#888}
.news-list{display:flex;flex-direction:column;gap:.75rem}
.news-item{border-left:2px solid #3B82F6;padding-left:.9rem;animation:fade-up .35s ease forwards;opacity:0}
.news-item:nth-child(1){animation-delay:.05s}
.news-item:nth-child(2){animation-delay:.15s}
.news-item:nth-child(3){animation-delay:.25s}
.news-cat{font-family:'Space Grotesk',sans-serif;font-size:.6em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#3B82F6;margin-bottom:.2rem}
.news-title{font-family:'Space Grotesk',sans-serif;font-size:.85em;font-weight:700;color:#eee;line-height:1.3;margin-bottom:.25rem}
.news-summary{font-size:.75em;color:#666;line-height:1.6;margin-bottom:.25rem}
.news-meta{font-size:.65em;color:#444;display:flex;gap:.65rem}
.news-meta span{color:#555}
@keyframes fade-up{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.json-block{font-family:'JetBrains Mono',monospace;font-size:.72em;line-height:1.7;white-space:pre-wrap;word-break:break-all}
.json-key{color:#88c0d0}
.json-str{color:#a3be8c}
.json-num{color:#b48ead}
.json-bool{color:#ebcb8b}
.json-null{color:#bf616a}
.extract-split{display:flex;flex-direction:column;gap:1rem}
.extract-doc{background:#0a0a0a;border:1px solid #1a1a1a;border-radius:.35rem;padding:.85rem 1rem;font-family:'JetBrains Mono',monospace;font-size:.62em;color:#444;line-height:1.7;white-space:pre-wrap}
.extract-label{font-family:'Space Grotesk',sans-serif;font-size:.6em;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#2a2a2a;margin-bottom:.5rem}
.extract-right .extract-label{color:#4C9A6A}
.doc-output{font-size:.82em;line-height:1.8;color:#ccc}
.doc-output h1{font-family:'Space Grotesk',sans-serif;font-size:1.2em;font-weight:700;color:#fff;margin:0 0 1rem;letter-spacing:-.02em}
.doc-output h2{font-family:'Space Grotesk',sans-serif;font-size:.9em;font-weight:700;color:#C4A05A;margin:1.25rem 0 .5rem;text-transform:uppercase;letter-spacing:.05em}
.doc-output h3{font-family:'Space Grotesk',sans-serif;font-size:.82em;font-weight:700;color:#e0e0e0;margin:.75rem 0 .3rem}
.doc-output p{margin:.35rem 0;color:#aaa}
.doc-output ul{padding-left:1.1rem;margin:.35rem 0}
.doc-output li{margin:.2rem 0;color:#888}
.doc-output strong{color:#e0e0e0;font-weight:600}
.doc-cursor{display:inline-block;width:2px;height:.9em;background:#C4A05A;margin-left:2px;animation:blink .7s step-end infinite;vertical-align:text-bottom}
.doc-cursor.done{display:none}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.doc-gen-footer{margin-top:1.25rem;padding-top:.85rem;border-top:1px solid #1e1e1e;font-family:'Space Grotesk',sans-serif;font-size:.62em;color:#2a2a2a;opacity:0;transition:opacity .4s .2s}
.doc-gen-footer.show{opacity:1}

/* ── Mobile ───────────────────────────────────────────────────── */
@media(max-width:980px){
  body{background:#0d0d0d}
  body.pg-home{background:#0d0d0d}
  #page{padding:0}
  body:not(.pg-home) #page{padding-top:3.5rem}
  #ft{padding:.5rem .75rem}
  .ft-in{flex-direction:row;align-items:center;justify-content:center;gap:1rem;padding:0}
  .copy{font-size:.7em}
  .icons{justify-content:center;gap:.75rem}
  .split{flex-direction:column}
  .split.rev{flex-direction:column-reverse}
  .split-img{flex:none;width:100%;min-height:20rem}
  .split-img.tall{min-height:20rem}
  .split-txt{padding:3rem 1.5rem}
  .home{flex-direction:column}
  .home-brand{flex:1;order:-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.25rem;padding:2rem 1.5rem;background:#0d0d0d}
  .home-txt{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;text-align:center;background:#fff}
  .btns.col{align-items:center}
  .dual{flex-direction:column;gap:2rem;padding:2rem 1.5rem}
  .tri{flex-direction:column;padding:0 1.5rem;gap:2rem}
  .box{padding:2rem 1.5rem}
  .box-sm{padding:1rem 1.5rem}
  .qr{padding:3rem 1.5rem}
  a.btn.w-xl,a.btn.w-lg{min-width:0;width:100%;justify-content:center}
  .lang-btn{top:.6rem;right:.85rem;padding:.35rem .65rem;font-size:.68em}
  .lang-menu{top:2.8rem;right:.85rem}
  .nav-btn{min-width:0;width:100%}
  .top-bar-inner{flex-wrap:wrap;gap:.5rem;padding:.3rem 5.5rem .3rem 1rem}
  .top-nav{display:none}
  .hamburger{display:flex;opacity:0;transform:translateY(30px)}
  body:not(.pg-home) .hamburger{animation:tbFadeUp .6s cubic-bezier(.4,0,.2,1) .1s both}
  .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hamburger.open span:nth-child(2){opacity:0}
  .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu .nav-btn{width:50%;padding:0 .75rem}
  .works-grid{grid-template-columns:repeat(2,1fr);padding:1rem}
  .demo-section{padding:2rem 1.5rem}
  .demo-cards{grid-template-columns:1fr}
  .contact-wrap{grid-template-columns:1fr;gap:2.5rem;padding:2rem 1.5rem}
  .contact-title{font-size:1.6em}
  .contact-card{padding:1.75rem}
  .cf-row{grid-template-columns:1fr}
}
