.navbar{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);display:flex;align-items:center;background:#fafaf7e0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.05);transition:background var(--t-normal),box-shadow var(--t-normal),border-color var(--t-normal)}.navbar.scrolled{background:#fffffffa;box-shadow:0 4px 24px #00000012;border-bottom-color:#00000014}.navbar .container{display:flex;align-items:center;justify-content:space-between}.navbar-brand{display:flex;align-items:center;gap:.85rem;text-decoration:none;transition:opacity var(--t-fast)}.navbar-brand:hover{opacity:.9}.navbar-logo-img{width:46px;height:46px;object-fit:contain;border-radius:50%;background:var(--c-white-pure);padding:3px;box-shadow:0 2px 8px #00000014;border:1px solid rgba(74,93,58,.15);flex-shrink:0;transition:transform var(--t-normal)}.navbar-brand:hover .navbar-logo-img{transform:rotate(5deg) scale(1.05)}.navbar-brand-text{display:flex;flex-direction:column}.navbar-brand-name{font-family:var(--f-display);font-size:1.35rem;line-height:1.1;color:var(--c-anthracite);letter-spacing:-.01em}.navbar-brand-name em{font-style:italic;color:var(--c-olive);font-family:var(--f-display)}.navbar-brand-sub{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-stone);font-weight:600}.navbar-links{display:flex;gap:var(--s-lg);align-items:center}.navbar-link{font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--c-anthracite);position:relative;padding:.25rem 0;transition:color var(--t-fast)}.navbar-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--c-olive);transition:width var(--t-normal)}.navbar-link:hover:after,.navbar-link.active:after{width:100%}.navbar-link.active{color:var(--c-olive)}.navbar-btn-devis{display:inline-flex;align-items:center;gap:.5rem;background:var(--c-olive);color:var(--c-white);padding:.55rem 1.25rem;border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-decoration:none;transition:all var(--t-fast);box-shadow:0 2px 10px #4a5d3a40;margin-left:.5rem}.navbar-btn-devis svg{width:14px;height:14px;transition:transform var(--t-fast)}.navbar-btn-devis:hover{background:var(--c-olive-light);transform:translateY(-1px);box-shadow:0 4px 14px #4a5d3a66}.navbar-btn-devis:hover svg{transform:translate(3px)}.navbar-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;z-index:110}.navbar-toggle span{display:block;width:24px;height:1.5px;background:var(--c-anthracite);transition:all var(--t-normal)}.navbar-toggle.open span:nth-child(1){transform:rotate(45deg) translate(4px,5px)}.navbar-toggle.open span:nth-child(2){opacity:0}.navbar-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-5px)}@media (max-width: 900px){.navbar-toggle{display:flex}.navbar-links{position:fixed;top:0;right:0;width:100%;height:100dvh;background:#fafaf7fa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;padding:2rem;transform:translate(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);box-shadow:-10px 0 30px #0000001a}.navbar-links.open{transform:translate(0)}.navbar-link{font-size:1.25rem;font-weight:500;letter-spacing:.08em}.navbar-btn-devis{margin-left:0;margin-top:1rem;width:100%;max-width:260px;justify-content:center;padding:.85rem 1.5rem;font-size:.92rem}}@media (max-width: 480px){.navbar-brand-name{font-size:1.2rem}.navbar-brand-sub{font-size:.58rem;letter-spacing:.08em}.navbar-logo-img{width:40px;height:40px}}.footer{background:var(--c-anthracite);color:var(--c-beige);padding:var(--s-xl) 0 var(--s-lg)}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--s-xl);margin-bottom:var(--s-xl)}.footer-brand-header{display:flex;align-items:center;gap:.85rem;margin-bottom:var(--s-sm)}.footer-logo-img{width:44px;height:44px;object-fit:contain;border-radius:50%;background:var(--c-white-pure);padding:3px;box-shadow:0 2px 8px #00000040;border:1px solid rgba(255,255,255,.15)}.footer-brand-name{font-family:var(--f-display);font-size:1.5rem;color:var(--c-white);margin-bottom:0}.footer-brand-name span{color:var(--c-olive-light)}.footer-brand p{color:var(--c-gray);font-size:.9rem;max-width:32ch;line-height:1.8}.footer-heading{font-family:var(--f-body);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-gray);margin-bottom:var(--s-md)}.footer-links{display:flex;flex-direction:column;gap:.75rem}.footer-links a{font-size:.9rem;color:var(--c-beige-dark);transition:color var(--t-fast)}.footer-links a:hover{color:var(--c-white)}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:var(--s-md);display:flex;justify-content:space-between;align-items:center}.footer-bottom p{font-size:.8rem;color:var(--c-gray)}@media (max-width: 768px){.footer{padding:3rem 0 2rem}.footer-inner{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.footer-brand p{max-width:100%}.footer-bottom{flex-direction:column;gap:.5rem;text-align:center}}.hero{position:relative;min-height:94vh;min-height:94svh;display:flex;align-items:center;padding-top:calc(var(--nav-height) + 2.5rem);padding-bottom:5rem;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-color:#111812}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#12181073,#12181099 40%,#0c100bd6);z-index:1}.hero-container{width:100%;position:relative;z-index:2}.hero-content{max-width:760px}.hero-tagline{display:inline-flex;align-items:center;gap:.85rem;font-size:.76rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#e5ede0;margin-bottom:1.5rem}.hero-tagline:before{content:"";width:1.5rem;height:1px;background:#a3c293}.hero-title{font-family:var(--f-display);font-size:clamp(2.8rem,5.5vw,4.4rem);font-weight:400;line-height:1.12;color:#fff;margin-bottom:1.5rem;letter-spacing:-.02em;text-shadow:0 2px 20px rgba(0,0,0,.35)}.hero-title em{font-family:var(--f-display);font-style:italic;font-weight:400;color:#e8ede4}.hero-desc{font-size:clamp(1.02rem,1.6vw,1.16rem);line-height:1.8;color:#fafaf7e0;max-width:600px;margin-bottom:2.5rem;font-weight:300;text-shadow:0 1px 12px rgba(0,0,0,.25)}.hero-actions{display:flex;align-items:center}.hero-btn{display:inline-flex;align-items:center;gap:.85rem;background:var(--c-olive);color:#fff;padding:1rem 2.25rem;font-family:var(--f-body);font-size:.92rem;font-weight:500;letter-spacing:.04em;text-decoration:none;border-radius:4px;box-shadow:0 4px 20px #0003;transition:background var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast)}.hero-btn svg{width:17px;height:17px;transition:transform var(--t-fast)}.hero-btn:hover{background:var(--c-olive-light);transform:translateY(-2px);box-shadow:0 8px 28px #0000004d}.hero-btn:hover svg{transform:translate(4px)}.approach{background:var(--c-beige)}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-xl);margin-top:var(--s-xl)}.approach-item{text-align:left}.approach-icon{width:48px;height:48px;margin-bottom:var(--s-md);color:var(--c-olive)}.approach-item h3{margin-bottom:var(--s-sm)}.approach-item p{font-size:.92rem;line-height:1.8}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-sm);margin-top:var(--s-xl);margin-bottom:var(--s-lg)}.preview-item{overflow:hidden;aspect-ratio:4/3;display:block;text-decoration:none;color:inherit}.preview-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow)}.preview-item:hover img{transform:scale(1.04)}.cta-banner{background:var(--c-olive);padding:var(--s-xl) 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-lg)}.cta-banner h2{color:var(--c-white);font-size:clamp(1.5rem,3vw,2rem)}.cta-banner .btn-outline{color:var(--c-white);border-color:var(--c-white);white-space:nowrap}.cta-banner .btn-outline:hover{background:var(--c-white);color:var(--c-olive)}@media (max-width: 768px){.hero{min-height:88vh;padding-top:calc(var(--nav-height) + 1.75rem);padding-bottom:3.5rem}.hero-tagline{font-size:.7rem;letter-spacing:.12em;margin-bottom:1.15rem}.hero-title{font-size:2.35rem;margin-bottom:1.25rem}.hero-desc{font-size:.98rem;line-height:1.7;margin-bottom:2rem}.hero-btn{width:100%;justify-content:space-between;padding:.95rem 1.5rem}.approach-grid{grid-template-columns:1fr;gap:var(--s-lg)}.preview-grid{grid-template-columns:1fr}.cta-inner{flex-direction:column;text-align:center}}.page-header{padding-top:calc(var(--nav-height) + var(--s-3xl));padding-bottom:var(--s-xl);background:var(--c-beige)}.page-header .section-title{margin-bottom:var(--s-sm)}.page-header .section-subtitle{margin-bottom:0}.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:var(--s-lg)}.filter-btn{font-family:var(--f-body);font-size:.78rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.55rem 1.2rem;border:1px solid var(--c-beige-dark);background:transparent;color:var(--c-anthracite);cursor:pointer;transition:all var(--t-fast)}.filter-btn:hover{border-color:var(--c-anthracite)}.filter-btn.active{background:var(--c-anthracite);color:var(--c-white);border-color:var(--c-anthracite)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-md);margin-top:var(--s-xl)}.project-card{display:block;text-decoration:none;color:inherit;overflow:hidden;transition:transform var(--t-normal)}.project-card:hover{transform:translateY(-4px)}.project-card-img{aspect-ratio:3/2;overflow:hidden;background:var(--c-beige)}.project-card-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow)}.project-card:hover .project-card-img img{transform:scale(1.04)}.project-card-body{padding:var(--s-md) 0 0}.project-card-category{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--c-olive);margin-bottom:.35rem}.project-card-body h3{font-size:1.2rem;margin-bottom:.25rem}.project-card-meta{font-size:.82rem;color:var(--c-gray)}.projects-empty{grid-column:1 / -1;text-align:center;padding:var(--s-xl);color:var(--c-gray)}@media (max-width: 768px){.page-header{padding-top:calc(var(--nav-height) + 1.75rem);padding-bottom:1.5rem}.filter-bar{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;margin-top:1.25rem;scrollbar-width:none;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{white-space:nowrap;flex-shrink:0;padding:.5rem 1rem;font-size:.74rem;border-radius:999px}.projects-grid{grid-template-columns:1fr;gap:2rem;margin-top:1.5rem}.project-card-img{border-radius:6px}}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000eb;display:flex;align-items:center;justify-content:center;opacity:0;animation:lb-fade-in .3s ease forwards;cursor:zoom-out}@keyframes lb-fade-in{to{opacity:1}}.lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:2px;animation:lb-scale-in .3s ease forwards}@keyframes lb-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-close{position:absolute;top:var(--s-md);right:var(--s-md);width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;cursor:pointer;opacity:.7;transition:opacity var(--t-fast);background:none;border:none}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;cursor:pointer;opacity:.6;transition:opacity var(--t-fast);background:none;border:none}.lightbox-nav:hover{opacity:1}.lightbox-prev{left:var(--s-md)}.lightbox-next{right:var(--s-md)}.lightbox-counter{position:absolute;bottom:var(--s-md);left:50%;transform:translate(-50%);color:#ffffff80;font-size:.8rem;font-weight:500;letter-spacing:.1em}.detail-hero{padding-top:var(--nav-height);background:var(--c-beige)}.detail-hero-img{width:100%;max-height:65vh;object-fit:cover;display:block}.detail-content{padding:var(--s-xl) 0 var(--s-3xl)}.detail-header{margin-bottom:var(--s-xl)}.detail-category{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-olive);margin-bottom:var(--s-xs)}.detail-header h1{margin-bottom:var(--s-sm)}.detail-meta{display:flex;gap:var(--s-md);font-size:.88rem;color:var(--c-gray);flex-wrap:wrap}.detail-meta-item{display:flex;align-items:center;gap:.35rem}.detail-meta-item svg{width:16px;height:16px}.detail-description{max-width:65ch;font-size:1.02rem;line-height:1.85;color:#5a5a5a;margin-bottom:var(--s-xl)}.detail-gallery{margin-bottom:var(--s-xl)}.detail-gallery-title{font-family:var(--f-body);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-gray);margin-bottom:var(--s-md)}.detail-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-xs)}.detail-gallery-item{aspect-ratio:4/3;overflow:hidden;cursor:zoom-in}.detail-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow)}.detail-gallery-item:hover img{transform:scale(1.04)}.detail-social{display:flex;gap:.75rem;margin-bottom:var(--s-xl)}.detail-social-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:500;color:var(--c-anthracite);padding:.5rem 1rem;border:1px solid var(--c-beige-dark);transition:all var(--t-fast)}.detail-social-link:hover{border-color:var(--c-olive);color:var(--c-olive)}.detail-social-link svg{width:16px;height:16px}.detail-nav{display:flex;justify-content:space-between;align-items:center;padding-top:var(--s-xl);border-top:1px solid var(--c-beige-dark)}.detail-nav-link{display:flex;flex-direction:column;gap:.2rem;text-decoration:none;transition:color var(--t-fast)}.detail-nav-link:hover{color:var(--c-olive)}.detail-nav-label{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--c-gray)}.detail-nav-title{font-family:var(--f-display);font-size:1.1rem}.detail-nav-link.next{text-align:right}.detail-back{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:500;letter-spacing:.04em;color:var(--c-gray);margin-bottom:var(--s-lg);transition:color var(--t-fast)}.detail-back:hover{color:var(--c-anthracite)}@media (max-width: 768px){.detail-hero-img{max-height:45vh;min-height:240px}.detail-content{padding:1.75rem 0 3rem}.detail-header{margin-bottom:1.5rem}.detail-header h1{font-size:2rem}.detail-gallery-grid{grid-template-columns:1fr;gap:.75rem}.detail-gallery-item{border-radius:6px}.detail-social{flex-wrap:wrap;gap:.5rem}.detail-social-link{border-radius:999px}.detail-nav{flex-direction:column;gap:1.25rem;align-items:stretch;padding-top:1.5rem}.detail-nav-link.next{text-align:left}}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-md);margin-top:var(--s-xl)}.service-card{padding:var(--s-xl);background:var(--c-white);border:1px solid var(--c-beige-dark);transition:border-color var(--t-normal),box-shadow var(--t-normal)}.service-card:hover{border-color:var(--c-olive);box-shadow:0 8px 30px #4a5d3a0f}.service-icon{width:40px;height:40px;color:var(--c-olive);margin-bottom:var(--s-md)}.service-card h3{margin-bottom:var(--s-sm)}.service-card p{font-size:.92rem;line-height:1.8}.process-section{background:var(--c-beige)}.process-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-lg);margin-top:var(--s-xl);position:relative}.process-timeline:before{content:"";position:absolute;top:32px;left:32px;right:32px;height:1px;background:var(--c-gray-light)}.process-step{text-align:center;position:relative}.process-number{width:64px;height:64px;border-radius:50%;background:var(--c-white);border:1px solid var(--c-olive);display:flex;align-items:center;justify-content:center;margin:0 auto var(--s-md);font-family:var(--f-display);font-size:1.25rem;color:var(--c-olive);position:relative;z-index:1}.process-step h3{margin-bottom:var(--s-xs)}.process-step p{font-size:.85rem;margin:0 auto;text-align:center}@media (max-width: 768px){.services-grid{grid-template-columns:1fr;gap:1.25rem;margin-top:1.5rem}.service-card{padding:1.5rem;border-radius:6px}.process-timeline{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.75rem}.process-timeline:before{display:none}}@media (max-width: 480px){.process-timeline{grid-template-columns:1fr;gap:1.75rem}}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3xl);margin-top:var(--s-xl)}.contact-form{display:flex;flex-direction:column;gap:var(--s-md)}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--c-anthracite)}.form-group input,.form-group textarea,.form-group select{font-family:var(--f-body);font-size:.95rem;padding:.9rem 1rem;border:1px solid var(--c-beige-dark);background:var(--c-white);color:var(--c-anthracite);transition:border-color var(--t-fast);outline:none;border-radius:0;-webkit-appearance:none}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--c-olive)}.form-group textarea{resize:vertical;min-height:140px}.form-group select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232C2C2C' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-md)}.form-submit{align-self:flex-start;margin-top:var(--s-sm)}.form-success{padding:var(--s-md);background:#4a5d3a14;border:1px solid var(--c-olive);color:var(--c-olive-dark);font-size:.92rem}.contact-info{padding-top:var(--s-sm)}.contact-info-intro{margin-bottom:var(--s-xl)}.contact-info-intro p{font-size:1.05rem;line-height:1.8}.contact-details{display:flex;flex-direction:column;gap:var(--s-lg)}.contact-detail{display:flex;gap:var(--s-md);align-items:flex-start}.contact-detail-icon{width:24px;height:24px;color:var(--c-olive);flex-shrink:0;margin-top:2px}.contact-detail h4{font-family:var(--f-body);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--c-gray);margin-bottom:.25rem}.contact-detail p,.contact-detail a{font-size:1rem;color:var(--c-anthracite)}.contact-detail a{transition:color var(--t-fast)}.contact-detail a:hover{color:var(--c-olive)}@media (max-width: 768px){.contact-layout{grid-template-columns:1fr;gap:2.5rem;margin-top:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.contact-info{order:-1}.contact-info-intro{margin-bottom:1.5rem}.form-group input,.form-group textarea,.form-group select{font-size:16px;border-radius:4px}.form-submit{width:100%;align-self:stretch}.form-submit .btn{width:100%;justify-content:center;padding:.95rem}}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f4f4f5}.admin-login-card{background:#fff;padding:3rem;width:100%;max-width:400px;box-shadow:0 1px 3px #0000000f;border:1px solid #e4e4e7}.admin-login-brand{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:.5rem}.admin-login-logo-img{width:64px;height:64px;object-fit:contain;border-radius:50%;background:#fff;padding:4px;box-shadow:0 4px 12px #00000014;border:1px solid #e4e4e7}.admin-login-logo{font-family:var(--f-display);font-size:1.5rem;text-align:center;color:var(--c-anthracite)}.admin-login-logo span{color:var(--c-olive)}.admin-login-sub{text-align:center;font-size:.85rem;color:var(--c-gray);margin-bottom:2rem}.admin-login-form{display:flex;flex-direction:column;gap:1.25rem}.admin-login-form label{font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#71717a;margin-bottom:.3rem;display:block}.admin-login-form input{width:100%;padding:.75rem 1rem;border:1px solid #e4e4e7;font-size:.95rem;font-family:var(--f-body);outline:none;transition:border-color .2s;border-radius:0}.admin-login-form input:focus{border-color:var(--c-olive)}.admin-login-btn{width:100%;padding:.85rem;background:var(--c-olive);color:#fff;border:none;font-family:var(--f-body);font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .2s}.admin-login-btn:hover{background:var(--c-olive-dark)}.admin-login-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.65rem 1rem;font-size:.85rem}.admin-layout{display:flex;min-height:100vh;background:#f4f4f5}.admin-sidebar{width:240px;background:#18181b;color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50}.admin-sidebar-brand{padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:.75rem}.admin-sidebar-logo-img{width:40px;height:40px;object-fit:contain;border-radius:50%;background:#fff;padding:2px;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.admin-sidebar-brand h2{font-family:var(--f-display);font-size:1.15rem;color:#fff}.admin-sidebar-brand h2 span{color:var(--c-olive-light)}.admin-sidebar-brand p{font-size:.7rem;color:#71717a;text-transform:uppercase;letter-spacing:.1em;margin-top:.25rem}.admin-sidebar-nav{flex:1;padding:1rem 0;display:flex;flex-direction:column;gap:.15rem}.admin-nav-link{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.5rem;font-size:.88rem;color:#a1a1aa;transition:all .15s;text-decoration:none;border:none;background:none;width:100%;text-align:left;cursor:pointer;font-family:var(--f-body)}.admin-nav-link:hover{color:#fff;background:#ffffff0a}.admin-nav-link.active{color:#fff;background:#ffffff14;border-right:2px solid var(--c-olive-light)}.admin-nav-link svg{width:18px;height:18px;flex-shrink:0}.admin-nav-badge{background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:9999px;margin-left:auto;line-height:1}.admin-sidebar-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.06)}.admin-nav-link.logout{color:#ef4444}.admin-nav-link.logout:hover{color:#f87171;background:#ef444414}.admin-nav-divider{height:1px;background:#ffffff0f;margin:.5rem 1.5rem}.admin-content{flex:1;margin-left:240px;padding:2rem;min-height:100vh}.admin-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.admin-page-header h1{font-family:var(--f-body);font-size:1.5rem;font-weight:600;color:var(--c-anthracite)}.admin-btn{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--f-body);font-size:.82rem;font-weight:500;padding:.6rem 1.2rem;border:1px solid #e4e4e7;background:#fff;color:var(--c-anthracite);cursor:pointer;transition:all .15s;text-decoration:none}.admin-btn:hover{border-color:#d4d4d8;box-shadow:0 1px 2px #0000000a}.admin-btn-primary{background:var(--c-olive);color:#fff;border-color:var(--c-olive)}.admin-btn-primary:hover{background:var(--c-olive-dark);border-color:var(--c-olive-dark)}.admin-btn-danger{color:#dc2626;border-color:#fecaca}.admin-btn-danger:hover{background:#fef2f2;border-color:#dc2626}.admin-btn-sm{padding:.4rem .8rem;font-size:.78rem}.admin-mobile-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:60;width:40px;height:40px;background:#18181b;color:#fff;border:none;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem}@media (max-width: 768px){.admin-mobile-toggle{display:flex}.admin-sidebar{transform:translate(-100%);transition:transform .25s ease}.admin-sidebar.open{transform:translate(0)}.admin-content{margin-left:0;padding:4rem 1rem 1rem}}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.dashboard-stat{background:#fff;border:1px solid #e4e4e7;padding:1.25rem 1.5rem}.dashboard-stat-value{font-size:2rem;font-weight:600;color:var(--c-anthracite);line-height:1}.dashboard-stat-label{font-size:.78rem;color:#71717a;text-transform:uppercase;letter-spacing:.08em;margin-top:.35rem}.dashboard-list{display:flex;flex-direction:column;gap:.5rem}.dashboard-item{display:grid;grid-template-columns:72px 1fr auto auto auto;gap:1rem;align-items:center;background:#fff;border:1px solid #e4e4e7;padding:.75rem 1rem;transition:border-color .15s}.dashboard-item:hover{border-color:#d4d4d8}.dashboard-item-thumb{width:72px;height:48px;object-fit:cover;background:#f4f4f5}.dashboard-item-info h3{font-family:var(--f-body);font-size:.92rem;font-weight:500;color:var(--c-anthracite);margin-bottom:.15rem}.dashboard-item-meta{font-size:.78rem;color:#71717a;display:flex;gap:.75rem}.dashboard-item-badge{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .6rem}.dashboard-item-badge.published{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.dashboard-item-badge.draft{background:#fefce8;color:#ca8a04;border:1px solid #fef08a}.dashboard-item-actions{display:flex;gap:.35rem}.dashboard-empty{text-align:center;padding:4rem 2rem;background:#fff;border:1px dashed #e4e4e7;color:#71717a}.dashboard-empty p{margin:0 auto;margin-bottom:1rem}@media (max-width: 768px){.dashboard-item{grid-template-columns:56px 1fr;gap:.75rem}.dashboard-item-badge,.dashboard-item-actions{grid-column:2}}.project-form-container{max-width:800px}.project-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{background:#fff;border:1px solid #e4e4e7;padding:1.5rem}.form-section-title{font-family:var(--f-body);font-size:.92rem;font-weight:600;color:var(--c-anthracite);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid #f4f4f5}.form-field{margin-bottom:1.25rem}.form-field:last-child{margin-bottom:0}.form-field label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#52525b;margin-bottom:.4rem}.form-field input,.form-field textarea,.form-field select{width:100%;padding:.7rem .9rem;border:1px solid #e4e4e7;font-family:var(--f-body);font-size:.9rem;color:var(--c-anthracite);outline:none;transition:border-color .15s;border-radius:0;background:#fff;-webkit-appearance:none}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--c-olive)}.form-field textarea{min-height:120px;resize:vertical;line-height:1.6}.form-field select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232C2C2C' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.5rem}.form-field-hint{font-size:.75rem;color:#a1a1aa;margin-top:.3rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.photo-dropzone{border:2px dashed #e4e4e7;padding:2rem;text-align:center;cursor:pointer;transition:all .2s;background:#fafafa}.photo-dropzone:hover,.photo-dropzone.dragging{border-color:var(--c-olive);background:#4a5d3a08}.photo-dropzone-icon{width:32px;height:32px;color:#a1a1aa;margin:0 auto .75rem}.photo-dropzone p{font-size:.88rem;color:#71717a;margin:0 auto}.photo-dropzone p strong{color:var(--c-olive)}.photo-dropzone-hint{font-size:.75rem;color:#a1a1aa;margin-top:.35rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem;margin-top:1rem}.photo-card{position:relative;aspect-ratio:4/3;overflow:hidden;border:2px solid transparent;transition:border-color .15s;cursor:pointer}.photo-card.main{border-color:var(--c-olive)}.photo-card img{width:100%;height:100%;object-fit:cover}.photo-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;display:flex;align-items:flex-start;justify-content:flex-end;padding:.35rem;transition:background .15s}.photo-card:hover .photo-card-overlay{background:#00000040}.photo-card-remove{width:24px;height:24px;background:#0009;color:#fff;border:none;display:flex;align-items:center;justify-content:center;font-size:.75rem;cursor:pointer;opacity:0;transition:opacity .15s}.photo-card:hover .photo-card-remove{opacity:1}.photo-card-main-badge{position:absolute;bottom:0;left:0;right:0;background:var(--c-olive);color:#fff;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:.2rem}.social-field{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.social-field:last-child{margin-bottom:0}.social-label{font-size:.8rem;font-weight:500;color:#52525b;width:90px;flex-shrink:0}.social-field input{flex:1;padding:.6rem .9rem;border:1px solid #e4e4e7;font-family:var(--f-body);font-size:.85rem;outline:none;transition:border-color .15s;border-radius:0}.social-field input:focus{border-color:var(--c-olive)}.form-toggle{display:flex;align-items:center;gap:.75rem}.toggle-switch{width:44px;height:24px;background:#d4d4d8;border-radius:12px;position:relative;cursor:pointer;transition:background .2s;border:none;padding:0}.toggle-switch.active{background:var(--c-olive)}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.toggle-switch.active:after{transform:translate(20px)}.toggle-label{font-size:.85rem;color:var(--c-anthracite)}.form-actions{display:flex;gap:.75rem;padding-top:.5rem}.form-toast{position:fixed;bottom:2rem;right:2rem;background:#18181b;color:#fff;padding:.85rem 1.5rem;font-size:.88rem;z-index:200;animation:toast-in .3s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.photo-uploading{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.85rem;color:#71717a}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.form-field input,.form-field textarea,.form-field select,.social-field input{font-size:16px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.photo-dropzone{padding:1.5rem 1rem}.form-actions{flex-direction:column}.form-actions .admin-btn{width:100%;justify-content:center;padding:.85rem}.form-toast{left:1rem;right:1rem;bottom:1rem;text-align:center}}.settings-form{max-width:600px}.settings-form .form-section{margin-bottom:1.5rem}.settings-saved{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:#16a34a;margin-left:1rem;animation:toast-in .3s ease}.appearance-page{max-width:900px}.admin-page-desc{font-size:.88rem;color:#71717a;margin-top:.25rem}.appearance-form{display:flex;flex-direction:column;gap:2rem;margin-top:1.5rem}.appearance-section{background:#fff;border:1px solid #e4e4e7;padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem}.appearance-section-header{border-bottom:1px solid #f4f4f5;padding-bottom:1rem;margin-bottom:.5rem}.appearance-section-header h2{font-family:var(--f-body);font-size:1.15rem;font-weight:600;color:var(--c-anthracite)}.appearance-section-header p{font-size:.82rem;color:#71717a;margin-top:.2rem}.hero-preview-box{position:relative;width:100%;height:260px;border-radius:4px;overflow:hidden;background:#18181b;border:1px solid #e4e4e7}.hero-preview-img{width:100%;height:100%;object-fit:cover;opacity:.85}.hero-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#0006;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:1rem;text-align:center}.hero-preview-hint{font-size:.78rem;color:#fffc}.logo-preview-box{display:flex;align-items:center;gap:1.5rem;padding:1rem;background:#fafafa;border:1px solid #e4e4e7}.logo-preview-circle{width:72px;height:72px;border-radius:50%;background:#fff;border:1px solid #e4e4e7;display:flex;align-items:center;justify-content:center;padding:4px;box-shadow:0 2px 8px #0000000d;flex-shrink:0}.logo-preview-img{width:100%;height:100%;object-fit:contain}.logo-preview-controls{display:flex;flex-direction:column;gap:.4rem}.appearance-actions{display:flex;justify-content:flex-end;padding:1rem 0}@media (max-width: 768px){.appearance-section{padding:1.25rem}.hero-preview-box{height:200px}.logo-preview-box{flex-direction:column;align-items:flex-start}.appearance-actions .admin-btn{width:100%;justify-content:center}}.messages-container{display:flex;flex-direction:column;gap:1.5rem;max-width:1300px}.messages-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.messages-title-row{display:flex;align-items:center;gap:.75rem}.messages-title-row h1{font-family:var(--f-body);font-size:1.5rem;font-weight:600;color:var(--c-anthracite);margin:0}.messages-badge-unread{background:#ef4444;color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:9999px;animation:pulseBadge 2s infinite ease-in-out}@keyframes pulseBadge{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.messages-subtitle{font-size:.85rem;color:#71717a;margin-top:.25rem}.messages-top-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.messages-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.messages-stat-card{background:#fff;border:1px solid #e4e4e7;padding:1rem 1.25rem;cursor:pointer;transition:all .15s ease;border-left:3px solid transparent}.messages-stat-card:hover{border-color:#cbd5e1;transform:translateY(-1px)}.messages-stat-card.active{border-color:#94a3b8;border-left-color:var(--c-olive);background:#fafafa}.messages-stat-num{font-size:1.75rem;font-weight:700;color:var(--c-anthracite);line-height:1}.messages-stat-label{font-size:.75rem;color:#71717a;text-transform:uppercase;letter-spacing:.05em;margin-top:.4rem}.stat-unread .messages-stat-num{color:#ef4444}.stat-unread.active{border-left-color:#ef4444}.stat-replied .messages-stat-num{color:#10b981}.stat-replied.active{border-left-color:#10b981}.messages-toolbar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.messages-search-box{flex:1;min-width:260px;position:relative;display:flex;align-items:center}.messages-search-box svg{position:absolute;left:.9rem;width:16px;height:16px;color:#9ca3af}.messages-search-box input{width:100%;padding:.65rem 2rem .65rem 2.5rem;border:1px solid #e4e4e7;background:#fff;font-size:.85rem;font-family:var(--f-body);border-radius:0;transition:border-color .15s}.messages-search-box input:focus{outline:none;border-color:var(--c-olive)}.messages-search-clear{position:absolute;right:.75rem;background:none;border:none;color:#9ca3af;cursor:pointer;font-size:.85rem}.messages-type-select{padding:.65rem 1rem;border:1px solid #e4e4e7;background:#fff;font-size:.85rem;font-family:var(--f-body);color:var(--c-anthracite);cursor:pointer}.messages-type-select:focus{outline:none;border-color:var(--c-olive)}.messages-split-view{display:grid;grid-template-columns:360px 1fr;gap:1.25rem;background:transparent;min-height:600px}.messages-list-pane{background:#fff;border:1px solid #e4e4e7;display:flex;flex-direction:column;height:680px;overflow:hidden}.messages-items-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column}.messages-empty-pane{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;height:100%;color:#71717a}.messages-empty-pane svg{width:48px;height:48px;stroke:#cbd5e1;margin-bottom:1rem}.messages-empty-pane h4{font-size:1rem;font-weight:600;color:var(--c-anthracite);margin-bottom:.35rem}.messages-empty-pane p{font-size:.82rem;line-height:1.4;max-width:240px;margin-bottom:1rem}.messages-item-card{display:flex;align-items:flex-start;gap:.85rem;padding:1rem 1.15rem;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:all .15s ease;position:relative;background:#fff}.messages-item-card:hover{background:#f8fafc}.messages-item-card.selected{background:#f0fdf4;border-left:3px solid #10b981}.messages-item-card.unread{background:#fffdf5}.messages-item-avatar{width:38px;height:38px;border-radius:50%;background:#2e4a28;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;letter-spacing:.05em;flex-shrink:0;position:relative}.messages-unread-dot{position:absolute;top:-2px;right:-2px;width:10px;height:10px;background:#ef4444;border:2px solid white;border-radius:50%}.messages-item-content{flex:1;min-width:0}.messages-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.2rem}.messages-item-name{font-size:.9rem;color:var(--c-anthracite);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-item-name.bold{font-weight:700;color:#0f172a}.messages-item-date{font-size:.72rem;color:#94a3b8;white-space:nowrap;flex-shrink:0}.messages-item-meta{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem;flex-wrap:wrap}.messages-tag-type{font-size:.7rem;background:#f1f5f9;color:#475569;padding:.15rem .45rem;border-radius:3px;white-space:nowrap}.messages-status-badge{font-size:.68rem;padding:.15rem .45rem;border-radius:3px;font-weight:500}.messages-status-badge.replied{background:#ecfdf5;color:#059669}.messages-status-badge.archived{background:#f1f5f9;color:#64748b}.messages-item-snippet{font-size:.78rem;color:#64748b;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.messages-detail-pane{background:#fff;border:1px solid #e4e4e7;height:680px;overflow-y:auto;display:flex;flex-direction:column}.messages-detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:3rem;text-align:center;color:#94a3b8}.messages-detail-placeholder svg{width:64px;height:64px;stroke:#cbd5e1;margin-bottom:1.25rem}.messages-detail-placeholder h3{font-size:1.15rem;font-weight:600;color:var(--c-anthracite);margin-bottom:.4rem}.messages-detail-placeholder p{font-size:.85rem;max-width:320px;line-height:1.5}.messages-detail-content{padding:1.75rem;display:flex;flex-direction:column;gap:1.5rem}.messages-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:1.25rem;border-bottom:1px solid #f1f5f9}.messages-detail-author{display:flex;align-items:center;gap:1rem}.messages-detail-avatar-large{width:50px;height:50px;border-radius:50%;background:#2e4a28;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:600;letter-spacing:.05em;flex-shrink:0}.messages-detail-author h2{font-family:var(--f-body);font-size:1.3rem;font-weight:600;color:var(--c-anthracite);margin:0}.messages-detail-sub{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:#64748b;margin-top:.25rem;flex-wrap:wrap}.messages-sep{color:#cbd5e1}.messages-status-pill{font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:9999px}.messages-status-pill.unread{background:#fef2f2;color:#dc2626}.messages-status-pill.read{background:#f1f5f9;color:#475569}.messages-status-pill.replied{background:#ecfdf5;color:#059669}.messages-status-pill.archived{background:#f8fafc;color:#94a3b8}.messages-detail-top-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.messages-contact-card{background:#f8fafc;border:1px solid #e2e8f0;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.85rem}.messages-contact-item{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.messages-contact-icon{font-size:1.15rem;width:28px;text-align:center}.messages-contact-info{display:flex;flex-direction:column;min-width:180px}.messages-contact-label{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.messages-contact-value{font-size:.92rem;font-weight:500;color:var(--c-anthracite);text-decoration:none}a.messages-contact-value:hover{color:var(--c-olive);text-decoration:underline}.messages-contact-btns{display:flex;align-items:center;gap:.4rem;margin-left:auto}.messages-icon-btn{background:#fff;border:1px solid #cbd5e1;padding:.4rem .65rem;font-size:.75rem;color:#475569;cursor:pointer;transition:all .15s}.messages-icon-btn:hover{border-color:#94a3b8;color:var(--c-anthracite)}.messages-body-section{display:flex;flex-direction:column;gap:.6rem}.messages-body-title{font-size:.85rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em;margin:0}.messages-body-bubble{background:#fff;border:1px solid #e2e8f0;border-left:4px solid var(--c-olive);padding:1.25rem 1.5rem;box-shadow:0 1px 3px #00000008}.messages-body-bubble p{font-size:.95rem;line-height:1.65;color:#1e293b;margin:0;white-space:pre-wrap}.messages-notes-section{background:#fffbeb;border:1px solid #fef3c7;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.messages-notes-header{display:flex;flex-direction:column;gap:.2rem}.messages-notes-header h3{font-size:.88rem;font-weight:600;color:#92400e;margin:0}.messages-notes-desc{font-size:.75rem;color:#b45309}.messages-notes-textarea{width:100%;border:1px solid #fde68a;background:#fff;padding:.65rem .85rem;font-size:.85rem;font-family:var(--f-body);color:#1e293b;line-height:1.45;resize:vertical}.messages-notes-textarea:focus{outline:none;border-color:#d97706}.messages-notes-footer{display:flex;align-items:center;gap:.75rem}.messages-note-saved{font-size:.8rem;color:#059669;font-weight:500}.messages-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#71717a;gap:1rem}.messages-spinner{width:32px;height:32px;border:3px solid #e4e4e7;border-top-color:var(--c-olive);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 960px){.messages-split-view{grid-template-columns:1fr;height:auto}.messages-list-pane{height:420px}.messages-detail-pane{height:auto;min-height:500px}.messages-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.messages-stats-grid{grid-template-columns:1fr}.messages-header{flex-direction:column}.messages-top-actions{width:100%}.messages-top-actions button{flex:1}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--c-olive: #4A5D3A;--c-olive-light: #5E7548;--c-olive-dark: #3A4A2E;--c-beige: #F5F0E8;--c-beige-dark: #E8E0D0;--c-stone: #8B7355;--c-stone-light: #A08968;--c-anthracite: #2C2C2C;--c-white: #FAFAF7;--c-white-pure: #FFFFFF;--c-gray: #9A9A9A;--c-gray-light: #D4D0C8;--c-overlay: rgba(44, 44, 44, .7);--f-display: "DM Serif Display", Georgia, serif;--f-body: "Inter", -apple-system, sans-serif;--s-xs: .5rem;--s-sm: 1rem;--s-md: 1.5rem;--s-lg: 2.5rem;--s-xl: 4rem;--s-2xl: 6rem;--s-3xl: 8rem;--t-fast: .2s ease;--t-normal: .4s ease;--t-slow: .7s ease;--t-slower: 1s ease;--max-width: 1200px;--nav-height: 80px}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--f-body);font-weight:400;font-size:16px;line-height:1.7;color:var(--c-anthracite);background-color:var(--c-white);overflow-x:hidden}h1,h2,h3,h4{font-family:var(--f-display);font-weight:400;line-height:1.2;color:var(--c-anthracite)}h1{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.02em}h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.01em}h3{font-size:clamp(1.25rem,2vw,1.5rem)}p{color:#5a5a5a;max-width:60ch}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}ul{list-style:none}button{font-family:var(--f-body);cursor:pointer;border:none;background:none}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--s-md)}.section{padding:var(--s-3xl) 0}.section-label{font-family:var(--f-body);font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--c-olive);margin-bottom:var(--s-sm)}.section-title{margin-bottom:var(--s-lg)}.section-subtitle{font-size:1.05rem;color:var(--c-gray);max-width:50ch;line-height:1.8}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-body);font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:1rem 2rem;border-radius:0;transition:all var(--t-normal);cursor:pointer}.btn-primary{background:var(--c-olive);color:var(--c-white);border:1px solid var(--c-olive)}.btn-primary:hover{background:var(--c-olive-dark);border-color:var(--c-olive-dark)}.btn-outline{background:transparent;color:var(--c-anthracite);border:1px solid var(--c-anthracite)}.btn-outline:hover{background:var(--c-anthracite);color:var(--c-white)}.btn-text{padding:0;text-transform:uppercase;font-size:.8rem;font-weight:600;letter-spacing:.12em;color:var(--c-olive);position:relative}.btn-text:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--c-olive);transition:width var(--t-normal)}.btn-text:hover:after{width:100%}.divider{width:60px;height:1px;background:var(--c-olive);margin:var(--s-md) 0}.fade-in-section{opacity:0;transform:translateY(30px);transition:opacity var(--t-slow),transform var(--t-slow)}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}@media (max-width: 768px){.section{padding:var(--s-xl) 0}:root{--nav-height: 64px}}
