:root{color-scheme:light;--paper:#ffffff;--ink:#360066;--purple:#610099;--purple-dark:#360066;--purple-bright:#7700cc;--pink:#db0050;--green:#00db8b;--muted:#69527d;--line:#e0d6eb;--font:Geist,Arial,Helvetica,sans-serif;font-family:var(--font);font-synthesis:none;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #7700cc;outline-offset:6px}::selection{background:var(--purple);color:#fff}.wrap{width:min(100% - 6rem,1380px);margin-inline:auto}.skip-link{position:fixed;top:-8rem;left:1rem;background:var(--purple);color:#fff;padding:1rem;z-index:30}.skip-link:focus{top:1rem}.header{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:112px;border-bottom:1px solid var(--line)}.wordmark{font-size:2.7rem;font-weight:800;letter-spacing:-.08em;line-height:1;display:inline-flex;align-items:flex-start}.header nav{display:flex;align-items:center;gap:2.5rem;font-size:.9375rem}.nav-contact{padding:.8rem 1.15rem;border:1px solid var(--ink);border-radius:100px}.header nav a:hover{color:var(--purple)}.hero{padding-block:3.1rem 5rem}.hero-label{display:flex;justify-content:space-between;gap:1.5rem;font-size:.8125rem;letter-spacing:.08em;font-weight:600}.hero h1{font-size:clamp(4.5rem,10.7vw,10rem);line-height:.97;letter-spacing:-.075em;font-weight:650;margin:3.7rem 0 2.7rem;max-width:1100px}em{font-style:normal;color:var(--purple)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem}.text-link{display:inline-flex;align-items:center;justify-content:flex-start;font-size:.9375rem;font-weight:600;min-height:44px}.hero-copy{max-width:450px}.hero-copy p{font-size:1.125rem;line-height:1.65;color:var(--muted);margin:0 0 1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:1.15rem 1.5rem;min-height:54px;font-size:.9375rem;line-height:1.4;font-weight:600;background:var(--purple);color:#fff;border-radius:100px;transition:background .2s,transform .2s}.button:hover{background:#360066;transform:translateY(-2px)}.approach{padding-block:1.5rem 6rem}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:1.5rem;border-top:1px solid var(--line)}.section-heading h2{font-size:1.1rem;letter-spacing:-.025em;margin:0}.eyebrow{font-size:.8125rem;line-height:1.5;letter-spacing:.1em;font-weight:600}.section-heading .eyebrow{color:var(--muted)}.about{padding-block:5rem 6rem;background:#f7f3fa}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:4rem}.since{margin:5rem 0 0;font-size:1rem;line-height:1.6;color:var(--muted)}.since strong{font-weight:600;font-size:4.7rem;letter-spacing:-.075em;color:var(--purple)}.about-main h2{font-size:clamp(2.6rem,4.7vw,4.5rem);line-height:1.08;letter-spacing:-.06em;font-weight:600;margin:0 0 2rem}.about-main p{max-width:650px;font-size:1.125rem;color:var(--muted);line-height:1.75}.expertise{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.expertise span{font-size:.875rem;border:1px solid #ded3e8;border-radius:100px;padding:.75rem 1rem}.contact{background:var(--purple);color:#fff;margin-block:5rem 3rem;padding:3.7rem 3.7rem 3.2rem}.contact h2{font-size:clamp(3.5rem,6.8vw,7rem);line-height:1.02;font-weight:600;letter-spacing:-.06em;margin:2rem 0 3rem}.contact em{color:#ffffff}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:3rem}.contact-bottom p{font-size:1rem;line-height:1.7;margin:0;color:#eee8f4}.button-light{background:#fff;color:var(--purple)}.button-light:hover{background:#f5effa}.footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:1rem 3rem}.footer .wordmark{font-size:2rem}.footer p{font-size:.875rem;color:var(--muted)}.footer>div{display:flex;gap:1.5rem;font-size:.875rem}.footer>div a{display:inline-flex;align-items:center;min-height:44px}.footer a:hover{color:var(--purple)}
@media(min-width:1600px){.hero h1{font-size:10.5rem}}
@media(max-width:950px){.wrap{width:calc(100% - 3rem)}.hero h1{font-size:clamp(4.5rem,11.8vw,8rem)}.hero-bottom{gap:2rem}.hero-copy{max-width:390px}.about-grid{grid-template-columns:1fr 2fr;gap:2rem}.contact{padding:2.5rem}.contact-bottom{align-items:flex-start;flex-direction:column;gap:1.5rem}.footer{flex-wrap:wrap}.footer p{order:3;flex-basis:100%;margin:0}.header nav{gap:1.5rem}}
@media(max-width:600px){.wrap{width:calc(100% - 2rem)}.header{min-height:87px;gap:1rem;flex-wrap:wrap;padding-block:1.2rem}.wordmark{font-size:2.15rem}.header nav{gap:1.1rem;font-size:.875rem;flex-wrap:wrap}.header nav>a:nth-child(2){display:none}.nav-contact{padding:.6rem .8rem}.hero{padding-block:2rem 3.5rem}.hero-label{flex-direction:column;gap:.4rem;font-size:.75rem}.hero h1{font-size:clamp(3.75rem,14.5vw,5.5rem);margin:2.4rem 0 2rem;line-height:1.01}.hero-bottom{flex-direction:column;align-items:flex-start;gap:1.5rem}.hero-bottom>.text-link{order:2}.hero-copy{max-width:none}.hero-copy p{font-size:1rem;line-height:1.7;max-width:31rem}.button{font-size:.875rem;gap:1rem;padding:1rem 1.2rem}.section-heading{align-items:flex-start;flex-direction:column;gap:.5rem;padding-block:1.25rem}.section-heading .eyebrow{font-size:.75rem}.project-grid{grid-template-columns:1fr;gap:2rem}.project-featured{grid-column:auto}.project-featured .project-image,.project-image{aspect-ratio:4/3}.project-caption{gap:.5rem;align-items:flex-start;flex-direction:column}.project-caption h3{font-size:1.0625rem}.project-caption>span{text-align:left}.project-action{bottom:.8rem;right:.8rem;padding:.7rem 1rem}.work{padding-block:.5rem 3rem}.work-footer{align-items:flex-start;flex-direction:column;gap:.3rem;padding-block:1.5rem}.work-footer p{margin:0}.about{padding-block:3rem}.about-grid{grid-template-columns:1fr;gap:2rem}.about-label{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem}.since{margin:0;text-align:right;font-size:.875rem}.since br{display:none}.since strong{font-size:1.5rem;letter-spacing:-.05em}.about-main h2{font-size:2.5rem}.about-main p{font-size:1rem}.expertise{gap:.5rem}.expertise span{font-size:.8125rem;padding:.6rem .75rem}.contact{margin-block:2rem;padding:2rem 1.4rem}.contact h2{font-size:clamp(2.5rem,10vw,3.7rem);margin:1.7rem 0 2rem}.contact-bottom{gap:1.8rem}.contact-bottom p{font-size:.9375rem}.footer{padding-block:.5rem 2rem;gap:1rem}.footer>div{gap:1.2rem}.footer p{font-size:.8125rem}}
.approach-row{display:grid;grid-template-columns:.35fr 1.15fr 1fr;gap:3rem;padding-block:3rem;border-bottom:1px solid var(--line);align-items:start}.approach-number{font-size:.875rem;color:var(--purple);padding-top:.5rem;font-variant-numeric:tabular-nums}.approach-row h3{font-size:clamp(1.8rem,3.2vw,2.9rem);line-height:1.13;font-weight:600;letter-spacing:-.05em;margin:0}.approach-row p{font-size:1rem;line-height:1.75;color:var(--muted);max-width:390px;margin:.4rem 0 0}.approach .section-heading h2{font-size:1.125rem}.approach .section-heading .eyebrow{text-align:right}
@media(max-width:950px){.approach-row{grid-template-columns:.15fr 1fr 1fr;gap:2rem}.approach .section-heading{align-items:flex-start}}
@media(max-width:600px){.approach{padding-block:.5rem 3rem}.approach-row{grid-template-columns:1.8rem 1fr;gap:1rem;padding-block:2rem}.approach-row h3{font-size:2rem}.approach-row p{grid-column:2;max-width:none;margin:0}.approach .section-heading .eyebrow{text-align:left}.header nav>a:nth-child(2){display:inline}.header nav{font-size:.875rem;gap:1rem}.header .nav-contact{display:none}}
.clients{padding-block:1.5rem 5rem}.client-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.client-card{min-width:0;min-height:310px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;background:#f5effa;border:1px solid transparent;transition:background .2s,border-color .2s}.client-card-1{background:var(--purple);color:#fff}.client-card-2{background:#360066;color:#fff}.client-card-3{background:#eadcf5}.client-card-4{background:#f7f3fa}.client-card:hover{border-color:currentColor}.client-card h3{font-size:clamp(2rem,4vw,3.8rem);line-height:1.08;font-weight:600;letter-spacing:-.055em;margin:2rem 0;overflow-wrap:anywhere}.client-index{font-size:.875rem;font-variant-numeric:tabular-nums}.client-link{display:flex;justify-content:flex-start;align-items:center;font-size:.9375rem;gap:1rem}.client-page{padding-block:2rem 4rem}.back-link{justify-content:flex-start;gap:1rem;color:var(--muted)}.client-page-heading{padding-block:4rem 3rem}.client-page-heading h1{font-size:clamp(3.2rem,8vw,8rem);font-weight:600;letter-spacing:-.065em;line-height:1.05;margin:1.4rem 0 0;overflow-wrap:anywhere}.client-empty{padding:3rem;background:#f7f3fa;border-top:1px solid var(--line);min-height:260px;display:flex;flex-direction:column;justify-content:center}.client-empty h2{font-size:clamp(1.7rem,3vw,2.8rem);font-weight:600;letter-spacing:-.045em;margin:1rem 0}.client-empty p{color:var(--muted);font-size:1rem;line-height:1.7;margin:0;max-width:44rem}.client-page-contact{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:2rem}.client-page-contact p{font-size:1.125rem;line-height:1.5}.client-navigation{display:flex;flex-wrap:wrap;gap:1rem 2rem;border-block:1px solid var(--line);padding-block:1rem}.client-navigation a{font-size:.9375rem;min-height:44px;display:flex;align-items:center;color:var(--muted)}.client-navigation a[aria-current=page]{color:var(--purple);font-weight:700;text-decoration:underline;text-underline-offset:.4rem}.client-navigation a:hover{color:var(--purple)}
@media(max-width:600px){.clients{padding-block:.5rem 3rem}.client-grid{grid-template-columns:1fr;gap:1rem}.client-card{padding:1.5rem;min-height:245px}.client-card h3{font-size:2.5rem}.client-page-heading{padding-block:2.5rem}.client-empty{padding:1.5rem;min-height:240px}.client-page-contact{align-items:flex-start;flex-direction:column;gap:.5rem}.client-navigation{gap:.5rem 1.5rem}.client-page{padding-block:1rem 2rem}}
.client-card{position:relative;display:block;min-height:0;aspect-ratio:4/3;padding:0;overflow:hidden;border:0}.client-visual{position:absolute;inset:0}.client-visual-logo{background:#fff;padding:1.75rem 2rem 6.5rem}.client-visual img{display:block;width:100%;height:100%;object-fit:contain}.client-caption{position:absolute;inset:auto 0 0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 1.5rem;background:rgba(54,0,102,.94);color:#fff;transition:background .2s}.client-caption h3{font-size:clamp(1.25rem,2.2vw,1.8rem);font-weight:600;line-height:1.2;letter-spacing:-.035em;margin:0}.client-caption .client-link{font-size:.875rem;line-height:1.4;flex-shrink:0;color:#eee8f4}.client-card:hover .client-caption,.client-card:focus-visible .client-caption{background:var(--purple)}
@media(max-width:600px){.client-caption{padding:1.1rem 1.2rem;gap:.65rem;flex-wrap:wrap}.client-caption h3{font-size:1.35rem}.client-visual-logo{padding:1.2rem 1.5rem 5.75rem}}
.client-visual-photo img{object-fit:cover}.client-photo-raniele img{object-position:50% 8%}.client-photo-lucas img{object-position:50% 12%}
.hero-bottom{justify-content:flex-end}.sales-video{position:relative;isolation:isolate;width:min(calc(100% - 3rem),340px);margin:4rem auto 1rem;aspect-ratio:9/16;background:#360066}.sales-video iframe{position:relative;display:block;width:100%;height:100%;border:0}
@media(max-width:600px){.sales-video{margin-top:3rem}}

.reveal-ready{transition:opacity .8s cubic-bezier(.2,.65,.3,1),translate .8s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal-pending{opacity:0;translate:0 var(--reveal-pan,24px);transition-delay:0ms}.reveal-pending:focus-within{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;translate:0 0}}

/* Distinct section backgrounds and portrait composition. */
.clients{background:#f8f5fb;padding-block:4rem 5rem}.clients .section-heading{border-top:0;padding-top:0}.approach{background:var(--purple);color:#ffffff;padding-block:4rem 5rem}.approach .section-heading{border-color:#ffffff30}.approach .section-heading .eyebrow,.approach-row p{color:#eee8f4}.approach-number{color:#00db8b}.approach-row{border-color:#ffffff30}.about{background:#360066;color:#ffffff}.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:center;gap:5rem}.about-main p{color:#eee8f4}.about-label .eyebrow{color:#eee8f4}.about-portrait{display:block;width:100%;max-width:420px;height:auto;aspect-ratio:785/911;object-fit:cover;margin-top:1.5rem}.about .since{margin:1.4rem 0 0;display:flex;align-items:baseline;gap:.6rem;color:#eee8f4}.about .since strong{font-size:1.8rem;color:#ffffff;letter-spacing:-.04em}.about .expertise span{border-color:#ffffff40;color:#eee8f4}.contact{background:#f5effa;color:var(--ink)}.contact em{color:var(--purple)}.contact-bottom p{color:var(--muted)}.contact .button-light{background:var(--purple);color:#fff}.contact .button-light:hover{background:#360066}
@media(min-width:601px){.hero h1{margin-inline:auto;text-align:center}.hero-bottom{justify-content:center}.hero-copy{max-width:620px;text-align:center}.hero-copy p{margin-inline:auto}}
@media(max-width:950px){.about-grid{gap:2.5rem}}
@media(max-width:600px){.clients,.approach{padding-block:3rem}.about-grid{grid-template-columns:1fr;gap:2.5rem}.about-label{display:block}.about-portrait{max-width:none}.about .since{text-align:left}.about-main h2{font-size:2.5rem}}

/* Supplied identity and quiet decorative geometry. */
.wordmark{letter-spacing:normal;line-height:1;min-width:0}.brand-logo{display:block;width:180px;height:auto;max-width:100%;object-fit:contain}.footer .brand-logo{width:145px}button,input,textarea,select{font-family:var(--font)}
.hero,.clients,.approach,.about,.contact,.client-page{position:relative;isolation:isolate}.ambient-shapes{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;user-select:none}.ambient-shape{position:absolute;display:block;width:100px;height:100px;opacity:.09;color:var(--purple);animation:ambient-turn 105s linear infinite,ambient-drift 19s ease-in-out infinite alternate}.ambient-square{left:2%;top:17%;width:78px;height:78px;background:currentColor;border-radius:6px;transform:rotate(16deg)}.ambient-arc{right:2%;bottom:12%;width:135px;height:135px;border:3px solid currentColor;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;animation-duration:135s,24s;animation-direction:reverse,alternate;animation-delay:-30s,-7s}.clients .ambient-square{top:2%;left:80%;width:60px;height:60px;opacity:.06}.clients .ambient-arc{right:-35px;bottom:42%;opacity:.09}.approach .ambient-shape{color:#fff;opacity:.12}.approach .ambient-square{left:-28px;top:40%;width:100px;height:100px}.approach .ambient-arc{right:-30px;bottom:6%;width:170px;height:170px}.about .ambient-square{left:auto;right:2%;top:6%;color:#fff;opacity:.09;width:70px;height:70px}.about .ambient-arc{right:4%;bottom:2%;color:#7700cc;opacity:.3;width:155px;height:155px}.contact .ambient-square{left:auto;right:2%;top:8%;opacity:.07}.contact .ambient-arc{right:auto;left:-28px;bottom:-36px;color:#fff;opacity:.65}.client-page .ambient-square{left:auto;right:2%;top:8%;opacity:.06}.client-page .ambient-arc{bottom:3%}
@keyframes ambient-turn{from{transform:rotate(16deg)}to{transform:rotate(376deg)}}
@keyframes ambient-drift{from{translate:0 -7px}to{translate:0 9px}}
@media(max-width:600px){.brand-logo{width:145px}.footer .brand-logo{width:125px}.ambient-square{left:-26px;width:58px;height:58px;opacity:.06}.ambient-arc{right:-38px;width:95px;height:95px;opacity:.08}.about .ambient-square{right:-25px}.about .ambient-arc{right:-45px}.approach .ambient-shape{opacity:.08}}
@media(prefers-reduced-motion:reduce){.ambient-shape{animation:none;translate:0 0}}

/* Designer palette, clearer title spacing, and client work galleries. */
.hero h1{letter-spacing:-.035em}.title-period{display:inline-block;margin-left:.035em}.button:hover,.contact .button-light:hover{background:var(--purple-bright)}.hero .button{border-bottom:3px solid var(--pink)}.about .expertise span{border-color:var(--green)}.project-original:focus-visible{outline-color:var(--purple-bright)}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;align-items:start;max-width:1120px;margin-inline:auto}.portfolio-grid-single{grid-template-columns:minmax(0,1fr);max-width:1100px}.portfolio-project{min-width:0;padding:1.25rem;background:#fff;border:1px solid var(--line);border-top:3px solid var(--purple-bright)}.project-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.project-heading h3{font-size:1rem;font-weight:600;margin:0;letter-spacing:0}.project-heading span{font-size:.875rem;color:var(--muted)}.instagram-frame{min-width:0;width:100%;background:#fff}.instagram-embed{display:block;width:100%;max-width:540px;height:740px;margin-inline:auto;border:0;background:#fff}.project-original{display:inline-flex;align-items:center;min-height:44px;margin-top:.8rem;font-size:.9375rem;color:var(--purple);font-weight:500;text-decoration:underline;text-underline-offset:.3rem}.project-original:hover{color:var(--pink)}.project-youtube{aspect-ratio:16/9;background:var(--purple-dark)}.project-youtube iframe{display:block;width:100%;height:100%;border:0}.client-works{padding-bottom:1rem}.client-works .section-heading{margin-bottom:1rem}
@media(max-width:760px){.portfolio-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}.portfolio-project{padding:1rem}.client-page-heading h1{letter-spacing:-.04em}}
@media(max-width:600px){.hero h1{font-size:clamp(3.25rem,13.7vw,5.5rem);letter-spacing:-.035em}}
