:root{--bg:#090816;--surface:#121022;--surface2:#19162d;--text:#f6f3ff;--muted:#aaa4bd;--lime:#b8ff4a;--purple:#9d7bff;--line:rgba(255,255,255,.12);--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;line-height:1.6}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 50% 10%,rgba(157,123,255,.13),transparent 30%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3{font-family:"Space Grotesk",sans-serif;line-height:1.02;margin:0;overflow-wrap:anywhere}.skip{position:fixed;top:-100px;left:1rem;background:var(--lime);color:#111;padding:.6rem 1rem;z-index:100}.skip:focus{top:1rem}.topbar{height:82px;max-width:var(--max);margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:30}.code-brand{text-decoration:none;font:700 1.15rem "Space Grotesk";letter-spacing:.04em}.code-brand span{color:var(--lime)}.menu-toggle{display:flex;align-items:center;gap:.35rem;background:none;color:var(--text);border:1px solid var(--line);padding:.65rem .85rem;border-radius:99px;cursor:pointer}.menu-toggle i{display:block;width:5px;height:5px;background:var(--lime);border-radius:50%}.menu-toggle span{font:700 .65rem "DM Sans";letter-spacing:.14em;margin-left:.35rem}.scrim{position:fixed;inset:0;background:rgba(5,4,12,.65);backdrop-filter:blur(5px);z-index:40}.drawer{position:fixed;top:0;right:0;width:min(440px,100%);height:100dvh;padding:28px;background:var(--surface2);z-index:50;display:flex;flex-direction:column;transform:translateX(102%);transition:transform .45s cubic-bezier(.2,.8,.2,1);box-shadow:-30px 0 80px rgba(0,0,0,.4)}.drawer.open{transform:translateX(0)}.drawer-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.7rem;letter-spacing:.17em}.close-menu{background:none;border:1px solid var(--line);color:var(--text);font-size:1.7rem;width:42px;height:42px;border-radius:50%;cursor:pointer}.drawer nav{margin:auto 0}.drawer nav a{display:grid;grid-template-columns:45px 1fr;align-items:center;text-decoration:none;font:600 clamp(2rem,7vw,3.4rem) "Space Grotesk";padding:.7rem 0;color:var(--muted);border-bottom:1px solid var(--line);transition:.25s}.drawer nav a:hover,.drawer nav a.active{color:var(--text);padding-left:.5rem}.drawer nav a.active:after{content:"";width:9px;height:9px;background:var(--lime);border-radius:50%;box-shadow:0 0 14px var(--lime)}.drawer nav small{font:.65rem "DM Sans";color:var(--purple)}.drawer>p{color:var(--muted);font-size:.8rem}.home-hero{max-width:980px;min-height:calc(100vh - 82px);padding:55px 28px 75px;margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.halo{position:absolute;width:min(560px,80vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(184,255,74,.13),rgba(157,123,255,.08) 40%,transparent 70%);filter:blur(5px);animation:breathe 5s ease-in-out infinite;z-index:-1}.hero-logo{width:clamp(150px,20vw,230px);aspect-ratio:1;object-fit:cover;border-radius:50%;box-shadow:0 0 0 1px var(--line),0 0 90px rgba(157,123,255,.25);animation:logo-float 6s ease-in-out infinite}.kicker,.section-label{font-size:.72rem;letter-spacing:.18em;color:var(--lime);font-weight:700;margin:1.6rem 0 1rem}.home-hero h1{font-size:clamp(3.4rem,8vw,6.6rem);letter-spacing:-.06em}.home-hero h1 span{color:var(--purple)}.home-lead{font-size:clamp(1rem,2vw,1.22rem);max-width:760px;color:var(--muted);margin:1.3rem auto 2rem}.home-lead strong{color:var(--text)}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}.button{display:inline-flex;gap:.8rem;align-items:center;justify-content:center;padding:.9rem 1.2rem;text-decoration:none;font-weight:700;border-radius:3px;transition:.25s}.button:hover{transform:translateY(-4px)}.primary{background:var(--lime);color:#0d1009}.ghost{border:1px solid var(--line)}.scroll-cue{position:absolute;bottom:18px;font-size:.58rem;letter-spacing:.18em;color:var(--muted);display:flex;align-items:center;gap:.7rem}.scroll-cue span{width:28px;height:1px;background:var(--lime);animation:cue 1.5s ease-in-out infinite}.ticker{overflow:hidden;background:var(--lime);color:#0c0d09;transform:rotate(-.3deg)}.ticker>div{display:flex;width:max-content;padding:.75rem 0;font:700 .75rem "Space Grotesk";letter-spacing:.17em;animation:ticker 24s linear infinite}.ticker span{white-space:nowrap}.home-choice,.card-section,.features,.process{max-width:var(--max);margin:auto;padding:115px 28px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.choice-grid>a{min-height:490px;padding:2.5rem;background:var(--surface);border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;transition:.35s;position:relative;overflow:hidden}.choice-grid>a:before{content:"";position:absolute;width:260px;height:260px;right:-100px;top:-90px;border-radius:50%;background:var(--purple);filter:blur(35px);opacity:.17;transition:.4s}.choice-grid>a:nth-child(2):before{background:var(--lime)}.choice-grid>a:hover{transform:translateY(-10px);border-color:rgba(184,255,74,.4)}.choice-grid>a:hover:before{transform:scale(1.35)}.choice-grid small{color:var(--purple);letter-spacing:.15em}.choice-grid>a:nth-child(2) small{color:var(--lime)}.choice-grid h2{font-size:clamp(2.8rem,5vw,4.5rem);letter-spacing:-.05em;margin:auto 0 1rem}.choice-grid p{color:var(--muted);max-width:430px}.choice-grid span{margin-top:auto;color:var(--lime);font-weight:700}.bottom-cta{max-width:var(--max);margin:0 auto 90px;padding:100px 28px;text-align:center;background:linear-gradient(135deg,var(--surface2),#251d48);position:relative;overflow:hidden}.bottom-cta:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:var(--purple);filter:blur(70px);opacity:.2;left:-80px;top:-100px;animation:breathe 7s ease-in-out infinite}.bottom-cta>*{position:relative}.bottom-cta>p{font-size:.7rem;letter-spacing:.18em;color:var(--lime)}.bottom-cta h2{font-size:clamp(3rem,7vw,6rem);letter-spacing:-.06em;margin:.7rem 0 2rem}.page-hero{max-width:var(--max);min-height:82vh;margin:auto;padding:110px 28px;display:flex;flex-direction:column;justify-content:center}.page-hero h1{font-size:clamp(3.7rem,8vw,7rem);letter-spacing:-.065em;max-width:1050px}.page-hero h1 em,.contact-hero h1 em{color:var(--purple);font-weight:500}.page-hero>p:not(.section-label){color:var(--muted);font-size:1.15rem;max-width:650px;margin:2rem 0}.page-hero .button{align-self:flex-start}.card-section{border-top:1px solid var(--line)}.intro{display:grid;grid-template-columns:1fr .65fr;gap:4rem;align-items:end;margin-bottom:3rem}.intro h2,.features h2{font-size:clamp(2.8rem,5vw,4.7rem);letter-spacing:-.05em}.intro p{color:var(--muted)}.type-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.type-grid article{min-height:280px;padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.3s}.type-grid article:hover{background:var(--surface);transform:translateY(-5px)}.type-grid b{color:var(--lime);font-size:.72rem}.type-grid h3{font-size:1.65rem;margin:4rem 0 .8rem}.type-grid p{color:var(--muted);margin:0}.features{background:var(--surface);max-width:none;padding-left:max(28px,calc((100% - 1124px)/2));padding-right:max(28px,calc((100% - 1124px)/2))}.features>div{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:3rem}.features span{border:1px solid var(--line);border-radius:99px;padding:.8rem 1.1rem;color:var(--muted);transition:.25s}.features span:hover{background:var(--lime);color:#10120d;transform:translateY(-3px)}.contact-hero{max-width:var(--max);min-height:calc(100vh - 82px);padding:90px 28px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:center}.contact-hero h1{font-size:clamp(4rem,8vw,7rem);letter-spacing:-.06em}.contact-hero>div:first-child>p:not(.section-label){color:var(--muted);font-size:1.15rem;max-width:590px}.contact-card{background:var(--surface);border:1px solid var(--line);padding:2.5rem}.contact-card>p{color:var(--lime);font-size:.7rem;letter-spacing:.18em}.contact-card h2{font-size:2.4rem;margin-bottom:2rem}.contact-card>a{display:flex;justify-content:space-between;text-decoration:none;border-top:1px solid var(--line);padding:1.2rem 0;font-weight:700;font-size:1.1rem}.contact-card>a:hover{color:var(--lime)}.contact-card small{display:block;color:var(--muted);margin-top:2rem}.process>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2rem}.process article{padding:2rem;border-left:1px solid var(--line)}.process b{color:var(--purple)}.process h3{font-size:1.6rem;margin:2rem 0 .7rem}.process p{color:var(--muted)}footer{max-width:var(--max);margin:auto;padding:30px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.8rem}.reveal-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity .7s,transform .7s}.reveal-ready .reveal.visible{opacity:1;transform:none}@keyframes logo-float{50%{transform:translateY(-12px);box-shadow:0 0 0 1px var(--line),0 20px 110px rgba(184,255,74,.2)}}@keyframes breathe{50%{transform:scale(1.15);opacity:.65}}@keyframes cue{50%{transform:scaleX(.45);transform-origin:left}}@keyframes ticker{to{transform:translateX(-50%)}}
@media(max-width:760px){.topbar{height:70px;padding:0 20px}.home-hero{min-height:calc(100vh - 70px);padding:45px 20px 65px}.hero-logo{width:145px}.home-hero h1{font-size:3.4rem}.home-lead{font-size:1rem}.choice-grid,.intro,.contact-hero{grid-template-columns:1fr}.choice-grid>a{min-height:410px;padding:1.6rem}.type-grid{grid-template-columns:1fr}.type-grid article{min-height:230px}.page-hero{padding:80px 20px;min-height:75vh}.page-hero h1{font-size:3.5rem}.contact-hero{padding:75px 20px;gap:2rem}.contact-hero h1{font-size:3.8rem}.contact-card{padding:1.5rem}.process>div{grid-template-columns:1fr}.process article{border-left:0;border-top:1px solid var(--line);padding:1.5rem 0}footer{flex-direction:column;gap:.45rem;text-align:center}.home-choice,.card-section,.features,.process{padding-top:85px;padding-bottom:85px}.ticker{transform:none}.drawer{padding:22px}.drawer nav a{font-size:2.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready .reveal{opacity:1;transform:none}}
.page-brand-visual{position:relative;display:grid;place-items:center;width:min(430px,78vw);aspect-ratio:1;margin:0 auto -1.5rem;isolation:isolate}.page-brand-visual .halo{inset:0;width:100%;margin:auto}.branded-page-hero{text-align:center;align-items:center;padding-top:55px}.branded-page-hero h1{max-width:1000px}.branded-page-hero>p:not(.section-label){margin:2rem auto}.branded-page-hero .button{align-self:center}.contact-brand{position:relative;isolation:isolate}.contact-brand .page-brand-visual{width:min(330px,70vw);margin:0 auto -1rem}.contact-brand .section-label{margin-top:0}.contact-brand .hero-logo{width:clamp(130px,17vw,190px)}
@media(max-width:760px){.page-brand-visual{width:min(310px,76vw);margin-bottom:-1rem}.branded-page-hero{padding-top:35px}.branded-page-hero h1{font-size:3.15rem}.contact-brand{text-align:center}.contact-brand .page-brand-visual{width:min(280px,72vw)}.contact-brand>p:not(.section-label){margin-left:auto;margin-right:auto}}
body[data-page="invitaciones"] .branded-page-hero .section-label{font-size:clamp(.82rem,1.25vw,1rem);letter-spacing:.2em}
.portfolio-showcase{max-width:var(--max);margin:0 auto;padding:20px 28px 115px}.portfolio-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.portfolio-heading h2{font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.05em}.portfolio-heading p{max-width:430px;color:var(--muted)}.project-card{display:grid;grid-template-columns:.9fr 1.1fr;min-height:540px;background:var(--surface);border:1px solid rgba(157,123,255,.34);text-decoration:none;overflow:hidden;transition:transform .4s cubic-bezier(.22,.61,.36,1),border-color .35s,box-shadow .35s}.project-card:hover{transform:translateY(-7px);border-color:var(--purple);box-shadow:0 28px 80px rgba(157,123,255,.13)}.project-image{position:relative;overflow:hidden;background:#24131a}.project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.12),transparent 65%);transform:translateX(-120%);transition:transform .9s ease}.project-card:hover .project-image:after{transform:translateX(120%)}.project-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:transform 1.1s cubic-bezier(.22,.61,.36,1),filter .5s}.project-card:hover .project-image img{transform:scale(1.035);filter:saturate(1.08)}.project-info{padding:clamp(2rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.project-info small{color:var(--purple);font-weight:700;letter-spacing:.18em}.project-info h3{font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.055em;margin:1rem 0}.project-info p{color:var(--muted);max-width:480px}.project-link{margin-top:2rem;color:var(--lime);font-weight:700}.project-link span{display:inline-block;margin-left:.5rem;transition:transform .3s}.project-card:hover .project-link span{transform:translate(4px,-4px)}
@media(max-width:760px){.portfolio-showcase{padding:0 20px 85px}.portfolio-heading{display:block}.portfolio-heading p{margin-top:1rem}.project-card{grid-template-columns:1fr;min-height:0}.project-image{aspect-ratio:4/5}.project-info{padding:2rem}.project-info h3{font-size:2.8rem}}
.project-card{height:620px;min-height:0}@media(max-width:760px){.project-card{height:auto}}
.invitation-catalog{padding-bottom:115px}.invitation-types button{appearance:none;color:inherit;font:inherit;text-align:left;background:transparent;cursor:pointer;position:relative}.invitation-types button:after{content:"+";position:absolute;top:1.8rem;right:1.8rem;color:var(--purple);font:400 1.5rem "Space Grotesk";transition:transform .3s,color .3s}.invitation-types button:hover,.invitation-types button:focus-visible{background:var(--surface);transform:translateY(-5px);outline:none}.invitation-types button:focus-visible{box-shadow:inset 0 0 0 2px var(--lime)}.invitation-types button.active{background:linear-gradient(145deg,rgba(157,123,255,.13),rgba(18,16,34,.65));border-color:rgba(157,123,255,.55)}.invitation-types button.active:after{content:"−";color:var(--lime);transform:rotate(180deg)}.sample-panels{border:1px solid var(--line);border-top:0;background:linear-gradient(160deg,rgba(18,16,34,.92),rgba(7,6,15,.95));overflow:hidden}.sample-panel{padding:clamp(2rem,5vw,4.5rem);animation:sample-open .55s cubic-bezier(.22,.61,.36,1) both}.sample-panel[hidden]{display:none}.sample-panel .project-card{margin-top:2.5rem}.project-contents{display:grid;grid-template-columns:.75fr 1.25fr;gap:4rem;margin-top:2rem;padding:clamp(2rem,5vw,4rem);border:1px solid var(--line);background:rgba(5,4,12,.72)}.project-contents h3{font-size:clamp(2.2rem,4vw,3.8rem);letter-spacing:-.05em}.project-contents ul{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.project-contents li{padding:1rem 0;border-bottom:1px solid var(--line);color:var(--muted)}.project-contents li:before{content:"✓";color:var(--lime);margin-right:.7rem}.empty-samples{min-height:390px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:760px;margin:auto}.empty-samples small{color:var(--purple);font-weight:700;letter-spacing:.18em}.empty-samples h3{font-size:clamp(2.8rem,6vw,5rem);letter-spacing:-.055em;margin:1rem 0}.empty-samples p{color:var(--muted);font-size:1.08rem;max-width:650px;margin-bottom:2rem}@keyframes sample-open{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:760px){.invitation-catalog{padding-bottom:85px}.invitation-types button:after{top:1.35rem;right:1.35rem}.sample-panel{padding:1.25rem}.sample-panel .portfolio-heading{padding:.75rem}.sample-panel .project-card{margin-top:1.5rem}.project-contents{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}.project-contents ul{grid-template-columns:1fr}.empty-samples{min-height:430px;padding:1rem}.empty-samples h3{font-size:2.8rem}}
.projects-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:2rem;margin-top:2.5rem}.showcase-project{overflow:hidden;background:var(--surface);border:1px solid rgba(157,123,255,.35);transition:transform .4s,border-color .35s,box-shadow .35s}.showcase-project:hover{transform:translateY(-6px);border-color:var(--purple);box-shadow:0 26px 75px rgba(157,123,255,.12)}.project-page-preview{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#050505;border-bottom:1px solid var(--line)}.project-page-preview img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s cubic-bezier(.22,.61,.36,1),filter .4s}.project-page-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.72));pointer-events:none}.project-page-preview>span{position:absolute;right:1.4rem;bottom:1.25rem;z-index:2;padding:.7rem 1rem;border:1px solid rgba(255,255,255,.24);background:rgba(8,7,15,.78);backdrop-filter:blur(8px);font-size:.8rem;font-weight:700}.project-page-preview>span b{color:var(--lime);margin-left:.45rem}.showcase-project:hover .project-page-preview img{transform:scale(1.025);filter:brightness(1.06)}.project-description{padding:clamp(1.6rem,4vw,3rem)}.project-description>small{color:var(--purple);font-weight:700;letter-spacing:.17em}.project-description h3{font-size:clamp(2.7rem,5vw,4.6rem);letter-spacing:-.055em;margin:.8rem 0 1rem}.project-description>p{max-width:760px;color:var(--muted);font-size:1.06rem}.project-description h4{margin:2rem 0 .85rem;font:600 1.15rem "Space Grotesk"}.project-description ul{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0 0 2rem;padding:0}.project-description li{padding:.58rem .85rem;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:.78rem}.project-text-link{display:inline-flex;align-items:center;gap:.6rem;color:var(--lime);font-weight:700;text-decoration:none}.project-text-link span{transition:transform .3s}.project-text-link:hover span{transform:translate(4px,-4px)}@media(max-width:760px){.projects-gallery{margin-top:1.5rem}.project-page-preview{aspect-ratio:4/3}.project-page-preview>span{right:.8rem;bottom:.8rem}.project-description{padding:1.5rem}.project-description h3{font-size:2.7rem}}
.sample-panels:not(.open){display:none}.sample-panels.open{animation:catalog-expand .45s cubic-bezier(.22,.61,.36,1) both;scroll-margin-top:24px}@keyframes catalog-expand{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.sample-panels.open{transform-origin:top;animation:catalog-unfold .68s cubic-bezier(.22,.61,.36,1) both}.sample-panel.active{transform-origin:top;animation:panel-reveal .72s cubic-bezier(.22,.61,.36,1) both}.projects-gallery{width:min(100%,820px);margin-left:auto;margin-right:auto}@keyframes catalog-unfold{0%{opacity:0;transform:scaleY(.94) translateY(-16px)}100%{opacity:1;transform:none}}@keyframes panel-reveal{0%{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-16px)}100%{opacity:1;clip-path:inset(0);transform:none}}@media(max-width:760px){.projects-gallery{width:calc(100% - 1rem)}.project-page-preview{aspect-ratio:16/11}.project-description{padding:1.25rem}.project-description h3{font-size:2.45rem}}
.invitation-types>.sample-panels{grid-column:1/-1;width:100%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.invitation-catalog>.sample-panels{width:100%;margin-top:1.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.invitation-types>.sample-panels .showcase-project{min-height:0;padding:0}.invitation-types>.sample-panels .showcase-project:hover{transform:translateY(-6px)}
.invitation-catalog>.sample-panels .showcase-project{min-height:0}.invitation-catalog>.sample-panels .showcase-project:hover{transform:translateY(-6px)}
.icon-arrow-up,.icon-arrow-right{position:relative;display:inline-block;width:.82rem;height:.82rem;flex:0 0 .82rem;font-size:0;line-height:0;color:currentColor;vertical-align:middle}.icon-arrow-up:before{content:"";position:absolute;top:.03rem;right:.02rem;width:.45rem;height:.45rem;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}.icon-arrow-up:after{content:"";position:absolute;left:.02rem;top:.43rem;width:.92rem;height:1.5px;background:currentColor;transform:rotate(-45deg);transform-origin:left center;border-radius:2px}.icon-arrow-right:before{content:"";position:absolute;top:.16rem;right:.05rem;width:.42rem;height:.42rem;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}.icon-arrow-right:after{content:"";position:absolute;left:.02rem;top:.39rem;width:.74rem;height:1.5px;background:currentColor;border-radius:2px}.project-page-preview>span{display:inline-flex;align-items:center;gap:.5rem}.project-page-preview>span b{display:inline-flex;align-items:center;margin-left:0}.contact-card>a .icon-arrow-up{color:var(--lime)}
.invitation-types{gap:.85rem;border:0}.invitation-types>button{min-height:230px;padding:1.7rem 1.8rem;border:1px solid var(--line)}.invitation-types>button h3{margin:1.15rem 0 .65rem}.invitation-types>button p{margin:0}.invitation-types>.sample-panels{margin:.1rem 0 .65rem}
svg.icon-arrow-up,svg.icon-arrow-right{display:block;overflow:visible}svg.icon-arrow-up:before,svg.icon-arrow-up:after,svg.icon-arrow-right:before,svg.icon-arrow-right:after{content:none}svg.icon-arrow-up path,svg.icon-arrow-right path{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
@media(max-width:760px){.invitation-types{gap:1.1rem}.invitation-types>button{min-height:190px;padding:1.35rem}.invitation-types>button h3{margin:1rem 0 .55rem}.invitation-types>.sample-panels{margin:0 0 .45rem}}
.project-page-preview:before{content:"";position:absolute;inset:-35%;z-index:1;pointer-events:none;background:linear-gradient(110deg,transparent 38%,rgba(157,123,255,.17) 48%,rgba(255,255,255,.09) 51%,transparent 59%);transform:translateX(-65%);animation:project-preview-sheen 6.5s ease-in-out infinite}.showcase-project:nth-child(2) .project-page-preview:before{animation-delay:-2.15s}.showcase-project:nth-child(3) .project-page-preview:before{animation-delay:-4.3s}.showcase-project{animation:project-card-breathe 6s ease-in-out infinite}.showcase-project:nth-child(2){animation-delay:-2s}.showcase-project:nth-child(3){animation-delay:-4s}@keyframes project-preview-sheen{0%,42%{opacity:0;transform:translateX(-65%)}58%{opacity:1}76%,100%{opacity:0;transform:translateX(65%)}}@keyframes project-card-breathe{0%,100%{box-shadow:0 0 0 rgba(0,0,0,0)}50%{box-shadow:0 20px 55px rgba(157,123,255,.09)}}
.showcase-project:nth-child(4) .project-page-preview:before{animation-delay:-1.05s}.showcase-project:nth-child(4){animation-delay:-3s}
.gallery-swipe-hint{display:none}.gallery-swipe-hint span{color:var(--lime);font-size:1rem}@keyframes category-card-grow{from{opacity:.7;clip-path:inset(0 7% 0 7%)}to{opacity:1;clip-path:inset(0)}}@keyframes category-panel-grow{from{opacity:0;clip-path:inset(0 7% 100% 7%);transform:translateY(-16px)}to{opacity:1;clip-path:inset(0);transform:none}}@media(max-width:760px){.invitation-types>button.active{grid-column:1/-1;width:100vw;margin-left:calc(50% - 50vw);border-left:0;border-right:0;border-bottom:0;background:linear-gradient(180deg,rgba(157,123,255,.15),rgba(18,16,34,.92));animation:category-card-grow .38s cubic-bezier(.22,.61,.36,1) both}.invitation-types>button.active:focus-visible{box-shadow:none}.invitation-types>.sample-panels,.invitation-catalog>.sample-panels{grid-column:1/-1;width:100vw;margin-left:calc(50% - 50vw);border-left:0;border-right:0}.invitation-types>.sample-panels{margin-top:-1.1rem;border-top:0;background:linear-gradient(180deg,rgba(18,16,34,.92),rgba(7,6,15,.98))}.sample-panels.open,.sample-panel.active{transform-origin:top;animation:category-panel-grow .48s cubic-bezier(.22,.61,.36,1) both}.gallery-swipe-hint{display:flex;align-items:center;justify-content:center;gap:.7rem;margin:.4rem 0 1.1rem;color:var(--muted);font-size:.66rem;letter-spacing:.08em;text-align:center;text-transform:uppercase}.sample-panel{padding-left:0;padding-right:0}.sample-panel .portfolio-heading{padding-left:24px;padding-right:24px}.sample-panel .projects-gallery{display:block;width:100%;max-width:none;margin:0;overflow:hidden;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.sample-panel .carousel-track{display:flex;width:100%;will-change:transform}.sample-panel .showcase-project{flex:0 0 100%;width:100%;margin:0;padding:0 20px;animation:none;box-shadow:none;transform:none}.sample-panel .showcase-project:hover{transform:none}.sample-panel .showcase-project:hover .project-page-preview img{transform:none;filter:none}.sample-panel .project-page-preview,.sample-panel .project-page-preview img{-webkit-user-drag:none}.sample-panel .project-page-preview:before{display:none}.sample-panel .project-page-preview>span{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(8,7,15,.94)}.sample-panel .project-page-preview img{transition:none}.sample-panel [data-carousel-clone]{animation:none}}
@media(min-width:761px){.invitation-types>.sample-panels .projects-gallery,.invitation-catalog>.sample-panels .projects-gallery{width:100%;max-width:1100px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.invitation-types>.sample-panels .showcase-project,.invitation-catalog>.sample-panels .showcase-project{width:100%;height:100%}.invitation-types>.sample-panels .project-description h3,.invitation-catalog>.sample-panels .project-description h3{font-size:clamp(2.4rem,3.5vw,3.7rem)}}
.portfolio-heading:has(>p:only-child){display:block}.portfolio-heading:has(>p:only-child)>p{max-width:760px;margin:0}.swipe-guide{display:none}@keyframes category-card-close{from{opacity:1;clip-path:inset(0)}to{opacity:.55;clip-path:inset(0 7% 0 7%)}}@keyframes category-panel-close{from{opacity:1;clip-path:inset(0);transform:none}to{opacity:0;clip-path:inset(0 7% 100% 7%);transform:translateY(-14px)}}@media(max-width:760px){.invitation-types>button.active.closing{animation:category-card-close .42s cubic-bezier(.4,0,1,1) both}.sample-panels.open.closing,.sample-panel.active.closing{pointer-events:none;animation:category-panel-close .42s cubic-bezier(.4,0,1,1) both}.swipe-guide{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px;background:rgba(5,4,12,.68);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:swipe-guide-in .32s ease-out both}.swipe-guide.leaving{pointer-events:none;animation:swipe-guide-out .32s ease-in both}.swipe-guide>div{display:flex;flex-direction:column;align-items:center;gap:.55rem;min-width:250px;padding:1.35rem 1.5rem;border:1px solid rgba(184,255,74,.4);border-radius:16px;background:rgba(15,13,29,.94);box-shadow:0 20px 70px rgba(0,0,0,.45)}.swipe-guide strong{color:var(--text);font:700 1rem "Space Grotesk";text-align:center}.swipe-guide .swipe-hand{display:block;font-size:2.3rem;line-height:1;filter:drop-shadow(0 5px 10px rgba(0,0,0,.35));animation:swipe-hand-move 1.15s ease-in-out infinite}.swipe-guide small{color:var(--muted);text-align:center;letter-spacing:.04em}}@keyframes swipe-guide-in{from{opacity:0}to{opacity:1}}@keyframes swipe-guide-out{from{opacity:1}to{opacity:0}}@keyframes swipe-hand-move{0%,100%{transform:translateX(-34px) rotate(-8deg)}50%{transform:translateX(34px) rotate(8deg)}}
@media(max-width:760px){.swipe-guide .swipe-hand{width:3.4rem;height:3.4rem;font-size:0;line-height:0;color:var(--purple);filter:drop-shadow(0 5px 12px rgba(0,0,0,.4))}.swipe-guide .swipe-hand svg{display:block;width:100%;height:100%;overflow:visible}.swipe-guide .swipe-hand path{fill:rgba(157,123,255,.14);stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.swipe-guide .swipe-hand .swipe-accent{fill:none;stroke:var(--lime)}.sample-panel .projects-gallery{cursor:grab}.sample-panel .projects-gallery.is-dragging{cursor:grabbing}.sample-panel .projects-gallery:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}}
