:root{--cream:#f5f0e8;--ink:#0d0c0a;--gold:#c9a84c;--warm:#e8ddd0;--rust:#8b3a2a;--sage:#5c7a6b;--light-ink:#3a3835}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);cursor:none;font-family:DM Sans,sans-serif;overflow-x:hidden}.cursor{background:var(--ink);pointer-events:none;z-index:9999;border-radius:50%;width:12px;height:12px;transition:transform .15s,background .2s;position:fixed;transform:translate(-50%,-50%)}.cursor-follower{border:1.5px solid var(--ink);pointer-events:none;z-index:9998;border-radius:50%;width:36px;height:36px;transition:transform .4s,width .3s,height .3s,border-color .2s;position:fixed;transform:translate(-50%,-50%)}body:has(a:hover) .cursor{background:var(--gold)}body:has(a:hover) .cursor-follower{border-color:var(--gold);width:56px;height:56px}#loader{background:var(--ink);z-index:1000;flex-direction:column;justify-content:center;align-items:center;animation:.6s 2.2s forwards loaderOut;display:flex;position:fixed;inset:0}#loader .logo-load{color:var(--cream);letter-spacing:.2em;font-family:Playfair Display,serif;font-size:clamp(2rem,6vw,5rem);overflow:hidden}#loader .logo-load span{opacity:0;animation:.6s cubic-bezier(.16,1,.3,1) forwards letterIn;display:inline-block;transform:translateY(100%)}#loader .line-progress{background:#ffffff26;width:200px;height:1px;margin-top:2rem;position:relative;overflow:hidden}#loader .line-progress:after{content:"";background:var(--gold);width:100%;height:100%;animation:1.8s forwards progressBar;position:absolute;top:0;left:-100%}@keyframes letterIn{to{opacity:1;transform:translateY(0)}}@keyframes progressBar{to{left:0}}@keyframes loaderOut{to{transform:translateY(-100%)}}nav{z-index:100;mix-blend-mode:difference;justify-content:space-between;align-items:center;padding:2rem 4vw;transition:transform .4s cubic-bezier(.16,1,.3,1),background .3s;animation:.8s 2.6s both fadeDown;display:flex;position:fixed;top:0;left:0;right:0}nav.hidden{transform:translateY(-100%)!important}.nav-logo{letter-spacing:.15em;text-transform:uppercase;color:#fff;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;text-decoration:none}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{letter-spacing:.12em;text-transform:uppercase;color:#fffc;padding-bottom:2px;font-family:Space Mono,monospace;font-size:.7rem;text-decoration:none;position:relative}.nav-links a:after{content:"";background:var(--gold);width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}.nav-links a:hover:after{width:100%}@keyframes fadeDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hero{grid-template-columns:1fr 1fr;min-height:100vh;display:grid;position:relative;overflow:hidden}.hero-left{z-index:2;flex-direction:column;justify-content:flex-end;padding:10vh 4vw 8vh 6vw;display:flex;position:relative}.hero-eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;font-family:Space Mono,monospace;font-size:.65rem;animation:.8s 2.8s both fadeUp}.hero-title{color:var(--ink);margin-bottom:2rem;font-family:Playfair Display,serif;font-size:clamp(3.5rem,7vw,8rem);font-weight:900;line-height:.92;animation:.8s 3s both fadeUp}.hero-title em{color:var(--rust);font-style:italic}.hero-desc{color:var(--light-ink);max-width:360px;margin-bottom:3rem;font-size:1rem;font-weight:300;line-height:1.7;animation:.8s 3.2s both fadeUp}.hero-cta{align-items:center;gap:1.5rem;animation:.8s 3.4s both fadeUp;display:flex}.btn-primary{background:var(--ink);color:var(--cream);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.75rem;padding:1rem 2rem;font-family:Space Mono,monospace;font-size:.7rem;text-decoration:none;transition:background .3s,transform .2s;display:inline-flex;position:relative;overflow:hidden}.btn-primary:before{content:"";background:var(--gold);transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translate(-101%)}.btn-primary:hover:before{transform:translate(0)}.btn-primary span{z-index:1;position:relative}.btn-primary:hover{color:var(--ink)}.btn-secondary{letter-spacing:.12em;text-transform:uppercase;color:var(--light-ink);border-bottom:1px solid var(--light-ink);padding-bottom:2px;font-family:Space Mono,monospace;font-size:.7rem;text-decoration:none;transition:color .3s,border-color .3s}.btn-secondary:hover{color:var(--gold);border-color:var(--gold)}.hero-right{animation:1s 3s both fadeIn;position:relative;overflow:hidden}.hero-image-wrap{background:linear-gradient(135deg,#c9a84c22 0%,#8b3a2a22 100%);position:absolute;inset:0}.hero-image-placeholder{background:url(/WhatsApp%20Image%202026-04-07%20at%209.05.12%20PM.jpeg) 50%/cover no-repeat;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.hero-decor-num{color:#ffffff26;-webkit-user-select:none;user-select:none;font-family:Playfair Display,serif;font-size:8rem;font-weight:900;line-height:1;position:absolute;bottom:3rem;right:3rem}.hero-scroll{letter-spacing:.2em;text-transform:uppercase;color:var(--light-ink);z-index:10;flex-direction:column;align-items:center;gap:.5rem;font-family:Space Mono,monospace;font-size:.55rem;animation:1s 3.6s both fadeUp;display:flex;position:absolute;bottom:3rem;left:50%;transform:translate(-50%)}.scroll-line{background:var(--light-ink);width:1px;height:50px;position:relative;overflow:hidden}.scroll-line:after{content:"";background:var(--gold);width:100%;height:100%;animation:2s ease-in-out 4s infinite scrollAnim;position:absolute;top:-100%;left:0}@keyframes scrollAnim{0%{top:-100%}to{top:100%}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.marquee-wrap{background:var(--ink);padding:1.2rem 0;position:relative;overflow:hidden}.marquee-track{gap:0;width:max-content;animation:20s linear infinite marquee;display:flex}.marquee-item{letter-spacing:.2em;text-transform:uppercase;color:var(--cream);white-space:nowrap;align-items:center;gap:2rem;padding:0 2rem;font-family:Space Mono,monospace;font-size:.7rem;display:flex}.marquee-dot{color:var(--gold);font-size:1.2rem}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.about{grid-template-columns:1fr 1.4fr;align-items:center;gap:8vw;padding:12vh 6vw;display:grid}.about-left{position:relative}.about-img-frame{aspect-ratio:3/4;background:url(/Gemini_Generated_Image_ri9c04ri9c04ri9c.png) 50%/cover no-repeat;position:relative;overflow:hidden}.about-img-accent{border:1px solid var(--gold);z-index:-1;width:60%;height:60%;position:absolute;top:-1.5rem;right:-1.5rem}.about-stats{background:var(--ink);color:var(--cream);padding:1.5rem 2rem;position:absolute;bottom:-2rem;left:-2rem}.about-stats-num{color:var(--gold);font-family:Playfair Display,serif;font-size:2.5rem;font-weight:900}.about-stats-label{letter-spacing:.15em;text-transform:uppercase;color:#ffffff80;margin-top:.25rem;font-family:Space Mono,monospace;font-size:.6rem}.section-tag{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);align-items:center;gap:1rem;margin-bottom:1rem;font-family:Space Mono,monospace;font-size:.65rem;display:flex}.section-tag:before{content:"";background:var(--gold);width:30px;height:1px}.section-title{margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,4rem);font-weight:900;line-height:1.05}.about-body{color:var(--light-ink);margin-bottom:2rem;font-size:1rem;font-weight:300;line-height:1.8}.skills-list{grid-template-columns:1fr 1fr;gap:.75rem 2rem;display:grid}.skill-item{letter-spacing:.1em;text-transform:uppercase;color:var(--light-ink);align-items:center;gap:.75rem;font-family:Space Mono,monospace;font-size:.65rem;display:flex}.skill-item:before{content:"";background:var(--gold);flex-shrink:0;width:6px;height:6px}.work{background:var(--ink);color:var(--cream);padding:8vh 6vw}.work-header{justify-content:space-between;align-items:flex-end;margin-bottom:5rem;display:flex}.work-header .section-title{color:var(--cream)}.work-header .section-tag{color:var(--gold)}.work-count{color:#ffffff0f;font-family:Playfair Display,serif;font-size:5rem;font-weight:900;line-height:1}.projects-grid{grid-template-columns:repeat(12,1fr);gap:1.5rem;display:grid}.project-card{cursor:none;position:relative;overflow:hidden}.project-card:first-child{grid-column:1/8}.project-card:nth-child(2){grid-column:8/13}.project-card:nth-child(3){grid-column:1/5}.project-card:nth-child(4){grid-column:5/13}.project-img{aspect-ratio:4/3;background:linear-gradient(135deg,#2a2826,#1a1816);transition:transform .6s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.project-card:first-child .project-img{background:linear-gradient(135deg,#3a2015,#8b3a2a44)}.project-card:nth-child(2) .project-img{background:linear-gradient(135deg,#0f2a1a,#5c7a6b44)}.project-card:nth-child(3) .project-img{background:linear-gradient(135deg,#2a2010,#c9a84c33)}.project-card:nth-child(4) .project-img{background:linear-gradient(135deg,#1a1520,#6b5c7a44)}.project-img-label{letter-spacing:.25em;color:#fff3;justify-content:center;align-items:center;font-family:Space Mono,monospace;font-size:.6rem;display:flex;position:absolute;inset:0}.project-card:hover .project-img{transform:scale(1.04)}.project-overlay{opacity:0;background:linear-gradient(#0000 40%,#000000d9 100%);flex-direction:column;justify-content:flex-end;padding:2rem;transition:opacity .4s;display:flex;position:absolute;inset:0}.project-card:hover .project-overlay{opacity:1}.project-overlay-link{letter-spacing:.15em;text-transform:uppercase;color:var(--gold);align-items:center;gap:.5rem;font-family:Space Mono,monospace;font-size:.65rem;text-decoration:none;transition:transform .4s;display:inline-flex;transform:translateY(10px)}.project-card:hover .project-overlay-link{transform:translateY(0)}.project-info{padding:1.25rem 0 0}.project-category{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;font-family:Space Mono,monospace;font-size:.6rem}.project-name{color:var(--cream);margin-bottom:.3rem;font-family:Playfair Display,serif;font-size:1.3rem;font-weight:700}.project-year{color:#ffffff4d;font-family:Space Mono,monospace;font-size:.6rem}.services{background:var(--warm);padding:12vh 6vw}.services-header{grid-template-columns:1fr 1fr;align-items:end;gap:4vw;margin-bottom:5rem;display:grid}.services-intro{color:var(--light-ink);font-size:1rem;font-weight:300;line-height:1.8}.services-grid{background:#0000001a;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.service-card{background:var(--warm);padding:3rem 2.5rem;transition:background .4s;position:relative;overflow:hidden}.service-card:before{content:"";background:var(--gold);width:0;height:3px;transition:width .4s;position:absolute;top:0;left:0}.service-card:hover:before{width:100%}.service-card:hover{background:var(--cream)}.service-num{color:#00000012;margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:3rem;font-weight:900;line-height:1}.service-name{margin-bottom:1rem;font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700}.service-desc{color:var(--light-ink);font-size:.9rem;font-weight:300;line-height:1.7}.testimonials{background:var(--cream);grid-template-columns:1fr 2fr;align-items:center;gap:6vw;padding:10vh 6vw;display:grid}.testimonial-left .section-title{font-size:clamp(1.8rem,3vw,3rem)}.testimonial-cards{flex-direction:column;gap:1.5rem;display:flex}.testimonial-card{border-left:2px solid var(--gold);background:var(--warm);padding:2rem 2rem 2rem 2.5rem;transition:transform .3s,box-shadow .3s}.testimonial-card:hover{box-shadow:-6px 0 0 0 var(--gold);transform:translate(6px)}.testimonial-quote{color:var(--ink);margin-bottom:1.25rem;font-family:Playfair Display,serif;font-size:1rem;font-style:italic;line-height:1.7}.testimonial-author{align-items:center;gap:1rem;display:flex}.testimonial-avatar{background:linear-gradient(135deg, var(--gold), var(--rust));border-radius:50%;flex-shrink:0;width:40px;height:40px}.testimonial-name{letter-spacing:.1em;text-transform:uppercase;font-family:Space Mono,monospace;font-size:.65rem;font-weight:700}.testimonial-role{color:var(--light-ink);margin-top:.2rem;font-size:.8rem;font-weight:300}.contact{background:var(--ink);color:var(--cream);grid-template-columns:1fr 1fr;align-items:center;gap:8vw;padding:12vh 6vw;display:grid}.contact-title{margin-bottom:2rem;font-family:Playfair Display,serif;font-size:clamp(2.5rem,5vw,6rem);font-weight:900;line-height:.95}.contact-title em{color:var(--gold);font-style:italic}.contact-subtitle{color:#ffffff80;margin-bottom:2.5rem;font-size:1rem;font-weight:300;line-height:1.7}.contact-links{flex-direction:column;gap:.75rem;display:flex}.contact-link{color:var(--cream);letter-spacing:.1em;border-bottom:1px solid #ffffff1a;align-items:center;gap:1rem;padding:1rem 0;font-family:Space Mono,monospace;font-size:.75rem;text-decoration:none;transition:color .3s,border-color .3s;display:flex}.contact-link:hover{color:var(--gold);border-color:var(--gold)}.chat-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;height:480px;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000004d}.chat-header{background:#ffffff08;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.chat-header-info{align-items:center;gap:.75rem;display:flex}.chat-avatar-wrap{width:40px;height:40px;position:relative}.chat-avatar{background:linear-gradient(135deg, var(--gold) 0%, #a88734 100%);width:100%;height:100%;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:900;display:flex}.chat-online-badge{border:2px solid var(--ink);background-color:#22c55e;border-radius:50%;width:10px;height:10px;animation:2s infinite pulse-online;position:absolute;bottom:1px;right:1px}@keyframes pulse-online{0%{box-shadow:0 0 #22c55eb3}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.chat-user-details{flex-direction:column;display:flex}.chat-user-name{color:var(--cream);font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500}.chat-user-status{color:#22c55e;letter-spacing:.05em;font-family:Space Mono,monospace;font-size:.65rem}.chat-reset-btn{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:color .2s,background .2s,transform .2s;display:flex}.chat-reset-btn:hover{color:var(--rust);background:#ffffff0d;transform:rotate(-30deg)}.chat-body{flex-direction:column;flex:1;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}.chat-body::-webkit-scrollbar{width:5px}.chat-body::-webkit-scrollbar-track{background:0 0}.chat-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.chat-body::-webkit-scrollbar-thumb:hover{background:#fff3}.message-bubble{word-break:break-word;flex-direction:column;max-width:80%;padding:.75rem 1rem;font-size:.9rem;line-height:1.5;display:flex;position:relative}.message-bubble.bot{color:var(--cream);background:#ffffff0d;border-radius:16px 16px 16px 4px;align-self:flex-start}.message-bubble.user{background:var(--gold);color:var(--ink);border-radius:16px 16px 4px;align-self:flex-end}.msg-text{margin-bottom:.25rem}.message-meta{justify-content:flex-end;align-items:center;gap:4px;margin-top:2px;display:flex}.message-time{opacity:.5;font-family:Space Mono,monospace;font-size:.6rem}.message-bubble.bot .message-time{color:#ffffff80;align-self:flex-end}.message-bubble.user .message-time{color:#0d0c0a99}.message-status{font-size:.7rem;font-weight:700}.message-status.sending{color:#0d0c0a66}.message-status.sent{color:#0d0c0a99}.message-status.read{color:#1d4ed8}.actions-bubble{width:90%;max-width:320px}.chat-actions{flex-direction:column;gap:.6rem;margin-top:.75rem;margin-bottom:.5rem;display:flex}.btn-chat-action{text-transform:uppercase;cursor:pointer;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.6rem;font-family:Space Mono,monospace;font-size:.7rem;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .1s;display:flex}.btn-chat-action.btn-email{background:var(--gold);color:var(--ink);border-color:var(--gold)}.btn-chat-action.btn-email:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}.btn-chat-action.btn-copy,.btn-chat-action.btn-mail-fallback{color:var(--cream);background:#ffffff0d}.btn-chat-action.btn-copy:hover,.btn-chat-action.btn-mail-fallback:hover{background:#ffffff1a}.btn-chat-action.btn-copy.copied{color:#4ade80;background:#22c55e33;border-color:#22c55e}.btn-chat-action.btn-instagram{color:#fff;background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);border:none}.btn-chat-action.btn-instagram:hover{opacity:.9;transform:translateY(-1px)}.btn-chat-action:active{transform:scale(.98)}.typing-bubble{background:#ffffff0d;border-radius:12px 12px 12px 4px;align-self:flex-start;padding:.6rem .9rem}.typing-indicator{align-items:center;gap:4px;height:12px;display:flex}.typing-indicator span{background-color:var(--cream);opacity:.4;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both bounce-typing}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce-typing{0%,80%,to{transform:scale(0)}40%{opacity:.8;transform:scale(1)}}.chat-input-area{background:#ffffff03;border-top:1px solid #ffffff14;align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:flex}.chat-input-area textarea{resize:none;height:24px;max-height:80px;color:var(--cream);background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-family:DM Sans,sans-serif;font-size:.9rem;line-height:1.4}.chat-input-area textarea::placeholder{color:#ffffff40}.chat-input-area textarea:disabled{opacity:.5;cursor:not-allowed}.chat-send-btn{background:var(--gold);width:36px;height:36px;color:var(--ink);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,transform .2s,opacity .2s;display:flex}.chat-send-btn:hover:not(:disabled){background:var(--cream);transform:scale(1.05)}.chat-send-btn:disabled{color:#fff3;cursor:not-allowed;background:#ffffff0d}footer{background:var(--ink);color:#ffffff4d;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:3rem 6vw;font-family:Space Mono,monospace;font-size:.6rem;display:flex}.footer-logo{color:var(--cream);letter-spacing:.1em;font-family:Playfair Display,serif;font-size:1rem;font-weight:700;text-decoration:none}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.chat-header-actions{align-items:center;gap:.5rem;display:flex}body:after{content:"";pointer-events:none;z-index:9997;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:fixed;inset:0}@media (width<=768px){.hero{grid-template-columns:1fr;min-height:auto}.hero-left{padding:24vh 6vw 8vh}.hero-right{height:60vh;display:block}.hero-decor-num{font-size:5rem;bottom:1rem;right:1rem}.about,.contact{grid-template-columns:1fr;gap:12vw}.services-header,.services-grid,.projects-grid{grid-template-columns:1fr}.project-card:nth-child(n){grid-column:auto}.testimonials{grid-template-columns:1fr}.work-header{flex-direction:column;align-items:flex-start;gap:1rem}nav{flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:1.5rem 6vw;display:flex;position:fixed;left:0;right:0}.nav-links{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}body{cursor:auto}.cursor,.cursor-follower,.cursor-core,.cursor-ring,.cursor-trail-particle{display:none!important}.marquee-item{gap:1rem;padding:0 1rem;font-size:.6rem}}
