:root{
  --ink:#0b0b10;
  --ink-soft:#17171f;
  --paper:#f3f1eb;
  --paper-2:#e8e5dc;
  --white:#fff;
  --violet:#6554f4;
  --violet-light:#a99fff;
  --coral:#ff7657;
  --lime:#c6f36b;
  --muted:#74727d;
  --line:rgba(11,11,16,.14);
  --line-strong:rgba(11,11,16,.24);
  --line-light:rgba(255,255,255,.14);
  --line-light-strong:rgba(255,255,255,.24);
  --display:'Syne',system-ui,sans-serif;
  --body:'DM Sans',system-ui,sans-serif;
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:14px;
  --radius-sm:10px;
  --page-pad:max(clamp(1.25rem,4vw,4rem),calc((100vw - 1600px)/2 + 4rem));
  --section-space:clamp(6rem,10vw,10rem);
  --shadow-soft:0 24px 70px rgba(11,11,16,.12);
  --surface:rgba(255,255,255,.58);
  --surface-solid:#faf9f5;
  --shadow-card:0 1px 1px rgba(11,11,16,.04),0 18px 50px rgba(11,11,16,.075);
}

*,*::before,*::after{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:6rem}
body{width:100%;max-width:100%;margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.55;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main{width:100%;max-width:100%;overflow-x:clip}
body.menu-open{overflow:hidden}
button,input,textarea{font:inherit}
button,a{color:inherit}
a{text-decoration:none}
img{max-width:100%}
::selection{background:var(--violet);color:var(--white)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:1000;background:var(--lime);padding:.75rem 1rem;border-radius:999px;transform:translateY(-180%);transition:transform .2s}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--coral);outline-offset:4px}

.page-progress{position:fixed;top:0;left:0;z-index:1000;width:0;height:3px;background:linear-gradient(90deg,var(--violet),var(--coral));pointer-events:none}
.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.25rem var(--page-pad);color:var(--ink);transition:padding .3s,background .3s,color .3s,border-color .3s,box-shadow .3s;border-bottom:1px solid transparent}
.site-header.scrolled{padding-top:.75rem;padding-bottom:.75rem;background:rgba(243,241,235,.9);border-color:var(--line);box-shadow:0 8px 30px rgba(11,11,16,.04);backdrop-filter:blur(18px)}
.brand,.footer-brand{font-family:var(--display);font-size:1.45rem;font-weight:800;letter-spacing:-.06em}
.brand span,.footer-brand span{color:var(--violet)}
.site-nav{display:flex;align-items:center;gap:2.25rem;font-size:.82rem;font-weight:600}
.site-nav>a:not(.nav-contact){position:relative}
.site-nav>a:not(.nav-contact)::after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s}
.site-nav>a:hover::after,.site-nav>a.is-active::after{transform:scaleX(1);transform-origin:left}
.site-nav>a.is-active:not(.nav-contact){color:var(--violet)}
.nav-contact{display:inline-flex;align-items:center;gap:1rem;padding:.65rem 1.1rem .65rem 1.25rem;border-radius:999px;background:var(--ink);color:var(--white);box-shadow:0 8px 24px rgba(11,11,16,.14);transition:background .25s,transform .25s,box-shadow .25s}
.nav-contact span{display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:50%;background:var(--violet);transition:background .25s,transform .25s}
.nav-contact.is-active{background:var(--violet)}
.nav-contact.is-active span{background:var(--coral)}
.menu-toggle{display:none;border:0;background:none;padding:.5rem;cursor:pointer}

.hero{position:relative;min-height:100svh;padding:8.5rem var(--page-pad) 2.75rem;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;isolation:isolate}
.hero-grid{position:absolute;inset:0;z-index:-4;background-image:linear-gradient(rgba(11,11,16,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,11,16,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000 50%,transparent 95%)}
.hero-glow{position:absolute;z-index:-3;border-radius:50%;filter:blur(2px);pointer-events:none}
.hero-glow-a{width:46vw;height:46vw;right:3vw;top:-15vw;background:radial-gradient(circle,rgba(113,97,255,.2),transparent 68%)}
.hero-glow-b{width:34vw;height:34vw;left:-12vw;bottom:-15vw;background:radial-gradient(circle,rgba(255,118,87,.16),transparent 68%)}
.hero-status{position:absolute;top:8rem;left:var(--page-pad);display:flex;align-items:center;gap:.65rem;padding:.5rem .95rem;border:1px solid rgba(11,11,16,.12);border-radius:999px;background:rgba(255,255,255,.68);box-shadow:0 10px 30px rgba(11,11,16,.055);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;backdrop-filter:blur(12px)}
.status-dot{position:relative;width:7px;height:7px;border-radius:50%;background:#2bc98d;box-shadow:0 0 0 5px rgba(43,201,141,.13)}
.hero-title-wrap{position:relative;z-index:4;margin-bottom:1.9rem;pointer-events:none}
.hero-kicker{margin:0 0 1rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}
.hero-title{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(4.6rem,7.5vw,7.8rem);line-height:.76;letter-spacing:-.085em;text-transform:uppercase}
.title-line{display:block;width:max-content}
.title-accent{margin-left:12vw;color:var(--coral);position:relative;z-index:5;font-size:.86em;line-height:.95}
.title-last{margin-left:4vw}
.title-dot{color:var(--coral)}

.hero-art{position:absolute;z-index:2;right:7vw;bottom:0;width:clamp(300px,34vw,560px);height:min(79vh,780px);pointer-events:none;transform-origin:bottom center}
.portrait-image{position:absolute;z-index:3;bottom:-1%;left:50%;width:84%;height:94%;object-fit:cover;object-position:center top;transform:translateX(-50%);filter:saturate(.92) contrast(1.03);mask-image:linear-gradient(to bottom,#000 0 84%,transparent 99%)}
.portrait-shape{position:absolute;z-index:1;width:78%;aspect-ratio:1/1.35;left:12%;bottom:3%;border-radius:46% 46% 8% 8%;background:var(--violet);transform:rotate(4deg);box-shadow:20px 22px 0 var(--coral)}
.portrait-orbit{position:absolute;z-index:2;border:1px solid rgba(11,11,16,.22);border-radius:50%}
.orbit-one{width:112%;height:65%;left:-6%;top:17%;transform:rotate(-17deg)}
.orbit-two{width:84%;height:88%;left:8%;top:4%;transform:rotate(28deg)}
.float-tag{position:absolute;z-index:5;padding:.65rem .95rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;box-shadow:0 12px 35px rgba(11,11,16,.15)}
.tag-code{top:28%;left:-9%;background:var(--ink);color:var(--white);transform:rotate(-7deg)}
.tag-design{right:-5%;top:52%;background:var(--lime);transform:rotate(7deg)}

.hero-bottom{position:relative;z-index:6;display:grid;grid-template-columns:minmax(280px,34rem) 1fr;align-items:end;gap:4rem;padding-top:1.35rem;border-top:1px solid var(--line)}
.hero-copy{margin:0;font-size:clamp(1rem,1.3vw,1.2rem);color:#4f4d57;max-width:52ch}
.hero-actions{display:flex;justify-content:flex-end;align-items:center;gap:1.5rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;gap:1rem;border:0;cursor:pointer;font-weight:600;border-radius:999px;transition:transform .25s,box-shadow .25s,background .25s}
.button-primary{padding:1rem 1.4rem 1rem 1.7rem;background:var(--ink);color:var(--white)}
.button-primary span{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--violet)}
.button:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(11,11,16,.17)}
.button:disabled{cursor:wait;opacity:.68;transform:none;box-shadow:none}
.text-link{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem .85rem;border:1px solid var(--line);border-radius:999px;background:rgba(243,241,235,.82);font-size:.8rem;font-weight:600;backdrop-filter:blur(10px);transition:background .2s,border-color .2s,transform .2s}
.text-link:hover{border-color:var(--line-strong);background:var(--white);transform:translateY(-2px)}
.hero-index{position:absolute;right:1rem;top:50%;display:flex;gap:2rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);writing-mode:vertical-rl}

.ticker{width:100%;max-width:100%;overflow:hidden;background:var(--violet);color:var(--white);padding:.85rem 0;position:relative;z-index:10}
.ticker-track{width:max-content;display:flex;align-items:center;gap:1.4rem;animation:ticker 28s linear infinite;font-family:var(--display);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.ticker-track i{font-style:normal;color:var(--lime)}
@keyframes ticker{to{transform:translateX(-50%)}}

.section{padding:var(--section-space) var(--page-pad)}
.section-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:4rem;align-items:end;margin-bottom:4.5rem}
.section-heading>p{max-width:43ch;margin:0 0 .5rem;padding-left:1.25rem;border-left:2px solid var(--violet);color:var(--muted);font-size:1.02rem}
.eyebrow{margin:0 0 1.35rem;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.eyebrow span{display:inline-grid;place-items:center;width:2rem;height:2rem;border:1px solid currentColor;border-radius:50%;margin-right:.7rem}
.section-heading h2,.services-intro h2,.process-heading h2,.contact-copy h2{margin:0;font-family:var(--display);font-size:clamp(2.8rem,6vw,6.2rem);line-height:.93;letter-spacing:-.065em}
h2 em{font-style:normal;color:var(--violet)}

.work{background:radial-gradient(circle at 88% 8%,rgba(101,84,244,.09),transparent 25rem),radial-gradient(circle at 8% 78%,rgba(255,118,87,.075),transparent 24rem),var(--paper);padding-top:11rem}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.project-card{min-width:0;margin:0}
.project-card a{display:flex;height:100%;flex-direction:column;padding:.62rem;border:1px solid rgba(11,11,16,.105);border-radius:calc(var(--radius-lg) + 7px);background:var(--surface);box-shadow:0 1px 0 rgba(255,255,255,.8) inset;backdrop-filter:blur(8px);transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s,background .3s,box-shadow .35s}
.project-featured,.project-wide{grid-column:auto;margin:0}
.project-media{position:relative;overflow:hidden;aspect-ratio:4/3;border:1px solid rgba(11,11,16,.08);border-radius:calc(var(--radius-lg) - 5px);box-shadow:0 1px 0 rgba(255,255,255,.5) inset;transition:border-color .3s,box-shadow .3s}
.project-featured .project-media,.project-wide .project-media{aspect-ratio:4/3}
.project-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.contain-media img{object-fit:contain;padding:7%}
.project-card a:hover .project-media img{transform:scale(1.045)}
.media-violet{background:#9c90ff}.media-coral{background:#d33b19}.media-green{background:#232927}.media-mint{background:#bfe5d4}.media-orange{background:#db1a1a}.media-gold{background:#e6cd75}
.project-number{position:absolute;top:1rem;left:1rem;display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:50%;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);font-size:.7rem;font-weight:700}
.project-info{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;min-height:96px;padding:1.2rem .65rem .55rem}
.project-info p{margin:0 0 .25rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.project-info h3{margin:0;font-family:var(--display);font-size:clamp(1.4rem,2vw,2rem);line-height:1;letter-spacing:-.045em}
.project-arrow{display:grid;place-items:center;width:2.65rem;height:2.65rem;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.48);transition:background .25s,color .25s,transform .25s,border-color .25s}
.project-card a:hover .project-arrow{background:var(--ink);color:var(--white);transform:rotate(45deg)}
.project-tags{display:none}
.project-tags span,.service-chips span{padding:.38rem .65rem;border:1px solid var(--line);border-radius:999px;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}
.project-featured .project-info,.project-wide .project-info{grid-template-columns:minmax(0,1fr) auto}

.services{background:var(--ink);color:var(--white)}
.services-intro{display:flex;justify-content:space-between;align-items:end;gap:4rem;margin-bottom:4.5rem}
.eyebrow-light{color:#8b8993}
.services-intro h2{max-width:13ch;text-align:right}
.services-intro h2 em,.contact-copy h2 em{color:var(--lime)}
.bento-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(230px,auto);gap:1rem}
.service-card{position:relative;overflow:hidden;border:1px solid var(--line-light);border-radius:var(--radius-lg);padding:clamp(1.5rem,2.4vw,2.25rem);background:var(--ink-soft);box-shadow:0 1px 0 rgba(255,255,255,.035) inset;transition:border-color .3s,transform .3s,box-shadow .3s}
.service-main{background:var(--violet);display:flex;flex-direction:column;justify-content:flex-end;min-height:600px}
.service-main::before{content:'';position:absolute;width:23rem;height:23rem;border:1px solid rgba(255,255,255,.28);border-radius:50%;top:-10rem;right:-8rem;box-shadow:0 0 0 3rem rgba(255,255,255,.035),0 0 0 6rem rgba(255,255,255,.025)}
.device-preview{position:absolute;top:1.25rem;left:1.25rem;right:1.25rem;height:18.75rem;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:calc(var(--radius-lg) - 5px);background:#5f4cf0;box-shadow:0 18px 45px rgba(25,14,108,.22)}
.device-showcase-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.96) contrast(1.02)}
.card-label{margin:0 0 1rem;color:rgba(255,255,255,.55);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em}
.service-card h3{position:relative;margin:0;font-family:var(--display);font-size:clamp(1.5rem,2.8vw,3rem);line-height:1;letter-spacing:-.05em}
.service-card>p:not(.card-label),.service-support p{position:relative;color:rgba(255,255,255,.64);max-width:42ch}
.service-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.service-chips span{border-color:rgba(255,255,255,.23)}
.service-seo{background:#20202a;display:flex;flex-direction:column;justify-content:flex-end}
.seo-preview{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(250px,1.25fr);align-items:center;gap:1rem;margin-bottom:auto;padding-bottom:2rem}
.seo-search{display:flex;align-items:center;gap:.7rem;min-height:3.2rem;padding:.7rem .8rem;border:1px solid var(--line-light);border-radius:999px;background:#101016;color:#d8d5e0;font-size:.7rem}
.seo-search>span{display:grid;place-items:center;width:1.8rem;height:1.8rem;flex:0 0 auto;border-radius:50%;background:var(--violet);font-size:1rem}.seo-search strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seo-search i{margin-left:auto;color:var(--lime);font-style:normal}
.seo-result{position:relative;padding:1rem 1.15rem 1rem 1.35rem;border:1px solid rgba(198,243,107,.22);border-radius:var(--radius-md);background:rgba(198,243,107,.07)}
.seo-result::before{content:'';position:absolute;top:1rem;bottom:1rem;left:0;width:3px;border-radius:999px;background:var(--lime)}
.seo-result span,.seo-result strong,.seo-result small{display:block}.seo-url{margin-bottom:.35rem;color:var(--lime);font-size:.58rem;letter-spacing:.08em}.seo-result strong{font:700 1rem/1.15 var(--display)}.seo-result small{margin-top:.45rem;color:#8f8c99;font-size:.58rem}
.service-number{background:var(--lime);color:var(--ink)}
.big-number{font-family:var(--display);font-size:clamp(5rem,9vw,9rem);font-weight:800;line-height:.75;letter-spacing:-.09em}.number-symbol{font-family:var(--display);font-size:2rem;font-weight:800}
.service-number h3{margin-top:2.5rem}.service-number>p:not(.card-label){color:rgba(11,11,16,.6)}
.service-list{grid-column:span 2}.service-list ul{list-style:none;margin:0;padding:0}.service-list li{display:flex;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line-light);font-family:var(--display);font-size:clamp(1rem,1.7vw,1.45rem);font-weight:600}.service-list li:last-child{border:0}.service-list li span{color:var(--violet-light);font:500 .65rem var(--body)}
.service-support{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:2rem;background:#22212c}
.support-orbit{display:grid;place-items:center;width:96px;height:96px;border:1px solid rgba(255,255,255,.22);border-radius:50%;box-shadow:0 0 0 14px rgba(101,84,244,.08)}
.support-orbit span{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--coral);font:800 1.05rem var(--display)}

.custom-adv{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);align-items:end;gap:3rem;min-height:430px;margin-top:1rem;padding:clamp(2rem,4vw,4rem);overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-lg);background:linear-gradient(130deg,var(--lime) 0 58%,#ddff96 100%);color:var(--ink);isolation:isolate}
.custom-adv::before{content:'';position:absolute;z-index:-1;right:-8rem;top:-12rem;width:34rem;height:34rem;border:1px solid rgba(11,11,16,.17);border-radius:50%;box-shadow:0 0 0 4rem rgba(11,11,16,.035),0 0 0 8rem rgba(11,11,16,.025)}
.custom-adv-label{position:absolute;top:clamp(2rem,4vw,4rem);left:clamp(2rem,4vw,4rem);display:flex;align-items:center;gap:.65rem;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.custom-adv-label span{font-size:1rem;color:var(--violet)}
.custom-adv-copy h3{margin:4.5rem 0 1.25rem;font:800 clamp(3.8rem,7vw,7.3rem)/.77 var(--display);letter-spacing:-.075em;text-transform:uppercase}.custom-adv-copy h3 em{font-style:normal;color:var(--violet)}
.custom-adv-copy p{max-width:62ch;margin:0;color:rgba(11,11,16,.68);font-size:1rem}
.custom-adv>a{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:space-between;justify-self:end;min-width:220px;padding:.8rem .85rem .8rem 1.25rem;border-radius:999px;background:var(--ink);color:var(--white);font-size:.8rem;font-weight:700;transition:transform .25s,box-shadow .25s}.custom-adv>a span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--violet)}
.custom-adv-orbit{position:absolute;z-index:-1;top:2.25rem;right:4rem;width:12rem;height:12rem;border:1px solid rgba(11,11,16,.2);border-radius:50%;animation:adv-orbit 18s linear infinite}.custom-adv-orbit span,.custom-adv-orbit i,.custom-adv-orbit b{position:absolute;padding:.35rem .55rem;border-radius:999px;background:var(--paper);font-size:.52rem;font-style:normal;text-transform:uppercase;letter-spacing:.1em}.custom-adv-orbit span{left:-1.7rem;top:42%}.custom-adv-orbit i{right:-1.5rem;top:16%}.custom-adv-orbit b{right:1rem;bottom:-.6rem;background:var(--coral)}
@keyframes adv-orbit{to{transform:rotate(360deg)}}

.process{background:linear-gradient(180deg,var(--paper) 0%,#ebe8df 100%)}
.process-list{display:grid;gap:.7rem;list-style:none;margin:0;padding:0}
.process-list li{display:grid;grid-template-columns:7rem 1fr auto;gap:2rem;align-items:center;padding:1.5rem;border:1px solid rgba(11,11,16,.11);border-radius:var(--radius-lg);background:rgba(255,255,255,.34);transition:transform .3s,background .3s,border-color .3s,box-shadow .3s}
.process-list li:hover{transform:translateX(.45rem);border-color:rgba(101,84,244,.3);background:rgba(255,255,255,.72);box-shadow:0 14px 38px rgba(11,11,16,.06)}
.step-number{display:grid;place-items:center;width:2.7rem;height:2.7rem;border:1px solid var(--line);border-radius:50%;background:var(--surface-solid);font-size:.7rem;color:var(--muted)}
.process-list h3{margin:0 0 .3rem;font:700 clamp(1.5rem,3vw,3rem)/1 var(--display);letter-spacing:-.045em}
.process-list p{margin:0;color:var(--muted);max-width:52ch}
.step-mark{font-size:1.5rem;color:var(--violet)}
.publish-callout{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,5vw,5rem);margin-top:4rem;padding:clamp(1rem,2vw,1.5rem);border:1px solid rgba(11,11,16,.08);border-radius:calc(var(--radius-xl) + 4px);background:var(--ink);color:var(--white);box-shadow:0 28px 70px rgba(11,11,16,.13)}
.publish-visual{position:relative;min-height:360px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-xl);background:radial-gradient(circle at 82% 18%,rgba(198,243,107,.24),transparent 12rem),linear-gradient(145deg,var(--violet),#4e3ee0)}
.publish-visual::before{content:'';position:absolute;inset:-35% 10% 5%;border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 0 3rem rgba(255,255,255,.035),0 0 0 6rem rgba(255,255,255,.025)}
.publish-stage{position:absolute;z-index:2;width:62%;padding:1.15rem;border-radius:var(--radius-md);box-shadow:0 20px 45px rgba(19,12,83,.25);transition:transform .3s}.publish-stage span,.publish-stage strong,.publish-stage i{display:block}.publish-stage span{margin-bottom:.7rem;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.publish-stage strong{font:700 clamp(1.15rem,2vw,1.65rem)/1 var(--display);letter-spacing:-.035em}.publish-stage i{margin-top:.65rem;font-size:.64rem;font-style:normal}
.publish-preview{top:2.2rem;left:2rem;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.92);color:var(--ink);transform:rotate(-3deg)}.publish-preview i{color:var(--violet)}
.publish-live{right:2rem;bottom:2.2rem;background:var(--lime);color:var(--ink);transform:rotate(3deg)}.publish-live span{display:flex;align-items:center;gap:.45rem}.publish-live span b{width:7px;height:7px;border-radius:50%;background:#20aa75;box-shadow:0 0 0 4px rgba(32,170,117,.15)}.publish-live i{color:rgba(11,11,16,.58)}
.publish-arrow{position:absolute;z-index:3;top:50%;left:50%;display:grid;place-items:center;width:3.2rem;height:3.2rem;border:4px solid var(--violet);border-radius:50%;background:var(--ink);color:var(--white);font-size:1.25rem;transform:translate(-50%,-50%)}
.publish-copy{align-self:center;padding:clamp(1.25rem,3vw,3rem) clamp(1rem,3vw,3rem) clamp(1.25rem,3vw,3rem) 0}.publish-label{margin:0 0 1.25rem;color:var(--lime);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.publish-copy h3{margin:0;font:800 clamp(2.4rem,4.5vw,5rem)/.93 var(--display);letter-spacing:-.06em}.publish-copy h3 em{font-style:normal;color:var(--lime)}.publish-copy>p:not(.publish-label){max-width:58ch;margin:1.5rem 0;color:#aaa7b3}.publish-copy ul{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;margin:0;padding:0}.publish-copy li{padding:.48rem .7rem;border:1px solid var(--line-light);border-radius:999px;color:#d7d4dd;font-size:.66rem}.publish-copy li::before{content:'✓';margin-right:.4rem;color:var(--lime);font-weight:800}

.manifesto{padding:var(--section-space) var(--page-pad);background:radial-gradient(circle at 86% 18%,rgba(243,241,235,.34),transparent 24rem),linear-gradient(135deg,var(--coral),#ff8063 58%,#ff9b68);color:var(--ink)}
.manifesto-copy>p{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em}
.manifesto-copy h2{margin:2rem 0 5rem;max-width:15ch;font:800 clamp(3.2rem,8vw,8.5rem)/.9 var(--display);letter-spacing:-.075em}
.manifesto-copy h2 em{color:var(--paper)}
.manifesto-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(11,11,16,.25)}
.manifesto-stats div{padding:2rem 1rem 0 0;border-right:1px solid rgba(11,11,16,.25)}
.manifesto-stats div+div{padding-left:2rem}.manifesto-stats div:last-child{border:0}
.manifesto-stats strong{display:block;font:800 clamp(3rem,7vw,7rem)/1 var(--display);letter-spacing:-.07em}.manifesto-stats strong::after{content:'+';font-size:.35em;vertical-align:top}.manifesto-stats div:last-child strong::after{display:none}
.manifesto-stats span{display:block;margin-top:.65rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}

.contact{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(3rem,6vw,7rem);padding:var(--section-space) var(--page-pad);background:var(--ink);color:var(--white)}
.contact-copy{position:sticky;top:7rem;align-self:start}
.contact-copy h2{font-size:clamp(3rem,5.1vw,5.6rem)}
.contact-lead{max-width:45ch;margin:2rem 0 3rem;color:#9996a2;font-size:1.03rem}
.direct-contacts{border-top:1px solid var(--line-light)}
.direct-contacts a{display:grid;grid-template-columns:6rem 1fr auto;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line-light)}
.direct-contacts a span{font-size:.65rem;color:#777580;text-transform:uppercase;letter-spacing:.12em}.direct-contacts a strong{font-size:.85rem}.direct-contacts a i{font-style:normal;color:var(--lime)}
.contact-panel{padding:clamp(1.5rem,2.5vw,2.35rem);border:1px solid rgba(255,255,255,.16);border-radius:calc(var(--radius-lg) + 4px);background:linear-gradient(155deg,#faf9f5,var(--paper));color:var(--ink);box-shadow:0 32px 90px rgba(0,0,0,.24),0 1px 0 rgba(255,255,255,.7) inset}
.form-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:1px solid var(--line);font:.7rem var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.15em}
.form-heading i{width:9px;height:9px;border-radius:50%;background:#2bc98d;box-shadow:0 0 0 5px rgba(43,201,141,.13)}
.honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{margin-bottom:1.25rem}.field label{display:block;margin-bottom:.55rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.field label small{font-size:.55rem;color:var(--muted)}
.field input,.field textarea,.phone-field{width:100%;border:1px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,.72);transition:border .2s,box-shadow .2s,background .2s}
.field input,.field textarea{padding:.95rem 1rem;color:var(--ink);outline:0}.field input::placeholder,.field textarea::placeholder{color:#92909a}.field textarea{resize:vertical;min-height:145px}
.field input:focus,.field textarea:focus,.phone-field:focus-within{border-color:var(--violet);background:var(--white);box-shadow:0 0 0 3px rgba(101,84,244,.12)}
.phone-field{display:flex;align-items:center}.phone-field span{padding-left:1rem;color:var(--muted)}.phone-field input{border:0;background:transparent;box-shadow:none!important}
.form-error{display:none;margin-bottom:1rem;padding:.8rem 1rem;border:1px solid rgba(182,53,28,.2);border-radius:var(--radius-sm);background:rgba(255,118,87,.12);color:#a92f19;font-size:.83rem}.form-error.visible{display:block}
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.form-footer p{max-width:31ch;margin:0;color:var(--muted);font-size:.7rem}.form-footer p a{text-decoration:underline}.button-send{flex-shrink:0;padding:1rem 1.2rem 1rem 1.5rem;background:var(--violet);color:var(--white)}
.form-success{display:grid;place-items:center;text-align:center;min-height:460px;padding:2rem}.success-icon{display:grid;place-items:center;width:5rem;height:5rem;margin-bottom:1.5rem;border-radius:50%;background:var(--lime);font-size:2rem}.form-success h3{margin:0 0 .75rem;font:800 2.5rem/1 var(--display);letter-spacing:-.05em}.form-success p{max-width:38ch;color:var(--muted)}

.site-footer{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:2rem;padding:3rem var(--page-pad);background:var(--ink);color:var(--white);border-top:1px solid var(--line-light)}
.site-footer p{margin:0;color:#85828e;font-size:.72rem}.site-footer nav{display:flex;gap:1.3rem;font-size:.72rem}.site-footer nav a{color:#a6a3ae;transition:color .2s}.site-footer nav a:hover{color:var(--white)}.copyright{text-align:right}

@media(hover:hover){
  .nav-contact:hover{background:var(--violet);transform:translateY(-2px);box-shadow:0 12px 30px rgba(101,84,244,.24)}.nav-contact:hover span{background:var(--coral);transform:rotate(45deg)}
  .project-card a:hover{transform:translateY(-6px);border-color:rgba(101,84,244,.27);background:rgba(255,255,255,.78);box-shadow:var(--shadow-card)}
  .project-card a:hover .project-media{border-color:rgba(11,11,16,.14);box-shadow:0 16px 34px rgba(11,11,16,.09)}
  .service-card:hover{border-color:var(--line-light-strong);transform:translateY(-3px);box-shadow:0 18px 50px rgba(0,0,0,.16)}
  .publish-callout:hover .publish-preview{transform:rotate(-5deg) translateY(-4px)}.publish-callout:hover .publish-live{transform:rotate(5deg) translateY(4px)}
  .direct-contacts a{transition:padding .25s,color .25s}.direct-contacts a:hover{padding-left:.6rem;padding-right:.6rem;color:var(--lime)}
}

.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in-view{opacity:1;transform:none}
.title-line.reveal{transform:translateY(100%);opacity:1}.title-line.reveal.in-view{transform:none}

@media(max-width:1050px){
  .hero-title{font-size:clamp(4.1rem,7.8vw,6.2rem);line-height:.8}.title-first span{display:block}.title-accent{margin-left:5vw;color:var(--coral)}.title-last{margin-left:2vw}
  .hero-art{right:2vw;width:46vw;height:70vh}
  .hero-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bento-grid{grid-template-columns:1fr 1fr}.service-seo{grid-column:auto}.seo-preview{grid-template-columns:1fr}.service-list{grid-column:auto}.service-support{grid-column:auto}
  .publish-callout{grid-template-columns:1fr}.publish-visual{min-height:320px}.publish-copy{padding:1.5rem}
  .contact{grid-template-columns:1fr;gap:4rem}.contact-copy{position:static}.contact-copy h2{max-width:11ch}
  .site-footer{grid-template-columns:1fr 1fr}.copyright{text-align:left}
}

@media(max-width:760px){
  .site-header{padding:1rem 1.25rem}.site-header.scrolled{padding:.8rem 1.25rem;background:rgba(243,241,235,.98);backdrop-filter:none}
  .menu-toggle{position:fixed!important;z-index:999;display:inline-flex!important;align-items:center;gap:.65rem;top:.75rem!important;right:1.25rem!important;left:auto!important;padding:.62rem .8rem .62rem 1rem;border:0;border-radius:999px;background:var(--ink);color:var(--white);box-shadow:0 8px 24px rgba(11,11,16,.14);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.menu-icon{display:flex;flex-direction:column;justify-content:center;gap:5px;width:18px;height:18px}.menu-icon i{display:block;width:18px;height:1px;background:currentColor;transition:transform .25s}.menu-toggle[aria-expanded=true] .menu-icon i:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-3px) rotate(-45deg)}
  .site-nav{position:fixed;inset:0;z-index:101;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem;padding:6rem 1.5rem;background:var(--ink);color:var(--white);clip-path:inset(0 0 0 100%);visibility:hidden;pointer-events:none;transition:clip-path .35s,visibility .35s}.site-nav.open{clip-path:inset(0);visibility:visible;pointer-events:auto}.site-nav>a{font:700 2.8rem/1 var(--display);letter-spacing:-.05em}.site-nav>a.is-active:not(.nav-contact){color:var(--violet-light)}.site-nav .nav-contact{font-size:1rem;margin-top:1rem}
  .hero{min-height:max(760px,100svh);padding:7rem 1.25rem 2rem;justify-content:flex-end}
  .hero-grid{background-size:45px 45px}.hero-status{top:5.8rem;left:1.25rem;font-size:.58rem}
  .hero-art{right:-8vw;top:6rem;bottom:auto;width:72vw;height:55vh;opacity:.9}.portrait-shape{box-shadow:10px 12px 0 var(--coral)}.tag-code{left:0}.tag-design{right:3%}
  .hero-title-wrap{margin-top:auto;margin-bottom:1.35rem}.hero-kicker{font-size:.6rem;letter-spacing:.13em}.hero-title{font-size:7.4vw;line-height:.9;letter-spacing:-.065em}.title-first span{display:block}.title-accent{margin-left:0}.title-last{margin-left:0;font-size:.88em}
  .hero-bottom{grid-template-columns:1fr;gap:1.25rem;padding-top:1rem}.hero-copy{max-width:33ch;font-size:.9rem}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.85rem}.text-link{font-size:.74rem}.hero-index{display:none}
  .ticker{padding:.7rem 0}.ticker-track{font-size:.65rem}
  .section{padding:5.75rem 1.25rem}.section-heading{grid-template-columns:1fr;gap:1.35rem;margin-bottom:3rem}.section-heading>p{padding-left:1rem}.section-heading h2,.services-intro h2,.contact-copy h2{font-size:clamp(2.65rem,12.5vw,4.5rem)}
  .project-grid{grid-template-columns:1fr;gap:1rem}.project-card:nth-child(even){margin-top:0}.project-card a{padding:.45rem;border-radius:calc(var(--radius-md) + 6px);backdrop-filter:none}.project-featured,.project-wide{grid-column:auto;margin-inline:0}.project-media,.project-featured .project-media,.project-wide .project-media{aspect-ratio:4/3;border-radius:var(--radius-md)}.project-featured .project-info,.project-wide .project-info{grid-template-columns:1fr auto}.project-tags{display:none}.project-info{min-height:90px;padding:1rem .6rem .5rem}.project-info h3{font-size:1.75rem}
  .services-intro{display:block;margin-bottom:3rem}.services-intro h2{text-align:left;margin-top:1rem}.bento-grid{grid-template-columns:1fr;gap:.85rem}.service-main,.service-seo,.service-list,.service-support{grid-column:auto;grid-row:auto}.service-card{border-radius:var(--radius-md);padding:1.5rem}.service-main{min-height:500px}.device-preview{top:1.25rem;left:1.25rem;right:1.25rem;height:12.5rem}.service-support{grid-template-columns:90px 1fr;gap:1.25rem}.support-orbit{width:78px;height:78px;box-shadow:0 0 0 10px rgba(101,84,244,.08)}.support-orbit span{width:50px;height:50px;font-size:.9rem}.seo-preview{gap:.75rem;padding-bottom:1.5rem}.custom-adv{display:block;min-height:auto;padding:1.5rem;border-radius:var(--radius-md)}.custom-adv-label{position:static}.custom-adv-copy h3{margin:3.5rem 0 1.2rem;font-size:clamp(3rem,13.5vw,4.3rem)}.custom-adv-copy p{font-size:.9rem}.custom-adv>a{justify-self:auto;margin-top:2rem}.custom-adv-orbit{top:1.5rem;right:-4rem;width:10rem;height:10rem}
  .process-list li{grid-template-columns:3rem 1fr auto;gap:1rem;padding:1.15rem;border-radius:var(--radius-md)}.process-list li:hover{transform:none}.step-number{width:2.3rem;height:2.3rem}.process-list p{font-size:.85rem}.publish-callout{gap:.5rem;margin-top:2.5rem;padding:.55rem;border-radius:calc(var(--radius-md) + 5px)}.publish-visual{min-height:270px;border-radius:var(--radius-md)}.publish-stage{width:70%;padding:.9rem}.publish-preview{top:1.3rem;left:1rem}.publish-live{right:1rem;bottom:1.3rem}.publish-arrow{width:2.7rem;height:2.7rem}.publish-copy{padding:1.35rem 1rem 1.5rem}.publish-copy h3{font-size:clamp(2.25rem,11vw,3.8rem)}.publish-copy>p:not(.publish-label){font-size:.9rem}.publish-copy ul{display:grid}.publish-copy li{width:max-content;max-width:100%}
  .manifesto{padding:6rem 1.25rem}.manifesto-copy h2{margin-bottom:3.5rem}.manifesto-stats{grid-template-columns:1fr}.manifesto-stats div,.manifesto-stats div+div{padding:1.5rem 0;border-right:0;border-bottom:1px solid rgba(11,11,16,.25)}
  .contact{padding:5.75rem 1.25rem}.contact-panel{padding:1.25rem;border-radius:var(--radius-md)}.field-row{grid-template-columns:1fr;gap:0}.direct-contacts a strong{overflow-wrap:anywhere}.form-footer{align-items:stretch;flex-direction:column}.button-send{width:100%}
  .site-footer{grid-template-columns:1fr;padding:3rem 1.25rem}.site-footer nav{flex-wrap:wrap}
}

@media(max-width:430px){
  .hero{min-height:max(740px,100svh)}.hero-art{width:76vw;height:48vh;top:6.5rem}.float-tag{font-size:.52rem;padding:.5rem .65rem}.button-primary{padding:.8rem 1rem .8rem 1.25rem;font-size:.75rem}
  .seo-preview{grid-template-columns:1fr}.seo-result{padding-right:.8rem}.seo-result small{line-height:1.4}.custom-adv>a{width:100%;min-width:0}
  .direct-contacts a{grid-template-columns:4.5rem 1fr auto}.direct-contacts a strong{font-size:.72rem}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.title-line.reveal{opacity:1;transform:none}
  .ticker-track{animation:none}
}
