*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--purple: #8e6e9e;--purple-light: #f6f1f3;--purple-dark: #7b5e8c;--text-dark: #1f1f23;--text-heading: #1a1a1a;--text-body: #4a4a52;--text-muted: #6f6f78;--text-faint: #76767f;--text-nav: #2a2a2e;--border: #e6e6ea;--bg-card: #f7f7f9;--white: #ffffff;--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--text-body);background:var(--white);line-height:1.7}.btn-primary{background:var(--purple);color:#fff;border:none;border-radius:999px;padding:12px 28px;font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-secondary{background:#fff;color:var(--text-dark);border:1px solid #d4d4d8;border-radius:999px;padding:12px 28px;font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s}.btn-secondary:hover{background:#f9f9f9}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#fffffffa;border-bottom:1px solid var(--border);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000001a;padding:12px 24px}.nav-inner{max-width:1094px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:38px}.nav-logo{font-weight:700;font-size:18px;color:var(--text-dark);text-decoration:none;letter-spacing:-.45px}.nav-links{display:flex;gap:40px;align-items:center}.nav-links a{font-size:14px;font-weight:500;color:var(--text-nav);text-decoration:none;letter-spacing:.35px;transition:color .2s}.nav-links a:hover{color:var(--purple)}.nav-links a.contact-link{font-weight:600;color:var(--text-dark)}.hamburger{display:none;background:none;border:none;cursor:pointer;padding:4px}.hamburger span{display:block;width:22px;height:2px;background:var(--text-dark);margin:5px 0;transition:all .3s}.hero{background:var(--purple-light);padding:175px 80px 80px}.hero-inner{max-width:1094px;margin:0 auto;display:flex;gap:64px;align-items:flex-start}.hero-content{flex:1;max-width:546px}.hero-label{font-size:14px;color:var(--text-muted);letter-spacing:.35px;margin-bottom:20px}.hero-title{font-size:56px;font-weight:700;color:var(--text-heading);line-height:1.08;letter-spacing:-1.12px;margin-bottom:32px}.hero-title .dot{color:var(--purple)}.hero-subtitle{font-size:20px;font-weight:500;color:#3a3a3a;line-height:1.5;margin-bottom:32px}.hero-description{font-size:15.2px;color:#3a3a3a;line-height:1.7;margin-bottom:20px}.hero-gap-box{background:#fff6;border:1px solid #ddd5da;border-radius:14px;padding:17px 21px;margin-bottom:32px}.hero-gap-label{font-size:12px;font-weight:700;color:var(--purple);text-transform:uppercase;letter-spacing:.6px;margin-bottom:12px}.hero-gap-text{font-size:14px;color:var(--text-body);line-height:1.625}.hero-buttons{display:flex;gap:16px;margin-bottom:32px}.hero-skills-box{background:#fff9;border:1px solid #ddd5da;border-radius:16px;padding:24px}.hero-skills-label{font-size:12px;font-weight:700;color:var(--text-heading);text-transform:uppercase;letter-spacing:.6px;margin-bottom:16px}.hero-skills-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.skill-tag{border:1px solid #ddd5da;border-radius:999px;padding:6px 16px;font-size:12px;color:var(--text-body)}.hero-skills-note{font-size:12px;color:var(--text-faint);line-height:1.625}.hero-photo{flex-shrink:0;width:372px;transform:rotate(2deg)}.hero-photo img{width:100%;border-radius:16px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.portfolio-card{margin-bottom:0}.portfolio-card-image{width:100%;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;background:#fff;aspect-ratio:16/10}.portfolio-card-image img{width:100%;height:100%;object-fit:cover}.portfolio-card-image.placeholder{background:#eee;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.portfolio-card-image.prototype{aspect-ratio:auto;background:var(--bg-card);display:flex;align-items:center;justify-content:center;padding:32px;min-height:500px}.prototype-frame{border:none;width:375px;height:812px;border-radius:24px;box-shadow:0 8px 30px #0000001f;max-width:100%}.portfolio-card-image.video{aspect-ratio:auto;background:#1a1a1a;padding:0;overflow:hidden}.portfolio-card-image.video video{width:100%;display:block;border-radius:16px}.portfolio-card-meta{display:flex;align-items:center;gap:8px;margin-top:32px;margin-bottom:8px}.meta-dot{width:8px;height:8px;border-radius:50%;background:#8b5fbf}.meta-label{font-size:14px;color:var(--purple);text-transform:uppercase;letter-spacing:.35px}.meta-label-gray{color:var(--text-faint)}.portfolio-card-title{font-size:30px;font-weight:700;color:var(--text-dark);letter-spacing:-.3px;margin-bottom:12px;line-height:1.25}.portfolio-card-desc{font-size:16px;color:var(--text-body);line-height:1.7;max-width:672px;margin-bottom:16px}.view-work-btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--purple);text-decoration:none;background:none;border:1.5px solid var(--purple);border-radius:999px;padding:8px 20px;cursor:pointer;font-family:var(--font);transition:all .25s ease}.view-work-btn:hover{background:var(--purple);color:#fff}.view-work-btn svg{width:14px;height:14px;transition:transform .3s ease}.view-work-btn.expanded{background:#f3edf5;border-color:var(--purple);color:var(--purple)}.view-work-btn.expanded:hover{background:var(--purple);color:#fff}.carousel{position:relative}.carousel-tabs{display:flex;gap:0;margin-bottom:32px;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg-card)}.carousel-tab{flex:1;padding:16px 12px;text-align:center;font-family:var(--font);font-size:14px;font-weight:600;color:var(--text-muted);background:transparent;border:none;border-right:1px solid var(--border);cursor:pointer;transition:all .25s;position:relative;letter-spacing:-.1px}.carousel-tab:last-child{border-right:none}.carousel-tab:hover{color:var(--text-dark);background:#fff}.carousel-tab.active{color:#fff;background:var(--purple)}.carousel-tab .tab-number{display:block;font-size:11px;font-weight:700;letter-spacing:.8px;margin-bottom:4px;opacity:.6}.carousel-tab.active .tab-number{opacity:.75}.carousel-track{position:relative;overflow:hidden}.carousel-slide{display:none}.carousel-slide.active{display:block}.carousel-nav{display:flex;align-items:center;justify-content:space-between;margin-top:32px;gap:16px}.carousel-arrow{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.carousel-arrow:hover{border-color:var(--purple);background:var(--purple-light)}.carousel-arrow:disabled{opacity:.3;cursor:default}.carousel-arrow:disabled:hover{border-color:var(--border);background:#fff}.carousel-arrow svg{width:18px;height:18px;color:var(--text-dark)}.carousel-nav-center{font-size:14px;font-weight:500;color:var(--text-muted)}.cs-expandable{max-height:0;overflow:hidden;transition:max-height .6s cubic-bezier(.4,0,.2,1)}.cs-expandable.open{max-height:12000px;transition:max-height .8s cubic-bezier(.4,0,.2,1)}.cs-inner{padding:48px 40px 40px;margin-top:24px;background:#fff;border:2px solid var(--purple);border-left:5px solid var(--purple);border-radius:12px;box-shadow:0 8px 32px #8e6e9e1f,0 2px 8px #0000000f;position:relative}.cs-sticky-close{position:sticky;top:62px;z-index:50;display:flex;align-items:center;justify-content:space-between;background:var(--purple);padding:12px 20px;margin:-48px -40px 32px;border-radius:10px 10px 0 0}.cs-sticky-label{font-size:13px;font-weight:600;color:#ffffffd9;text-transform:uppercase;letter-spacing:.5px}.cs-sticky-close-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--purple);background:#fff;border:none;border-radius:999px;padding:6px 16px;cursor:pointer;font-family:var(--font);transition:all .2s}.cs-sticky-close-btn:hover{background:var(--purple-light)}.cs-sticky-close-btn svg{width:14px;height:14px}.cs-end-bar{margin-top:48px;padding-top:24px;border-top:2px solid var(--border);display:flex;align-items:center;justify-content:space-between}.cs-end-label{font-size:13px;font-weight:500;color:var(--text-muted);letter-spacing:.3px}.cs-close-btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#fff;background:var(--purple);border:none;border-radius:999px;padding:10px 24px;cursor:pointer;font-family:var(--font);transition:opacity .2s}.cs-close-btn:hover{opacity:.9}.cs-close-btn svg{width:16px;height:16px}.cs-breadcrumb{display:flex;align-items:center;gap:12px;margin-bottom:40px}.cs-breadcrumb-line{width:32px;height:1px;background:var(--purple)}.cs-breadcrumb-text{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px}.cs-title{font-size:48px;font-weight:700;color:var(--text-heading);line-height:1.1;letter-spacing:-.6px;margin-bottom:24px}.cs-subtitle{font-size:20px;font-weight:500;color:#3a3a3a;line-height:1.6;margin-bottom:32px;max-width:672px}.cs-meta-row{display:flex;gap:24px;padding:24px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:48px}.cs-meta-item{flex:1}.cs-meta-label{font-size:12px;font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}.cs-meta-value{font-size:14px;color:var(--text-body)}.cs-section-divider{width:100%;height:1px;background:var(--border);margin:48px 0}.cs-heading{font-size:36px;font-weight:700;color:var(--text-dark);letter-spacing:-.36px;margin-bottom:8px}.cs-heading-line{width:64px;height:1px;background:#1f1f2333;margin-bottom:32px}.cs-body p{margin-bottom:16px;font-size:16px;line-height:1.7}.cs-body p:last-child{margin-bottom:0}.cs-bullet-list{margin:16px 0 24px}.cs-bullet{display:flex;gap:16px;margin-bottom:16px;font-size:16px;line-height:1.7}.cs-bullet-dot{width:6px;height:6px;border-radius:50%;background:var(--purple);flex-shrink:0;margin-top:10px}.cs-bullet strong{color:var(--text-dark)}.cs-figure{margin:32px 0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.cs-figure img{width:100%;display:block}.cs-figcaption{font-size:12px;color:var(--text-muted);line-height:1.5;letter-spacing:.3px;margin-top:8px;padding:0 4px}.cs-highlight-box{border-left:2px solid var(--purple);padding:16px 0 0 34px;margin:32px 0}.cs-highlight-text{font-size:30px;font-weight:700;color:var(--text-dark);line-height:1.3;letter-spacing:-.3px}.cs-highlight-text .dot{color:var(--purple)}.cs-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0 32px}.cs-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:24px}.cs-stat-number{font-size:30px;font-weight:700;color:var(--purple);margin-bottom:8px}.cs-stat-number.dark{color:var(--text-dark)}.cs-stat-label{font-size:14px;font-weight:600;color:var(--text-dark);margin-bottom:4px}.cs-stat-desc{font-size:14px;color:var(--text-body)}.cs-testimonial-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:16px}.cs-testimonial{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:33px}.cs-testimonial-text{font-size:18px;font-style:italic;color:#3a3a3a;line-height:1.7;margin-bottom:16px}.cs-testimonial-author{display:flex;align-items:center;gap:12px}.cs-author-avatar{width:40px;height:40px;border-radius:50%;background:var(--border)}.cs-author-name{font-size:14px;font-weight:600;color:var(--text-dark)}.cs-author-role{font-size:12px;color:var(--text-muted)}.cs-numbered{margin-bottom:24px;display:flex;gap:12px}.cs-number{font-size:12px;font-weight:700;color:var(--purple);letter-spacing:.6px;flex-shrink:0;padding-top:3px}.cs-numbered-text{font-size:16px;line-height:1.7}.cs-numbered-text strong{color:var(--text-dark)}.section{max-width:1094px;margin:0 auto;padding:80px 24px}.section-label{font-size:14px;font-weight:700;color:var(--purple);text-transform:uppercase;letter-spacing:1.4px;margin-bottom:12px}.section-title{font-size:48px;font-weight:700;color:var(--text-dark);letter-spacing:-.48px;margin-bottom:8px}.section-divider{width:96px;height:1px;background:#1f1f2333;margin-bottom:48px}.how-desc{font-size:16px;color:var(--text-body);line-height:1.8;max-width:656px;margin-bottom:64px}.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 48px}.how-card{display:flex;gap:20px}.how-icon{width:40px;height:40px;flex-shrink:0;background:var(--purple-light);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:18px}.how-card-title{font-size:16px;color:var(--text-dark);margin-bottom:8px}.how-card-text{font-size:15px;color:var(--text-body);line-height:1.75}.writing-card{display:flex;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;background:#fff;text-decoration:none;cursor:pointer;transition:box-shadow .2s;margin-bottom:24px}.writing-card:hover{box-shadow:0 4px 12px #0000001f,0 2px 4px #00000014}.writing-card-image{width:45%;flex-shrink:0;overflow:hidden}.writing-card-image img{width:100%;height:100%;object-fit:cover}.writing-card-content{padding:50px 40px;flex:1}.writing-card-meta{font-size:14px;color:var(--text-muted);margin-bottom:8px}.writing-card-title{font-size:24px;font-weight:700;color:var(--text-dark);letter-spacing:-.24px;line-height:1.25;margin-bottom:16px}.writing-card-desc{font-size:14px;color:var(--text-body);line-height:1.7;margin-bottom:24px}.cta{background:linear-gradient(158deg,#9a7aab,#7b5e8c,#6b4e7c);padding:96px 80px;text-align:center}.cta-label{font-size:14px;font-weight:700;color:#ffffffb3;text-transform:uppercase;letter-spacing:1.4px;margin-bottom:12px}.cta-title{font-size:48px;font-weight:700;color:#fff;letter-spacing:-.48px;margin-bottom:24px}.cta-desc{font-size:18px;color:#ffffffe6;line-height:1.7;margin-bottom:40px;max-width:614px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.cta-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:13px 29px;color:#fff;font-family:var(--font);font-size:16px;text-decoration:none;display:inline-flex;align-items:center;gap:10px;transition:background .2s;cursor:pointer}.cta-btn:hover{background:#ffffff40}.cta-btn svg{width:18px;height:18px}.footer{background:#eeebe8;padding:64px 24px}.footer-inner{max-width:1094px;margin:0 auto}.footer-name{font-size:20px;font-weight:700;color:var(--text-dark);letter-spacing:-.4px;margin-bottom:16px}.footer-desc{font-size:16px;color:var(--text-muted);line-height:1.7;max-width:554px;margin-bottom:48px}.footer-bottom{border-top:1px solid #d9d5d1;padding-top:33px;text-align:center}.footer-copyright{font-size:14px;color:#9a9a9a}@media(max-width:1024px){.hero{padding:140px 40px 60px}.hero-inner{gap:40px}.hero-photo{width:300px}.hero-title{font-size:44px}.section-title{font-size:40px}.cta{padding:80px 40px}.cta-title,.cs-title{font-size:40px}.cs-heading{font-size:30px}}@media(max-width:768px){.nav-links{display:none}.nav-links.open{display:flex;flex-direction:column;position:absolute;top:62px;left:0;right:0;background:#fff;padding:24px;border-bottom:1px solid var(--border);box-shadow:0 4px 12px #0000001a;gap:20px}.hamburger{display:block}.hero{padding:100px 24px 48px}.hero-inner{flex-direction:column;gap:40px}.hero-content{max-width:100%}.hero-title{font-size:36px}.hero-subtitle{font-size:18px}.hero-photo{width:250px;margin:0 auto;transform:rotate(2deg);order:-1}.section{padding:48px 24px}.section-title{font-size:32px}.portfolio-card-title{font-size:22px}.how-grid{grid-template-columns:1fr;gap:40px}.writing-card{flex-direction:column}.writing-card-image{width:100%;height:200px}.writing-card-content{padding:32px 24px}.cta{padding:64px 24px}.cta-title{font-size:32px}.cta-desc{font-size:16px}.cs-title{font-size:32px}.cs-heading{font-size:26px}.cs-meta-row{flex-direction:column;gap:16px}.cs-stats-grid{grid-template-columns:1fr}.cs-highlight-text{font-size:22px}.carousel-tabs{flex-wrap:wrap}.carousel-tab{flex:1 1 48%;border-bottom:1px solid var(--border);font-size:13px;padding:12px 8px}.carousel-tab:nth-child(2){border-right:none}.portfolio-card-image.prototype{padding:24px;min-height:400px}.prototype-frame{width:280px;height:607px}}@media(max-width:480px){.hero-title{font-size:30px}.hero-buttons{flex-direction:column}.hero-buttons a,.hero-buttons button{text-align:center}.cta-buttons{flex-direction:column;align-items:center}.cta-title{font-size:28px}.portfolio-card-title{font-size:20px}.carousel-tab{flex:1 1 100%;border-right:none}}
