*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #08080a;--bg-surface: #111113;--bg-elevated: #19191d;--border: #232329;--border-hover:#38383f;--text: #ededef;--text-muted: #8b8b93;--text-dim: #5a5a63;--accent: #e8732a;--accent-bright:#f5923e;--accent-dim: rgba(232, 115, 42, .12);--accent-glow: rgba(232, 115, 42, .08);--font-display: "Instrument Serif", Georgia, serif;--font-body: "DM Sans", -apple-system, sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .8125rem);--text-sm: clamp(.8125rem, .78rem + .2vw, .9375rem);--text-base: clamp(.9375rem, .88rem + .3vw, 1.0625rem);--text-lg: clamp(1.0625rem, .95rem + .5vw, 1.25rem);--text-xl: clamp(1.25rem, 1.05rem + 1vw, 1.75rem);--text-2xl: clamp(1.75rem, 1.3rem + 2vw, 2.75rem);--text-3xl: clamp(2.25rem, 1.5rem + 3.5vw, 4rem);--text-hero: clamp(2.75rem, 1.5rem + 5.5vw, 5.5rem);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6.5rem;--space-3xl: 10rem;--max-w: 1200px;--gutter: clamp(1.25rem, 1rem + 2vw, 3rem);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration: .6s}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:5rem}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.65;color:var(--text);background-color:var(--bg);overflow-x:hidden}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.container{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;line-height:1;padding:.875rem 1.75rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all .3s var(--ease-out);white-space:nowrap}.btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn--primary:hover{background:var(--accent-bright);border-color:var(--accent-bright);box-shadow:0 0 30px var(--accent-dim),0 0 60px #e8732a0f;transform:translateY(-1px)}.btn--primary:active{transform:translateY(0);box-shadow:0 0 15px var(--accent-dim)}.btn--ghost{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn--ghost:hover{color:var(--text);border-color:var(--border-hover);background:var(--bg-surface)}.btn--ghost:active{transform:translateY(0);background:var(--bg-elevated)}.btn--sm{font-size:var(--text-xs);padding:.625rem 1.25rem}.btn--lg{font-size:var(--text-base);padding:1.0625rem 2.25rem}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--space-sm) 0;transition:background .4s var(--ease-out),border-color .4s var(--ease-out);border-bottom:1px solid transparent}.nav.scrolled{background:#08080ad9;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom-color:var(--border)}.nav__inner{max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter);display:flex;align-items:center;justify-content:space-between}.nav__logo{display:flex;align-items:center;gap:.625rem;transition:opacity .2s}.nav__logo:hover{opacity:.8}.nav__mark{width:28px;height:28px;color:var(--accent)}.nav__wordmark{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:-.02em;color:var(--text)}.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) 0 var(--space-xl);overflow:hidden}.hero__bg{position:absolute;inset:0;pointer-events:none}.hero__glow{position:absolute;top:20%;left:50%;transform:translate(-50%);width:clamp(400px,60vw,900px);height:clamp(400px,60vw,900px);background:radial-gradient(ellipse at center,rgba(232,115,42,.07) 0%,rgba(232,115,42,.02) 40%,transparent 70%);border-radius:50%;filter:blur(60px)}.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse 60% 50% at 50% 40%,black,transparent);-webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 40%,black,transparent)}.hero__content{position:relative;text-align:center;max-width:860px}.hero__tag{font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-md)}.hero__title{font-family:var(--font-display);font-size:var(--text-hero);font-weight:400;line-height:1.05;letter-spacing:-.03em;color:var(--text);margin-bottom:var(--space-lg)}.hero__title em{font-style:italic;color:var(--accent)}.hero__sub{font-size:var(--text-lg);color:var(--text-muted);max-width:560px;margin-inline:auto;margin-bottom:var(--space-xl);line-height:1.7}.hero__actions{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.hero__scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.hero__scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--accent),transparent);animation:scrollPulse 2.4s var(--ease-in-out) infinite}@keyframes scrollPulse{0%,to{opacity:0;transform:scaleY(0);transform-origin:top}30%{opacity:1;transform:scaleY(1);transform-origin:top}60%{opacity:1;transform:scaleY(1);transform-origin:bottom}90%{opacity:0;transform:scaleY(0);transform-origin:bottom}}.section{padding:var(--space-3xl) 0;position:relative}.section__header{margin-bottom:var(--space-xl)}.section__tag{font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-sm)}.section__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;line-height:1.1;letter-spacing:-.025em}.services{border-top:1px solid var(--border)}.services__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.card{background:var(--bg-surface);padding:var(--space-lg);position:relative;overflow:hidden;transition:background .4s var(--ease-out)}.card:hover{background:var(--bg-elevated)}.card:hover .card__accent{opacity:1}.card__number{display:block;font-family:var(--font-display);font-size:var(--text-xl);color:var(--accent);opacity:.4;margin-bottom:var(--space-md);line-height:1}.card__title{font-family:var(--font-body);font-size:var(--text-lg);font-weight:500;letter-spacing:-.01em;margin-bottom:var(--space-sm);line-height:1.3}.card__text{font-size:var(--text-sm);color:var(--text-muted);line-height:1.7}.card__accent{position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent);opacity:0;transition:opacity .4s var(--ease-out)}.process{border-top:1px solid var(--border)}.process__steps{max-width:640px}.step{display:flex;gap:var(--space-lg)}.step__marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.step__num{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg-surface);font-family:var(--font-display);font-size:var(--text-lg);color:var(--accent);flex-shrink:0}.step__line{width:1px;flex:1;background:var(--border);margin-block:.5rem;min-height:2rem}.step__content{padding-bottom:var(--space-xl)}.step__title{font-family:var(--font-body);font-size:var(--text-xl);font-weight:500;letter-spacing:-.01em;margin-bottom:var(--space-xs);line-height:1.2;padding-top:.35rem}.step__text{font-size:var(--text-base);color:var(--text-muted);line-height:1.7}.work{border-top:1px solid var(--border)}.work__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.work-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);transition:border-color .3s var(--ease-out),transform .3s var(--ease-out)}.work-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.work-card:hover .work-card__icon{opacity:1}.work-card__icon{width:36px;height:36px;color:var(--accent);margin-bottom:var(--space-md);opacity:.7}.work-card__title{font-family:var(--font-body);font-size:var(--text-lg);font-weight:500;letter-spacing:-.01em;margin-bottom:var(--space-sm)}.work-card__text{font-size:var(--text-sm);color:var(--text-muted);line-height:1.7;margin-bottom:var(--space-md)}.work-card__tags{display:flex;flex-wrap:wrap;gap:.375rem}.work-card__tags span{font-size:var(--text-xs);color:var(--text-dim);padding:.25rem .625rem;border:1px solid var(--border);border-radius:100px;line-height:1.4}.about{border-top:1px solid var(--border)}.about__layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:center}.about__bio{margin-top:var(--space-lg)}.about__bio p{font-size:var(--text-base);color:var(--text-muted);line-height:1.8}.about__bio p+p{margin-top:var(--space-sm)}.about__bio p:first-child{font-size:var(--text-lg);color:var(--text)}.about__visual{display:flex;justify-content:center;align-items:center}.about__pattern{width:100%;max-width:300px;aspect-ratio:1;color:var(--accent);animation:patternFloat 8s var(--ease-in-out) infinite}@keyframes patternFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(2deg)}}.contact{border-top:1px solid var(--border)}.contact__inner{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-2xl);display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);position:relative;overflow:hidden}.contact__inner:before{content:"";position:absolute;top:-80px;right:-80px;width:300px;height:300px;background:radial-gradient(circle,var(--accent-glow),transparent 70%);border-radius:50%;pointer-events:none}.contact__content{position:relative}.contact__sub{font-size:var(--text-base);color:var(--text-muted);margin-top:var(--space-sm);max-width:380px;line-height:1.7}.contact__actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-md);position:relative}.contact__details{display:flex;flex-direction:column;align-items:flex-end;gap:.375rem}.contact__link{font-size:var(--text-sm);color:var(--text-muted);transition:color .2s}.contact__link:hover{color:var(--accent)}.footer{padding:var(--space-lg) 0;border-top:1px solid var(--border)}.footer__inner{display:flex;align-items:center;justify-content:space-between}.footer__copy{font-size:var(--text-xs);color:var(--text-dim)}.footer__links{display:flex;gap:var(--space-md)}.footer__links a{font-size:var(--text-xs);color:var(--text-dim);transition:color .2s}.footer__links a:hover{color:var(--text-muted)}.reveal{opacity:0;transform:translateY(20px);transition:opacity var(--duration) var(--ease-out),transform var(--duration) var(--ease-out)}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:960px){.services__grid{grid-template-columns:1fr}.work__grid{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.about__layout{grid-template-columns:1fr;gap:var(--space-xl)}.about__visual{order:-1}.about__pattern{max-width:200px}.contact__inner{flex-direction:column;align-items:flex-start;padding:var(--space-xl)}.contact__actions,.contact__details{align-items:flex-start}}@media(max-width:640px){.hero{padding:var(--space-2xl) 0 var(--space-xl)}.hero__actions{flex-direction:column;width:100%}.hero__actions .btn{width:100%}.hero__scroll-hint{display:none}.work__grid{grid-template-columns:1fr}.card{padding:var(--space-md)}.step{gap:var(--space-md)}.contact__inner{padding:var(--space-lg)}.footer__inner{flex-direction:column;gap:var(--space-sm);text-align:center}.footer__links{gap:var(--space-sm)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px 256px}
