:root{--font-family-heading:Fraunces;--font-family-paragraph:Poppins;--font-family-monospace:monospace;--base-color:#030712;--base-offset-color:#111827;--highlight-color:#6320d6;--heading-color:#ffffff;--text-color:#ffffff;--dot-color:#6320d6;--meta-color:#9ca3af;--code-bg:#111827;--code-color:#e5e7eb;--code-hll:#374151;--code-comment:#9ca3af;--code-keyword:#a78bfa;--code-operator:#f9fafb;--code-type:#60a5fa;--code-number:#fbbf24;--code-string:#34d399;--code-attribute:#818cf8;--code-builtin:#2dd4bf;--code-class:#60a5fa;--code-constant:#fbbf24;--code-decorator:#f472b6;--code-entity:#c084fc;--code-exception:#f87171;--code-function:#60a5fa;--code-label:#f472b6;--code-namespace:#9ca3af;--code-tag:#a78bfa;--code-variable:#e5e7eb;--code-string-regex:#34d399;--code-string-symbol:#fb7185;--code-builtin-pseudo:#9ca3af}.light-mode{--base-color:#ffffff;--base-offset-color:#f3f4f6;--heading-color:#111827;--text-color:#374151;--meta-color:#4b5563;--code-bg:#f9fafb;--code-color:#111827;--code-hll:#f3f4f6;--code-comment:#6b7280;--code-keyword:#6320d6;--code-operator:#111827;--code-type:#2563eb;--code-number:#d97706;--code-string:#059669;--code-attribute:#4f46e5;--code-builtin:#0891b2;--code-class:#2563eb;--code-constant:#d97706;--code-decorator:#db2777;--code-entity:#9333ea;--code-exception:#dc2626;--code-function:#2563eb;--code-label:#db2777;--code-namespace:#4b5563;--code-tag:#6320d6;--code-variable:#111827;--code-string-regex:#059669;--code-string-symbol:#e11d48;--code-builtin-pseudo:#6b7280}body,html{margin:0;padding:0}ol,ul{margin:0;padding:0;list-style:none}ol li,ul li{list-style:none}h1,h2,h3{margin-top:20px;margin-bottom:20px}.header{display:flex;justify-content:space-between;align-items:center;padding:20px 0;margin-bottom:30px}@media(min-width:767px){.header{margin-bottom:50px}}.header .header-logo{text-decoration:none;flex-shrink:0}.header .header-logo .author-large{display:flex;align-items:center;gap:12px}.header .header-logo .author-large .author-image{border-radius:50%;border:2px solid var(--highlight-color);transition:transform .3s ease;width:40px;height:40px}@media(min-width:767px){.header .header-logo .author-large .author-image{width:48px;height:48px}}.header .header-logo .author-large .author-name{font-size:1.1rem;color:var(--heading-color)}@media(min-width:767px){.header .header-logo .author-large .author-name{font-size:1.3rem}}.header .header-logo:hover .author-image{transform:scale(1.05)}.header .header-right{display:flex;align-items:center;gap:15px}@media(min-width:767px){.header .header-right{gap:25px}}.hamburger-trigger{display:flex;align-items:center;z-index:10001}@media(min-width:992px){.hamburger-trigger{display:none}}.hamburger{border:none;cursor:pointer;outline:none;position:relative;display:block;width:30px;height:24px;background:0 0;padding:0}.hamburger span{display:block;width:100%;height:3px;background:var(--highlight-color);margin:5px 0;transition:all .3s ease;border-radius:3px}.hamburger.is-active span:nth-child(1){transform:translateY(8px)rotate(45deg)}.hamburger.is-active span:nth-child(2){opacity:0}.hamburger.is-active span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.footer{margin-top:30px}@media(min-width:767px){.footer{padding-top:40px}}.social-icon{margin-right:10px}.social-icon a{text-decoration:none}.social-icon a:hover{text-decoration:none}.social-icon a:hover img{opacity:.7}.social-icon img{filter:invert(1);transition:filter .3s ease}body.light-mode .social-icon img{filter:invert(0)}a{color:var(--highlight-color);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin-top:20px;margin-bottom:20px;color:var(--heading-color);font-family:var(--font-family-heading);overflow-wrap:break-word}p{color:var(--text-color);font-family:var(--font-family-paragraph);font-size:18px;line-height:24px}ol,ul{margin:0;padding:0;list-style:none}ol li,ul li{list-style:none}.content{font-size:18px;overflow-wrap:break-word;hyphens:auto}.content p{font-size:18px;line-height:1.6;margin:0;padding:0;margin-bottom:20px}.content h1{font-size:40px;line-height:1.6;font-weight:700;margin-top:30px;margin-bottom:20px}.content h1:first-of-type{margin-top:0}.content h2{font-size:28px;line-height:1.4;font-weight:700;margin-top:30px;margin-bottom:20px}.content h2:first-of-type{margin-top:0}@media(min-width:767px){.content h2{font-size:30px;line-height:1.4}}.content h3{font-size:22px;line-height:1.4;font-weight:700;margin-top:30px;margin-bottom:20px}.content ul{list-style:disc}.content ul li{list-style:disc}.content ol{list-style:decimal}.content ol li{list-style:decimal}.content ul,.content ol{margin-left:0;margin-top:10px;margin-bottom:20px}.content ul li,.content ol li{font-size:18px;line-height:1.6;margin-bottom:10px;margin-left:0}@media(min-width:767px){.content ul li,.content ol li{margin-left:20px}}@media(min-width:767px){.content ul,.content ol{margin-left:20px}}.content a{text-decoration:underline}.content blockquote{border-left:5px solid var(--highlight-color);margin:30px 0;padding:20px}.content blockquote p{font-size:20px;display:inline;color:var(--color-base-text)}.content img{margin:40px 0;max-width:100%;height:auto}.content figure{margin:2.6rem 0 1.18rem}.content figure img{margin:0}.content figure figcaption{margin-top:10px}.content figure figcaption h4{margin:0;font-size:1rem;font-weight:700}.content figure figcaption p{margin:0}.content code,.content pre{font-family:var(--font-family-monospace)}.dot{color:var(--dot-color)}.footnotes ol{list-style:decimal}.footnotes ol li{list-style:decimal}.dramatic{font-weight:500;color:var(--highlight-color)}.bold{font-weight:700;color:var(--highlight-color)}.additionalreading{margin:20px 0;padding:15px;background:var(--base-offset-color);border-left:4px solid var(--highlight-color);font-size:1rem;font-weight:500}.additionalreading a{color:var(--highlight-color);text-decoration:none}.additionalreading a:hover{text-decoration:underline}.post-tags{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px}.post-tags .p-category{font-size:.9rem;font-weight:500;color:var(--meta-color);text-decoration:none;background:var(--base-offset-color);padding:4px 12px;border-radius:20px;transition:all .3s ease;border:1px solid transparent}.post-tags .p-category:hover{color:var(--highlight-color);border-color:var(--highlight-color);background:0 0;text-decoration:none}.see-also-callout{margin:40px 0;padding:25px;background:var(--base-offset-color);border-radius:8px;border-right:4px solid var(--highlight-color)}.see-also-callout .see-also-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--highlight-color);font-weight:700;margin-bottom:10px}.see-also-callout .see-also-title{margin:0 0 10px;font-size:1.3rem;overflow-wrap:break-word}.see-also-callout .see-also-title a{color:var(--heading-color);text-decoration:none}.see-also-callout .see-also-title a:hover{color:var(--highlight-color)}.see-also-callout .see-also-description{margin:0;font-size:.95rem;opacity:.8;line-height:1.4}.related-posts{margin-top:60px;padding-top:40px;border-top:1px solid var(--base-offset-color)}.related-posts .related-title{font-size:1.5rem;margin-bottom:30px}.related-posts .related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}.related-posts .related-item .related-meta{font-size:.8rem;color:var(--meta-color);margin-bottom:8px}.related-posts .related-item .related-post-title{margin:0;font-size:1.1rem;line-height:1.3;overflow-wrap:break-word}.related-posts .related-item .related-post-title a{color:var(--heading-color);text-decoration:none}.related-posts .related-item .related-post-title a:hover{color:var(--highlight-color)}.expertise-callout{margin:40px 0;padding:30px;background:var(--base-offset-color);border-radius:12px;border-left:6px solid var(--highlight-color);display:flex;align-items:center;gap:25px;box-shadow:0 4px 20px rgba(0,0,0,5%);transition:transform .3s ease}.expertise-callout:hover{transform:translateY(-3px)}.expertise-callout .callout-icon{font-size:2.5rem;flex-shrink:0}.expertise-callout .callout-content{flex-grow:1}.expertise-callout .callout-content .callout-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--highlight-color);margin-bottom:5px}.expertise-callout .callout-content .callout-cta{margin:0;font-size:1.25rem;line-height:1.3;color:var(--heading-color)}.expertise-callout .callout-action{flex-shrink:0}.expertise-callout .callout-action .btn-callout{display:inline-block;background:var(--highlight-color);color:#fff!important;padding:10px 22px;border-radius:6px;font-weight:600;font-size:.9rem;text-decoration:none!important;transition:opacity .2s ease}.expertise-callout .callout-action .btn-callout:hover{opacity:.9}@media(min-width:767px){.expertise-callout{flex-direction:column;text-align:center;gap:15px}.expertise-callout .callout-action{width:100%}.expertise-callout .callout-action .btn-callout{display:block;width:100%;box-sizing:border-box}}.breadcrumb{margin-bottom:25px;font-size:.85rem;color:var(--meta-color)}.breadcrumb ol{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0}.breadcrumb li{display:flex;align-items:center}.breadcrumb li:not(:last-child)::after{content:"/";margin:0 10px;opacity:.5}.breadcrumb li a{color:var(--meta-color);text-decoration:none}.breadcrumb li a:hover{color:var(--highlight-color)}.breadcrumb li[aria-current=page]{color:var(--text-color);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.see-also-preview{margin:40px 0;padding:20px;background:var(--base-offset-color);border-radius:12px;border:1px solid rgba(156,163,175,.1)}.see-also-preview .see-also-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--highlight-color);font-weight:800;margin-bottom:15px}.see-also-preview .see-also-body{display:flex;gap:20px;align-items:flex-start}.see-also-preview .see-also-image{flex-shrink:0;width:120px;height:80px;border-radius:8px;overflow:hidden}.see-also-preview .see-also-image img{width:100%;height:100%;object-fit:cover;margin:0!important}.see-also-preview .see-also-text{flex-grow:1}.see-also-preview .see-also-text .see-also-title{margin:0 0 5px;font-size:1.1rem;line-height:1.3}.see-also-preview .see-also-text .see-also-title a{color:var(--heading-color);text-decoration:none!important}.see-also-preview .see-also-text .see-also-title a:hover{color:var(--highlight-color)}.see-also-preview .see-also-text .see-also-summary{margin:0;font-size:.85rem;line-height:1.4;opacity:.8;color:var(--text-color)}@media(min-width:767px){.see-also-preview .see-also-body{flex-direction:column}.see-also-preview .see-also-image{width:100%;height:150px}}.service-callout{margin:40px 0;padding:20px 25px;background:var(--base-offset-color);border-radius:8px;border-left:4px solid var(--highlight-color);font-size:1.1rem}.service-callout p{margin:0!important}.service-callout a{color:var(--highlight-color);text-decoration:none}.service-callout a:hover{text-decoration:underline}.blog-footer .footer-actions{display:flex;align-items:center;gap:20px;margin-bottom:20px;flex-wrap:wrap}.blog-footer .footer-actions .btn-copy{background:var(--base-offset-color);color:var(--heading-color);border:1px solid rgba(156,163,175,.2);padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.blog-footer .footer-actions .btn-copy:hover{border-color:var(--highlight-color);color:var(--highlight-color)}.blog-footer .footer-actions .btn-copy.copied{background:var(--highlight-color);color:#fff;border-color:var(--highlight-color)}.intro{margin-bottom:60px}.intro h1{font-size:48px;line-height:56px;margin-top:0;margin-bottom:30px}@media(min-width:767px){.intro h1{width:80%;font-size:88px;line-height:94px;margin-bottom:50px}}.intro h1 strong{color:var(--highlight-color)}.intro h2{font-size:50px;line-height:56px}@media(min-width:767px){.intro h2{width:80%}}.intro p{font-size:20px;line-height:26px}@media(min-width:767px){.intro p{width:80%;font-size:22px;line-height:32px}}.intro .read-more{font-size:20px;line-height:26px;font-weight:700}@media(min-width:767px){.intro .read-more{font-size:22px;line-height:32px}}.intro img{max-width:100%}.summary{margin-bottom:50px;font-size:18px;line-height:24px}@media(min-width:767px){.summary{margin-bottom:80px;font-size:18px;line-height:26px}}.summary .summary-date{font-weight:700;color:var(--heading-color)}.summary .summary-title{margin:16px 0;width:80%;font-size:34px;line-height:38px}@media(min-width:767px){.summary .summary-title{width:80%;font-size:52px;line-height:58px}}.summary .summary-description{width:80%;line-height:1.5}.author{margin-top:30px;margin-bottom:30px;color:var(--heading-color)}.author img{width:30px;height:30px;border-radius:50%;display:inline-block;vertical-align:middle}.author .author-name{display:inline-block;vertical-align:middle;font-weight:700;margin-left:5px}.author .author-date{display:inline-block;vertical-align:middle}.author-large{font-size:20px}.author-large img{width:50px;height:50px}.author-large .author-name{display:inline-block;vertical-align:middle;font-weight:700;margin-left:5px}.author-large .author-title{display:inline-block;vertical-align:middle}ul.pagination{display:flex;justify-content:center;list-style:none;margin:20px 0;padding:0}ul.pagination li{list-style:none;text-decoration:none;border:2px solid var(--highlight-color);border-right:none;text-align:center;vertical-align:middle}ul.pagination li:hover{border-color:var(--highlight-color);background-color:var(--highlight-color);color:#fff}ul.pagination li:hover a{color:#fff}ul.pagination li.pagination-item-current{border-color:var(--highlight-color);background-color:var(--highlight-color);color:#fff}ul.pagination li.pagination-item-current a{color:#fff}ul.pagination li a{padding:9px 13px;display:block;color:var(--highlight-color);text-decoration:none}ul.pagination li:last-of-type{border-right:2px solid var(--highlight-color);border-top-right-radius:3px;border-bottom-right-radius:3px}ul.pagination li:last-of-type:hover{border-color:var(--highlight-color)}ul.pagination li:last-of-type.active{border-color:var(--highlight-color)}ul.pagination li:first-of-type{border-top-left-radius:3px;border-bottom-left-radius:3px}ul.pagination li svg{width:8px;line-height:10px;margin-bottom:2px;vertical-align:middle}.view-more{font-size:18px;font-weight:700}.menu-main{display:none}@media(min-width:992px){.menu-main{display:block}}.menu-main ul{list-style:none;margin:0;padding:0;display:flex;align-items:center}.menu-main li{position:relative;margin-left:20px}.menu-main li a{text-decoration:none;color:var(--heading-color);font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:5px;transition:color .3s ease}.menu-main li a:hover{color:var(--highlight-color)}.menu-main li.active a{color:var(--highlight-color)}.menu-main li.has-children:hover .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}.menu-main li.has-children .dropdown-icon{width:16px;height:16px;fill:currentColor}.menu-main .sub-menu{position:absolute;top:100%;left:0;background:var(--base-offset-color);min-width:180px;padding:10px 0;border-radius:8px;box-shadow:0 10px 15px -3px rgba(0,0,0,.2);display:block;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .3s ease;z-index:1000;border:1px solid rgba(156,163,175,.1)}.menu-main .sub-menu li{margin:0;display:block}.menu-main .sub-menu li a{padding:10px 20px;font-size:.95rem;font-weight:500;display:block}.menu-main .sub-menu li a:hover{background:rgba(156,163,175,.1)}.menu-main-mobile{position:fixed;background:var(--highlight-color);top:0;left:0;width:100%;height:100vh;z-index:10000;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto;padding:80px 20px;box-sizing:border-box}.menu-main-mobile.open{opacity:1;visibility:visible}.menu-main-mobile ul{list-style:none;padding:0;margin:0;text-align:center;width:100%}.menu-main-mobile ul li{margin-bottom:25px}.menu-main-mobile ul li a{font-family:var(--font-family-heading);font-size:2.2rem;font-weight:700;color:var(--text-color);text-decoration:none;transition:opacity .3s ease;display:inline-block}.menu-main-mobile ul li a:hover{opacity:.7}.menu-main-mobile ul li.active a{text-decoration:underline}.menu-main-mobile ul li.has-children .sub-menu{margin-top:15px;display:block}.menu-main-mobile ul li.has-children .sub-menu li{margin-bottom:15px}.menu-main-mobile ul li.has-children .sub-menu li a{font-size:1.4rem;opacity:.9;font-family:var(--font-family-paragraph);font-weight:500}body.lock-scroll{overflow:hidden}.hamburger.is-active span{background:var(--text-color)!important}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:40px}.portfolio-grid.mosaic{grid-auto-rows:10px}.portfolio-grid.mosaic .portfolio-item{grid-row-end:span 26}.portfolio-grid.mosaic .portfolio-item.tall{grid-row-end:span 40}.portfolio-grid.mosaic .portfolio-item.wide{grid-column-end:span 2}.portfolio-item{position:relative;overflow:hidden;border-radius:12px;background:var(--base-offset-color);aspect-ratio:1/1;transition:transform .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.1)}.portfolio-item:hover{transform:translateY(-5px);border-color:var(--highlight-color)}.portfolio-item:hover .portfolio-overlay-bottom{opacity:1;transform:translateY(0)}.portfolio-item img{width:100%;height:100%;object-fit:cover;display:block}.portfolio-overlay-top{position:absolute;top:0;left:0;padding:25px 20px;width:100%;background:linear-gradient(to bottom,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 60%,transparent 100%);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff!important;pointer-events:none}.portfolio-overlay-top .portfolio-title{font-family:var(--font-family-heading);font-size:1.3rem;font-weight:700;margin:0;line-height:1.2;color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.5)}.portfolio-overlay-top .portfolio-date{font-size:.85rem;font-weight:500;opacity:.9;margin-top:6px;text-transform:uppercase;letter-spacing:.05em;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.5)}.portfolio-overlay-bottom{position:absolute;bottom:0;left:0;padding:25px 20px;width:100%;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.6) 70%,transparent 100%);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff!important;opacity:0;transform:translateY(10px);transition:all .3s ease}.portfolio-overlay-bottom .portfolio-description{font-size:.95rem;line-height:1.5;margin:0;font-weight:400;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.5)}.light-mode .portfolio-item{border:1px solid rgba(0,0,0,5%);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.light-mode .portfolio-item:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1)}.search-container{margin-top:40px;margin-bottom:60px;width:100%;box-sizing:border-box}.search-container #search-input{width:100%;box-sizing:border-box;padding:15px 20px;font-size:1.2rem;background:var(--base-offset-color);border:2px solid transparent;border-radius:8px;color:var(--text-color);font-family:var(--font-family-paragraph);outline:none;transition:border-color .3s ease}.search-container #search-input:focus{border-color:var(--highlight-color)}@media(min-width:767px){.search-container #search-input{font-size:1rem;padding:12px 15px}}#search-results{margin-top:40px;width:100%}.search-result-item{margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--base-offset-color);width:100%;box-sizing:border-box}.search-result-item h3{margin-top:0;margin-bottom:10px;font-size:1.5rem}.search-result-item h3 a{color:var(--heading-color);text-decoration:none}.search-result-item h3 a:hover{color:var(--highlight-color)}@media(min-width:767px){.search-result-item h3{font-size:1.3rem}}.search-result-item .search-result-meta{font-size:.9rem;color:var(--meta-color);margin-bottom:10px}.search-result-item p{margin:0;font-size:1rem;color:var(--text-color);opacity:.8;line-height:1.6}#webmentions{margin-top:60px;padding-top:40px;border-top:1px solid var(--base-offset-color)}#webmentions h2{font-size:1.5rem;margin-bottom:30px}.webmentions-list{list-style:none;padding:0;margin:0}.webmention{margin-bottom:30px;display:flex;gap:15px}.webmention .webmention-author-photo{width:48px;height:48px;border-radius:50%;object-fit:cover}.webmention .webmention-content{flex:1}.webmention .webmention-content .webmention-author-name{font-weight:700;color:var(--highlight-color);text-decoration:none;display:block;margin-bottom:5px}.webmention .webmention-content .webmention-meta{font-size:.8rem;color:var(--meta-color);margin-bottom:10px}.webmention .webmention-content .webmention-body{font-size:1rem;line-height:1.5}.webmention .webmention-content .webmention-body p{margin:0;font-size:1rem}.webmention-links{margin-bottom:30px;display:flex;flex-wrap:wrap;gap:10px}.webmention-links .webmention-link{display:inline-block}.webmention-links .webmention-link img{width:32px;height:32px;border-radius:50%;border:2px solid var(--base-offset-color);transition:border-color .3s ease}.webmention-links .webmention-link img:hover{border-color:var(--highlight-color)}.notes-feed{margin-top:40px}.note-item{margin-bottom:60px;padding:30px;background:var(--base-offset-color);border-radius:8px;border-left:4px solid var(--highlight-color);position:relative;transition:background .3s ease}.note-item.single-note{background:0 0;padding:0;margin-top:40px;border-left:none}.note-item .note-content{font-family:var(--font-family-paragraph);font-size:1.1rem;line-height:1.6}.note-item .note-content p:last-child{margin-bottom:0}.note-item .note-content a{color:var(--highlight-color);text-decoration:underline;font-weight:500}.note-item .note-content img,.note-item .note-content video{max-width:100%;height:auto;border-radius:4px;margin:20px 0;display:block}.note-item .note-content h1,.note-item .note-content h2,.note-item .note-content h3,.note-item .note-content h4{margin-top:20px;margin-bottom:10px;color:var(--heading-color)}.note-item .note-content ul,.note-item .note-content ol{margin-left:20px;margin-bottom:20px;list-style:disc}.note-item .note-content ul li,.note-item .note-content ol li{list-style:inherit;margin-bottom:5px}.note-item .note-meta{margin-top:20px;padding-top:15px;border-top:1px solid rgba(156,163,175,.2);font-size:.85rem}.note-item .note-meta a{color:var(--meta-color);text-decoration:none}.note-item .note-meta a:hover{color:var(--highlight-color)}.note-item .note-meta time{color:var(--meta-color)}.footnotes{margin-top:60px;padding-top:20px;border-top:1px solid var(--base-offset-color);font-size:.9rem;color:var(--meta-color)}.footnotes hr{display:none}sup{line-height:0}sup a{color:var(--highlight-color);font-weight:700;text-decoration:none;padding:0 2px}sup a:hover{text-decoration:underline}#reading-progress{position:fixed;top:0;left:0;height:4px;background:var(--highlight-color,#6320d6);width:0%;z-index:10000;transition:width .1s ease;pointer-events:none}.highlight{position:relative;margin:30px 0;max-width:100%;background:var(--base-offset-color);border-radius:8px;display:block;overflow:hidden}.highlight .code-top-bar{display:flex;justify-content:space-between;align-items:center;background:rgba(156,163,175,.1);border-bottom:1px solid rgba(156,163,175,.1);padding:8px 16px;border-top-left-radius:8px;border-top-right-radius:8px;flex-shrink:0}.highlight .code-top-bar .code-lang-label{font-size:.7rem;font-weight:800;color:var(--meta-color);text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-family-monospace)}.highlight .code-top-bar .code-copy-btn{background:0 0;border:1px solid rgba(156,163,175,.3);color:var(--meta-color);border-radius:4px;padding:4px 10px;font-size:.7rem;cursor:pointer;transition:all .2s ease;font-family:var(--font-family-paragraph);font-weight:600}.highlight .code-top-bar .code-copy-btn:hover{background:var(--highlight-color);color:#fff;border-color:var(--highlight-color)}.highlight .code-top-bar .code-copy-btn.copied{background:#10b981;color:#fff;border-color:#10b981}.highlight pre{margin:0!important;padding:20px!important;border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-left-radius:8px;border-bottom-right-radius:8px;overflow-x:auto!important;display:block;width:100%;box-sizing:border-box}.highlight pre code{display:inline-block;min-width:100%;white-space:pre;word-wrap:normal;word-break:normal}@media(min-width:767px){.highlight pre{padding:15px!important;font-size:14px}}.stats-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:60px;padding:30px;background:var(--base-offset-color);border-radius:12px;text-align:center}.stats-dashboard .stats-item{display:flex;flex-direction:column}.stats-dashboard .stats-item .stats-value{font-family:var(--font-family-heading);font-size:2rem;font-weight:800;color:var(--highlight-color)}.stats-dashboard .stats-item .stats-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--meta-color);margin-top:5px}.archive-year-group{margin-bottom:50px}.archive-year-group .archive-year{display:flex;align-items:baseline;gap:15px;font-size:2rem;margin-bottom:25px;padding-bottom:10px;border-bottom:1px solid var(--base-offset-color)}.archive-year-group .archive-year .archive-count{font-size:.9rem;font-weight:400;color:var(--meta-color)}.archive-list .archive-item{display:flex;align-items:baseline;gap:20px;margin-bottom:15px}.archive-list .archive-item .archive-date{font-family:var(--font-family-monospace);font-size:.9rem;color:var(--meta-color);min-width:60px}.archive-list .archive-item .archive-title{font-size:1.15rem;margin:0;font-weight:500}.archive-list .archive-item .archive-title a{color:var(--heading-color);text-decoration:none}.archive-list .archive-item .archive-title a:hover{color:var(--highlight-color)}.contact-grid{display:grid;grid-template-columns:1fr;gap:40px;margin-top:40px;width:100%;box-sizing:border-box}@media(min-width:992px){.contact-grid{grid-template-columns:1fr 1fr;gap:60px}}.section-title{font-size:1.5rem;margin-bottom:25px;font-family:var(--font-family-heading);color:var(--heading-color)}.themed-form{width:100%;box-sizing:border-box}.themed-form .form-group{margin-bottom:20px;width:100%;box-sizing:border-box}.themed-form .form-group label{display:block;font-size:.9rem;font-weight:700;margin-bottom:8px;color:var(--heading-color)}.themed-form .form-group input,.themed-form .form-group select,.themed-form .form-group textarea{width:100%;max-width:100%;padding:12px 16px;background:var(--base-offset-color);border:1px solid rgba(156,163,175,.2);border-radius:8px;color:var(--text-color);font-family:var(--font-family-paragraph);font-size:1rem;transition:all .3s ease;box-sizing:border-box}.themed-form .form-group input:focus,.themed-form .form-group select:focus,.themed-form .form-group textarea:focus{outline:none;border-color:var(--highlight-color);box-shadow:0 0 0 2px rgba(99,32,214,.1)}.themed-form .form-group textarea{resize:vertical;min-height:120px}.themed-form .submit-btn{width:100%;background:var(--highlight-color);color:#fff!important;border:none;padding:14px 32px;border-radius:8px;font-weight:700;cursor:pointer;transition:transform .2s ease,filter .2s ease}@media(min-width:767px){.themed-form .submit-btn{width:auto}}.themed-form .submit-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.booking-container{background:var(--base-offset-color);border-radius:12px;padding:10px;height:600px;overflow:hidden;border:1px solid rgba(156,163,175,.1);width:100%;box-sizing:border-box}.achievements-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;margin:40px 0 60px;padding:40px;background:var(--base-offset-color);border-radius:16px;text-align:center;border:1px solid rgba(156,163,175,.1)}.achievements-bar .achievement-item{display:flex;flex-direction:column}.achievements-bar .achievement-item .achievement-value{font-family:var(--font-family-heading);font-size:2.5rem;font-weight:900;color:var(--highlight-color);line-height:1}.achievements-bar .achievement-item .achievement-label{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:var(--meta-color);margin-top:10px;font-weight:600}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;margin-bottom:80px}.service-card{background:var(--base-offset-color);padding:40px;border-radius:16px;border:1px solid rgba(156,163,175,.1);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.service-card:hover{transform:translateY(-8px);border-color:var(--highlight-color);box-shadow:0 20px 25px -5px rgba(0,0,0,.1)}.service-card .service-icon{color:var(--highlight-color);margin-bottom:25px}.service-card .service-icon svg{width:40px;height:40px}.service-card .service-title{font-family:var(--font-family-heading);font-size:1.5rem;margin:0 0 15px;line-height:1.2;color:var(--heading-color)}.service-card .service-description{font-size:1rem;line-height:1.6;opacity:.8;margin-bottom:25px;flex-grow:1}.service-card .service-link{font-weight:700;text-decoration:none}.services-cta{text-align:center;padding:80px 40px;background:linear-gradient(135deg,var(--base-offset-color) 0%,var(--base-color) 100%);border-radius:20px;margin-bottom:60px;border:1px solid var(--highlight-color)}.services-cta h2{font-size:2.5rem;margin-bottom:20px}.services-cta p{font-size:1.2rem;margin-bottom:40px;opacity:.8}.service-single .service-tagline{font-size:1.5rem;font-weight:500;margin-top:20px;line-height:1.4}.service-single .service-actions{display:flex;gap:20px;margin-top:60px;flex-wrap:wrap}.btn-primary{background:var(--highlight-color);color:#fff!important;padding:16px 32px;border-radius:8px;text-decoration:none;font-weight:700;transition:all .2s ease;display:inline-block}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px);text-decoration:none}.btn-secondary{background:0 0;color:var(--heading-color)!important;padding:16px 32px;border-radius:8px;text-decoration:none;font-weight:700;border:2px solid var(--base-offset-color);transition:all .2s ease;display:inline-block}.btn-secondary:hover{border-color:var(--highlight-color);text-decoration:none}.taxonomy-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--highlight-color);font-weight:800;margin-bottom:10px}.taxonomy-cloud{display:flex;flex-wrap:wrap;gap:15px;margin-top:40px}.taxonomy-cloud .taxonomy-cloud-item{background:var(--base-offset-color);padding:10px 20px;border-radius:50px;text-decoration:none;font-weight:600;color:var(--heading-color);transition:all .3s ease;border:1px solid transparent}.taxonomy-cloud .taxonomy-cloud-item .count{margin-left:8px;font-size:.8rem;color:var(--meta-color);opacity:.7}.taxonomy-cloud .taxonomy-cloud-item:hover{border-color:var(--highlight-color);background:0 0;color:var(--highlight-color);transform:translateY(-2px)}.back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:var(--highlight-color);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .4s cubic-bezier(.4,0,.2,1);z-index:99;box-shadow:0 4px 12px rgba(0,0,0,.3)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{transform:scale(1.1);background:var(--heading-color);color:var(--base-color)}.back-to-top svg{width:24px;height:24px;fill:currentColor}@media(min-width:767px){.back-to-top{bottom:20px;right:20px;width:44px;height:44px}}.error-404{text-align:center;padding:60px 20px;max-width:600px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center}.error-404 .intro{margin-bottom:40px;width:100%;text-align:center}.error-404 .intro h1{font-size:5rem;margin:0 0 10px;line-height:1}@media(min-width:767px){.error-404 .intro h1{font-size:8rem}}.error-404 .intro h2{font-size:1.5rem;opacity:.8;margin:0}.error-404 .error-image{margin-bottom:50px;width:100%;display:flex;justify-content:center}.error-404 .error-image img{max-width:100%;height:auto}.error-404 .error-actions{width:100%;text-align:center}.error-404 .error-actions p{font-size:1.1rem;margin-bottom:30px;color:var(--text-color);opacity:.7}.error-404 .error-actions .error-links{display:flex;align-items:center;justify-content:center;gap:20px;font-weight:700}.error-404 .error-actions .error-links .divider{color:var(--meta-color);opacity:.3}.error-404 .error-actions .error-links a{font-size:1.1rem;text-decoration:none}.highlight{background:var(--code-bg);color:var(--code-color)}.highlight .hll{background-color:var(--code-hll)}.highlight .c{color:var(--code-comment);font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{color:var(--code-keyword);font-weight:700}.highlight .o{color:var(--code-operator);font-weight:700}.highlight .cm{color:var(--code-comment);font-style:italic}.highlight .cp{color:var(--code-comment);font-weight:700;font-style:italic}.highlight .c1{color:var(--code-comment);font-style:italic}.highlight .cs{color:var(--code-comment);font-weight:700;font-style:italic}.highlight .kc{color:var(--code-keyword);font-weight:700}.highlight .kd{color:var(--code-keyword);font-weight:700}.highlight .kn{color:var(--code-keyword);font-weight:700}.highlight .kp{color:var(--code-keyword);font-weight:700}.highlight .kr{color:var(--code-keyword);font-weight:700}.highlight .kt{color:var(--code-type);font-weight:700}.highlight .m{color:var(--code-number)}.highlight .s{color:var(--code-string)}.highlight .na{color:var(--code-attribute)}.highlight .nb{color:var(--code-builtin)}.highlight .nc{color:var(--code-class);font-weight:700}.highlight .no{color:var(--code-constant)}.highlight .nd{color:var(--code-decorator);font-weight:700}.highlight .ni{color:var(--code-entity)}.highlight .ne{color:var(--code-exception);font-weight:700}.highlight .nf{color:var(--code-function);font-weight:700}.highlight .nl{color:var(--code-label);font-weight:700}.highlight .nn{color:var(--code-namespace)}.highlight .nt{color:var(--code-tag)}.highlight .nv{color:var(--code-variable)}.highlight .ow{color:var(--code-operator);font-weight:700}.highlight .w{color:#bbb}.highlight .mf{color:var(--code-number)}.highlight .mh{color:var(--code-number)}.highlight .mi{color:var(--code-number)}.highlight .mo{color:var(--code-number)}.highlight .sb{color:var(--code-string)}.highlight .sc{color:var(--code-string)}.highlight .sd{color:var(--code-string)}.highlight .s2{color:var(--code-string)}.highlight .se{color:var(--code-string)}.highlight .sh{color:var(--code-string)}.highlight .si{color:var(--code-string)}.highlight .sx{color:var(--code-string)}.highlight .sr{color:var(--code-string-regex)}.highlight .s1{color:var(--code-string)}.highlight .ss{color:var(--code-string-symbol)}.highlight .bp{color:var(--code-builtin-pseudo)}.highlight .vc{color:var(--code-variable)}.highlight .vg{color:var(--code-variable)}.highlight .vi{color:var(--code-variable)}.highlight .il{color:var(--code-number)}html,body{box-sizing:border-box;max-width:100vw;overflow-x:hidden}body{background:var(--base-color);font-family:var(--font-family-paragraph);color:var(--text-color);margin:0;padding:20px;overflow-x:hidden;transition:background .3s ease,color .3s ease}@media(min-width:767px){body{padding:50px}}body.frame{min-height:100vh;border:7px solid var(--highlight-color)}.wrapper{max-width:1e3px;margin:0 auto}.theme-toggle{background:0 0;border:none;color:var(--heading-color);cursor:pointer;padding:0;margin-left:20px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.theme-toggle:hover{color:var(--highlight-color)}.theme-toggle svg{width:20px;height:20px;fill:currentColor}.skip-link{position:absolute;top:-100px;left:0;background:var(--highlight-color);color:#fff;padding:10px 20px;z-index:10001;text-decoration:none;font-weight:700;border-bottom-right-radius:8px;transition:top .2s ease}.skip-link:focus{top:0;outline:3px solid var(--dot-color);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}