:root{--c-bg:#fff;--c-soft:#fff9f4;--c-card:#fff;--c-line:#e7e7e8;--c-line-strong:#cfd0d1;--c-ink:#111418;--c-muted:#4e5255;--c-faint:#a0a1a3;--c-accent:#f35100;--c-accent-ink:#fff;--c-accent-soft:#ffebdd;--c-spot:#ebb000;--chip-1:#e2ffdf;--chip-2:#e8e8ff;--chip-3:#ddf6ff;--chip-4:#fee5ff;--chip-5:#ffe3ca;--chip-lime:#c9f98f;--font-display:"Poppins", system-ui, sans-serif;--font-sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--container:1100px;--gutter:20px}[data-theme=ocean]{--c-soft:#f3f8ff;--c-accent:#1f6feb;--c-accent-ink:#fff;--c-accent-soft:#dceaff;--c-spot:#7cc4ff}[data-theme=forest]{--c-soft:#f3faf5;--c-accent:#12865a;--c-accent-ink:#fff;--c-accent-soft:#d8f3e5;--c-spot:#9ed9a8}[data-theme=grape]{--c-soft:#f8f5ff;--c-accent:#7a3ff2;--c-accent-ink:#fff;--c-accent-soft:#eae0ff;--c-spot:#c9b2ff}[data-theme=night]{--c-bg:#0f1115;--c-soft:#161920;--c-card:#1c2028;--c-line:#2a2f38;--c-line-strong:#3a404b;--c-ink:#f4f5f7;--c-muted:#a9aeb6;--c-faint:#5d636d;--c-accent:#ff7a33;--c-accent-ink:#111418;--c-accent-soft:#3a2417;--c-spot:#ebb000;--chip-1:#24402a;--chip-2:#2c2c52;--chip-3:#1f3a47;--chip-4:#43284a;--chip-5:#4a3322;--chip-lime:#3d5a1f}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--c-bg);color:var(--c-ink);font:400 16px/1.6 var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}img,svg,video{max-width:100%;display:block}img{height:auto}a{color:inherit}h1,h2,h3{font-family:var(--font-display);color:var(--c-ink);margin:0}p{margin:0}:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:6px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--c-ink);color:var(--c-bg);border-radius:var(--radius-full);padding:8px 16px;position:absolute;top:-48px;left:16px}.skip-link:focus{top:12px}.container{max-width:calc(var(--container) + 2 * var(--gutter));padding:0 var(--gutter);margin:0 auto}.section{padding:100px 0}.tone-plain{background:var(--c-bg)}.tone-soft{background:var(--c-soft)}.section-head{margin-bottom:48px}.section-head.center{text-align:center;max-width:640px;margin-inline:auto}.section-head.split{grid-template-columns:1fr 1fr;align-items:end;gap:40px;display:grid}.badge{font:400 15px/1.3 var(--font-sans);color:var(--c-accent);gap:2px;margin-bottom:10px;display:inline-flex}.badge:before{content:"/"}.h2{letter-spacing:-.04em;font-size:40px;font-weight:600;line-height:1.2}.lead{color:var(--c-muted);margin-top:14px;font-size:16px;line-height:1.6}.cta{align-items:center;gap:4px;text-decoration:none;display:inline-flex}.cta-label,.cta-arrow{border-radius:var(--radius-full);height:48px;font:600 17px/1 var(--font-display);letter-spacing:-.02em;justify-content:center;align-items:center;transition:background .2s,color .2s,transform .2s;display:inline-flex}.cta-label{padding:0 22px}.cta-arrow{width:48px}.cta-arrow svg{width:20px;height:20px;transition:transform .25s}.cta:is(:hover,:focus-visible) .cta-arrow svg{transform:rotate(45deg)}.cta-solid :is(.cta-label,.cta-arrow){background:var(--c-accent);color:var(--c-accent-ink)}.cta-solid:hover .cta-label{transform:translate(-2px)}.cta-outline :is(.cta-label,.cta-arrow){border:1.5px solid var(--c-accent);color:var(--c-ink);background:0 0;height:42px;font-size:16px}.cta-outline .cta-arrow{width:42px}.cta-outline:hover :is(.cta-label,.cta-arrow){background:var(--c-accent-soft)}.chip{border-radius:var(--radius-full);font:500 15px/1.2 var(--font-sans);color:var(--c-ink);white-space:nowrap;background:var(--chip-1);align-items:center;padding:8px 20px;display:inline-flex}.chip:nth-child(5n+2){background:var(--chip-2)}.chip:nth-child(5n+3){background:var(--chip-3)}.chip:nth-child(5n+4){background:var(--chip-4)}.chip:nth-child(5n+5){background:var(--chip-5)}.chip-pile{min-height:130px;position:relative}.chip-pile .chip{left:var(--x,0);top:var(--y,0);transform:rotate(var(--r,0deg));position:absolute}.site-header{z-index:50;transition:background .2s,box-shadow .2s;position:sticky;top:0}.site-header.scrolled{background:color-mix(in srgb, var(--c-bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--c-line)}.site-header .bar{align-items:center;gap:32px;padding:24px 0;transition:padding .2s;display:flex}.site-header.scrolled .bar{padding:12px 0}.logo{align-items:center;margin-right:auto;text-decoration:none;display:inline-flex}.logo img{width:auto;height:32px}.nav-list{align-items:center;gap:28px;margin:0;padding:0;list-style:none;display:flex}.nav-list a{font:400 16px/1 var(--font-sans);color:var(--c-muted);text-decoration:none;transition:color .15s}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--c-accent)}.nav-toggle{color:var(--c-ink);cursor:pointer;background:0 0;border:0;padding:8px;display:none}.nav-toggle svg{width:26px;height:26px}.hero{text-align:center;background:radial-gradient(1200px 400px at 20% 10%, color-mix(in srgb, var(--c-line) 55%, transparent), transparent 70%), radial-gradient(900px 380px at 85% 40%, color-mix(in srgb, var(--c-line) 45%, transparent), transparent 70%), var(--c-bg);padding:24px 0 0;position:relative;overflow:hidden}.hero-media{width:min(190px,46vw);margin:0 auto 36px;position:relative}.hero-arch{aspect-ratio:190/205;background:var(--c-spot);border-radius:999px/52% 52% 48% 48%;overflow:hidden}.hero-arch img{object-fit:cover;object-position:center top;width:100%;height:100%}.float-tag{font:600 14px/1.2 var(--font-sans);white-space:nowrap;border-radius:12px;padding:9px 16px;animation:4s ease-in-out infinite bob;display:inline-flex;position:absolute}.float-tag:before{content:"";clip-path:polygon(0 0,100% 35%,35% 100%);width:14px;height:14px;position:absolute}.float-tag.tag-dark{background:var(--c-ink);color:var(--c-bg);top:45%;left:calc(100% + 60px)}.float-tag.tag-dark:before{background:var(--c-accent);top:-16px;left:-16px}.float-tag.tag-lime{background:var(--chip-lime);color:#111418;animation-delay:-2s;top:85%;right:calc(100% + 100px)}.float-tag.tag-lime:before{background:var(--c-ink);top:-18px;right:-18px;transform:scaleX(-1)}@keyframes bob{50%{transform:translateY(-6px)}}.hero-hello{font:600 26px/1.3 var(--font-display);color:var(--c-muted);letter-spacing:-.02em}.hero h1{letter-spacing:-.045em;max-width:16ch;margin:8px auto 32px;font-size:52px;font-weight:700;line-height:1.15}.hero-end{height:80px}.marquee{--gap:72px;padding:56px 0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-track{gap:var(--gap);padding-right:var(--gap);animation:marquee var(--dur,40s) linear infinite;flex:none;margin:0;list-style:none;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track img{filter:grayscale();opacity:.75;width:auto;height:34px}.marquee.reverse .marquee-track{animation-direction:reverse}@keyframes marquee{to{transform:translate(-100%)}}.experience{grid-template-columns:2fr 1fr;gap:20px;display:grid}.media-card{border-radius:var(--radius-lg);background:var(--c-soft);aspect-ratio:16/9;overflow:hidden}.media-card :is(img,video){object-fit:cover;width:100%;height:100%}.stat-box{border:1px solid var(--c-line-strong);border-radius:var(--radius-lg);flex-direction:column;padding:28px;display:flex}.stat-box h2{letter-spacing:-.04em;font-size:40px;font-weight:600}.stat-box p{margin-top:16px;font-size:17px;line-height:1.55}.stat-box .chip-pile{margin-top:auto}.statement{text-align:center;max-width:940px;font:400 40px/1.35 var(--font-display);letter-spacing:-.03em;margin:0 auto}.statement .w{color:var(--c-faint);transition:color .4s}.statement .w.on{color:var(--c-ink)}.statement .pic{vertical-align:-6px;width:74px;height:46px;box-shadow:4px 4px 0 var(--c-accent-soft);border-radius:8px;margin:0 4px;display:inline-block;overflow:hidden;transform:rotate(-6deg)}.statement .pic img{object-fit:cover;width:100%;height:100%}.services{grid-template-columns:3fr 2fr;align-items:start;gap:64px;display:grid}.service-list{margin:0;padding:0;list-style:none}.service{border-bottom:1px solid var(--c-line);grid-template-columns:80px 1fr;align-items:center;gap:28px;padding:24px 0;display:grid}.service:first-child{padding-top:0}.ring{border:1.5px solid var(--c-accent);width:80px;height:80px;color:var(--c-ink);border-radius:50%;place-items:center;transition:background .2s;display:grid}.ring svg{stroke-width:1.2px;width:30px;height:30px}.service:hover .ring{background:var(--c-accent-soft)}.service h3{letter-spacing:-.02em;font-size:22px;font-weight:500}.service p{color:var(--c-muted);margin-top:6px;font-size:15px}.services-img{border-radius:var(--radius-lg);aspect-ratio:4/5;position:sticky;top:100px;overflow:hidden}.services-img img{object-fit:cover;width:100%;height:100%}.showcase{grid-template-columns:1fr 1fr;gap:20px;display:grid}.project{text-decoration:none}.project-img{border-radius:var(--radius-lg);aspect-ratio:4/3;background:var(--c-soft);overflow:hidden}.project-img img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project:hover .project-img img{transform:scale(1.04)}.project h3{letter-spacing:-.03em;margin-top:18px;font-size:24px;font-weight:600}.project p{color:var(--c-muted);margin-top:4px;font-size:15px}.bento{grid-template-columns:2fr 1fr 1fr;gap:24px;display:grid}.bento-card{background:var(--c-card);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:28px;display:flex}.bento-card h3{letter-spacing:-.02em;font-size:22px;font-weight:500}.bento-card p{color:var(--c-muted);font-size:15px}.bento-card.stacks{flex-direction:row;align-items:center;gap:24px}.stack-grid{background:var(--c-soft);border-radius:var(--radius-md);flex:none;grid-template-columns:repeat(3,52px);gap:20px;margin:0;padding:22px;list-style:none;display:grid}.stack-grid li{background:var(--c-card);border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.stack-grid img{object-fit:contain;width:28px;height:28px}.bento-card .chip-pile{flex:1;min-height:150px}.contact-row{border-bottom:1px solid var(--c-line);padding:14px 0}.contact-row small{color:var(--c-muted);font-size:14px;display:block}.contact-row a{font-weight:500;text-decoration:none}.socials{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.socials a{background:var(--c-soft);width:34px;height:34px;color:var(--c-ink);border-radius:8px;place-items:center;transition:background .15s,color .15s;display:grid}.socials a:hover{background:var(--c-accent);color:var(--c-accent-ink)}.socials svg{width:18px;height:18px}.steps{grid-template-columns:repeat(4,1fr);gap:24px;margin:0;padding:0;list-style:none;display:grid}.step{border:1px solid var(--c-line);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:22px;transition:border-color .2s;display:flex}.step:hover{border-color:var(--c-accent)}.step svg{stroke-width:1.2px;width:32px;height:32px;margin-bottom:40px}.step h3{letter-spacing:-.02em;font-size:22px;font-weight:500}.step p{color:var(--c-muted);font-size:15px}.slider{scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:max(var(--gutter), calc((100vw - var(--container)) / 2));gap:20px;display:flex;overflow-x:auto}.slider::-webkit-scrollbar{display:none}.slide{scroll-snap-align:center;background:var(--c-card);border-radius:var(--radius-lg);flex:0 0 min(720px,86vw);grid-template-columns:150px 1fr;align-items:center;gap:48px;padding:40px;display:grid}.slide-photo{aspect-ratio:125/135;width:124px;position:relative}.slide-photo:before{content:"";background:var(--chip-3);border-radius:2px;position:absolute;inset:-6px -14px 0 8px;transform:rotate(8deg)}.slide:nth-child(3n+2) .slide-photo:before{background:var(--chip-lime)}.slide:nth-child(3n+3) .slide-photo:before{background:var(--chip-4)}.slide-photo img{object-fit:cover;border-radius:2px;width:100%;height:100%;position:relative}.slide b{font:500 17px/1.3 var(--font-display);margin-top:22px;display:block}.slide small{color:var(--c-muted);font-size:15px}.slide blockquote{color:var(--c-muted);margin:0;font-size:18px;line-height:1.6}.slide blockquote:before{content:"“";height:40px;color:var(--c-accent);margin-bottom:8px;font:400 80px/1 Georgia,Times New Roman,serif;display:block}.dots{justify-content:center;gap:8px;margin-top:32px;display:flex}.dots button{background:color-mix(in srgb, var(--c-accent) 45%, transparent);cursor:pointer;border:0;border-radius:50%;width:9px;height:9px;padding:0}.dots button[aria-current=true]{background:var(--c-accent)}.gallery .marquee{--gap:20px;padding:10px 0;-webkit-mask-image:none;mask-image:none}.gallery .marquee-track img{object-fit:cover;border-radius:var(--radius-lg);filter:none;opacity:1;width:325px;height:220px}.gallery .socials{justify-content:center;gap:18px;margin-top:40px}.gallery .socials a{background:var(--c-accent);width:44px;height:44px;color:var(--c-accent-ink);border-radius:50%}.faq{border-top:1px solid var(--c-line);margin:0;padding:0;list-style:none}.faq details{border-bottom:1px solid var(--c-line)}.faq summary{cursor:pointer;font:500 22px/1.35 var(--font-display);letter-spacing:-.02em;grid-template-columns:1fr 42px;align-items:center;gap:24px;padding:28px 0;list-style:none;display:grid}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";border:1px solid var(--c-line-strong);width:42px;height:42px;font:300 22px/1 var(--font-sans);color:var(--c-muted);border-radius:50%;place-items:center;transition:background .2s,color .2s,border-color .2s;display:grid}.faq details[open] summary:after{content:"−";background:var(--c-accent);border-color:var(--c-accent);color:var(--c-accent-ink)}.faq .answer{max-width:62ch;color:var(--c-muted);margin:-12px 0 0 auto;padding:0 66px 28px 0;font-size:15px}.cta-band{text-align:center;background:var(--c-soft);padding:100px 0;position:relative;overflow:hidden}.cta-band h2{letter-spacing:-.04em;max-width:14ch;margin:0 auto 36px;font-size:44px;font-weight:600;line-height:1.2}.cta-band .chip-pile{width:360px;height:170px;position:absolute;top:50%;transform:translateY(-50%)}.cta-band .chip-pile.left{left:-40px}.cta-band .chip-pile.right{right:-40px}.site-footer{background:var(--c-bg);padding:60px 0 32px}.footer-top{border-bottom:1px solid var(--c-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-bottom:32px;display:flex}.footer-top img{width:auto;height:36px}.footer-links{flex-wrap:wrap;gap:8px 28px;margin:0;padding:0;list-style:none;display:flex}.footer-links a{color:var(--c-muted);text-decoration:none}.footer-links a:hover{color:var(--c-accent)}.footer-bottom{color:var(--c-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;font-size:15px;display:flex}.footer-bottom .socials a{width:auto;height:auto;color:var(--c-muted);background:0 0}.footer-bottom .socials a:hover{color:var(--c-accent);background:0 0}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(24px)}.reveal.in,.no-js .reveal{opacity:1;transform:none}@media (width<=1100px){.float-tag.tag-dark{left:calc(100% + 20px)}.float-tag.tag-lime{right:calc(100% + 30px)}.cta-band .chip-pile{opacity:.45}}@media (width<=900px){.nav-toggle{display:inline-flex}.site-header .bar{flex-wrap:wrap;gap:12px}.site-nav,.site-header .bar>.cta{display:none}.site-header.open .site-nav{flex-basis:100%;order:3;display:block}.site-header.open .bar>.cta{order:4;display:inline-flex}.nav-list{flex-direction:column;align-items:flex-start;gap:18px;padding:12px 0}.section{padding:72px 0}.hero h1{font-size:40px}.hero-hello{font-size:21px}.h2{font-size:34px}.statement{font-size:30px}.section-head.split,.experience,.services,.showcase{grid-template-columns:1fr}.services-img{aspect-ratio:16/10;position:static}.bento{grid-template-columns:1fr 1fr}.bento-card.stacks{grid-column:1/-1}.steps{grid-template-columns:1fr 1fr}.cta-band .chip-pile{display:none}}@media (width<=640px){.float-tag{display:none}.hero h1{font-size:32px}.h2,.cta-band h2{font-size:28px}.statement{font-size:23px}.statement .pic{width:52px;height:32px}.service{grid-template-columns:56px 1fr;gap:16px}.ring{width:56px;height:56px}.ring svg{width:24px;height:24px}.bento,.steps{grid-template-columns:1fr}.bento-card.stacks{flex-direction:column;align-items:flex-start}.slide{grid-template-columns:1fr;gap:24px;padding:28px}.faq summary{font-size:18px}.faq .answer{margin:-8px 0 0;padding-right:0}.gallery .marquee-track img{width:240px;height:165px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}
