:root{--primary:#9333ea;--primary-dark:#7c3aed;--secondary:#f9fafb;--accent:#c97a5a;--accent-light:#d99070;--accent-warm:#bb6b4f;--text:#e5e7eb;--text-light:#9ca3af;--bg:#0f172a;--bg-light:#1a2332;--border:#2d3d52;--shadow:0 20px 50px #9333ea40, 0 15px 35px #c97a5a26;--shadow-sm:0 4px 12px #9333ea26;--glow:0 0 30px #9333ea4d;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}body{color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}#root{width:100%}body{margin:0}h1,h2{color:var(--text);font-family:system-ui,Segoe UI,Roboto,sans-serif;font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--ink:#1c1a17;--ink-2:#4a453e;--text:#63594f;--text-muted:#9b9087;--bg:#faf9f7;--bg-warm:#f4f1eb;--bg-sand:#ece7de;--surface:#fff;--border:#e8e2d9;--border-strong:#d4cdc3;--accent:#b8885a;--accent-dark:#9a7248;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--transition:all .25s ease}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);background-color:var(--bg);color:var(--text);letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.75}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.navbar{z-index:1000;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#faf9f7ed;position:sticky;top:0}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;position:relative}.logo{cursor:pointer;align-items:center;gap:.6rem;text-decoration:none;transition:opacity .2s;display:flex}.logo:hover{opacity:.7}.logo h2{font-family:var(--serif);letter-spacing:.06em;color:var(--ink);background:0 0;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset;font-size:1.45rem;font-weight:500}.logo-img{object-fit:contain;flex-shrink:0;width:68px;height:68px;display:block}.logo-mark{background:var(--ink);width:34px;height:34px;font-family:var(--serif);color:#faf9f7;letter-spacing:-.02em;-webkit-user-select:none;user-select:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;font-style:italic;font-weight:500;display:flex}.logo-bracket{display:none}.nav-actions{align-items:center;gap:1.5rem;display:flex}.nav-menu{flex-shrink:0;align-items:center;gap:1.8rem;list-style:none;display:flex}.nav-menu li{align-items:center;display:flex}.nav-menu a{color:var(--ink-2);letter-spacing:.02em;white-space:nowrap;font-size:.85rem;font-weight:400;text-decoration:none;transition:color .2s;position:relative}.nav-menu a:hover{color:var(--ink)}.nav-menu a:after{content:"";background:var(--ink);width:0;height:1px;transition:width .25s;position:absolute;bottom:-3px;left:0}.nav-menu a:hover:after{width:100%}.cta-button{letter-spacing:.09em;text-transform:uppercase;text-align:center;border:1px solid var(--ink);border-radius:.5rem;min-width:8.75rem;padding:.58rem 1.2rem;font-size:.74rem;font-weight:500;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;display:inline-block;background:var(--ink)!important;color:#faf9f7!important}.cta-button:hover{border-color:var(--ink-2);transform:translateY(-1px);box-shadow:0 8px 20px #1c1a172e;background:var(--ink-2)!important}.cta-button:after{display:none}.locale-switch{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex-shrink:0;align-items:center;gap:.5rem;padding:.3rem .35rem .3rem .6rem;display:inline-flex}.locale-icon{width:15px;height:15px;color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.locale-icon svg{width:15px;height:15px}.locale-options{border-left:1px solid var(--border);align-items:center;gap:.1rem;padding-left:.1rem;display:inline-flex}.locale-option{min-width:34px;color:var(--text-muted);font-family:var(--sans);letter-spacing:.1em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.28rem .55rem;font-size:.68rem;font-weight:600;transition:color .2s,background .2s}.locale-option.active{color:var(--ink);background:var(--bg-warm)}.locale-option:hover{color:var(--ink)}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.menu-toggle span{background:var(--ink);width:22px;height:1.5px;transition:var(--transition);border-radius:1px}.hero{padding-top:1.2rem;animation:.7s ease-out .1s both fadeInUp}.hero-inner{max-width:1080px;margin:0 auto;padding:5.8rem 2rem 4.5rem}.hero-copy{flex-direction:column;display:flex}.hero-image{width:100%;height:clamp(340px,58vh,680px);overflow:hidden}.hero-image img{object-fit:cover;object-position:center 30%;width:100%;height:100%;transition:transform 6s;display:block}.hero-image:hover img{transform:scale(1.03)}.hero-eyebrow{align-items:center;gap:1rem;margin-bottom:2.5rem;display:flex}.hero-tag{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:500}.hero-divider{background:var(--border-strong);flex:0 0 64px;height:1px}.hero-title{font-family:var(--serif);color:var(--ink);letter-spacing:-.025em;max-width:16ch;margin-bottom:3rem;font-size:clamp(2.65rem,5.2vw,4.8rem);font-weight:400;line-height:1.08}.hero-title em{font-style:italic;font-weight:300}.hero-footer{border-top:1px solid var(--border);grid-template-columns:1fr;align-items:start;gap:0;padding-top:2rem;display:grid}.hero-meta{flex-direction:column;gap:.25rem;display:flex}.hero-meta-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.64rem}.hero-action{flex-direction:column;gap:1.35rem;display:flex}.hero-subtitle{color:var(--text);max-width:50ch;font-size:.94rem;font-weight:300;line-height:1.85}.hero-buttons{flex-wrap:wrap;gap:.75rem;display:flex}.hero-content{flex-direction:column;gap:2rem;display:flex}.hero-visual,.floating-card,.feature-card,.card-icon,.card-title,.card-description{display:none}.btn{font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:.5rem;padding:.72rem 1.35rem;font-size:.74rem;font-weight:500;text-decoration:none;transition:all .25s;display:inline-block}.btn-primary{background:var(--ink);color:#faf9f7;border-color:var(--ink)}.btn-primary:hover{background:var(--ink-2);border-color:var(--ink-2);transform:translateY(-2px);box-shadow:0 10px 24px #1c1a1733}.btn-secondary{color:var(--ink);border-color:var(--border-strong);background:0 0}.btn-secondary:hover{border-color:var(--ink);background:var(--bg-warm);transform:translateY(-2px)}.section-header{max-width:760px;margin-bottom:4.5rem}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-size:.68rem;font-weight:600;display:block}.section-header h2{font-family:var(--serif);color:var(--ink);letter-spacing:-.02em;margin-bottom:1.25rem;font-size:clamp(2.2rem,5vw,3.75rem);font-weight:400;line-height:1.1}.section-header p{color:var(--text);max-width:52ch;font-size:.95rem;font-weight:300;line-height:1.85}.services{background:var(--bg-warm);padding:9rem 2rem}.services .container{max-width:1200px;margin:0 auto}.services-grid{counter-reset:service-counter;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;display:grid}.service-card{border:1px solid var(--border);background:var(--surface);cursor:default;counter-increment:service-counter;border-radius:.6rem;flex-direction:column;padding:2.4rem;transition:background .25s,transform .25s,box-shadow .25s;display:flex;position:relative}.service-card:first-child{grid-column:span 7}.service-card:nth-child(2),.service-card:nth-child(3){grid-column:span 5}.service-card:nth-child(4){grid-column:span 7}.service-card:nth-child(5){grid-column:span 4}.service-card:nth-child(6){grid-column:span 8}.service-card:hover{background:var(--bg-warm);transform:translateY(-3px);box-shadow:0 14px 34px #1c1a1714}.service-card:before{content:counter(service-counter, decimal-leading-zero);font-family:var(--serif);color:var(--border-strong);margin-bottom:1.75rem;font-size:2rem;font-weight:300;line-height:1;transition:color .25s;display:block}.service-card:hover:before{color:var(--accent)}.service-icon{display:none}.service-card h3{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;margin-bottom:.6rem;font-size:1.35rem;font-weight:500;line-height:1.25}.service-card p{color:var(--text);flex-grow:1;font-size:.875rem;font-weight:300;line-height:1.8}.portfolio{background:var(--bg);padding:9rem 2rem}.portfolio .container{max-width:1200px;margin:0 auto}.portfolio-grid{grid-template-columns:1fr;gap:1.1rem;max-width:1200px;margin:0 auto;display:grid}.portfolio-card{border:1px solid var(--border);background:linear-gradient(#fff 0%,#fdfcf9 100%);border-radius:.7rem;grid-template-columns:44% 1fr;min-height:320px;transition:transform .3s,box-shadow .3s;display:grid;position:relative;overflow:hidden}.portfolio-card:first-child{min-height:420px}.portfolio-card:hover{transform:translateY(-4px);box-shadow:0 18px 52px #1c1a171a}.portfolio-image{background:var(--bg-sand);border-right:1px solid var(--border);justify-content:center;align-items:center;width:100%;height:100%;font-size:3.2rem;transition:transform .4s;display:flex;overflow:hidden}.portfolio-card:first-child .portfolio-image{font-size:3.6rem}.portfolio-card:first-child .portfolio-image{background:linear-gradient(135deg,#d4bc96 0%,#c4a87a 100%)}.portfolio-card:nth-child(2) .portfolio-image{background:linear-gradient(135deg,#b8c9c4 0%,#9eb5ae 100%)}.portfolio-card:nth-child(3) .portfolio-image{background:linear-gradient(135deg,#c8bfaf 0%,#b5a99a 100%)}.portfolio-card:hover .portfolio-image{transform:scale(1.04)}.portfolio-content{z-index:1;flex-direction:column;justify-content:center;padding:2rem 2.15rem;display:flex;position:relative}.project-case{letter-spacing:.16em;text-transform:uppercase;width:fit-content;color:var(--text-muted);margin-bottom:.7rem;font-size:.62rem;font-weight:600;display:inline-block}.project-category{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);background:0 0;border:none;margin-bottom:.55rem;padding:0;font-size:.68rem;font-weight:600;display:inline-block}.portfolio-card h3{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.5rem;font-weight:500;line-height:1.25}.portfolio-card p{color:var(--text);margin-bottom:1.25rem;font-size:.875rem;font-weight:300;line-height:1.75}.project-link{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.72rem;font-weight:500;text-decoration:none;transition:gap .2s,color .2s;display:inline-flex}.project-link:after{content:"→"}.project-link:hover{color:var(--accent);gap:.75rem}.project-link.is-disabled{color:var(--text-muted);opacity:.75;cursor:default}.about{background:var(--bg-sand);border-top:none;padding:9rem 2rem}.about .container{max-width:1200px;margin:0 auto}.about-content{grid-template-columns:5fr 4fr;align-items:start;gap:6rem;max-width:1200px;margin:0 auto;display:grid}.about-text h2{font-family:var(--serif);color:var(--ink);letter-spacing:-.02em;margin-bottom:2rem;font-size:clamp(2.25rem,4.5vw,3.5rem);font-weight:400;line-height:1.15}.about-text p{color:var(--text);margin-bottom:1.5rem;font-size:.975rem;font-weight:300;line-height:1.9}.about-text p:hover{color:var(--text)}.stats{border-top:1px solid var(--border-strong);grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem;padding-top:2.5rem;display:grid}.stat{flex-direction:column;gap:.4rem;display:flex}.stat-number{font-family:var(--serif);color:var(--ink);letter-spacing:-.02em;background:0 0;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset;font-size:2.75rem;font-weight:400;line-height:1}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:500}.about-visual{flex-direction:column;align-items:flex-end;gap:.8rem;margin-top:.5rem;display:flex}.about-visual img{aspect-ratio:4/5;object-fit:cover;object-position:center;border:1px solid var(--border);border-radius:.7rem;width:100%;max-width:440px;box-shadow:0 20px 48px #1c1a1714}.about-visual figcaption{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem;font-weight:500}.contact{background:var(--bg);padding:9rem 2rem}.contact .container{max-width:1200px;margin:0 auto}.contact-content{grid-template-columns:4fr 8fr;gap:5rem;max-width:1200px;margin:0 auto;display:grid}.contact-info{flex-direction:column;gap:2rem;padding-top:.25rem;display:flex}.info-item{background:0 0;border:none;border-radius:0;flex-direction:column;gap:.3rem;padding:0;transition:none;display:flex}.info-item:hover{box-shadow:none;background:0 0;transform:none}.info-icon{display:none}.info-item h3{color:var(--text-muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:0;font-size:.7rem;font-weight:500;transition:none}.info-item:hover h3{color:var(--text-muted)}.info-item p{color:var(--ink);font-size:.95rem;font-weight:400;transition:none}.info-item:hover p{color:var(--ink)}.contact-form{flex-direction:column;gap:1rem;display:flex}.contact-form input,.contact-form textarea{border:1px solid var(--border);font-family:var(--sans);background:var(--surface);color:var(--ink);border-radius:.5rem;padding:.875rem 1rem;font-size:.875rem;font-weight:300;transition:border-color .2s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-muted)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink);box-shadow:none;outline:none}.contact-form input:hover,.contact-form textarea:hover{border-color:var(--border-strong)}.contact-form button{background:var(--ink);color:#faf9f7;border:1px solid var(--ink);font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:.5rem;align-self:flex-start;padding:.72rem 1.45rem;font-size:.74rem;font-weight:500;transition:all .25s}.contact-form button:hover{background:var(--ink-2);border-color:var(--ink-2);transform:translateY(-1px)}.contact-form button:disabled{opacity:.55;cursor:not-allowed;transform:none}.form-message{border-radius:.5rem;padding:1rem 1.25rem;font-size:.85rem;font-weight:400;animation:.3s fadeInUp}.form-message.success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.form-message.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.footer{color:#faf9f7;background:#171412;padding:3rem 2rem 1.5rem}.footer-content{border-bottom:1px solid #faf9f71a;justify-content:space-between;align-items:flex-start;gap:2rem;max-width:1200px;margin:0 auto;padding-bottom:1.75rem;display:flex}.footer-brand h2{font-family:var(--serif);color:#faf9f7;letter-spacing:.05em;margin-bottom:.45rem;font-size:1.28rem;font-weight:400}.footer-brand p{color:#faf9f773;max-width:34ch;font-size:.8rem;font-weight:300;line-height:1.6}.footer-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.9rem 1.2rem;display:flex}.footer-nav a{color:#faf9f799;letter-spacing:.09em;text-transform:uppercase;font-size:.7rem;font-weight:500;text-decoration:none;transition:color .2s}.footer-nav a:hover{color:#faf9f7}.footer-bottom{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding-top:1rem;display:flex}.footer-bottom p{color:#faf9f74d;letter-spacing:.05em;text-transform:uppercase;font-size:.68rem;font-weight:300}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.hero-inner{grid-template-columns:1fr;gap:1.75rem}.hero-rail{flex-flow:wrap;align-items:center;gap:.9rem;padding-top:0}.hero-rail-line{width:46px}.hero-rail-badges{flex-flow:wrap}.hero-footer{grid-template-columns:1fr;gap:1.5rem}.services-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.service-card:first-child,.service-card:nth-child(2),.service-card:nth-child(3),.service-card:nth-child(4),.service-card:nth-child(5),.service-card:nth-child(6){grid-column:span 3}.portfolio-card,.portfolio-card:first-child{min-height:unset;grid-template-columns:1fr}.portfolio-image{border-right:none;border-bottom:1px solid var(--border);min-height:230px}}@media (width<=768px){.logo-img{width:56px;height:56px}.menu-toggle{display:flex}.nav-menu{background:var(--surface);border:1px solid var(--border);z-index:100;border-radius:.75rem;flex-direction:column;gap:0;padding:.75rem;display:none;position:absolute;top:calc(100% + .5rem);left:1rem;right:1rem;box-shadow:0 8px 28px #1c1a1714}.nav-menu.active{display:flex}.nav-menu li{width:100%}.nav-menu a{border-radius:.4rem;padding:.85rem 1rem;font-size:.9rem;display:block}.nav-menu a:after{display:none}.nav-menu a:hover{background:var(--bg-warm)}.cta-button{text-align:center;margin:.25rem 0;display:block}.hero{padding-top:.5rem}.hero-inner{gap:1.4rem;padding:3.7rem 1.5rem 3.3rem}.hero-rail{display:none}.hero-image{height:clamp(220px,40vh,360px)}.hero-title{margin-bottom:1.8rem;font-size:clamp(2.2rem,9vw,3.2rem)}.hero-footer{border-top:1px solid var(--border);grid-template-columns:1fr;gap:1.2rem;padding-top:1.4rem}.hero-meta{display:none}.services{padding:5rem 1.5rem}.services-grid{grid-template-columns:1fr}.service-card{border-right:1px solid var(--border)!important;border-bottom:1px solid var(--border)!important;grid-column:auto!important}.service-card:last-child{border-bottom:1px solid var(--border)!important}.portfolio{padding:5rem 1.5rem}.portfolio-grid{grid-template-columns:1fr;gap:1.25rem}.portfolio-card,.portfolio-card:first-child{grid-template-columns:1fr}.portfolio-image{height:240px;min-height:240px}.about{padding:5rem 1.5rem}.about-content{grid-template-columns:1fr;gap:3rem}.about-visual{align-items:flex-start;margin-top:0}.about-visual img{aspect-ratio:16/10;max-width:100%}.stats{grid-template-columns:repeat(3,1fr);gap:1.25rem}.contact{padding:5rem 1.5rem}.contact-content{grid-template-columns:1fr;gap:3rem}.footer{padding:4rem 1.5rem 2rem}.footer-content{flex-direction:column;align-items:flex-start;gap:1.4rem}.footer-nav{justify-content:flex-start}.footer-bottom{text-align:center;flex-direction:column;gap:.5rem}}
