:root{--ink:#1a1a1e;--ink-soft:#3a3a40;--paper:#faf9f7;--paper-dim:#f0efec;--steel:#dbdbdb;--steel-dark:#8c8c8c;--accent:#f2a93b;--accent-ink:#7a5013;--line:rgba(26,26,30,0.12);--font-display:'Space Grotesk',sans-serif;--font-body:'Inter',sans-serif;--font-mono:'IBM Plex Mono',monospace;--radius:2px;--container:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.1;margin:0 0 .5em;letter-spacing:-0.01em}h1{font-size:clamp(2.4rem,5vw,4.2rem)}h2{font-size:clamp(1.8rem,3vw,2.6rem)}h3{font-size:1.25rem}p{margin:0 0 1em;color:var(--ink-soft)}.eyebrow{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);background:rgba(242,169,59,0.16);padding:.35em .7em;border-radius:var(--radius);margin-bottom:1em}.eyebrow::before{content:'\25A0';font-size:.6em;color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-mono);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;padding:.95em 1.6em;border-radius:var(--radius);border:1px solid var(--ink);transition:all .2s ease}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--ink)}.site-header{position:sticky;top:0;z-index:50;background:rgba(250,249,247,0.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.brand{display:flex;align-items:center;gap:.65em;min-width:0}.brand img{height:36px;width:auto;flex-shrink:0}.brand .brand-text{display:flex;flex-direction:column;line-height:1;min-width:0}.brand .brand-name{font-family:var(--font-display);font-weight:700;font-size:1.2rem;letter-spacing:.01em;white-space:nowrap}.brand .brand-name b{color:var(--accent-ink);font-weight:700}.brand .brand-tag{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel-dark);margin-top:.3em;white-space:nowrap}@media (max-width:700px){.brand .brand-tag{display:none}}@media (max-width:420px){.brand{gap:.55em}.brand img{height:34px}.brand .brand-name{font-size:1.05rem}}@media (max-width:700px){.container{padding:0 32px}}@media (max-width:480px){.container{padding:0 28px}.nav{padding:16px 0}}.nav-links{display:flex;gap:2em;align-items:center}.nav-links a{font-family:var(--font-mono);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:.3em 0;border-bottom:2px solid transparent}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:var(--paper-dim);border:1px solid var(--ink);border-radius:50%;color:var(--ink);cursor:pointer;flex-shrink:0;transition:background .2s ease,color .2s ease,transform .2s ease}.nav-toggle:hover{background:var(--ink);color:var(--paper)}.nav-toggle:active{transform:scale(.94)}.nav-toggle svg{stroke-width:2.2}@media (max-width:800px){.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:1.2em;background:var(--paper);padding:24px;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.nav-toggle{display:flex}}.hero{position:relative;padding:90px 0 70px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.hero-copy{min-width:0}.hero-copy p.lead{font-size:1.15rem;max-width:46ch}.hero-art{position:relative;min-width:0}.hero-circle{position:relative;width:100%;max-width:480px;aspect-ratio:1 / 1;margin:0 auto}.hero-circle-img{position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--line),0 24px 48px -18px rgba(26,26,30,0.45),0 0 60px -10px rgba(242,169,59,0.35);transition:transform .5s ease,box-shadow .5s ease}.hero-circle:hover .hero-circle-img{transform:scale(1.03);box-shadow:0 0 0 1px var(--line),0 24px 48px -18px rgba(26,26,30,0.5),0 0 80px -6px rgba(242,169,59,0.55)}.hero-ring{position:absolute;inset:0;width:100%;height:100%}.hero-ring-slow{animation:hero-spin 60s linear infinite}.hero-ring-fast{animation:hero-spin 18s linear infinite}@keyframes hero-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.hero-ring-slow,.hero-ring-fast{animation:none}}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-copy,.hero-art{width:100%}.hero-art{order:-1;max-width:280px;margin:0 auto 20px}}@media (max-width:480px){.hero-art{max-width:220px}}section{padding:80px 0}.section-alt{background:var(--paper-dim)}.section-dark{background:var(--ink);color:var(--paper)}.section-dark h2,.section-dark h3{color:var(--paper)}.section-dark p{color:#b9b9bd}.section-head{max-width:640px;margin-bottom:48px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media (max-width:860px){.grid-3{grid-template-columns:1fr}}.card{background:var(--paper);border:1px solid var(--line);padding:32px 28px;border-radius:var(--radius);transition:border-color .2s ease,transform .2s ease}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card .tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;color:var(--steel-dark);text-transform:uppercase;display:block;margin-bottom:1em}.partners{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.partners span{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-soft);letter-spacing:.02em;border:1px solid var(--line);border-radius:999px;padding:.55em 1.3em;background:var(--paper);transition:border-color .2s ease,color .2s ease,background .2s ease}.partners span:hover{border-color:var(--accent);color:var(--ink);background:rgba(242,169,59,0.1)}.partners span.more{border-style:dashed;color:var(--steel-dark)}.service-row{display:grid;grid-template-columns:90px 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line)}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row .num{font-family:var(--font-mono);color:var(--steel-dark);font-size:1rem}.stand-tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}.project-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}.project-card .ph{aspect-ratio:4/3;background:linear-gradient(135deg,var(--steel),var(--paper-dim));display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);color:var(--steel-dark);font-size:.8rem;text-align:center;padding:1em;overflow:hidden;position:relative;cursor:zoom-in}.project-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}.project-card:hover .ph img{transform:scale(1.05);filter:brightness(.85)}.project-card .ph::after{content:'+';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.6);width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:1.6rem;line-height:1;font-weight:600;opacity:0;transition:opacity .3s ease,transform .3s ease}.project-card:hover .ph::after{opacity:1;transform:translate(-50%,-50%) scale(1)}.project-card .body{padding:20px}.cta-band{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;border:1px solid var(--line);padding:40px;border-radius:var(--radius)}.form-field{margin-bottom:18px}.form-field label{display:block;font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5em;color:var(--ink-soft)}.form-field input,.form-field textarea{width:100%;padding:.85em 1em;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-body);font-size:1rem;background:var(--paper)}.form-field textarea{min-height:140px;resize:vertical}.contact-info dt{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--steel-dark);margin-top:1.4em}.contact-info dd{margin:.2em 0 0;font-size:1.05rem}.contact-hero{padding-bottom:20px}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media (max-width:900px){.contact-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.contact-grid{grid-template-columns:1fr}}.contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}.contact-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 16px 32px -20px rgba(26,26,30,0.25)}.contact-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(242,169,59,0.14);color:var(--accent-ink);margin-bottom:14px;transition:background .25s ease,color .25s ease}.contact-icon svg{width:22px;height:22px}.contact-card:hover .contact-icon{background:var(--accent);color:var(--ink)}.contact-tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel-dark)}.contact-value{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--ink)}.contact-hint{font-family:var(--font-mono);font-size:.78rem;color:var(--accent-ink);margin-top:8px;opacity:0;transform:translateX(-4px);transition:opacity .25s ease,transform .25s ease}.contact-card:hover .contact-hint{opacity:1;transform:translateX(0)}.contact-band{align-items:center}.contact-availability{display:flex;align-items:center;gap:12px;white-space:nowrap}.contact-availability strong{display:block;font-size:.95rem}.contact-availability span{font-size:.82rem;color:var(--ink-soft)}.contact-dot{width:10px;height:10px;border-radius:50%;background:#3fae5c;flex-shrink:0;box-shadow:0 0 0 0 rgba(63,174,92,.5);animation:contact-pulse 2s infinite}@keyframes contact-pulse{0%{box-shadow:0 0 0 0 rgba(63,174,92,.5)}70%{box-shadow:0 0 0 8px rgba(63,174,92,0)}100%{box-shadow:0 0 0 0 rgba(63,174,92,0)}}@media (max-width:700px){.contact-band{flex-direction:column;align-items:flex-start}}.site-footer{background:var(--ink);color:#b9b9bd;padding:60px 0 30px}.site-footer p{color:#b9b9bd}.site-footer a:hover{color:var(--accent)}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(2,1fr);gap:40px}.footer-brand{display:flex;align-items:center;gap:.65em;margin-bottom:1em}.footer-brand img{height:32px}.footer-brand .brand-text{display:flex;flex-direction:column;line-height:1}.footer-brand .brand-name{font-family:var(--font-display);color:var(--paper);font-weight:700;font-size:1.15rem}.footer-brand .brand-name b{color:var(--accent)}.footer-brand .brand-tag{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#7d7d82;margin-top:.3em}.footer-col h4{font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--paper);margin-bottom:1em}.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7em}.footer-bottom{margin-top:50px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:var(--font-mono);font-size:.78rem}@media (max-width:800px){.footer-grid{grid-template-columns:1fr}}.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--ink);padding:10px 16px;z-index:999}.skip-link:focus{left:10px;top:10px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.wa-widget{position:fixed;right:22px;bottom:22px;z-index:90;width:60px;height:60px}.wa-button{width:60px;height:60px;border-radius:50%;background:var(--ink);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(26,26,30,.25);transition:transform .2s ease,background .2s ease}.wa-button:hover{transform:translateY(-2px);background:var(--accent)}.wa-button svg{width:28px;height:28px}.wa-button:hover svg path{fill:var(--ink)}.wa-button svg path{fill:var(--paper);transition:fill .2s ease}.wa-popup{position:absolute;right:0;bottom:calc(100% + 14px);width:300px;max-width:calc(100vw - 44px);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 40px rgba(26,26,30,.22);overflow:hidden;opacity:0;transform:translateY(12px) scale(.98);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.wa-widget.open .wa-popup{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.wa-popup-head{background:var(--ink);color:var(--paper);padding:16px 18px;display:flex;align-items:center;gap:12px}.wa-popup-head img{height:30px;width:30px}.wa-popup-head strong{display:block;font-family:var(--font-display);font-size:1rem}.wa-popup-head span{display:block;font-family:var(--font-mono);font-size:.72rem;color:#b9b9bd;letter-spacing:.04em}.wa-popup-close{margin-left:auto;background:none;border:none;color:var(--paper);font-size:1.1rem;cursor:pointer;line-height:1;padding:4px}.wa-popup-body{padding:18px}.wa-popup-body p{background:var(--paper-dim);border-radius:var(--radius);padding:12px 14px;font-size:.92rem;color:var(--ink-soft);margin:0 0 16px}.wa-popup-cta{display:flex;align-items:center;justify-content:center;gap:.6em;width:100%;background:var(--accent);color:var(--ink);font-family:var(--font-mono);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;padding:.9em 1em;border-radius:var(--radius);border:none;cursor:pointer}.wa-popup-cta:hover{background:var(--ink);color:var(--paper)}@media (max-width:480px){.wa-widget{right:14px;bottom:14px}.wa-button{width:54px;height:54px}}.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-width:780px){.blog-grid{grid-template-columns:1fr}}.blog-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:28px;transition:border-color .2s ease}.blog-card:hover{border-color:var(--accent)}.blog-card .meta{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--steel-dark)}.blog-card .meta .cat{color:var(--accent-ink)}.blog-card h3{margin-bottom:.5em;font-size:1.2rem}.blog-card p{font-size:.92rem;margin-bottom:0}.blog-card .read-more{margin-top:18px;font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}.article-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--steel-dark);margin-bottom:1.4em}.article-meta .cat{color:var(--accent-ink);background:rgba(242,169,59,.16);padding:.3em .7em;border-radius:var(--radius)}.breadcrumbs{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--steel-dark);margin-bottom:1.6em}.breadcrumbs a{color:var(--ink-soft)}.breadcrumbs a:hover{color:var(--accent-ink)}.article-body{max-width:72ch}.article-body h2{margin-top:1.6em;font-size:1.5rem}.article-body h3{margin-top:1.2em}.article-body ul,.article-body ol{color:var(--ink-soft);padding-left:1.3em;margin-bottom:1.2em}.article-body li{margin-bottom:.4em}.article-body p{max-width:68ch}.article-body strong{color:var(--ink)}.article-body blockquote{margin:1.6em 0;padding:1em 1.4em;border-left:3px solid var(--accent);background:var(--paper-dim);font-style:italic;color:var(--ink-soft)}.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-width:700px){.related-grid{grid-template-columns:1fr}}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}@media (max-width:900px){.process-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.process-grid{grid-template-columns:1fr}}.process-step{position:relative;padding:28px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);transition:border-color .2s ease,transform .2s ease}.process-step:hover{border-color:var(--accent);transform:translateY(-2px)}.process-step .step-num{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--accent-ink);line-height:1;margin-bottom:1em;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(242,169,59,.16)}.process-step h3{font-size:1.05rem;margin-bottom:.4em}.process-step p{font-size:.9rem;margin-bottom:0}.services-teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}@media (max-width:900px){.services-teaser-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.services-teaser-grid{grid-template-columns:1fr}}.service-teaser{display:flex;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);transition:border-color .2s ease,transform .2s ease}.service-teaser:hover{border-color:var(--accent);transform:translateY(-2px)}.service-teaser .icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(242,169,59,.14);color:var(--accent-ink);margin-bottom:16px;transition:background .2s ease,color .2s ease}.service-teaser:hover .icon{background:var(--accent);color:var(--ink)}.service-teaser .icon svg{width:20px;height:20px}.service-teaser h3{font-size:1.05rem;margin-bottom:.4em}.service-teaser p{font-size:.9rem;margin-bottom:14px;flex-grow:1}.service-teaser .read-more{font-family:var(--font-mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}.faq-list{max-width:760px}.faq-item{border-bottom:1px solid var(--line);padding:4px 0}.faq-item summary{list-style:none;cursor:pointer;font-size:1.02rem;font-weight:600;padding:18px 34px 18px 1.7em;position:relative;display:block}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::before{content:'P.';color:var(--accent-ink);font-family:var(--font-mono);font-size:.85em;position:absolute;left:0;top:19px}.faq-item summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-size:1.3rem;font-weight:400;color:var(--steel-dark);transition:transform .2s ease}.faq-item[open] summary::after{content:'−';color:var(--accent-ink)}.faq-item summary:hover::before{color:var(--accent)}.faq-item p{margin:0 0 18px;font-size:.94rem;padding-left:1.7em;padding-right:34px;color:var(--ink-soft)}.faq-item[open] summary{padding-bottom:10px}.venue-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.venue-chips span{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;padding:.5em 1.1em;background:var(--paper)}.landing-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}@media (max-width:900px){.landing-hero-grid{grid-template-columns:1fr}}.landing-sidebar{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:var(--paper-dim);position:sticky;top:90px}.landing-sidebar h4{font-family:var(--font-mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--steel-dark);margin-bottom:1em}.landing-sidebar ul{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:.7em}.landing-sidebar li a{font-size:.92rem;color:var(--ink-soft)}.landing-sidebar li a:hover{color:var(--accent-ink)}.check-list{list-style:none;padding:0;margin:0 0 1.4em}.check-list li{position:relative;padding-left:1.6em;margin-bottom:.7em;color:var(--ink-soft)}.check-list li::before{content:'';position:absolute;left:0;top:.35em;width:14px;height:14px;border:2px solid var(--accent);border-radius:3px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0 40px}@media (max-width:700px){.stats-grid{grid-template-columns:1fr}}.stat-block{text-align:center;padding:28px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.stat-block .stat-num{display:block;font-family:var(--font-display);font-weight:700;font-size:2.2rem;color:var(--ink);line-height:1}.stat-block .stat-label{display:block;margin-top:.5em;font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--steel-dark)}.systems-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.systems-chips span{font-family:var(--font-mono);font-size:.82rem;color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;padding:.5em 1.2em;background:var(--paper)}.social-icons{display:flex;gap:10px;margin-top:16px}.social-icons a{width:38px;height:38px;min-width:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);transition:background .2s ease,border-color .2s ease,transform .2s ease}.social-icons a:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.social-icons a svg{width:18px;height:18px}.social-icons-light a{background:var(--paper);border:1px solid var(--line)}.social-icons-light a:hover{background:var(--accent);border-color:var(--accent)}.social-icons-color a{background:#fff;border:1px solid rgba(255,255,255,.5)}.social-icons-color a svg{width:20px;height:20px}.social-icons-color a:hover{background:var(--accent);border-color:var(--accent)}