@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400..700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap";:root{--bg:#fbf6ee;--bg-2:#f6eee1;--surface:#fff;--line:#eadfcd;--line-2:#f1e8d9;--ink:#2a2320;--ink-2:#6f645b;--ink-3:#a2968a;--coral:#ff6a4b;--teal:#12a594;--amber:#f4a52a;--violet:#6c5ce7;--pink:#ec6a9c;--primary:var(--coral);--font-disp:"Fraunces", Georgia, serif;--font-body:"Plus Jakarta Sans", system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, monospace;--pad:clamp(1.25rem, 4vw, 4rem);--maxw:1160px;--r:22px;--r-sm:14px;--shadow:0 2px 4px #5a3c280d, 0 18px 40px -20px #5a3c2847}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:var(--bg);font-size:17px;line-height:1.6;overflow-x:hidden}::selection{background:var(--coral);color:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:var(--maxw);padding-inline:var(--pad);margin-inline:auto}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:.5rem;font-size:.74rem;display:inline-flex}.eyebrow:before{content:"";background:var(--coral);border-radius:2px;width:22px;height:2px}section{padding-block:clamp(3.5rem,9vw,7rem)}h2.h{font-family:var(--font-disp);letter-spacing:-.015em;font-size:clamp(2.1rem,5.2vw,3.5rem);font-weight:600;line-height:1.02}.lead{color:var(--ink-2);max-width:56ch;font-size:clamp(1.05rem,1.6vw,1.2rem)}.nav{z-index:50;padding:.75rem var(--pad);background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:blur(12px)saturate(1.3);border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.nav .brand{font-family:var(--font-disp);letter-spacing:-.02em;align-items:center;gap:.5rem;font-size:1.35rem;font-weight:600;display:flex}.nav .brand .b-dot{background:var(--coral);border-radius:50%;width:10px;height:10px}.nav .links{align-items:center;gap:1.7rem;display:flex}.nav .links a{color:var(--ink-2);font-size:.95rem;font-weight:500;transition:color .18s}.nav .links a:hover{color:var(--ink)}.nav .links .nav-cta{background:var(--ink);color:var(--bg);border-radius:999px;padding:.55rem 1.1rem;font-weight:600}.nav .links .nav-cta:hover{background:var(--coral);color:#fff}@media (width<=720px){.nav .links a:not(.nav-cta){display:none}}.btn{cursor:pointer;border-radius:999px;align-items:center;gap:.55rem;padding:.9rem 1.6rem;font-size:1rem;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.btn.primary{background:var(--coral);color:#fff;box-shadow:0 12px 26px -12px var(--coral)}.btn.primary:hover{box-shadow:0 18px 34px -12px var(--coral);transform:translateY(-2px)}.btn.ghost{color:var(--ink);border:1.5px solid var(--ink);background:0 0}.btn.ghost:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px)}.hero{padding-top:clamp(8rem,18vh,12rem);padding-bottom:clamp(3rem,8vw,6rem);position:relative;overflow:hidden}.blob{filter:blur(60px);opacity:.5;z-index:0;pointer-events:none;border-radius:50%;position:absolute}.blob.a{background:var(--coral);opacity:.28;width:460px;height:460px;top:-120px;right:-80px}.blob.b{background:var(--teal);opacity:.22;width:380px;height:380px;bottom:-140px;left:-100px}.blob.c{background:var(--amber);opacity:.18;width:300px;height:300px;top:40%;left:45%}.hero .inner{z-index:1;max-width:40ch;position:relative}.hero h1{font-family:var(--font-disp);letter-spacing:-.025em;margin-top:1.5rem;font-size:clamp(2.8rem,8vw,5.6rem);font-weight:600;line-height:1}.hero h1 em{color:var(--coral);font-style:italic}.hero .sub{color:var(--ink-2);max-width:30ch;margin-top:1.6rem;font-size:clamp(1.1rem,1.8vw,1.35rem)}.hero .cta-row{flex-wrap:wrap;gap:.8rem;margin-top:2.4rem;display:flex}.hero .trust{color:var(--ink-3);font-size:.9rem;font-family:var(--font-mono);flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:2.4rem;display:flex}.hero .trust b{color:var(--ink)}.head{flex-direction:column;gap:1rem;margin-bottom:2.8rem;display:flex}.head .lead{margin-top:.3rem}.services .grid{grid-template-columns:repeat(3,1fr);gap:1.1rem;display:grid}@media (width<=860px){.services .grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.services .grid{grid-template-columns:1fr}}.svc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.8rem 1.6rem;transition:transform .2s,box-shadow .2s}.svc:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.svc .ic{background:var(--bg-2);border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:1.1rem;font-size:2rem;line-height:1;display:inline-grid}.svc h3{font-family:var(--font-disp);letter-spacing:-.01em;font-size:1.35rem;font-weight:600}.svc p{color:var(--ink-2);margin-top:.5rem;font-size:.96rem}.works{background:var(--bg-2)}.works-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;display:grid}@media (width<=960px){.works-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.works-grid{grid-template-columns:1fr}}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:2.2rem;display:flex}.chip{font-family:var(--font-mono);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:999px;padding:.5rem 1.05rem;font-size:.78rem;transition:all .16s}.chip:hover{border-color:var(--ink-2);color:var(--ink);transform:translateY(-1px)}.chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.work .wcat{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ac);font-size:.64rem;font-weight:700}.work{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:.7rem;padding:1.7rem 1.7rem 1.4rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.work:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.work .thumb{aspect-ratio:16/10;border-bottom:1px solid var(--line);margin:-1.7rem -1.7rem .5rem;display:block;overflow:hidden}.work .thumb img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .35s}.work:hover .thumb img{transform:scale(1.03)}.work .thumb.ph{background:linear-gradient(135deg, color-mix(in srgb, var(--ac) 20%, var(--surface)), var(--surface));place-items:center;display:grid}.work .thumb.ph span{font-family:var(--font-disp);color:var(--ac);font-size:1.5rem;font-weight:600}.work:before{content:"";background:var(--ac);width:5px;position:absolute;inset:0 auto 0 0}.work.a1{--ac:var(--coral)}.work.a2{--ac:var(--violet)}.work.a3{--ac:var(--teal)}.work.a4{--ac:var(--amber)}.work.a5{--ac:var(--pink)}.work .wtop{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.work h3{font-family:var(--font-disp);letter-spacing:-.01em;font-size:1.5rem;font-weight:600}.work .kind{color:var(--ac);font-size:.82rem;font-weight:600}.work p{color:var(--ink-2);font-size:.95rem}.work .tags{flex-wrap:wrap;gap:.4rem;margin-top:auto;display:flex}.work .tag{font-family:var(--font-mono);color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:.22rem .55rem;font-size:.7rem}.work .badge{font-family:var(--font-mono);color:var(--teal);font-size:.68rem}.work .foot{border-top:1px solid var(--line-2);justify-content:space-between;align-items:center;margin-top:.3rem;padding-top:.7rem;display:flex}.work .visit{color:var(--ac);gap:.35rem;font-size:.9rem;font-weight:700;display:inline-flex}.work .visit:hover{gap:.6rem}.works .cat-group{margin-bottom:2.8rem}.works .cat-group:last-child{margin-bottom:0}.cat-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.9rem;margin-bottom:1.1rem;padding-bottom:.8rem;display:flex}.cat-label{font-family:var(--font-disp);letter-spacing:-.01em;font-size:1.45rem;font-weight:600}.cat-desc{color:var(--ink-3);font-size:.92rem}.process .grid{grid-template-columns:repeat(4,1fr);gap:1.1rem;display:grid}@media (width<=780px){.process .grid{grid-template-columns:repeat(2,1fr)}}@media (width<=460px){.process .grid{grid-template-columns:1fr}}.step{border-top:3px solid var(--line);padding-top:1.2rem;position:relative}.step:first-child{border-color:var(--coral)}.step:nth-child(2){border-color:var(--violet)}.step:nth-child(3){border-color:var(--teal)}.step:nth-child(4){border-color:var(--amber)}.step .n{font-family:var(--font-mono);color:var(--ink-3);font-size:.9rem;font-weight:700}.step h3{font-family:var(--font-disp);margin-top:.3rem;font-size:1.4rem;font-weight:600}.step p{color:var(--ink-2);margin-top:.5rem;font-size:.95rem}.why{background:var(--ink);color:var(--bg);margin-inline:var(--pad);border-radius:clamp(24px,4vw,40px)}.why .wrap{padding-inline:clamp(1.5rem,4vw,3.5rem)}.why .eyebrow{color:color-mix(in srgb, var(--bg) 60%, transparent)}.why .eyebrow:before{background:var(--amber)}.why h2.h{color:var(--bg)}.why .grid{grid-template-columns:repeat(2,1fr);gap:1.5rem 2.5rem;margin-top:2.8rem;display:grid}@media (width<=680px){.why .grid{grid-template-columns:1fr}}.reason{gap:1rem;display:flex}.reason .dot{border-radius:50%;flex:none;width:12px;height:12px;margin-top:.45rem}.reason:first-child .dot{background:var(--coral)}.reason:nth-child(2) .dot{background:var(--teal)}.reason:nth-child(3) .dot{background:var(--amber)}.reason:nth-child(4) .dot{background:var(--violet)}.reason h3{font-family:var(--font-disp);font-size:1.25rem;font-weight:600}.reason p{color:color-mix(in srgb, var(--bg) 72%, transparent);margin-top:.3rem;font-size:.96rem}.contact{text-align:center}.contact h2.h{font-size:clamp(2.4rem,7vw,4.6rem)}.contact h2.h em{color:var(--coral);font-style:italic}.contact .lead{margin:1.2rem auto 0}.contact .btn{margin-top:2.2rem}.contact .ways{font-family:var(--font-mono);color:var(--ink-2);flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem;margin-top:2rem;font-size:.9rem;display:flex}.contact .ways a{color:var(--ink);border-bottom:2px solid var(--coral)}.stats-band{padding-block:0}.stats-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}@media (width<=680px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--surface);padding:1.5rem 1.4rem}.stat .n{font-family:var(--font-disp);color:var(--coral);font-size:2.1rem;font-weight:600;line-height:1;display:block}.stat:nth-child(2) .n{color:var(--teal)}.stat:nth-child(3) .n{color:var(--violet)}.stat:nth-child(4) .n{color:var(--amber)}.stat .l{color:var(--ink-2);margin-top:.45rem;font-size:.86rem;display:block}.techstrip{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.9rem 1.4rem;margin-top:2.4rem;padding-top:1.8rem;display:flex}.techstrip .tl{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);font-size:.72rem}.techstrip .tt{flex-wrap:wrap;gap:.5rem;display:flex}.techstrip .tp{font-family:var(--font-mono);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.32rem .75rem;font-size:.8rem}.models .grid{grid-template-columns:repeat(3,1fr);gap:1.1rem;display:grid}@media (width<=780px){.models .grid{grid-template-columns:1fr}}.model{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.8rem 1.6rem}.model:first-child{border-top:4px solid var(--coral)}.model:nth-child(2){border-top:4px solid var(--teal)}.model:nth-child(3){border-top:4px solid var(--violet)}.model .mtag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:.68rem}.model h3{font-family:var(--font-disp);margin-top:.55rem;font-size:1.4rem;font-weight:600}.model p{color:var(--ink-2);margin-top:.5rem;font-size:.95rem}.faq-list{flex-direction:column;gap:.7rem;max-width:800px;display:flex}.qa{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:0 1.4rem}.qa summary{cursor:pointer;font-family:var(--font-disp);justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 0;font-size:1.12rem;font-weight:600;list-style:none;display:flex}.qa summary::-webkit-details-marker{display:none}.qa .chev{color:var(--coral);flex:none;font-size:1.5rem;line-height:1;transition:transform .22s}.qa[open] .chev{transform:rotate(45deg)}.qa p{color:var(--ink-2);margin-top:-.2rem;padding:0 0 1.25rem;font-size:.98rem}.work .case-link{color:var(--ink);font-size:.9rem;font-weight:700}.work .case-link:hover{color:var(--ac)}.cform{text-align:left;flex-direction:column;gap:.8rem;max-width:560px;margin:2.2rem auto 0;display:flex}.cform .frow{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}@media (width<=520px){.cform .frow{grid-template-columns:1fr}}.cform input,.cform textarea{font-family:var(--font-body);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;padding:.85rem 1rem;font-size:1rem;transition:border-color .18s}.cform input::placeholder,.cform textarea::placeholder{color:var(--ink-3)}.cform input:focus,.cform textarea:focus{border-color:var(--coral);outline:none}.cform textarea{resize:vertical}.cform .hp{display:none!important}.cform button{cursor:pointer;border:none;justify-content:center;margin-top:.4rem}.case{padding-top:clamp(6rem,12vh,8rem);padding-bottom:4rem}.back{font-family:var(--font-mono);color:var(--ink-2);margin-bottom:2rem;font-size:.85rem;display:inline-block}.back:hover{color:var(--coral)}.case-head{border-left:4px solid var(--ac);max-width:720px;padding-left:clamp(1rem,3vw,2rem)}.case-head.a1{--ac:var(--coral)}.case-head.a2{--ac:var(--violet)}.case-head.a3{--ac:var(--teal)}.case-head.a4{--ac:var(--amber)}.case-head.a5{--ac:var(--pink)}.case-head .kind{color:var(--ac);font-size:.95rem;font-weight:700}.case-head h1{font-family:var(--font-disp);letter-spacing:-.02em;margin:.5rem 0 1rem;font-size:clamp(2.4rem,6vw,4rem);font-weight:600;line-height:1}.case-head .lead{color:var(--ink-2)}.case-head .meta{font-family:var(--font-mono);color:var(--ink-2);flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.5rem 0;font-size:.8rem;display:flex}.case-head .meta b{color:var(--ink)}.case-head .btn{margin-top:.4rem}.gallery{flex-wrap:wrap;align-items:flex-end;gap:1.6rem;margin-top:3rem;display:flex}.browser{border:1px solid var(--line);box-shadow:var(--shadow);background:var(--surface);border-radius:14px;flex:460px;margin:0;overflow:hidden}.browser .bar{background:var(--bg-2);border-bottom:1px solid var(--line);gap:7px;padding:11px 14px;display:flex}.browser .bar i{background:var(--line);border-radius:50%;width:11px;height:11px}.browser .bar i:first-child{background:#ff5f57}.browser .bar i:nth-child(2){background:#febc2e}.browser .bar i:nth-child(3){background:#28c840}.browser img{width:100%;display:block}.phone{border:8px solid var(--ink);box-shadow:var(--shadow);background:var(--ink);border-radius:30px;flex:0 0 190px;margin:0;overflow:hidden}.phone img{border-radius:22px;width:100%;display:block}@media (width<=560px){.phone{flex-basis:150px}}.case-body{flex-direction:column;gap:2.5rem;max-width:720px;margin-top:3.5rem;display:flex}.block .eyebrow{margin-bottom:.8rem}.block p{color:var(--ink-2);font-size:1.1rem;line-height:1.7}.block .result{color:var(--ink);font-weight:500}.hl{grid-template-columns:1fr 1fr;gap:.7rem 1.5rem;list-style:none;display:grid}@media (width<=560px){.hl{grid-template-columns:1fr}}.hl li{color:var(--ink-2);gap:.6rem;display:flex}.hl li:before{content:"✓";color:var(--teal);font-weight:700}.case-body>.tags{flex-wrap:wrap;gap:.5rem;display:flex}.case-body>.tags .tag{font-family:var(--font-mono);color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.32rem .75rem;font-size:.75rem}.case-cta{border-top:1px solid var(--line);max-width:720px;margin-top:4rem;padding-top:3rem}.case-cta .h{margin-bottom:1.4rem}.wa-float{z-index:60;color:#fff;background:#25d366;border-radius:50%;place-items:center;width:56px;height:56px;transition:transform .18s;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 28px -8px #25d3668c}.wa-float:hover{transform:scale(1.08)}.footer{border-top:1px solid var(--line);margin-top:2rem;padding-block:2.4rem}.footer .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer .brand{font-family:var(--font-disp);font-size:1.2rem;font-weight:600}.footer .row .m{font-family:var(--font-mono);color:var(--ink-3);font-size:.8rem}.rise{opacity:0;animation:.8s cubic-bezier(.2,.7,.2,1) forwards rise;transform:translateY(20px)}@keyframes rise{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.rise{opacity:1;animation:none;transform:none}}
