:root{--clr-bg: #FAFAF8;--clr-surface: #FFFFFF;--clr-surface-alt: #F2F0EC;--clr-border: #E5E2DB;--clr-text: #2D2D2D;--clr-text-muted: #7A7A7A;--clr-accent: #8FAE8B;--clr-accent-dark: #6E946A;--clr-accent-soft: rgba(143, 174, 139, .12);--clr-error: #D16060;--clr-success: #5BA86C;--ff-heading: "Playfair Display", Georgia, serif;--ff-body: "Inter", system-ui, sans-serif;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 6rem;--space-2xl: 8rem;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--ease-out: cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--clr-bg: #141414;--clr-surface: #1E1E1E;--clr-surface-alt: #262626;--clr-border: #333333;--clr-text: #E8E8E6;--clr-text-muted: #A0A0A0;--clr-accent: #9EC49A;--clr-accent-dark: #B5D5B1;--clr-accent-soft: rgba(158, 196, 154, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--ff-body);color:var(--clr-text);background:var(--clr-bg);line-height:1.7;-webkit-font-smoothing:antialiased;transition:background .4s,color .4s}img{display:block;max-width:100%;height:auto;border-radius:var(--radius-md)}a{color:inherit;text-decoration:none}ul{list-style:none}.container{width:90%;max-width:1140px;margin:0 auto}.fade-in{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.fade-in.visible{opacity:1;transform:translateY(0)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 5%;background:color-mix(in srgb,var(--clr-bg) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}.navbar.scrolled{border-bottom-color:var(--clr-border)}.nav-logo{font-family:var(--ff-heading);font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.nav-right{display:flex;align-items:center;gap:12px;order:2}.nav-links{display:flex;gap:var(--space-md)}.nav-links a{font-size:.9rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--clr-text-muted);position:relative;transition:color .3s}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--clr-accent);transition:width .3s var(--ease-out)}.nav-links a:hover{color:var(--clr-text)}.nav-links a:hover:after{width:100%}.theme-toggle{background:none;border:1px solid var(--clr-border);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--clr-text-muted);transition:color .3s,border-color .3s,background .3s}.theme-toggle:hover{color:var(--clr-text);border-color:var(--clr-accent);background:var(--clr-accent-soft)}.icon-moon,[data-theme=dark] .icon-sun{display:none}[data-theme=dark] .icon-moon{display:block}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--clr-text);border-radius:2px;transition:transform .3s,opacity .3s}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.btn{display:inline-block;font-family:var(--ff-body);font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .35s var(--ease-out)}.btn-primary{padding:14px 36px;background:var(--clr-accent);color:#fff;box-shadow:0 4px 16px #8fae8b4d}.btn-primary:hover{background:var(--clr-accent-dark);box-shadow:0 6px 24px #8fae8b73;transform:translateY(-2px)}.btn-secondary{padding:12px 30px;background:transparent;color:var(--clr-accent-dark);border:2px solid var(--clr-accent)}.btn-secondary:hover{background:var(--clr-accent-soft)}.section-label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--clr-accent-dark);margin-bottom:var(--space-xs)}.section-title{font-family:var(--ff-heading);font-size:clamp(2rem,4.5vw,3rem);font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-md)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-lg)}.section-header .section-title{margin-bottom:0}.project-count{font-size:.85rem;font-weight:500;color:var(--clr-text-muted);background:var(--clr-surface-alt);padding:6px 16px;border-radius:100px;white-space:nowrap}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;padding:var(--space-2xl) 5%;background:radial-gradient(ellipse at 30% 20%,var(--clr-accent-soft) 0%,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(143,174,139,.06) 0%,transparent 50%),var(--clr-bg)}.hero-greeting{font-size:1rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--clr-accent-dark);margin-bottom:var(--space-xs)}.hero-name{font-family:var(--ff-heading);font-size:clamp(2.8rem,7vw,5.5rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;margin-bottom:var(--space-xs)}.hero-title{font-family:var(--ff-heading);font-size:clamp(1.2rem,3vw,1.8rem);font-weight:400;font-style:italic;color:var(--clr-text-muted);margin-bottom:var(--space-sm)}.hero-tagline{font-size:1.05rem;color:var(--clr-text-muted);max-width:440px;margin:0 auto var(--space-md)}.hero-scroll-indicator{position:absolute;bottom:var(--space-md);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}.hero-scroll-indicator span{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--clr-text-muted)}.scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--clr-accent),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}.about{padding:var(--space-2xl) 0}.about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-lg);align-items:start}.about-lead{font-size:1.15rem;font-weight:500;line-height:1.8;margin-bottom:var(--space-sm);color:var(--clr-text)}.about-text p{margin-bottom:var(--space-sm);color:var(--clr-text-muted)}.about-text p strong{color:var(--clr-text)}.about-details{display:flex;flex-direction:column;gap:var(--space-sm)}.detail-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);transition:box-shadow .3s var(--ease-out),transform .3s var(--ease-out)}.detail-card:hover{box-shadow:0 8px 30px #0000000f;transform:translateY(-3px)}.detail-card h3{font-family:var(--ff-heading);font-size:1rem;font-weight:600;margin-bottom:4px;color:var(--clr-accent-dark)}.detail-card p{font-size:.9rem;color:var(--clr-text-muted);line-height:1.6}.project{padding:var(--space-2xl) 0;background:var(--clr-surface)}.projects-empty{text-align:center;padding:var(--space-xl) 0;color:var(--clr-text-muted)}.projects-empty a{color:var(--clr-accent-dark);text-decoration:underline}.showcase-featured{display:block;border-radius:var(--radius-lg);overflow:hidden;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out);box-shadow:0 8px 30px #0000000f}.showcase-featured:hover{transform:translateY(-4px);box-shadow:0 20px 60px #0000001a}.showcase-img{position:relative;width:100%;aspect-ratio:21/9;min-height:340px;overflow:hidden;background:var(--clr-surface-alt)}.showcase-img--placeholder{aspect-ratio:auto;min-height:260px}.showcase-img img{border-radius:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}.showcase-featured:hover .showcase-img img{transform:scale(1.03)}.showcase-overlay{position:absolute;inset:0;background:linear-gradient(to top,#0009,#0000000d 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-lg) var(--space-md)}.showcase-cat{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--clr-accent);background:#ffffff1f;backdrop-filter:blur(6px);border-radius:4px;padding:5px 12px;margin-bottom:10px;align-self:flex-start}.showcase-title{font-family:var(--ff-heading);font-size:clamp(1.6rem,3.5vw,2.6rem);font-weight:700;color:#fff;line-height:1.2;margin-bottom:4px}.showcase-sub{font-size:.95rem;color:#ffffffb3;font-style:italic;margin-bottom:8px}.showcase-cta{font-size:.85rem;font-weight:600;letter-spacing:.04em;color:var(--clr-accent);transition:letter-spacing .3s}.showcase-featured:hover .showcase-cta{letter-spacing:.08em}.showcase-meta{display:flex;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--clr-surface-alt);border-radius:0 0 var(--radius-lg) var(--radius-lg);font-size:.85rem;color:var(--clr-text-muted);flex-wrap:wrap}.showcase-meta span{display:flex;align-items:center;gap:6px}.showcase-status{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:100px}.showcase-status--progress{background:#ffb43226;color:#c68f20}.showcase-status--concept{background:#78a0ff26;color:#5a80cc}[data-theme=dark] .showcase-status--progress{color:#ffb432}[data-theme=dark] .showcase-status--concept{color:#78a0ff}.showcase-tools{font-size:.8rem;color:var(--clr-accent-dark);font-weight:500}.project-list{margin-top:var(--space-lg);display:flex;flex-direction:column}.project-list-item{display:grid;grid-template-columns:40px 72px 1fr auto 32px;gap:var(--space-sm);align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--clr-border);transition:background .3s,padding-left .3s;text-decoration:none}.project-list-item:first-child{border-top:1px solid var(--clr-border)}.project-list-item:hover{background:var(--clr-accent-soft);padding-left:var(--space-sm);border-radius:var(--radius-sm)}.project-list-num{font-family:var(--ff-heading);font-size:.9rem;color:var(--clr-text-muted);text-align:center}.project-list-thumb{width:72px;height:48px;border-radius:var(--radius-sm);overflow:hidden}.project-list-thumb img{border-radius:0;width:100%;height:100%;object-fit:cover}.project-list-info h4{font-family:var(--ff-heading);font-size:1.05rem;font-weight:600}.project-list-info p{font-size:.82rem;color:var(--clr-text-muted);margin-top:2px}.project-list-meta{display:flex;gap:var(--space-sm);font-size:.8rem;color:var(--clr-text-muted)}.project-list-cat{background:var(--clr-accent-soft);color:var(--clr-accent-dark);padding:3px 10px;border-radius:100px;font-weight:500;font-size:.75rem}.project-list-arrow{font-size:1.1rem;color:var(--clr-text-muted);transition:transform .3s}.project-list-item:hover .project-list-arrow{transform:translate(4px);color:var(--clr-accent-dark)}.contact{padding:var(--space-2xl) 0}.contact-intro{color:var(--clr-text-muted);max-width:520px;margin-bottom:var(--space-lg)}.contact-wrapper{max-width:600px}.contact-form{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.form-group input,.form-group textarea{font-family:var(--ff-body);font-size:1rem;padding:14px 16px;border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-surface);color:var(--clr-text);transition:border-color .3s,box-shadow .3s;outline:none;resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:#bfbfbf}.form-group input:focus,.form-group textarea:focus{border-color:var(--clr-accent);box-shadow:0 0 0 4px var(--clr-accent-soft)}.form-group input.invalid,.form-group textarea.invalid{border-color:var(--clr-error)}.error-msg{font-size:.8rem;color:var(--clr-error);min-height:1.1em}.btn-submit{align-self:flex-start;margin-top:var(--space-xs)}.contact-confirmation{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:var(--space-lg) var(--space-md);text-align:center}.contact-confirmation.hidden{display:none}.confirmation-icon{width:56px;height:56px;line-height:56px;font-size:1.6rem;border-radius:50%;background:var(--clr-accent-soft);color:var(--clr-success);margin:0 auto var(--space-sm)}.contact-confirmation h3{font-family:var(--ff-heading);font-size:1.5rem;margin-bottom:var(--space-xs)}.contact-confirmation p{color:var(--clr-text-muted);margin-bottom:var(--space-sm)}.confirmation-details{text-align:left;background:var(--clr-surface-alt);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);font-size:.92rem;line-height:1.8}.confirmation-details strong{color:var(--clr-accent-dark)}.footer{background:var(--clr-surface);border-top:1px solid var(--clr-border);padding:var(--space-xl) 0 var(--space-lg)}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);text-align:center}.footer-logo{font-family:var(--ff-heading);font-size:1.5rem;font-weight:700}.footer-nav{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.footer-nav a{font-size:.85rem;font-weight:500;color:var(--clr-text-muted);transition:color .3s}.footer-nav a:hover{color:var(--clr-accent-dark)}.footer-dot{color:var(--clr-border);font-size:.7rem}.footer-social{display:flex;gap:16px}.footer-social a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--clr-border);color:var(--clr-text-muted);transition:color .3s,border-color .3s,background .3s,transform .3s}.footer-social a:hover{color:var(--clr-accent-dark);border-color:var(--clr-accent);background:var(--clr-accent-soft);transform:translateY(-2px)}.footer-copy{font-size:.78rem;color:var(--clr-text-muted);opacity:.7}.back-to-top{position:fixed;bottom:var(--space-md);right:var(--space-md);z-index:900;width:44px;height:44px;border-radius:50%;background:var(--clr-accent);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .3s,transform .3s,background .3s;box-shadow:0 4px 16px #00000026}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:var(--clr-accent-dark);transform:translateY(-2px)}.lightbox-overlay{position:fixed;inset:0;z-index:2000;background:#000000eb;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;cursor:zoom-out}.lightbox-overlay.active{opacity:1;pointer-events:auto}.lightbox-overlay img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 20px 60px #00000080;transform:scale(.9);transition:transform .3s var(--ease-out)}.lightbox-overlay.active img{transform:scale(1)}.lightbox-caption{position:absolute;bottom:var(--space-md);left:50%;transform:translate(-50%);color:#fffc;font-size:.9rem;text-align:center;max-width:600px}.lightbox-close{position:absolute;top:var(--space-md);right:var(--space-md);background:none;border:none;color:#ffffffb3;font-size:2rem;cursor:pointer;transition:color .3s;line-height:1}.lightbox-close:hover{color:#fff}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#ffffffb3;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:background .3s,color .3s}.lightbox-nav:hover{background:#fff3;color:#fff}.lightbox-prev{left:var(--space-md)}.lightbox-next{right:var(--space-md)}@media(max-width:900px){.about-grid{grid-template-columns:1fr}.showcase-img{aspect-ratio:16/9}.project-list-item{grid-template-columns:40px 1fr auto 28px}.project-list-thumb{display:none}.project-list-meta{flex-direction:column;gap:2px}}@media(max-width:680px){.nav-toggle{display:flex}.nav-links{position:fixed;top:0;right:-100%;width:70%;max-width:300px;height:100vh;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-md);padding:var(--space-lg);background:var(--clr-bg);box-shadow:-8px 0 30px #00000014;transition:right .4s var(--ease-out);z-index:999}.nav-links.open{right:0}.nav-links a{font-size:1.1rem}.hero-name{font-size:clamp(2.2rem,10vw,3.4rem)}.footer-inner{flex-direction:column;text-align:center}.showcase-img{aspect-ratio:4/3;min-height:260px}.section-header{flex-direction:column;align-items:flex-start}.project-list-item{grid-template-columns:1fr auto}.project-list-num{display:none}}
