*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #f7f5f0;--ink: #0e0e0e;--ink-soft: #6b6860;--accent: #1a1a2e;--accent2: #c8f04d;--border: rgba(14, 14, 14, .1);--card: #ffffff}[data-theme=dark]{--bg: #0e0e0e;--ink: #f7f5f0;--ink-soft: #a8a8a8;--accent: #c8f04d;--accent2: #1a1a2e;--border: rgba(247, 245, 240, .1);--card: #1a1a1a}[data-theme=dark] nav{background:#0e0e0ed9}[data-theme=dark] .hero-bg{background:radial-gradient(ellipse 60% 60% at 80% 50%,rgba(200,240,77,.08) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 10% 80%,rgba(26,26,46,.15) 0%,transparent 60%)}[data-theme=dark] .theme-toggle:hover{background:#ffffff1a}[data-theme=dark] #about,[data-theme=dark] #about h2,[data-theme=dark] .service-card:hover,[data-theme=dark] .service-card:hover .service-title,[data-theme=dark] .service-card:hover .service-desc{color:#0e0e0e}[data-theme=dark] .service-card:hover .service-num{color:#0000004d}[data-theme=dark] .orbit-ring{border-color:#f7f5f033}[data-theme=dark] .orbit-dot.accent{background:#c8f04d}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 5vw;background:#f7f5f0d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.logo{font-family:"DM Serif Display",serif;font-size:1.4rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none}.logo span{color:var(--accent)}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{font-size:.875rem;font-weight:400;color:var(--ink-soft);text-decoration:none;letter-spacing:.02em;transition:color .2s}.nav-links a:hover{color:var(--ink)}.nav-cta{background:var(--ink);color:var(--bg)!important;padding:.55rem 1.25rem;border-radius:100px;font-weight:500!important;transition:background .2s!important}.nav-cta:hover{background:var(--accent)!important;color:var(--bg)!important}.nav-right{display:flex;align-items:center;gap:2rem}.theme-toggle{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:background .2s;color:var(--ink)}.theme-toggle:hover{background:var(--border)}#hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:8rem 5vw 5rem;gap:4rem;position:relative;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse 60% 60% at 80% 50%,rgba(200,240,77,.12) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 10% 80%,rgba(26,26,46,.06) 0%,transparent 60%)}.hero-left{position:relative;z-index:1}.hero-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--border);padding:.4rem .9rem;border-radius:100px;margin-bottom:2rem;opacity:0;animation:fadeUp .6s .1s forwards}.hero-tag:before{content:"";width:6px;height:6px;background:var(--accent2);border-radius:50%}h1{font-family:"DM Serif Display",serif;font-size:clamp(2.8rem,5vw,4.2rem);line-height:1.08;letter-spacing:-.03em;margin-bottom:1.5rem;opacity:0;animation:fadeUp .6s .2s forwards}h1 em{font-style:italic;color:var(--accent)}.hero-sub{font-size:1.05rem;font-weight:300;line-height:1.7;color:var(--ink-soft);max-width:460px;margin-bottom:2.5rem;opacity:0;animation:fadeUp .6s .35s forwards}.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fadeUp .6s .5s forwards}.btn-primary{background:var(--ink);color:var(--bg);padding:.85rem 2rem;border-radius:100px;font-size:.9rem;font-weight:500;text-decoration:none;transition:transform .2s,background .2s;display:inline-block;border:none;cursor:pointer}.btn-primary:hover{background:var(--accent);transform:translateY(-2px)}.btn-outline{border:1.5px solid var(--ink);color:var(--ink);padding:.85rem 2rem;border-radius:100px;font-size:.9rem;font-weight:500;text-decoration:none;transition:transform .2s,background .2s;display:inline-block;background:transparent;cursor:pointer}.btn-outline:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px)}.hero-right{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;opacity:0;animation:fadeIn 1s .4s forwards}.hero-visual{width:420px;height:420px;position:relative;flex-shrink:0}.orbit-ring{position:absolute;border-radius:50%;border:1px dashed rgba(14,14,14,.15);top:50%;left:50%}.ring1{width:340px;height:340px;margin-left:-170px;margin-top:-170px;animation:spin 18s linear infinite}.ring2{width:230px;height:230px;margin-left:-115px;margin-top:-115px;animation:spin 12s linear infinite reverse}.orbit-dot{position:absolute;width:10px;height:10px;background:var(--ink);border-radius:50%;top:-5px;left:50%;transform:translate(-50%)}.orbit-dot.accent{background:var(--accent2);width:8px;height:8px;top:-4px}.center-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px;height:140px;background:var(--card);border:1px solid var(--border);border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 20px 60px #0000000f}.center-icon{width:80px;object-fit:contain}.center-label{font-family:"DM Serif Display",serif;font-size:.95rem;color:var(--ink);letter-spacing:-.01em}.floating-chip{position:absolute;background:var(--card);border:1px solid var(--border);border-radius:100px;padding:.5rem 1rem;font-size:.75rem;font-weight:500;white-space:nowrap;box-shadow:0 4px 20px #0000000d}.chip1{top:10%;left:-5%;animation:float 4s ease-in-out infinite}.chip2{bottom:15%;right:-5%;animation:float 4s ease-in-out 2s infinite}.chip3{bottom:8%;left:5%;animation:float 4s ease-in-out 1s infinite}.stats-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2rem 5vw;display:flex;justify-content:space-around;flex-wrap:wrap;gap:2rem;background:var(--card)}.stat{text-align:center}.stat-num{font-family:"DM Serif Display",serif;font-size:2rem;letter-spacing:-.03em}.stat-label{font-size:.8rem;color:var(--ink-soft);font-weight:400;margin-top:.2rem}section{padding:6rem 5vw}.section-tag{font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1rem}h2{font-family:"DM Serif Display",serif;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em;line-height:1.1;margin-bottom:1.2rem}.section-sub{font-size:1rem;font-weight:300;color:var(--ink-soft);line-height:1.7;max-width:520px;margin-bottom:3.5rem}#services{background:var(--bg)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5px;border:1.5px solid var(--border);border-radius:20px;overflow:hidden}.service-card{background:var(--card);padding:2.5rem;transition:background .25s;cursor:default}.service-card:hover{background:var(--accent);color:#fff}.service-card:hover .service-icon{background:#ffffff26}.service-card:hover .service-title,.service-card:hover .service-desc{color:#fff}.service-card:hover .service-num{color:#ffffff4d}.service-icon{width:52px;height:52px;border-radius:14px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.8rem;transition:background .25s}.service-num{font-size:.7rem;font-weight:500;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:.8rem;transition:color .25s}.service-title{font-family:"DM Serif Display",serif;font-size:1.3rem;margin-bottom:.75rem;letter-spacing:-.02em;transition:color .25s}.service-desc{font-size:.875rem;line-height:1.7;color:var(--ink-soft);transition:color .25s}.service-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem}.stag{font-size:.7rem;padding:.25rem .65rem;border:1px solid currentColor;border-radius:100px;opacity:.5}#about{background:var(--accent);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}#about h2{color:#fff}#about .section-tag{color:var(--accent2)}.about-body{font-size:1rem;font-weight:300;line-height:1.8;color:#ffffffb3}.about-body p+p{margin-top:1rem}[data-theme=dark] .about-body p{color:var(--accent2)}.about-highlights{display:flex;flex-direction:column;gap:1.5rem;margin-top:2.5rem}.highlight{display:flex;gap:1.25rem;align-items:flex-start;padding:1.5rem;border:1px solid rgba(255,255,255,.1);border-radius:16px;transition:border-color .2s,background .2s}.highlight:hover{border-color:var(--accent2);background:#c8f04d0d}.hl-icon{font-size:1.5rem;flex-shrink:0;margin-top:.1rem}.hl-title{font-weight:500;font-size:.95rem;margin-bottom:.3rem;color:#fff}.hl-desc{font-size:.825rem;color:#ffffff8c;line-height:1.6}[data-theme=dark] .hl-title{color:#000}[data-theme=dark] .hl-desc{color:var(--accent2)}#portfolio{background:var(--bg)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.portfolio-card{background:var(--card);border:1px solid var(--border);border-radius:20px;overflow:hidden;transition:transform .3s,box-shadow .3s}.portfolio-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px #00000014}.p-thumb{height:180px;display:flex;align-items:center;justify-content:center;font-size:3rem;position:relative;overflow:hidden}.p-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.04))}.p-body{padding:1.75rem}.p-type{font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.6rem}.p-title{font-family:"DM Serif Display",serif;font-size:1.25rem;letter-spacing:-.02em;margin-bottom:.6rem}.p-desc{font-size:.85rem;color:var(--ink-soft);line-height:1.65}.p-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.2rem}.ptag{font-size:.7rem;background:var(--bg);color:var(--ink-soft);padding:.25rem .7rem;border-radius:100px;border:1px solid var(--border)}#contact{background:var(--bg);display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}.contact-info h2{margin-bottom:1rem}.contact-detail{display:flex;flex-direction:column;gap:1.25rem;margin-top:2.5rem}.c-item{display:flex;gap:1rem;align-items:flex-start}.c-icon{width:40px;height:40px;border-radius:10px;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.c-label{font-size:.7rem;color:var(--ink-soft);font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}.c-val{font-size:.9rem;font-weight:400}.contact-form{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:2.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.2rem}label{font-size:.75rem;font-weight:500;color:var(--ink-soft)}input,textarea,select{border:1.5px solid var(--border);border-radius:10px;padding:.75rem 1rem;font-family:DM Sans,sans-serif;font-size:.875rem;background:var(--bg);color:var(--ink);transition:border-color .2s,box-shadow .2s;outline:none;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--ink);box-shadow:0 0 0 3px #0e0e0e0d}textarea{resize:vertical;min-height:110px}.form-submit{width:100%;padding:1rem;background:var(--ink);color:var(--bg);border:none;border-radius:100px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,transform .2s}.form-submit:hover{background:var(--accent);transform:translateY(-2px)}.form-submit:active{transform:none}.form-submit:disabled{opacity:.7;cursor:not-allowed}footer{border-top:1px solid var(--border);padding:2rem 5vw;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;background:var(--card)}.footer-logo{font-family:"DM Serif Display",serif;font-size:1.1rem;color:var(--ink);text-decoration:none}.footer-copy{font-size:.8rem;color:var(--ink-soft)}.footer-links{display:flex;gap:1.5rem}.footer-links a{font-size:.8rem;color:var(--ink-soft);text-decoration:none}.footer-links a:hover{color:var(--ink)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}@media (max-width: 768px){#hero{grid-template-columns:1fr;padding-top:7rem}.hero-right{display:none}#about,#contact{grid-template-columns:1fr;gap:3rem}.form-row{grid-template-columns:1fr}.nav-links{display:none}}
