*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-snap-type:y proximity}body{font-family:var(--font);font-size:var(--text-base);line-height:1.65;color:var(--text);background:var(--bg);overflow-x:hidden}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea{font-family:inherit}:root{--bg:#ffffff;--accent:#e0ddec;--accent-deep:#c5c0df;--text:#0a0a0a;--text-muted:#6b7280;--surface:#f9f8fc;--dark-bg:#0e0e10;--dark-text:#f0eef8;--border:rgba(10,10,10,0.08);--radius:10px;--font:'Manrope',system-ui,-apple-system,sans-serif;--text-xs:0.8125rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-4xl:4.5rem;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:80px;--s8:96px;--s9:120px;--s10:160px;--t-fast:200ms ease;--t-base:300ms ease;--t-slow:600ms cubic-bezier(0.16,1,0.3,1);--container-max:1280px;--reading-max:700px}h1,h2,h3,h4,h5,h6{font-weight:800;line-height:1.1;letter-spacing:-0.025em}.display{font-size:clamp(2.25rem,6vw,var(--text-4xl));font-weight:800;line-height:1.04;letter-spacing:-0.035em}h1{font-size:clamp(2rem,4.5vw,var(--text-3xl))}h2{font-size:clamp(1.65rem,3vw,var(--text-2xl))}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg);font-weight:700}p{line-height:1.78}.text-muted{color:var(--text-muted)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-upper{text-transform:uppercase;letter-spacing:0.08em;font-size:var(--text-xs);font-weight:600}.section-label{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--s2)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--s5)}.reading-width{max-width:var(--reading-max)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tag{display:inline-block;background:var(--accent);color:var(--text);font-size:var(--text-xs);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius);white-space:nowrap}.divider{height:1px;background:var(--accent);border:none;margin:0}.btn{display:inline-flex;align-items:center;gap:var(--s1);font-family:var(--font);font-size:var(--text-sm);font-weight:700;letter-spacing:0.01em;padding:11px 22px;border-radius:var(--radius);transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast),border-color var(--t-fast);cursor:pointer;border:1.5px solid transparent;text-decoration:none;white-space:nowrap;line-height:1}.btn:focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px}.btn-primary{background:var(--accent);color:var(--text);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover{background:var(--accent);border-color:var(--accent)}.btn-dark{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-dark:hover{background:#2c2c2c}.btn-sm{font-size:var(--text-xs);padding:8px 16px}.btn-text{display:inline-flex;align-items:center;font-family:var(--font);font-size:var(--text-sm);font-weight:700;color:var(--text);text-decoration:none;letter-spacing:0.02em;border-bottom:1.5px solid currentColor;padding-bottom:1px;transition:opacity var(--t-base);margin-top:var(--s3)}.btn-text:hover{opacity:0.6}.navbar{position:fixed;top:20px;left:50%;transform:translateX(-50%);width:600px;border-radius:var(--radius);background:rgba(255,255,255,0.72);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,0.5);box-shadow:0 2px 20px rgba(0,0,0,0.07);z-index:1000;overflow:hidden}.navbar-top{position:relative;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;height:52px}.navbar-logo{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;text-decoration:none;pointer-events:auto}.navbar-logo img{height:22px;width:auto;display:block}.navbar-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;background:none;border:none;cursor:pointer;flex-shrink:0;padding:7px;transition:background var(--t-fast);position:relative;z-index:1}.navbar-toggle:hover{background:none}.navbar-toggle:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px;border-radius:6px}.navbar-toggle-icon,.navbar-toggle-icon::before,.navbar-toggle-icon::after{display:block;width:16px;height:1.5px;background:var(--text);border-radius:2px;transition:transform 0.3s cubic-bezier(0.16,1,0.3,1),opacity 0.2s ease}.navbar-toggle-icon{position:relative}.navbar-toggle-icon::before,.navbar-toggle-icon::after{content:'';position:absolute;left:0}.navbar-toggle-icon::before{top:-5px}.navbar-toggle-icon::after{top:5px}.navbar-toggle.is-open .navbar-toggle-icon{background:transparent}.navbar-toggle.is-open .navbar-toggle-icon::before{top:0;transform:rotate(45deg)}.navbar-toggle.is-open .navbar-toggle-icon::after{top:0;transform:rotate(-45deg)}.navbar-cta{font-family:var(--font);font-size:var(--text-sm);font-weight:600;color:var(--text);text-decoration:none;letter-spacing:0.01em;white-space:nowrap;transition:opacity var(--t-fast);position:relative;z-index:1;background:none;border:none;padding:0;cursor:pointer}.navbar-cta:hover{opacity:0.55}.navbar-cta:focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px;border-radius:3px}.navbar-links-row{height:0;opacity:0;overflow:hidden;padding:0 var(--s4)}.navbar-links-row nav{display:flex;align-items:center;justify-content:center;gap:var(--s5);padding:var(--s2) 0 var(--s2);border-top:1px solid var(--border)}.navbar-links-row a{font-size:var(--text-sm);font-weight:600;color:var(--text);text-decoration:none;letter-spacing:0.01em;transition:color var(--t-fast);white-space:nowrap;padding:4px 0}.navbar-links-row a:hover{color:var(--text-muted)}.navbar-links-row a:focus-visible{outline:2px solid var(--accent-deep);outline-offset:4px;border-radius:3px}.navbar-cta-mobile{display:none !important}.navbar-links-row a.is-active{position:relative}.navbar-links-row a.is-active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1.5px;background:var(--text);border-radius:1px}.hero{height:150vh;position:relative}.hero--home{height:240vh}.hero-sticky{position:sticky;top:0;height:100vh;background:var(--bg);display:flex;align-items:center;isolation:isolate;z-index:10;justify-content:center;overflow:hidden}.hero-video-wrap{position:absolute;inset:0;border-radius:0;overflow:hidden;will-change:transform}.hero-video-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient( to top,rgba(0,0,0,0.60) 0%,rgba(0,0,0,0.18) 40%,transparent 65% );pointer-events:none;z-index:1}.hero-video{width:100%;height:100%;object-fit:cover;display:block}.hero-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0}.hero-overlay--split{}.hero-overlay--studio .hero-title{top:auto;bottom:calc(var(--s8) + 25vh);left:calc(var(--s6) + 20vw);font-size:clamp(3.8rem,8vw,7.5rem);letter-spacing:-0.04em;line-height:0.95;white-space:nowrap}.hero-overlay--studio .hero-overlay-right{bottom:calc(var(--s8) + 10vh);top:auto;left:auto;right:calc(var(--s6) + 30vw);text-align:right}.hero-overlay--studio .hero-sub{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.5;text-align:right}.hero-overlay--software .hero-title{top:auto;bottom:calc(var(--s8) + 25vh);left:calc(var(--s6) + 20vw);font-size:clamp(3.8rem,8vw,7.5rem);letter-spacing:-0.04em;line-height:0.95;white-space:nowrap}.hero-overlay--software .hero-overlay-right{bottom:calc(var(--s8) + 10vh);top:auto;left:auto;right:calc(var(--s6) + 30vw);text-align:right}.hero-overlay--software .hero-sub{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.5;text-align:right}.hero-overlay--home .hero-title{top:auto;bottom:calc(var(--s8) + 25vh);left:10vw;font-size:clamp(3.2rem,6.5vw,6.5rem);letter-spacing:-0.04em;line-height:0.95;white-space:nowrap}.hero-overlay--home .hero-overlay-right{bottom:calc(var(--s8) + 10vh);top:auto;left:auto;right:10vw;text-align:right}.hero-overlay--home .hero-sub{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.5;text-align:right}.hero-title{position:absolute;top:calc(var(--s7) + 15vh);left:calc(var(--s6) + 15vw);font-size:clamp(2.4rem,4.8vw,4.4rem);font-weight:800;color:#ffffff;line-height:1.08;letter-spacing:-0.03em;text-shadow:0 1px 6px rgba(0,0,0,0.32);white-space:nowrap;pointer-events:none}.hero-overlay-right{position:absolute;bottom:calc(var(--s7) + 25vh);left:24%;right:24%;text-align:center}.hero-sub{font-size:clamp(1.19rem,1.85vw,1.39rem);color:rgba(255,255,255,0.92);line-height:1.72;text-shadow:0 1px 3px rgba(0,0,0,0.28);pointer-events:none}.hero-label{font-size:clamp(0.75rem,1vw,0.88rem);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.55)}.hero-overlay-2{position:absolute;inset:0;opacity:0;pointer-events:none}.hero-overlay-2 h2{position:absolute;top:50vh;right:25%;max-width:46%;font-size:clamp(2.4rem,4.8vw,4.4rem);font-weight:800;color:#ffffff;line-height:1.05;letter-spacing:-0.03em;text-shadow:0 1px 8px rgba(0,0,0,0.4);text-align:right}.hero-overlay-2 p{position:absolute;bottom:var(--s6);left:50%;margin-left:-26%;max-width:52%;text-align:center;font-size:clamp(1rem,1.5vw,1.2rem);color:rgba(255,255,255,0.88);line-height:1.78;text-shadow:0 1px 4px rgba(0,0,0,0.28)}.hero-mobile-panel{display:none}.hero-statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);align-items:end}.hero-statement{font-size:clamp(1.8rem,3.8vw,3.25rem);font-weight:800;color:#ffffff;line-height:1.06;letter-spacing:-0.03em;text-shadow:0 1px 8px rgba(0,0,0,0.35)}.hero-statement-body{font-size:clamp(0.85rem,1.2vw,0.98rem);color:rgba(255,255,255,0.82);line-height:1.82;text-shadow:0 1px 4px rgba(0,0,0,0.28);padding-bottom:3px}.section-not-just-ai{padding:var(--s10) var(--s5);text-align:center}.section-not-just-ai .heading{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.07;letter-spacing:-0.03em;max-width:760px;margin:0 auto var(--s4)}.section-not-just-ai p{font-size:var(--text-lg);color:var(--text-muted);max-width:600px;margin:0 auto;line-height:1.8}.section-offerings{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--s8) var(--s6);gap:var(--s7)}.offerings-header{width:100%;max-width:var(--container-max);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;column-gap:var(--s7);row-gap:var(--s3);align-items:end}.offerings-header .section-label{grid-column:1;grid-row:1;margin-bottom:var(--s2)}.offerings-headline{grid-column:1;grid-row:2;font-size:clamp(2.4rem,4vw,3.6rem);font-weight:800;letter-spacing:-0.03em;line-height:1.0}.offerings-sub{grid-column:2;grid-row:2;font-size:clamp(0.95rem,1.2vw,1.1rem);color:var(--text-muted);line-height:1.7;align-self:end;padding-bottom:0.2em}.flip-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);width:100%;max-width:1100px}.flip-card{perspective:1200px;height:500px;cursor:pointer;outline:none;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.08),0 8px 28px rgba(0,0,0,0.10);border-radius:var(--radius)}.flip-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 0.75s cubic-bezier(0.45,0.05,0.18,1.0)}.flip-card.is-flipped .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--accent-deep);border-radius:var(--radius);padding:var(--s8) var(--s5);background:var(--accent);display:flex;flex-direction:column;justify-content:center}.flip-card-back{transform:rotateY(180deg);gap:10px;padding:28px 28px;justify-content:flex-start;overflow:hidden}.flip-card:not(.is-flipped):hover{box-shadow:0 6px 20px rgba(0,0,0,0.08),0 20px 60px rgba(0,0,0,0.12);transition:box-shadow 0.4s ease}.flip-card:not(.is-flipped):hover .flip-card-front{border-color:rgba(0,0,0,0.18);transition:border-color 0.4s ease}.offering-num{display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--s3)}.offering-title{font-size:clamp(2.75rem,5.5vw,4.5rem);font-weight:800;letter-spacing:-0.04em;line-height:0.95;margin-bottom:var(--s3)}.offering-sub{font-size:var(--text-xs);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted)}.flip-card-front-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.flip-cta{display:inline-block;padding:8px 16px;background:var(--text);color:var(--bg);font-size:var(--text-xs);font-weight:800;letter-spacing:0.06em;text-transform:uppercase;border-radius:100px;transition:background var(--t-fast),transform var(--t-fast);white-space:nowrap;cursor:pointer}.flip-card:hover .flip-cta{background:#2c2c2c;transform:translateY(-1px)}#cardStudio .flip-card-front,#cardStudio .flip-card-back{background:#eceaf4}#cardSoftware .flip-card-front,#cardSoftware .flip-card-back{background:#f0f0f0;border-color:rgba(10,10,10,0.1)}.flip-card-btn-group{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.flip-info-btn{display:inline-block;padding:8px 16px;background:transparent;color:var(--text);font-family:var(--font);font-size:var(--text-xs);font-weight:800;letter-spacing:0.06em;text-transform:uppercase;border:1.5px solid rgba(10,10,10,0.35);border-radius:100px;white-space:nowrap;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.flip-info-btn:hover{background:rgba(10,10,10,0.08);border-color:rgba(10,10,10,0.55);transform:translateY(-1px)}.flip-card-back-header{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:var(--s3)}.flip-card-back-meta{display:flex;flex-direction:column;gap:2px}.flip-card-back-header .offering-num{margin-bottom:0}.flip-card-back-title{font-size:clamp(1.1rem,1.8vw,1.6rem);font-weight:800;letter-spacing:-0.03em;line-height:1.0;text-align:right;margin:0;color:var(--text);opacity:0.45}.flip-card-back h3{font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:800;letter-spacing:-0.02em;line-height:1.25;margin:0}.flip-card-back p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.55;margin:0;flex:1;min-height:0;overflow:hidden}.flip-card-back .btn-text{margin-top:auto;display:block;width:100%;text-align:center;padding:11px var(--s4);background:var(--text);color:var(--bg);border-bottom:none;border-radius:100px;font-size:var(--text-xs);font-weight:800;letter-spacing:0.06em;text-transform:uppercase;box-shadow:0 4px 16px rgba(0,0,0,0.14);transition:background var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast)}.flip-card-back .btn-text:hover{opacity:1;background:#2c2c2c;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.2)}@keyframes pulse-cta{0%,100%{box-shadow:0 4px 16px rgba(0,0,0,0.14);transform:scale(1)}50%{box-shadow:0 6px 28px rgba(0,0,0,0.28);transform:scale(1.025)}}.flip-card.is-flipped .flip-card-back .btn-text{animation:pulse-cta 1.8s ease-in-out infinite}.flip-card.is-flipped .flip-card-back .btn-text:hover{animation:none}.offering-title{cursor:pointer}.morph-card .flip-card-inner{transform-style:flat;transition:none}.morph-card.is-flipped .flip-card-inner{transform:none}.morph-card .flip-card-front,.morph-card .flip-card-back{backface-visibility:visible;-webkit-backface-visibility:visible;transform:none}.morph-card .flip-card-back{opacity:0;pointer-events:none}.morph-card.is-flipped .flip-card-front{pointer-events:none}.morph-card.is-flipped .flip-card-back{pointer-events:auto}.section-projects{position:relative;overflow:hidden;height:100vh;display:flex;flex-direction:column;scroll-snap-align:start;scroll-snap-stop:always;margin-bottom:25vh}.section-projects .section-label{display:block;flex-shrink:0;padding:var(--s5) var(--s5) var(--s4)}.project-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 0.45s ease;pointer-events:none;z-index:0}.section-projects.is-hovering .project-bg-video{opacity:1}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:6px;flex:1;min-height:0;position:relative;z-index:1}.project-tile{position:relative;overflow:hidden;cursor:default;background:#c8c8c8;transition:background 0.35s ease}.project-tile-img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity 0.35s ease}.project-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:rgba(0,0,0,0.3);background:var(--accent);transition:opacity 0.35s ease}.section-projects.is-hovering .project-tile:not(.is-active){background:transparent}.section-projects.is-hovering .project-tile:not(.is-active) .project-tile-img{opacity:0.03}.section-projects.is-hovering .project-tile:not(.is-active) .project-placeholder{opacity:0.03}.section-projects.is-hovering .project-tile.is-active{background:transparent}.section-projects.is-hovering .project-tile.is-active .project-tile-img{opacity:1}.section-projects.is-hovering .project-tile.is-active .project-placeholder{opacity:1}.project-tile-info{display:none}.project-tile-title{display:none}.section-ansatz{padding:var(--s10) var(--s5);overflow:hidden}.section-ansatz-inner{max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);align-items:center}.section-ansatz .ansatz-sub{font-size:var(--text-sm);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--s3);display:block}.section-ansatz h2{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:800;letter-spacing:-0.025em;line-height:1.15;margin:0}.ansatz-left--right{text-align:right}.morph-italic{position:relative;display:inline-block;cursor:default}.morph-italic::after{content:attr(data-text);position:absolute;inset:0;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;color:var(--text);opacity:0;pointer-events:none;white-space:nowrap;display:flex;align-items:center;justify-content:center}.morph-italic:hover{color:transparent}.morph-italic:hover::after{opacity:1}.section-ansatz .ansatz-body{display:flex;flex-direction:column;gap:var(--s3)}.section-ansatz p{color:var(--text-muted);font-size:var(--text-base);line-height:1.78;margin:0}.ansatz-body--rich h2{margin-bottom:var(--s4)}.ansatz-kicker{color:var(--text) !important;font-weight:600}.section-ansatz--mobile-only{display:none}@media (max-width:768px){.section-ansatz-inner{grid-template-columns:1fr;gap:var(--s5)}.section-ansatz--mobile-only{display:block;padding:var(--s6) var(--s3)}}.section-packages{padding:var(--s5) var(--s5) var(--s9);display:flex;flex-direction:column;gap:var(--s3);max-width:calc(var(--container-max) + var(--s5) * 2);margin:0 auto}.package-row{display:grid;grid-template-columns:200px 1fr 280px;gap:var(--s5);align-items:stretch;padding:var(--s5) var(--s6);border-radius:var(--radius);background:var(--surface);border:1px solid var(--accent);width:100%;transition:transform 0.45s cubic-bezier(0.22,1,0.36,1),box-shadow 0.45s cubic-bezier(0.22,1,0.36,1),filter 0.45s ease,opacity 0.45s ease;will-change:transform,filter}.package-row:hover{transform:translateY(-10px);box-shadow:0 28px 70px rgba(0,0,0,0.09)}.section-packages:has(.package-row:hover) .package-row:not(:hover){filter:blur(3px);opacity:0.45}.package-name{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-size:clamp(3.5rem,7vw,6rem);font-weight:800;letter-spacing:-0.04em;line-height:1;color:var(--text);align-self:center;user-select:none}.package-name--serif{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;letter-spacing:-0.02em}.package-content{padding:var(--s2) 0;display:flex;flex-direction:column;justify-content:center}.package-module{font-size:var(--text-xs);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--s1)}.package-tagline{font-size:var(--text-xl);font-weight:800;letter-spacing:-0.025em;margin-bottom:var(--s2);line-height:1.2}.package-body{color:var(--text-muted);font-size:var(--text-base);line-height:1.65;margin-bottom:var(--s2)}.package-bullets{list-style:none;display:flex;flex-direction:column;gap:var(--s1);margin-bottom:var(--s3)}.package-bullets li{font-size:var(--text-sm);color:var(--text-muted);padding-left:var(--s3);position:relative}.package-bullets li::before{content:'—';position:absolute;left:0;color:var(--accent-deep);font-weight:700}.package-io{font-size:var(--text-xs);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted)}.package-io span{color:var(--text)}.package-cta{display:inline-flex;align-items:center;gap:var(--s2);margin-top:var(--s4);padding:0.65em 1.4em;border-radius:var(--radius);border:1.5px solid var(--text);background:transparent;font-family:var(--font);font-size:var(--text-sm);font-weight:700;letter-spacing:0.04em;color:var(--text);text-decoration:none;cursor:pointer;transition:background 0.25s ease,color 0.25s ease,border-color 0.25s ease;align-self:center}.package-cta:hover{background:var(--text);color:#fff}.package-tags{display:flex;flex-wrap:wrap;gap:var(--s1);margin-top:var(--s3)}.package-image{border-radius:var(--radius);overflow:hidden;min-height:220px;background:var(--accent)}.package-image img,.package-video{width:100%;height:100%;object-fit:cover;display:block}.package-image .package-img-placeholder{font-size:var(--text-xs);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted)}.section-technology{background:var(--dark-bg);padding:var(--s10) var(--s5);color:var(--dark-text)}.section-technology .section-label{color:rgba(240,238,248,0.45);margin-bottom:var(--s3);display:block;text-align:center}.technology-heading{color:var(--dark-text);margin-bottom:var(--s2);text-align:center}.technology-subheading{color:rgba(240,238,248,0.55);font-size:var(--text-lg);font-weight:400;margin-bottom:var(--s7);text-align:center;max-width:520px;margin-left:auto;margin-right:auto}.technology-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);max-width:var(--container-max);margin:0 auto;border:1px solid rgba(255,255,255,0.07);border-radius:var(--radius);padding:var(--s6)}.technology-platforms h4{color:var(--dark-text);font-size:var(--text-sm);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:var(--s4);color:rgba(240,238,248,0.5)}.platform-list{display:flex;flex-direction:column;gap:var(--s3)}.platform-item strong{display:block;color:var(--dark-text);font-size:var(--text-base);font-weight:700;margin-bottom:2px}.platform-item span{font-size:var(--text-sm);color:rgba(240,238,248,0.5);line-height:1.6}.technology-steps h4{color:rgba(240,238,248,0.5);font-size:var(--text-sm);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:var(--s4)}.technology-steps ol{list-style:none;display:flex;flex-direction:column;gap:var(--s4)}.technology-steps li{display:grid;grid-template-columns:28px 1fr;gap:var(--s2)}.tech-step-num{font-size:var(--text-xs);font-weight:800;color:var(--accent);padding-top:3px}.tech-step-content strong{display:block;color:var(--dark-text);font-weight:700;margin-bottom:2px}.tech-step-content span{font-size:var(--text-sm);color:rgba(240,238,248,0.5);line-height:1.6}.section-automation-intro{padding:var(--s10) var(--s5) var(--s7);text-align:center}.section-automation-intro h2{margin-bottom:var(--s3);max-width:640px;margin-left:auto;margin-right:auto}.section-automation-intro p{font-size:var(--text-lg);color:var(--text-muted);max-width:580px;margin:0 auto;line-height:1.8}.section-workflow{padding:0 var(--s5) var(--s10)}.workflow-step{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);align-items:center;padding:var(--s7) 0;max-width:var(--container-max);margin:0 auto;border-top:1px solid var(--border);transition:filter 0.18s ease,opacity 0.18s ease;will-change:filter,opacity}.section-workflow:has(.workflow-step:hover) .workflow-step:not(:hover):not(.is-visible){filter:blur(3px);opacity:0.45}.section-workflow.has-focused-step .workflow-step:not(.is-focused):not(:hover){filter:blur(3px);opacity:0.45}.workflow-step:first-child{border-top:none}.workflow-step.step-even .workflow-image{order:2}.workflow-step.step-even .workflow-text{order:1}.workflow-image{border-radius:var(--radius);overflow:hidden;aspect-ratio:16 / 9;background:#ffffff;transform:translateY(0);box-shadow:0 4px 16px rgba(0,0,0,0.06);transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94),box-shadow 0.4s cubic-bezier(0.25,0.46,0.45,0.94)}.workflow-image:hover{transform:translateY(-8px);box-shadow:0 20px 48px rgba(0,0,0,0.13)}.workflow-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94)}.workflow-image:hover img{transform:scale(1.02)}.workflow-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);background:var(--accent)}.workflow-text{padding:var(--s2) 0}.workflow-num{font-size:clamp(3rem,6vw,5rem);font-weight:800;color:var(--accent-deep);line-height:1;letter-spacing:-0.04em;margin-bottom:var(--s2)}.workflow-title{font-size:var(--text-xl);font-weight:800;letter-spacing:-0.025em;margin-bottom:var(--s2)}.workflow-desc{color:var(--text-muted);font-size:var(--text-base);line-height:1.75;margin-bottom:var(--s3)}.workflow-bullets{list-style:none;display:flex;flex-direction:column;gap:var(--s1)}.workflow-bullets li{font-size:var(--text-sm);color:var(--text-muted);padding-left:var(--s3);position:relative;line-height:1.6}.workflow-bullets li::before{content:'→';position:absolute;left:0;color:var(--accent-deep);font-weight:700}.footer{background:var(--accent);overflow:hidden;min-height:100vh;display:flex;flex-direction:column;position:relative}.footer-top{padding:var(--s5) var(--s5) var(--s3);flex-shrink:0}.footer-logo{display:inline-block;text-decoration:none}.footer-logo img{display:block;height:22px;width:auto}.footer-legal{display:block;margin-top:5px;font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 0.8fr 2fr;gap:var(--s6);padding:var(--s2) var(--s5) var(--s6);flex:1;align-content:start}.footer-col h4{font-size:var(--text-xs);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--s3)}.footer-address{font-size:var(--text-sm);color:var(--text);line-height:1.9;font-style:normal}.footer-address a{color:var(--text);text-decoration:none;transition:opacity var(--t-fast)}.footer-address a:hover{opacity:0.55}.footer-nav-list,.footer-follow-list{display:flex;flex-direction:column;gap:var(--s2)}.footer-nav-list a,.footer-follow-list a{font-size:var(--text-sm);color:var(--text);text-decoration:none;font-weight:500;transition:opacity var(--t-fast)}.footer-nav-list a:hover,.footer-follow-list a:hover{opacity:0.55}.footer-nav-list a:focus-visible,.footer-follow-list a:focus-visible{outline:2px solid var(--text);outline-offset:3px;border-radius:2px}.footer-form{display:flex;flex-direction:column;gap:var(--s2)}.footer-form-row{display:flex;gap:var(--s1)}.footer-input{flex:1;padding:10px 14px;border:1.5px solid rgba(10,10,10,0.18);border-radius:6px;background:rgba(255,255,255,0.55);font-family:var(--font);font-size:var(--text-sm);color:var(--text);transition:border-color var(--t-fast),background var(--t-fast);outline:none}.footer-input:focus{border-color:var(--accent-deep);background:rgba(255,255,255,0.9)}.footer-input::placeholder{color:var(--text-muted)}.footer-textarea{resize:vertical;min-height:100px;padding:12px 14px;width:100%;border:1.5px solid rgba(10,10,10,0.18);border-radius:10px;background:rgba(255,255,255,0.55);font-family:var(--font);font-size:var(--text-sm);color:var(--text);line-height:1.6;transition:border-color var(--t-fast),background var(--t-fast);outline:none}.footer-textarea:focus{border-color:var(--accent-deep);background:rgba(255,255,255,0.9)}.footer-textarea::placeholder{color:var(--text-muted)}.footer-send-btn{flex-shrink:0;padding:10px 18px;background:var(--text);color:var(--bg);border:none;border-radius:6px;font-family:var(--font);font-size:var(--text-xs);font-weight:800;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;transition:background var(--t-fast),transform var(--t-fast)}.footer-send-btn:hover{background:#2c2c2c;transform:translateY(-1px)}.footer-send-btn:focus-visible{outline:2px solid var(--text);outline-offset:3px}.footer-legal-bar{display:flex;justify-content:center;align-items:center;gap:var(--s2);padding:var(--s3) var(--s5);position:absolute;bottom:16vw;left:0;right:0;z-index:2}.footer-legal-bar a{font-size:var(--text-xs);color:var(--text-muted);text-decoration:none;font-weight:500;transition:opacity var(--t-fast)}.footer-legal-bar a:hover{opacity:0.55}.footer-legal-bar span{color:var(--text-muted);font-size:var(--text-xs)}.footer-wordmark-wrap{position:absolute;bottom:0;left:0;right:0;overflow:hidden;padding:0;line-height:0;z-index:1}.footer-wordmark-img{display:block;width:100%;height:auto;opacity:0.2;transform:translateY(5%);user-select:none;pointer-events:none}.legal-page{max-width:720px;margin:0 auto;padding:var(--s10) var(--s5) var(--s9);padding-top:calc(var(--s10) + 52px)}.legal-page h1{margin-bottom:var(--s6)}.legal-page h2{font-size:var(--text-xl);margin:var(--s6) 0 var(--s2)}.legal-page p,.legal-page li{color:var(--text-muted);line-height:1.85;margin-bottom:var(--s2)}.legal-placeholder{color:var(--text-muted);font-style:italic;padding:var(--s5) 0;border-top:1px solid var(--accent)}.legal-page h3{font-size:var(--text-lg);margin:var(--s5) 0 var(--s2)}.legal-page a{color:var(--text);text-decoration:underline;text-underline-offset:3px}.legal-page a:hover{opacity:0.6}.legal-source{margin-top:var(--s6) !important;padding-top:var(--s4);border-top:1px solid var(--accent);font-size:var(--text-sm) !important;font-style:italic}@media (max-width:1024px){.footer-main{grid-template-columns:1fr 1fr;gap:var(--s5)}.footer-main .footer-col:nth-child(3){grid-column:span 1}.package-row{grid-template-columns:160px 1fr 260px}}@media (max-width:768px){.navbar{width:calc(100% - 32px);top:12px}.navbar-links-row nav{flex-direction:column;align-items:center;gap:var(--s3);padding:var(--s3) 0 var(--s2)}.navbar-links-row a{font-size:var(--text-base)}.hero{height:150vh}.hero--home{height:250vh;position:relative}.hero--home .hero-overlay{display:none !important}.hero-sticky{position:sticky;top:0}.hero-mobile-panel{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:var(--s7) var(--s4);pointer-events:none;opacity:0}.hmp-title{font-size:clamp(2.2rem,9vw,3.2rem);font-weight:800;letter-spacing:-0.035em;line-height:1.0;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,0.35);margin-bottom:var(--s3)}.hmp-sub{font-size:clamp(0.88rem,3.8vw,1.05rem);color:rgba(255,255,255,0.88);line-height:1.65;text-shadow:0 1px 8px rgba(0,0,0,0.3);max-width:85%}.hero-mobile-panel--studio .hmp-sub{align-self:flex-end;text-align:right;max-width:62vw}.hero-mobile-panel--software{padding-left:var(--s4);padding-right:var(--s4)}.hero-mobile-panel--software .hmp-title{text-align:left}.hero-mobile-panel--software .hmp-sub{align-self:flex-end;text-align:right;max-width:72vw}.hero-mobile-panel--2 .hmp-title{align-self:flex-end;text-align:right}.hero-video-wrap{inset:0}.hero-overlay{}.hero-title{top:var(--s5);left:var(--s3);font-size:clamp(1.8rem,7vw,2.8rem);white-space:normal}.hero-overlay-right{bottom:var(--s5);right:var(--s3);left:var(--s3);text-align:left;max-width:100%}.hero-sub{font-size:clamp(0.9rem,3.5vw,1.05rem)}.hero-overlay--software .hero-title{top:auto;bottom:calc(var(--s5) + 14vh);left:var(--s3);right:var(--s3);font-size:clamp(2rem,9vw,3.2rem);white-space:normal;line-height:1.0}.hero-overlay--software .hero-overlay-right{top:auto;bottom:var(--s5);left:var(--s3);right:var(--s3);text-align:left}.hero-overlay--home .hero-title{top:auto;bottom:calc(var(--s5) + 14vh);left:var(--s3);right:var(--s3);font-size:clamp(2rem,9vw,3.2rem);white-space:normal;line-height:1.0}.hero-overlay--home .hero-overlay-right{bottom:var(--s5);top:auto;left:var(--s3);right:var(--s3);text-align:left}.hero-overlay--home .hero-sub{font-size:clamp(0.9rem,3.5vw,1.05rem);text-align:left}.section-offerings{min-height:auto;padding:var(--s7) var(--s4) var(--s8);gap:var(--s5)}.offerings-header{grid-template-columns:1fr;grid-template-rows:auto auto auto;row-gap:var(--s2)}.offerings-header .section-label{grid-column:1;grid-row:1}.offerings-headline{grid-column:1;grid-row:2;font-size:clamp(2rem,8vw,2.8rem)}.offerings-sub{grid-column:1;grid-row:3;font-size:clamp(0.88rem,3.5vw,1rem)}.flip-cards{grid-template-columns:1fr;gap:var(--s2)}.flip-card{height:260px;overflow:hidden;cursor:pointer}.flip-card-front{padding:20px 20px;justify-content:center}.flip-card .offering-num{font-size:0.7rem;margin-bottom:8px}.flip-card .offering-title{font-size:clamp(1.5rem,6vw,1.9rem);margin-bottom:10px;line-height:0.95}.flip-card-front-footer{gap:6px}.flip-card-btn-group{gap:5px}.flip-info-btn{padding:5px 12px;font-size:0.65rem}.flip-cta{padding:5px 12px;font-size:0.65rem}.flip-card-back{padding:16px 20px;gap:8px}.flip-card-back-header{gap:var(--s2)}.flip-card-back-title{font-size:0.85rem}.flip-card-back h3{font-size:0.9rem;line-height:1.2}.flip-card-back p{font-size:0.75rem;line-height:1.4}.flip-card-back .btn-text{padding:8px var(--s3);font-size:0.65rem}.section-projects{height:auto;scroll-snap-align:none}.project-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(6,140px);gap:1px;flex:none}.section-packages{padding:10px;gap:10px}.package-row{height:auto;display:flex;flex-direction:column;grid-template-columns:unset;padding:0;border-radius:14px;border:1px solid var(--accent);box-shadow:0 6px 24px rgba(0,0,0,0.07);overflow:hidden}.package-name{writing-mode:horizontal-tb;transform:none;font-size:1.4rem;padding:10px var(--s3) 0;align-self:unset}.package-content{flex:none;padding:8px var(--s3) 10px;justify-content:flex-start;overflow:hidden}.package-module{margin-bottom:2px;font-size:9px}.package-tagline{font-size:0.95rem;margin-bottom:6px}.package-body{font-size:0.72rem;line-height:1.5;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.package-bullets{gap:2px;margin-bottom:6px}.package-bullets li{font-size:0.68rem;line-height:1.4}.package-io{font-size:9px}.package-cta{margin-top:6px;padding:0.4em 1em;font-size:0.65rem;align-self:center}.package-image{flex-shrink:0;height:28svh;min-height:unset;aspect-ratio:unset;width:100%;border-radius:0}.package-video{width:100%;height:100%;object-fit:cover;display:block}.section-packages:has(.package-row:hover) .package-row:not(:hover){filter:none;opacity:1}.package-row:hover{transform:none;box-shadow:none}.technology-grid{grid-template-columns:1fr;gap:var(--s5)}.section-ansatz,.section-workflow{overflow-x:hidden}.workflow-step{grid-template-columns:1fr;gap:var(--s4)}.workflow-text,.workflow-step.step-even .workflow-text{order:1}.workflow-image,.workflow-step.step-even .workflow-image{order:2}.footer{height:auto;min-height:100dvh;overflow:visible;padding-top:80px;padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start}.footer-top{padding:0 var(--s4) var(--s3);flex-shrink:0}.footer-logo img{height:14px}.footer-main{grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:var(--s2) var(--s3);padding:0 var(--s4) 0;flex:none;flex-shrink:0;align-content:start}.footer-col h4{font-size:8px;margin-bottom:10px;letter-spacing:0.12em}.footer-address{font-size:10.5px;line-height:1.65}.footer-nav-list,.footer-follow-list{gap:5px}.footer-nav-list a,.footer-follow-list a{font-size:10.5px}.footer-main .footer-col:nth-child(4){grid-column:1 / -1;margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid rgba(255,255,255,0.18)}.footer-main .footer-col:nth-child(4) h4{font-size:10px;margin-bottom:var(--s3)}.footer-form{gap:10px;width:100%}.footer-form-row{gap:8px}.footer-input{font-size:13px;padding:13px 14px}.footer-textarea{font-size:13px;padding:13px 14px;min-height:130px;resize:none}.footer-send-btn{padding:13px 18px;font-size:11px;letter-spacing:0.08em;flex-shrink:0}.footer-legal-bar{position:static;bottom:auto;flex-shrink:0;margin-bottom:0;padding:var(--s2) var(--s4) var(--s1);font-size:9px}.footer-wordmark-wrap{position:static;overflow:hidden;padding:0;line-height:0;margin-top:auto;margin-bottom:24px;flex-shrink:0}.footer-wordmark-img{display:block;width:100%;height:auto;margin-bottom:0;opacity:0.35;transform:none}}@media (max-width:450px){.navbar-cta{display:none !important}.navbar-cta-mobile{display:block !important;margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--border);font-weight:700;color:var(--text) !important;letter-spacing:0.01em}}@media (max-width:480px){.navbar{width:calc(100% - 24px);top:10px}.navbar-top{padding:8px 12px;height:48px}.container{padding:0 var(--s3)}}.section-workflow-intro{padding:var(--s10) var(--s5);overflow:hidden}.section-workflow-cta{padding:80px var(--s5) var(--s10);text-align:center}.wf-cta-inner{display:flex;flex-direction:column;align-items:center;gap:var(--s4)}.wf-cta-line{font-size:clamp(1.4rem,2.8vw,2rem);font-weight:700;letter-spacing:-0.02em;color:var(--text-primary);margin:0}@media (max-width:767px){.section-workflow-cta{padding:var(--s6) var(--s4)}.wf-cta-line{font-size:clamp(1.2rem,5.5vw,1.6rem)}}.wf-cta-btn{display:inline-block;padding:14px 36px;background:#f0f0f0;color:var(--text);font-family:var(--font);font-size:var(--text-sm);font-weight:700;letter-spacing:0.01em;text-decoration:none;border-radius:10px;border:1px solid rgba(10,10,10,0.12)}
/* ── Language switcher ─────────────────────────────────────── */
.lang-switcher {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: 10px;
  margin-right: 0;
}

.lang-btn {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text);
  opacity: 0.35;
  text-decoration: none;
  transition: opacity 0.2s ease;
  padding: 2px 0;
  border-bottom: none;
  font-style: normal;
}

.lang-btn:hover {
  opacity: 0.65;
}

.lang-btn--active {
  opacity: 1;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.01em;
  text-transform: none;
}

.lang-sep {
  font-size: 0.65rem;
  color: var(--text);
  opacity: 0.25;
}

/* ── Floating right CTA pill ───────────────────────────────── */
.floating-cta {
  position: fixed;
  right: calc(5% + 20px);
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.07);
  border-radius: 50%;
  overflow: hidden;
  text-decoration: none;
  z-index: 999;
  cursor: pointer;
  animation: floatingCtaPulse 2.5s ease-in-out infinite, floatingDrift 8s ease-in-out infinite;
  transition: box-shadow 0.2s ease, background 0.2s ease, opacity 0.5s ease, transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1), width 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), border-radius 0.35s ease, padding 0.35s ease;
}

.floating-cta:hover {
  box-shadow: 0 4px 28px rgba(0, 0, 0, 0.13);
  background: rgba(255, 255, 255, 0.92);
}

.floating-cta-emoji {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
  animation: emojiSpin 6s ease-in-out infinite;
  transition: opacity 0.3s ease, transform 0.3s ease;
  user-select: none;
}

.floating-cta-emoji.is-leaving {
  opacity: 0;
  transform: scale(0);
}

.floating-cta-emoji.is-popping {
  animation: emojiPopIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards, emojiSpin 6s ease-in-out infinite 0.4s;
}

.floating-cta.is-hidden {
  opacity: 0 !important;
  pointer-events: none;
  transform: translateY(-50%) scale(0) !important;
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.55, 0, 1, 0.45) !important;
  animation-play-state: paused;
}

@media (max-width: 768px) {
  .floating-cta {
    top: auto;
    bottom: calc(10% + 28px);
    right: 20px;
    transform: none;
    animation: floatingCtaPulseMobile 2.5s ease-in-out infinite, floatingDriftMobile 8s ease-in-out infinite;
  }
  .floating-cta.is-hidden {
    transform: scale(0) !important;
  }
}

@keyframes floatingCtaPulseMobile {
  0%, 100% { transform: scale(1); }
  50%       { transform: scale(1.10); }
}

@keyframes floatingDriftMobile {
  0%   { margin-bottom: 0px;  margin-right: 0px; }
  20%  { margin-bottom: 8px;  margin-right: -6px; }
  40%  { margin-bottom: -6px; margin-right: 8px; }
  60%  { margin-bottom: 10px; margin-right: -4px; }
  80%  { margin-bottom: -8px; margin-right: 6px; }
  100% { margin-bottom: 0px;  margin-right: 0px; }
}

/* ── Floating CTA pulse animation ─────────────────────────── */
@keyframes floatingCtaPulse {
  0%, 100% { transform: translateY(-50%) scale(1); }
  50%       { transform: translateY(-50%) scale(1.10); }
}

/* ── Emoji spin ────────────────────────────────────────────── */
@keyframes emojiSpin {
  0%   { transform: rotate(0deg); }
  15%  { transform: rotate(22deg); }
  35%  { transform: rotate(-15deg); }
  55%  { transform: rotate(30deg); }
  75%  { transform: rotate(-8deg); }
  90%  { transform: rotate(18deg); }
  100% { transform: rotate(0deg); }
}

/* ── Floating CTA drift ────────────────────────────────────── */
@keyframes floatingDrift {
  0%   { margin-top: 0px;   margin-right: 0px; }
  15%  { margin-top: -12px; margin-right: 8px; }
  30%  { margin-top: 8px;   margin-right: -10px; }
  45%  { margin-top: -6px;  margin-right: 14px; }
  60%  { margin-top: 16px;  margin-right: -6px; }
  75%  { margin-top: -14px; margin-right: -12px; }
  90%  { margin-top: 10px;  margin-right: 10px; }
  100% { margin-top: 0px;   margin-right: 0px; }
}

/* ── Floating CTA hover label ──────────────────────────────── */
.floating-cta-label {
  position: absolute;
  white-space: nowrap;
  font-family: var(--font);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--text);
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}

.floating-cta:hover {
  width: 160px;
  padding: 0 20px;
  border-radius: 999px;
  animation-play-state: paused;
}

.floating-cta:hover .floating-cta-emoji {
  opacity: 0;
  transform: scale(0.5);
  animation-play-state: paused;
}

.floating-cta:hover .floating-cta-label {
  opacity: 1;
  transform: scale(1);
}

@keyframes emojiPopIn {
  0%   { transform: scale(0); opacity: 0; }
  60%  { opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

.footer-form-status {
  margin-top: var(--s2);
  font-size: var(--text-sm);
  color: var(--text-muted);
  min-height: 1.25em;
}
.footer-form-status--success {
  color: #166534;
}
.footer-form-status--error {
  color: #b91c1c;
}
.footer-send-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
