@import"https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600&family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=Roboto+Condensed:ital,wght@0,300;0,400;0,700;1,300;1,400&family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500&family=Tangerine:wght@700&display=swap";:root{--font-title: "Roboto Condensed", sans-serif;--font-logo: "Tangerine", cursive;--font-body: "Roboto", sans-serif;--color-accent: #a5955c;--color-accent-hover: #8e7f4c;--color-accent-menu: #76663c;--color-bg: #ffffff;--color-bg-alt: #f9f9f9;--color-text-dark: #222222;--color-text-gray: #666666;--color-text-light: #555555;--color-border: #e8e8e8;--max-width: 1192px}body.theme-portfolio{--color-bg: #0a0a0a;--color-bg-alt: #121212;--color-text-dark: #ffffff;--color-text-gray: #e5e7eb;--color-text-light: #f3f4f6;--color-border: rgba(255, 255, 255, .12);--color-accent-menu: #d9c58a}*{box-sizing:border-box;margin:0;padding:0}em,i{font-style:italic!important}strong,b{font-weight:600!important}body{background-color:var(--color-bg);color:var(--color-text-dark);font-family:var(--font-body);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}.page-container{display:flex;flex-direction:row;min-height:100vh}.content-wrapper{flex:1;padding:40px 60px;margin-left:280px;width:calc(100% - 280px);background-color:var(--color-bg);min-height:100vh;display:flex;flex-direction:column;justify-content:space-between}.header{width:280px;height:100vh;position:fixed;top:0;left:0;background-color:var(--color-bg);border-right:1px solid var(--color-border);padding:40px 30px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;z-index:100;overflow-y:auto}.header-title{margin-bottom:20px}.header-title .logo{font-family:var(--font-logo);font-size:3.5rem;font-weight:700;color:var(--color-accent);text-decoration:none;line-height:1;display:block}.header-title .logo:hover{opacity:.85}.header-subtitle{font-family:var(--font-title);font-weight:300;font-size:.95rem;letter-spacing:.25em;text-transform:uppercase;color:var(--color-text-gray);margin-top:5px}.menu-bg{width:100%;margin-top:30px}.menu{display:flex;flex-direction:column;align-items:flex-start;list-style:none;gap:15px;width:100%}.menu li{width:100%}.menu a{font-family:var(--font-title);font-weight:300;font-size:.9rem;text-transform:uppercase;text-decoration:none;color:var(--color-text-dark);letter-spacing:.05em;transition:color .2s ease;display:block;padding:4px 0}.menu a:hover,.menu a.active{color:var(--color-accent-menu)}.submenu{list-style:none;padding-left:15px;margin-top:6px;margin-bottom:5px;display:flex;flex-direction:column;gap:8px}.submenu a{font-size:.8rem;text-transform:none;color:var(--color-text-light);letter-spacing:.02em;padding:2px 0;transition:color .2s ease}.submenu a:hover,.submenu a.active{color:var(--color-accent-menu)}@media (max-width: 1191px){.submenu{padding-left:0;align-items:center;margin-top:4px;margin-bottom:8px}}.menu-toggle{display:none;background:none;border:none;color:var(--color-text-dark);font-size:1.5rem;cursor:pointer;padding:10px;margin:10px auto}.home-photo-container{width:100%;margin-bottom:25px;overflow:hidden;box-shadow:0 4px 15px #00000008;aspect-ratio:16 / 9;max-height:500px;background-color:var(--color-bg-alt, #1a1e29);border-radius:6px}.home-photo{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.home-tagline-card{display:inline-block;background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:30px;padding:10px 24px;font-size:1rem;font-style:italic;text-align:center;color:var(--color-text-gray);box-shadow:0 2px 5px #00000008;margin:0 auto 25px;max-width:90%;word-wrap:break-word}.about-tagline-card p,.home-tagline-card p{margin:0;display:inline}.home-text{text-align:left;font-style:normal;font-size:1.1rem;color:var(--color-text-dark);max-width:800px;margin:0 0 35px;line-height:1.8;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:30px 40px;box-shadow:-12px 16px 28px #0000000d,-4px 6px 10px #00000005;transition:transform .3s ease,box-shadow .3s ease}.home-text p{margin-bottom:1.2rem;color:var(--color-text-dark)}.home-text em,.home-text i{color:#fff}.home-text p:last-child{margin-bottom:0}.home-text:hover{transform:translateY(-3px);box-shadow:-18px 24px 38px #00000012,-6px 8px 12px #00000008}.section-title{font-family:var(--font-title);font-weight:300;font-size:1.8rem;text-transform:uppercase;color:var(--color-text-dark);margin-bottom:20px;letter-spacing:.1em;border-left:3px solid var(--color-accent);padding-left:12px}.grid-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px;margin-bottom:40px}.gallery-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;overflow:hidden;text-decoration:none;color:var(--color-text-dark);transition:transform .25s ease,box-shadow .25s ease}.gallery-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000000d;border-color:var(--color-accent)}.gallery-cover-container{aspect-ratio:3/2;overflow:hidden;background-color:var(--color-bg-alt, #12161f);position:relative}.gallery-cover{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease}.gallery-card:hover .gallery-cover{transform:scale(1.04)}.gallery-info{padding:15px}.gallery-info h3{font-family:var(--font-title);font-weight:400;font-size:1.05rem;margin-bottom:5px;text-transform:uppercase;letter-spacing:.02em}.gallery-info p{font-size:.8rem;color:var(--color-text-gray);line-height:1.4;height:2.8em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.masonry-grid{columns:3 320px;column-gap:20px;margin-bottom:40px}.masonry-item{break-inside:avoid;margin-bottom:20px;position:relative;overflow:hidden;border-radius:4px;border:1px solid var(--color-border);cursor:pointer;background-color:#fafafa}.masonry-img{width:100%;display:block;transition:transform .4s ease}.masonry-item:hover .masonry-img{transform:scale(1.03)}.masonry-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.1) 60%,transparent 100%);opacity:0;transition:opacity .3s ease;display:flex;flex-direction:column;justify-content:flex-end;padding:15px;color:#fff}.masonry-item:hover .masonry-overlay{opacity:1}.masonry-overlay h4{font-size:.95rem;font-weight:500}.masonry-overlay p{font-size:.75rem;opacity:.8;margin-top:2px}.about-section{display:flex;flex-direction:column;gap:30px;margin-bottom:40px}@media (min-width: 768px){.about-section{flex-direction:row}}.about-avatar-container{width:180px;height:180px;border-radius:50%;overflow:hidden;border:4px solid var(--color-accent);margin:0 auto;flex-shrink:0}.about-avatar{width:100%;height:100%;object-fit:cover}.about-tagline-card{max-width:180px;background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;padding:8px 12px;font-size:.85rem;font-style:italic;text-align:center;color:var(--color-text-gray);box-shadow:0 1px 3px #0000000d;word-wrap:break-word}.about-content{flex:1}.about-content p{margin-bottom:15px;color:#444}.contact-form{max-width:600px;margin:0 auto 40px;display:flex;flex-direction:column;gap:15px}.form-input,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:4px;font-family:inherit;font-size:.9rem;outline:none;background-color:var(--color-bg-alt)}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent);background-color:var(--color-bg)}.btn-submit{align-self:flex-start;background-color:var(--color-accent);color:#fff;border:none;padding:10px 24px;border-radius:4px;font-family:var(--font-title);font-size:.95rem;text-transform:uppercase;cursor:pointer;transition:background-color .2s ease}.btn-submit:hover{background-color:var(--color-accent-hover)}.footer{width:100%;padding:30px 20px;border-top:1px solid var(--color-border);background-color:var(--color-bg-alt);text-align:center;font-size:.8rem;color:var(--color-text-gray);display:flex;flex-direction:column;gap:5px}.footer a{color:var(--color-accent);text-decoration:none;font-weight:500}.footer a:hover{text-decoration:underline}.watermark-badge{position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;align-items:center;gap:8px;background-color:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-accent);padding:6px 14px;border-radius:9999px;box-shadow:0 4px 15px #00000014;text-decoration:none;color:var(--color-text-dark);font-size:.75rem;font-family:var(--font-title);letter-spacing:.02em;transition:all .2s ease}.watermark-badge:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f;background-color:#fff}.watermark-badge .dot{width:7px;height:7px;background-color:var(--color-accent);border-radius:50%;animation:pulse-gold 2s infinite}@keyframes pulse-gold{0%{transform:scale(.95);box-shadow:0 0 #a5955cb3}70%{transform:scale(1);box-shadow:0 0 0 5px #a5955c00}to{transform:scale(.95);box-shadow:0 0 #a5955c00}}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:var(--color-text-gray)}.spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:15px}@keyframes spin{to{transform:rotate(360deg)}}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000;z-index:9999;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;overflow-y:auto}.lightbox-header{display:flex;justify-content:space-between;align-items:center;padding:max(15px,env(safe-area-inset-top,15px)) 25px 15px;color:#fff;z-index:10;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent)}.lightbox-title{font-family:var(--font-title);font-size:1.1rem;letter-spacing:.05em;text-transform:uppercase;max-width:50vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox-close{background:none;border:none;color:#fff;font-size:2.2rem;cursor:pointer;line-height:1;transition:transform .2s,color .2s}.lightbox-close:hover{transform:scale(1.1);color:var(--color-accent)}.lightbox-body{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.lightbox-img{max-width:95%;max-height:82vh;object-fit:contain;box-shadow:0 10px 40px #00000080;transition:transform .1s ease}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#0000004d;color:#fff;border:none;font-size:2.5rem;padding:10px 20px;cursor:pointer;z-index:15;transition:background-color .2s,color .2s;border-radius:4px}.lightbox-nav-btn:hover{background:#000000b3;color:var(--color-accent)}.lightbox-nav-btn.prev{left:20px}.lightbox-nav-btn.next{right:20px}@media (max-width: 1191px){.page-container{flex-direction:column}.header{width:100%;height:auto;position:relative;border-right:none;border-bottom:1px solid var(--color-border);padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center}.header-title{margin-bottom:10px}.header-subtitle{margin-top:0}.menu-bg{margin-top:10px}.menu-toggle{display:block;position:absolute;top:20px;right:20px}.menu{display:none;flex-direction:column;align-items:center;width:100%;gap:12px;padding:15px 0 5px}.menu.open{display:flex}.menu a{text-align:center;padding:6px 0}.content-wrapper{margin-left:0;width:100%;padding:25px 20px;min-height:calc(100vh - 70px);display:flex;flex-direction:column;justify-content:space-between}}.lightbox-footer-container{position:relative;z-index:20;width:100%;padding:15px 30px max(15px,env(safe-area-inset-bottom,15px)) 30px;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.4) 60%,transparent 100%);display:flex;flex-direction:column;gap:12px;box-sizing:border-box}.lightbox-desc-container{max-width:750px;margin:0 auto;width:100%;background:#121212d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px 18px;box-shadow:0 8px 24px #00000080;animation:popup-fadeIn .2s ease-out;max-height:140px;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}.lightbox-desc{font-size:.9rem;line-height:1.5;color:#e5e5e5;margin:0;text-align:center;font-weight:300}.lightbox-footer-bar{display:flex;justify-content:space-between;align-items:center;max-width:1400px;width:100%;margin:0 auto}.lightbox-counter{color:#ccc;font-size:.95rem;font-weight:500;letter-spacing:.05em}.lightbox-actions{display:flex;align-items:center;gap:12px}.lightbox-action-btn{background-color:#1e1e1ebf;border:1px solid rgba(255,255,255,.2);color:#fff;width:44px;height:44px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 4px 10px #0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.lightbox-action-btn:hover,.lightbox-action-btn.active{background-color:var(--color-accent);border-color:var(--color-accent)}.lightbox-action-btn:hover{transform:translateY(-2px)}.lightbox-action-btn.report-btn:hover{background-color:#ef4444;border-color:#ef4444}.lightbox-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000bf;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:15px;padding-bottom:max(20px,env(safe-area-inset-bottom,20px))}.lightbox-popup-card{background-color:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:12px;width:100%;max-width:460px;max-height:calc(100vh - 40px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:22px;box-shadow:0 15px 40px #0009;animation:popup-fadeIn .25s cubic-bezier(.16,1,.3,1);text-align:left;color:#fff;box-sizing:border-box}@keyframes popup-fadeIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:10px}.popup-header h4{font-family:var(--font-title);text-transform:uppercase;font-size:1.05rem;letter-spacing:.05em;color:#fff;margin:0}.popup-close{background:none;border:none;color:#999;font-size:1.75rem;cursor:pointer;line-height:1}.popup-close:hover{color:#fff}.popup-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:20px}.btn-cancel{background-color:transparent;color:#b3b3b3;border:1px solid rgba(255,255,255,.15);padding:8px 18px;border-radius:4px;font-family:var(--font-title);text-transform:uppercase;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-cancel:hover{background-color:#ffffff0d;color:#fff}.lightbox-comment-form{display:flex;flex-direction:column;gap:15px}.lightbox-comment-form .form-group{display:flex;flex-direction:column;gap:5px}.lightbox-comment-form label{font-size:.75rem;text-transform:uppercase;color:#b3b3b3;letter-spacing:.02em}.lightbox-comment-form input,.lightbox-comment-form textarea{width:100%;padding:10px 12px;background-color:#121212;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-family:inherit;font-size:16px;outline:none;transition:border-color .2s;box-sizing:border-box}.lightbox-comment-form input:focus,.lightbox-comment-form textarea:focus{border-color:var(--color-accent)}.btn-submit-comment{background-color:var(--color-accent);color:#fff;border:none;padding:8px 20px;border-radius:4px;font-family:var(--font-title);text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;cursor:pointer;transition:background-color .2s}.btn-submit-comment:hover{background-color:var(--color-accent-hover)}.btn-submit-comment:disabled{opacity:.5;cursor:not-allowed}.comment-alert{padding:10px 14px;border-radius:4px;font-size:.85rem;margin-bottom:15px;text-align:center}.comment-alert.success{background-color:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#34d399}.comment-alert.error{background-color:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#f87171}.lightbox-bg-selector{display:flex;gap:10px;align-items:center;margin-right:25px}.bg-dot{width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);cursor:pointer;padding:0;transition:all .2s ease;outline:none}.bg-dot:hover{transform:scale(1.25)}.bg-dot.active{border-color:var(--color-accent);box-shadow:0 0 6px var(--color-accent);transform:scale(1.15)}.bg-dot.black{background-color:#000}.bg-dot.gray{background-color:#333}.bg-dot.white{background-color:#fff;border-color:#00000040}.bg-dot.white.active{border-color:var(--color-accent)}.lightbox-overlay.bg-black{background-color:#000}.lightbox-overlay.bg-gray{background-color:#262626}.lightbox-overlay.bg-white{background-color:#f3f4f6}.lightbox-overlay.bg-white .lightbox-title,.lightbox-overlay.bg-white .lightbox-close,.lightbox-overlay.bg-white .lightbox-nav-btn{color:#1a1a1a;text-shadow:none}.lightbox-overlay.bg-white .lightbox-header{border-bottom-color:#00000014}.lightbox-overlay.bg-white .lightbox-footer-container{background:linear-gradient(to top,rgba(243,244,246,.95) 0%,rgba(243,244,246,.6) 60%,transparent 100%)}.lightbox-overlay.bg-white .lightbox-counter{color:#1a1a1a}.lightbox-overlay.bg-white .lightbox-desc-container{background:#fffffff2;border-color:#0000001f;box-shadow:0 8px 24px #0000001a}.lightbox-overlay.bg-white .lightbox-desc{color:#1a1a1a}.lightbox-overlay.bg-white .lightbox-action-btn{background-color:#ffffffd9;border-color:#00000026;color:#1a1a1a}@media (max-width: 768px){.lightbox-header{padding:max(12px,env(safe-area-inset-top,12px)) 15px 10px}.lightbox-title{font-size:.9rem;max-width:45vw}.lightbox-bg-selector{margin-right:10px;gap:6px}.lightbox-close{font-size:1.9rem}.lightbox-nav-btn{padding:6px 10px;font-size:1.8rem}.lightbox-nav-btn.prev{left:8px}.lightbox-nav-btn.next{right:8px}.lightbox-footer-container{padding:8px 15px max(12px,env(safe-area-inset-bottom,12px)) 15px;gap:8px}.lightbox-desc-container{padding:8px 12px;max-height:90px}.lightbox-desc{font-size:.82rem}.lightbox-counter{font-size:.85rem}.lightbox-actions{gap:8px}.lightbox-action-btn{width:38px;height:38px;font-size:1.05rem}}.menu-section-title,.menu-section-title-btn{display:block;font-family:var(--font-title);font-size:.95rem;text-transform:uppercase;color:var(--color-accent-menu);letter-spacing:.05em;padding:6px 0 4px;margin-top:10px;font-weight:400;border-bottom:1px solid rgba(0,0,0,.06)}.menu-section-title-btn{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;cursor:pointer;text-align:left}.menu-section-title-btn:hover{color:var(--color-accent)}.menu-section-title-btn .chevron-icon{font-size:.75rem;transition:transform .2s ease;display:inline-block}.menu-section-title-btn .chevron-icon.expanded{transform:rotate(180deg)}.submenu-nested{list-style:none;padding-left:15px;margin-top:4px;display:flex;flex-direction:column;gap:6px;border-left:1px solid rgba(0,0,0,.06)}.submenu-nested a{font-size:.75rem!important;color:var(--color-text-light)!important}.submenu-nested a:hover,.submenu-nested a.active{color:var(--color-accent-menu)!important}@media (max-width: 1191px){.menu-section-title,.menu-section-title-btn{text-align:center;margin-top:15px;border-bottom:none}.menu-section-title-btn{justify-content:center;gap:8px}.submenu-nested{padding-left:0;align-items:center;border-left:none}}body.theme-grimoire{background-color:#070709!important;color:#f5f5f7!important;overflow-x:hidden}body.theme-grimoire .page-container{display:block}.grimoire-root{--bg-dark: #070709;--bg-card: #121216;--text-main: #ffffff;--text-muted: #e5e7eb;--text-dim: #d1d5db;--accent: #ffffff;--accent-glow: rgba(255, 255, 255, .15);--overlay-bg: rgba(7, 7, 9, .88);--font-heading: "Montserrat", sans-serif;--font-body: "Inter", sans-serif;min-height:100vh;width:100%}.grimoire-navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:2.2rem 3rem;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;background:linear-gradient(to bottom,#000000b3,#0000);transition:all .3s ease}.grimoire-brand{pointer-events:auto;cursor:pointer;text-decoration:none;color:var(--text-main, #f5f5f7)}.grimoire-title{font-family:var(--font-heading, "Montserrat", sans-serif);font-weight:300;font-size:1.6rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;line-height:1.1;transition:opacity .2s ease}.grimoire-title:hover{opacity:.85}.grimoire-subtitle{font-family:var(--font-heading, "Montserrat", sans-serif);font-weight:400;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted, #a1a1aa);margin-top:4px}.grimoire-nav-controls{pointer-events:auto;display:flex;align-items:center;gap:1.8rem}.grimoire-menu-btn{background:transparent;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;gap:.6rem;font-family:var(--font-heading, "Montserrat", sans-serif);font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;padding:8px 12px;border-radius:4px;transition:all .25s ease}.grimoire-menu-btn:hover{background:#ffffff1f}.grimoire-hamburger{display:flex;flex-direction:column;justify-content:space-between;width:20px;height:13px}.grimoire-hamburger .line{display:block;width:100%;height:2px;background-color:#fff;border-radius:1px;transition:all .25s ease}.grimoire-drawer-right{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:88vw;z-index:250;background:#070709f0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;padding:2.2rem 2.5rem;box-shadow:-15px 0 50px #000000b3;overflow-y:auto}.grimoire-drawer-right-header{display:flex;justify-content:flex-end;margin-bottom:2rem}.grimoire-drawer-close{background:transparent;border:none;color:var(--text-main, #f5f5f7);cursor:pointer;padding:8px;border-radius:50%;transition:background .2s ease}.grimoire-drawer-close:hover{background:#ffffff1f}.grimoire-drawer-right-body{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:1.6rem;margin-top:1rem}.grimoire-right-menu-block{display:flex;flex-direction:column;align-items:flex-end;width:100%}.grimoire-right-main-link{background:transparent;border:none;color:#fff;font-family:var(--font-heading, "Montserrat", sans-serif);font-size:1.1rem;font-weight:300;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:8px;padding:4px 0;transition:all .25s ease}.grimoire-right-main-link.portfolio-link-title{font-family:var(--font-heading, "Montserrat", sans-serif);font-size:1.15rem;letter-spacing:.18em;text-transform:uppercase;font-weight:300;color:#fff}.grimoire-right-main-link:hover{color:#ffffffb3}.grimoire-right-submenu-list{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;margin-top:.5rem;margin-bottom:.6rem;padding-right:.8rem;border-right:1px solid rgba(255,255,255,.15);overflow:hidden}.grimoire-right-submenu-item{color:#ffffffad;text-decoration:none;font-family:var(--font-heading, "Montserrat", sans-serif);font-size:.82rem;font-weight:300;letter-spacing:.08em;transition:all .2s ease}.grimoire-right-submenu-item:hover{color:#fff;transform:translate(-4px)}.grimoire-right-socials{margin-top:auto;padding-top:2rem;display:flex;gap:1rem;justify-content:flex-end}.grimoire-social-icon{color:var(--text-muted, #a1a1aa);transition:color .2s ease}.grimoire-social-icon:hover{color:#fff}.grimoire-hero{position:relative;width:100%;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}.grimoire-bg-container{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.grimoire-bg-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.72) contrast(1.05)}.grimoire-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,#00000026,#000000a6),linear-gradient(to top,#070709d9,#0000 40%);pointer-events:none}.grimoire-hero-content{position:relative;z-index:10;width:100%;max-width:1200px;padding:0 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.grimoire-slider-row-wrapper{display:flex;align-items:center;justify-content:center;gap:2.2rem;width:100%;max-width:1200px}.grimoire-project-horizontal-row{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2rem;flex-wrap:nowrap;white-space:nowrap;overflow:hidden}.grimoire-project-link{font-family:var(--font-heading, "Montserrat", sans-serif);font-weight:300;font-size:1.1rem;letter-spacing:.14em;text-transform:uppercase;color:#ffffffb3;text-decoration:none;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .35s cubic-bezier(.16,1,.3,1);position:relative;padding:4px 10px;text-align:center}.grimoire-project-link:hover,.grimoire-project-link.active{color:#fff;transform:scale(1.06);text-shadow:0 0 20px rgba(255,255,255,.4)}.grimoire-project-link:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%) scaleX(0);width:60%;height:1px;background-color:#fff;transition:transform .3s ease}.grimoire-project-link:hover:after,.grimoire-project-link.active:after{transform:translate(-50%) scaleX(1)}.grimoire-arrow-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:var(--text-main, #f5f5f7);width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease}.grimoire-arrow-btn:hover:not(:disabled){background:#ffffff40;color:#fff;transform:scale(1.08)}.grimoire-arrow-btn:disabled{opacity:.3;cursor:not-allowed}.grimoire-slider-indicators{display:flex;gap:8px}.grimoire-indicator-dot{width:8px;height:8px;border-radius:50%;background:#ffffff4d;border:none;padding:0;cursor:pointer;transition:all .25s ease}.grimoire-indicator-dot.active{background:#fff;width:24px;border-radius:4px}.grimoire-mobile-grid{display:none;width:100%;padding:7rem 1.5rem 4rem}@media (max-width: 768px){.grimoire-navbar{padding:1.5rem}.grimoire-bg-container,.grimoire-hero-content{display:none}.grimoire-hero{height:auto;min-height:auto}.grimoire-mobile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.grimoire-project-link{font-size:1.6rem}}.grimoire-mobile-card{text-decoration:none;color:var(--text-main, #f5f5f7);background:var(--bg-card, #121216);border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.06);transition:transform .25s ease}.grimoire-mobile-card:hover{transform:translateY(-4px)}.grimoire-mobile-thumb-wrapper{width:100%;aspect-ratio:16/10;overflow:hidden}.grimoire-mobile-thumb{width:100%;height:100%;object-fit:cover}.grimoire-mobile-card-title{font-family:var(--font-heading, "Montserrat", sans-serif);font-size:1.1rem;font-weight:400;letter-spacing:.06em;padding:1rem 1.2rem}.grimoire-project-page{min-height:100vh;max-width:1200px;margin:0 auto;padding:8rem 2rem 6rem}.grimoire-back-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-main, #f5f5f7);padding:8px 18px;border-radius:20px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-heading, "Montserrat", sans-serif);font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:3rem;transition:all .2s ease}.grimoire-back-btn:hover{background:#ffffff26;color:#fff}.grimoire-project-header{text-align:center;max-width:800px;margin:0 auto 4rem}.grimoire-project-header h1{font-family:var(--font-heading, "Montserrat", sans-serif);font-weight:300;font-size:3rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem}.grimoire-project-header p{color:var(--text-muted, #a1a1aa);font-size:1.05rem;line-height:1.7}.grimoire-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-top:2rem;margin-bottom:4rem}.grimoire-gallery-item{cursor:pointer;display:flex;flex-direction:column;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:8px;overflow:hidden;transition:all .3s cubic-bezier(.16,1,.3,1)}.grimoire-gallery-item:hover{transform:translateY(-6px);border-color:#fff3;box-shadow:0 15px 35px #0009}.grimoire-gallery-image-wrapper{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background-color:#0d0d12}.grimoire-gallery-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.grimoire-gallery-item:hover .grimoire-gallery-img{transform:scale(1.05)}.grimoire-gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#070709a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;transition:opacity .3s ease}.grimoire-gallery-item:hover .grimoire-gallery-overlay{opacity:1}.grimoire-gallery-caption{padding:1rem 1.2rem;font-size:.85rem;color:var(--text-muted, #a1a1aa)}.grimoire-footer{margin-top:auto;padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.05);font-size:.8rem;color:var(--text-dim, #9e9ea7)}.grimoire-copyright-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-muted, #a1a1aa);width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading, "Montserrat", sans-serif);font-size:.85rem;transition:all .2s ease}.grimoire-copyright-btn:hover{background:#ffffff26;color:#fff;border-color:#fff}.grimoire-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#000000d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:1.5rem}.grimoire-modal-card{background:var(--bg-card, #121216);border:1px solid rgba(255,255,255,.12);border-radius:12px;max-width:600px;width:100%;padding:2.5rem;position:relative;box-shadow:0 20px 50px #000c}.grimoire-modal-card h3{font-family:var(--font-heading, "Montserrat", sans-serif);font-size:1.2rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.2rem}.grimoire-modal-card p{color:var(--text-muted, #a1a1aa);line-height:1.7;font-size:.95rem;margin-bottom:1.5rem}.grimoire-about-card{max-width:600px;width:100%;max-height:88vh;overflow-y:auto;padding:1.8rem 2.2rem}.grimoire-about-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.08)}.grimoire-about-title{font-family:var(--font-heading, "Montserrat", sans-serif);font-weight:300;font-size:1.8rem;letter-spacing:.1em;text-transform:uppercase;text-align:center;color:#fff}.grimoire-about-subtitle{font-family:var(--font-heading, "Montserrat", sans-serif);font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted, #a1a1aa);text-align:center;margin-top:4px;margin-bottom:1.5rem}.grimoire-about-quote{font-style:italic;color:#e5e7eb;text-align:center;font-size:.98rem;margin-bottom:1.8rem;padding:.8rem 1.2rem;background:#ffffff05;border-left:2px solid rgba(255,255,255,.2);border-radius:4px}.grimoire-about-quote p{margin:0}.grimoire-about-quote strong{color:#fff;font-weight:600}.grimoire-about-markdown{color:var(--text-muted, #a1a1aa);line-height:1.8;font-size:.96rem;text-align:left}.grimoire-about-markdown p{margin-bottom:1.2rem;color:#d1d5db}.grimoire-about-markdown p:last-child{margin-bottom:0}.grimoire-about-markdown h1,.grimoire-about-markdown h2,.grimoire-about-markdown h3{font-family:var(--font-heading, "Montserrat", sans-serif);color:#fff;font-weight:300;letter-spacing:.1em;text-transform:uppercase;margin-top:1.8rem;margin-bottom:.8rem}.grimoire-about-markdown h1{font-size:1.4rem}.grimoire-about-markdown h2{font-size:1.2rem}.grimoire-about-markdown h3{font-size:1.05rem}.grimoire-about-markdown strong{color:#fff;font-weight:600}.grimoire-about-markdown em{font-style:italic;color:#e5e7eb}.grimoire-about-markdown ul,.grimoire-about-markdown ol{margin-left:1.5rem;margin-bottom:1.2rem;display:flex;flex-direction:column;gap:.4rem}.grimoire-about-markdown li{line-height:1.6}.grimoire-about-markdown blockquote{border-left:2px solid rgba(255,255,255,.3);padding-left:1rem;margin:1.2rem 0;font-style:italic;color:#e5e7eb}.grimoire-about-markdown a{color:#38bdf8;text-decoration:underline;text-underline-offset:3px}.grimoire-contact-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);padding:1.4rem 1.6rem;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.grimoire-contact-icon{width:42px;height:42px;border-radius:50%;background:#ffffff14;display:flex;align-items:center;justify-content:center;color:#fff}.grimoire-contact-email{color:#fff;text-decoration:none;font-size:1.05rem;font-weight:400;transition:color .2s ease}.grimoire-contact-email:hover{color:#38bdf8}.grimoire-copy-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;padding:6px 14px;border-radius:20px;font-size:.78rem;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.grimoire-copy-btn:hover{background:#fff3}
