*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--radius:12px;--pad-x:clamp(20px, 4vw, 60px);--font:"Plus Jakarta Sans", sans-serif;--accent:#b99cff;--accent-glow:#8b5cf6;--accent-soft:#b99cff24;--bg:#000;--fg:#fff;--fg-muted:#ffffff73;--fg-dim:#fff3;--border:#ffffff1a;--card-bg:#0f0f0f;--card-bg-alt:#1a1a1a;--hover:#ffffff08;--header-bg:#000000e0;--overlay-bg:#000;--hint:#ffffff14;--shadow:#0000008c}[data-theme=light]{--accent:#7c3aed;--accent-glow:#a78bfa;--accent-soft:#7c3aed1a;--bg:#fff;--fg:#0a0a0a;--fg-muted:#00000080;--fg-dim:#00000047;--border:#0000001f;--card-bg:#f3f3f3;--card-bg-alt:#e9e9e9;--hover:#0000000a;--header-bg:#ffffffd9;--overlay-bg:#fff;--hint:#0000001a;--shadow:#00000024}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{max-width:1400px;padding:0 var(--pad-x);margin:0 auto}.accent-bar{background:var(--accent);border-radius:2px;width:64px;height:3px;display:block}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--fg);font-size:clamp(.68rem,1vw,.85rem);font-weight:500}.section-title{letter-spacing:-.025em;color:var(--fg);font-size:clamp(2.2rem,4.6vw,4rem);font-weight:800;line-height:1.05}.section-lede{color:color-mix(in srgb, var(--fg) 88%, transparent);font-size:clamp(1.05rem,1.7vw,1.45rem);font-weight:400;line-height:1.45}.section-lede strong{color:var(--fg);font-weight:800}.statement{letter-spacing:-.02em;color:var(--fg);font-size:clamp(1.6rem,3.6vw,3.4rem);font-weight:300;line-height:1.2}.statement strong{font-weight:800}.reveal{opacity:0;transition:opacity .75s,transform .75s;transform:translateY(28px)}.reveal.visible{opacity:1;transform:none}.intro{z-index:2000;background-color:var(--overlay-bg);will-change:transform;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.intro__word{opacity:0;font-family:var(--font);letter-spacing:-.03em;white-space:nowrap;will-change:transform;transform-origin:50%;font-size:clamp(3rem,13vw,13rem);font-weight:800;line-height:.85;display:inline-block;position:relative}.intro__base{color:var(--hint)}.intro__fill{color:var(--fg);clip-path:inset(0 100% 0 0);will-change:clip-path;position:absolute;top:0;left:0}.header{z-index:1000;background:var(--header-bg);-webkit-backdrop-filter:blur(12px);position:fixed;top:0;left:0;right:0}.header__inner{padding:16px var(--pad-x);grid-template-columns:1fr 1fr 1fr;align-items:center;gap:16px;display:grid}.header__brand{letter-spacing:.08em;color:var(--fg);font-size:.95rem;font-weight:800}.header__center{flex-direction:column;align-items:center;gap:2px;display:flex}.header__label{color:var(--fg);letter-spacing:.04em;font-size:.68rem;font-weight:600}.header__nav{gap:12px;display:flex}.header__link{color:var(--fg-muted);font-size:.78rem;transition:color .2s}.header__link:hover{color:var(--accent)}.header__right{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.header__sub{color:var(--fg-muted);font-size:.78rem}.header__rule{background:var(--border);height:1px}.header__burger{background:0 0;border:none;justify-self:end;width:26px;height:18px;padding:0;display:none;position:relative}.header__burger span{background:var(--fg);border-radius:2px;width:100%;height:2px;transition:transform .3s,opacity .2s;position:absolute;left:0}.header__burger span:first-child{top:0}.header__burger span:nth-child(2){top:8px}.header__burger span:nth-child(3){top:16px}.header__burger.is-open span:first-child{transform:translateY(8px)rotate(45deg)}.header__burger.is-open span:nth-child(2){opacity:0}.header__burger.is-open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.header__mobile{background:var(--header-bg);-webkit-backdrop-filter:blur(12px);overflow:hidden}.header__mobile-inner{padding:12px var(--pad-x) 28px;border-bottom:1px solid var(--border);flex-direction:column;display:flex}.header__mobile-link{letter-spacing:-.01em;color:var(--fg);border-bottom:1px solid var(--border);padding:12px 0;font-size:1.6rem;font-weight:800}.header__mobile-meta{color:var(--fg-muted);margin-top:20px;font-size:.72rem;line-height:1.5}@media (width<=768px){.header__inner{grid-template-columns:1fr auto;align-items:center}.header__center,.header__right{display:none}.header__burger{display:block}}@media (width>=769px){.header__mobile{display:none}}.horizon{--horizon-rim:#f1e9ff;width:var(--horizon-w,min(1000px, 85vw));aspect-ratio:800/320;pointer-events:none;z-index:0;position:absolute;bottom:0;right:0;overflow:visible}[data-theme=light] .horizon{--horizon-rim:#7c3aed}.tagline{white-space:nowrap;align-items:center;gap:.9em;display:flex}.tagline__word:last-child{margin-right:-.32em}.tagline__dot{letter-spacing:0;font-size:.8em}.tagline--spread{justify-content:space-between;gap:.5em}.hero{flex-direction:column;min-height:100svh;padding-top:64px;display:flex;position:relative;overflow:hidden}.hero__top{padding:clamp(40px, 9vh, 110px) var(--pad-x) clamp(32px, 6vh, 72px);z-index:1;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.hero__mark{--brand-size:clamp(4.2rem, 17vw, 17rem);align-items:stretch;gap:calc(var(--brand-size) * .14);flex-direction:column;display:inline-flex}.hero__brand-wrap{text-align:center;line-height:.85}.hero__brand{font-size:var(--brand-size);letter-spacing:-.03em;color:var(--fg);white-space:nowrap;font-weight:800;line-height:.85;display:inline-block}.hero__tagline{font-size:max(.62rem, calc(var(--brand-size) * .135));letter-spacing:.34em}.hero__hello{z-index:1;padding:0 var(--pad-x) clamp(72px, 13vh, 150px);scroll-margin-top:96px;position:relative}.hero__headline{letter-spacing:-.025em;color:var(--fg);font-size:clamp(2.2rem,4.4vw,4.2rem);font-weight:800;line-height:1.08}.hero__light{font-weight:300}.hero__line{clip-path:inset(0 -100vw);display:block}.hero__line-inner{white-space:nowrap;display:inline-block}.hero__bar{margin:clamp(20px,2.4vw,32px) 0 clamp(18px,2vw,28px)}.hero__desc{max-width:34ch;color:color-mix(in srgb, var(--fg) 88%, transparent);font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.5}@media (width<=768px){.hero{min-height:0}.hero__top{padding:clamp(72px, 20vw, 120px) var(--pad-x) clamp(72px, 18vw, 110px)}.hero__mark{--brand-size:19vw}.hero__hello{padding-bottom:clamp(96px,34vw,200px)}.hero__horizon{--horizon-w:100vw}}.metabar{padding:12px var(--pad-x);border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.metabar__left{color:var(--fg-muted);letter-spacing:.14em;font-size:.7rem;font-weight:500}.metabar__center{color:var(--accent);letter-spacing:.04em;text-align:center;font-size:.7rem;font-weight:600}.metabar__right{color:var(--fg-muted);letter-spacing:.22em;text-align:right;text-transform:uppercase;font-size:.7rem;font-weight:500}@media (width<=600px){.metabar{padding:10px var(--pad-x)}.metabar__left,.metabar__center,.metabar__right{letter-spacing:.02em;font-size:.56rem}}.services__body{padding:clamp(80px, 11vw, 160px) var(--pad-x);position:relative;overflow:hidden}.services__body:before{content:"";background:radial-gradient(closest-side, var(--accent-soft), transparent);pointer-events:none;width:min(1100px,120vw);height:420px;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.services__inner{max-width:1100px;margin:0 auto;position:relative}.services__head{flex-direction:column;gap:clamp(14px,1.6vw,22px);display:flex}.services__grid{grid-template-columns:repeat(3,1fr);margin:clamp(56px,7vw,96px) 0;list-style:none;display:grid}.services__item{text-align:center;flex-direction:column;align-items:center;gap:clamp(16px,2vw,26px);padding:6px 12px;display:flex}.services__item+.services__item{border-left:1px solid color-mix(in srgb, var(--fg) 45%, transparent)}.services__icon{color:var(--fg);line-height:0;transition:color .25s,transform .25s}.services__icon svg{width:clamp(40px,5vw,64px);height:auto}.services__item:hover .services__icon{color:var(--accent);transform:translateY(-4px)}.services__label{color:var(--fg);flex-direction:column;font-size:clamp(.82rem,1.5vw,1.2rem);font-weight:400;line-height:1.3;display:flex}.services__close{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.services__closing{text-wrap:balance;letter-spacing:.3em;margin-right:-.3em;font-size:clamp(.62rem,1.1vw,.95rem)}@media (width<=600px){.services__br{display:none}.services__item{padding:4px 6px}}.projects{scroll-margin-top:64px}.projects__intro{padding:clamp(64px, 9vw, 120px) var(--pad-x)}.projects__intro-text{max-width:1100px}.projects__list{flex-direction:column;gap:0;display:flex}.project-card{padding:40px var(--pad-x);border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:24px 60px;display:grid}.project-card--left{direction:ltr}.project-card--right{direction:rtl}.project-card--right .project-card__meta{direction:ltr}.project-card__panel{aspect-ratio:4/3;text-align:center;background:var(--card-bg);border:1px solid var(--border);color:inherit;cursor:pointer;direction:ltr;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:clamp(20px,3vw,40px);text-decoration:none;transition:background .3s,border-color .3s;display:flex;position:relative;overflow:hidden}.project-card:hover .project-card__panel{background:var(--card-bg-alt);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.project-card__panel-top{justify-content:space-between;align-items:center;display:flex;position:absolute;top:clamp(20px,3vw,40px);left:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px)}.project-card__shot{object-fit:cover;filter:blur(5px)saturate(1.15);width:100%;height:100%;transition:filter .4s;position:absolute;inset:0;transform:scale(1.05)}.project-card:hover .project-card__shot{filter:blur(2px)saturate(1.15)}.project-card__tint{background:var(--card-bg);opacity:.35;position:absolute;inset:0}.project-card__panel-top,.project-card__name,.project-card__visit{z-index:1}.project-card__name{position:relative}.project-card__name,.project-card__panel-top,.project-card__visit{text-shadow:0 0 24px var(--bg), 0 0 8px var(--bg)}.project-card__visit{letter-spacing:.24em;text-transform:uppercase;color:var(--accent);opacity:0;font-size:.72rem;font-weight:500;transition:opacity .25s,transform .25s;position:absolute;bottom:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px);transform:translateY(6px)}.project-card:hover .project-card__visit,.project-card__panel:focus-visible .project-card__visit{opacity:1;transform:none}@media (hover:none){.project-card__visit{opacity:1;transform:none}}.project-card__name{letter-spacing:-.04em;color:var(--fg);font-size:clamp(2.6rem,6.5vw,7rem);font-weight:800;line-height:.92}.project-card__num{color:var(--fg-muted);font-size:clamp(.9rem,1.2vw,1.1rem);font-weight:400}.project-card__category{letter-spacing:.24em;text-transform:uppercase;color:var(--fg-muted);font-size:.72rem;font-weight:500}.project-card__meta{align-self:center}.project-card__tagline{color:var(--fg);letter-spacing:-.01em;max-width:460px;font-size:clamp(1.2rem,2.2vw,2rem);font-weight:400;line-height:1.25}@media (width<=768px){.projects__intro{padding:56px var(--pad-x)}.project-card{grid-template-columns:1fr;direction:ltr!important}.project-card__meta{direction:ltr}.project-card__panel{aspect-ratio:16/10}}.pill-btn{border:2px solid var(--accent);color:var(--fg);font-family:var(--font);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border-radius:980px;justify-content:center;align-items:center;padding:14px 28px;font-size:.78rem;font-weight:700;transition:background .2s,color .2s,box-shadow .2s;display:inline-flex}.pill-btn:hover{background:var(--accent);color:var(--bg);box-shadow:0 0 32px var(--accent-soft)}.gallery-v2__block{padding:clamp(64px, 9vw, 120px) var(--pad-x)}.gallery-v2__text-block{flex-direction:column;align-items:flex-start;gap:2.5rem;max-width:1100px;display:flex}@media (width<=768px){.gallery-v2__block{padding:56px var(--pad-x)}}.contact-v2{position:relative}.contact-v2__body{z-index:1;padding:clamp(72px, 9vw, 130px) var(--pad-x);position:relative}.contact-v2__layout{grid-template-columns:5fr 7fr;align-items:start;gap:clamp(48px,6vw,96px);display:grid}.contact-v2__info{flex-direction:column;gap:28px;display:flex}.contact-v2__intro{max-width:30ch}.contact-v2__detail{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:20px;display:flex}.contact-v2__detail-label,.contact-v2__field label{letter-spacing:.24em;text-transform:uppercase;color:var(--fg-muted);font-size:.7rem;font-weight:500}.contact-v2__detail-value{color:var(--fg);font-size:1.05rem;font-weight:400;line-height:1.5}.contact-v2__link{transition:color .2s}.contact-v2__link:hover{color:var(--accent)}.contact-v2__form{flex-direction:column;gap:28px;display:flex}.contact-v2__row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.contact-v2__field{flex-direction:column;gap:8px;display:flex}.contact-v2__field input,.contact-v2__field textarea{border:none;border-bottom:1px solid var(--border);color:var(--fg);font-family:var(--font);resize:vertical;background:0 0;padding:12px 0;font-size:1.05rem;font-weight:400;transition:border-color .2s}.contact-v2__field input::placeholder,.contact-v2__field textarea::placeholder{color:var(--fg-dim)}.contact-v2__field input:focus,.contact-v2__field textarea:focus{border-bottom-color:var(--accent);outline:none}.contact-v2__field input.is-error,.contact-v2__field textarea.is-error{border-bottom-color:#ff6b6b}.contact-v2__err{color:#ff6b6b;font-size:.75rem}.contact-v2__submit{border:2px solid var(--accent);background:var(--accent);color:var(--bg);font-family:var(--font);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-radius:980px;align-self:flex-start;margin-top:8px;padding:16px 36px;font-size:.78rem;font-weight:700;transition:background .2s,color .2s,opacity .2s,box-shadow .2s}.contact-v2__submit:hover{color:var(--fg);box-shadow:0 0 32px var(--accent-soft);background:0 0}.contact-v2__submit:disabled{opacity:.5;cursor:not-allowed}.contact-v2__consent{color:var(--fg-muted);max-width:460px;font-size:.85rem;line-height:1.6}.contact-v2__consent a{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;white-space:nowrap}.contact-v2__status{font-size:.9rem;line-height:1.5}.contact-v2__status--success{color:var(--fg)}.contact-v2__status--error{color:#ff6b6b}@media (width<=900px){.contact-v2__layout{grid-template-columns:1fr;gap:56px}}@media (width<=600px){.contact-v2__row{grid-template-columns:1fr}}.footer{border-top:1px solid var(--border)}.footer__links{padding:48px var(--pad-x) 40px;justify-content:space-between;display:flex}.footer__legal{padding:20px var(--pad-x) 104px;border-top:1px solid var(--border);letter-spacing:.02em;color:var(--fg-muted);font-size:.78rem}.footer__links-col{flex-direction:column;gap:8px;display:flex}.footer__links-col--right{align-items:flex-end}.footer__links-label{color:var(--fg);margin-bottom:4px;font-size:.75rem;font-weight:600}.footer__nav{flex-wrap:wrap;gap:12px;display:flex}.footer__link{color:var(--fg-muted);font-size:.78rem;transition:color .2s}.footer__link:hover{color:var(--accent)}@media (width<=768px){.footer__links{grid-template-columns:1fr 1fr;gap:32px 16px;display:grid}.footer__links-col--right{align-items:flex-start}.footer__nav{flex-flow:column;gap:10px}}.scroll-dot{z-index:100;opacity:.8;pointer-events:none;position:fixed;top:50%;right:20px;transform:translateY(-50%)}.wa-float{z-index:900;background:var(--fg);width:56px;height:56px;color:var(--bg);box-shadow:0 12px 32px var(--shadow);border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,background .2s,color .2s;display:flex;position:fixed;bottom:24px;right:24px}.wa-float:hover{color:#fff;background:#25d366;transform:translateY(-3px)scale(1.05)}@media (width<=480px){.wa-float{width:50px;height:50px;bottom:16px;right:16px}}.legal-topbar{z-index:50;background:var(--header-bg);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.legal-topbar__inner{max-width:1400px;padding:1rem var(--pad-x);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.legal-topbar__brand{letter-spacing:.04em;color:var(--fg);font-size:1.05rem;font-weight:700}.legal-topbar__back{color:var(--fg-muted);align-items:center;gap:.45rem;font-size:.85rem;transition:color .2s;display:inline-flex}.legal-topbar__back:hover{color:var(--fg)}.legal-page{min-height:100vh;padding:0 var(--pad-x) 6rem;background:var(--bg);color:var(--fg);font-family:var(--font)}.legal-container{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);max-width:860px;margin:3rem auto;padding:clamp(1.5rem,4vw,3.25rem)}.legal-container h1{color:var(--fg);letter-spacing:-.02em;margin-bottom:.5rem;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.05}.legal-last-updated{color:var(--fg-muted);border-bottom:1px solid var(--border);margin-bottom:2.5rem;padding-bottom:2rem;font-size:.88rem}.legal-container h2{color:var(--fg);border-left:3px solid var(--accent);background:var(--hover);border-radius:0 6px 6px 0;margin-top:2.75rem;margin-bottom:1rem;padding:.6rem 1rem;font-size:1.15rem;font-weight:700}.legal-container h3{color:var(--fg);border-left:2px solid var(--fg-dim);margin-top:1.5rem;margin-bottom:.65rem;padding-left:.5rem;font-size:1rem;font-weight:600}.legal-container p{color:var(--fg-muted);word-break:break-word;margin-bottom:.9rem;font-size:.95rem;line-height:1.85}.legal-container a{color:var(--fg);border-bottom:1px solid var(--fg-dim);text-decoration:none;transition:border-color .2s}.legal-container a:hover{border-bottom-color:var(--accent)}.legal-container ul{margin-bottom:1rem;padding-left:1.8rem;list-style:outside}.legal-container ul li{color:var(--fg-muted);margin-bottom:.45rem;font-size:.95rem;line-height:1.8}.legal-container ul li strong{color:var(--fg)}.legal-notice,.legal-warning{background:var(--hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg-muted);margin:1.75rem 0;padding:1.25rem 1.6rem;font-size:.92rem;line-height:1.75}.legal-warning{border-left:3px solid var(--fg)}.legal-warning ul{margin-top:.5rem;margin-bottom:0}.legal-contact-block{background:var(--card-bg-alt);border:1px solid var(--border);border-radius:var(--radius);margin:1.25rem 0;padding:1.5rem 2rem}.legal-contact-block p{color:var(--fg-muted);margin-bottom:.5rem}.legal-contact-block p:last-child{margin-bottom:0}.legal-contact-block strong{color:var(--fg)}.legal-back-to-top{color:var(--fg);cursor:pointer;opacity:.8;background:0 0;border:none;align-items:center;gap:.5rem;margin-top:2.5rem;padding:0;font-family:inherit;font-size:.9rem;font-weight:500;transition:opacity .2s;display:inline-flex}.legal-back-to-top:hover{opacity:1}
