.el-eyebrow { display: inline-flex; align-items: center; gap: .6rem; margin: 0 0 var(--el-space-3); color: var(--el-gold-dark); font-size: var(--el-text-xs); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.el-eyebrow::before { content: ""; width: 1.75rem; height: 2px; background: var(--el-gold); }
.el-button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .65rem; padding: .75rem 1.35rem; border: 1px solid transparent; border-radius: var(--el-radius-pill); background: var(--el-black); color: var(--el-white); font-size: var(--el-text-sm); font-weight: 750; line-height: 1; text-decoration: none; }
.el-button:hover { transform: translateY(-2px); background: var(--el-black-soft); color: var(--el-white); box-shadow: var(--el-shadow-sm); }
.el-button--gold { background: var(--el-gold); color: var(--el-black); } .el-button--gold:hover { background: var(--el-gold-dark); color: var(--el-white); }
.el-button--outline { border-color: var(--el-black); background: transparent; color: var(--el-black); } .el-button--outline:hover { background: var(--el-black); color: var(--el-white); }
.el-card { overflow: hidden; border: 1px solid var(--el-color-border); border-radius: var(--el-radius-md); background: var(--el-color-surface); box-shadow: var(--el-shadow-sm); transition: transform var(--el-transition), box-shadow var(--el-transition), border-color var(--el-transition); }
.el-card:hover { transform: translateY(-4px); border-color: var(--el-gold-light); box-shadow: var(--el-shadow-md); }
.el-card__body { padding: clamp(1.25rem, 3vw, 2rem); } .el-card__icon { display: grid; width: 3rem; height: 3rem; place-items: center; margin-bottom: var(--el-space-4); border-radius: 50%; background: #f4ead2; color: var(--el-gold-dark); }
.el-section-heading { max-width: 46rem; margin-bottom: clamp(2rem, 5vw, 3.5rem); } .el-section-heading--center { margin-inline: auto; text-align: center; }
.el-media-frame { overflow: hidden; border-radius: var(--el-radius-lg); background: var(--el-color-surface-muted); box-shadow: var(--el-shadow-md); }
.el-media-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms ease; } .el-media-frame:hover img { transform: scale(1.02); }
.el-chip { display: inline-flex; align-items: center; padding: .4rem .8rem; border: 1px solid var(--el-color-border); border-radius: var(--el-radius-pill); background: var(--el-white); color: var(--el-gray-500); font-size: var(--el-text-xs); font-weight: 700; }
.el-icon-list { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; } .el-icon-list li { position: relative; padding-left: 1.75rem; }
.el-icon-list li::before { content: "✓"; position: absolute; left: 0; color: var(--el-gold-dark); font-weight: 900; }
.el-skip-link:focus { position: fixed !important; top: .75rem; left: .75rem; z-index: 10000; width: auto !important; height: auto !important; margin: 0 !important; padding: .75rem 1rem !important; clip: auto !important; border-radius: .25rem; background: var(--el-black); color: #fff; font-weight: 800; }
.el-site-header { position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid transparent; background: #0b0b0b; transition: border-color var(--el-transition), box-shadow var(--el-transition); }
.el-site-header.is-scrolled { border-color: #302d27; box-shadow: 0 5px 15px rgb(0 0 0 / .18); }
.el-site-header__inner { min-height: 5.75rem; display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 2rem); }
.el-brand { display: inline-flex; flex: 0 0 auto; align-items: center; color: var(--el-black); text-decoration: none; }
.el-brand__logo { display:block; width:125px; height:auto; max-height:none; object-fit:contain; }
.el-brand__fallback { width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; object-fit: contain; }
.el-brand__fallback { display: grid; place-items: center; background: var(--el-black); color: var(--el-gold); font-weight: 900; }
.el-brand__name { font: 800 clamp(1.15rem, 1.8vw, 1.45rem)/1 var(--el-font-display); letter-spacing: -.025em; white-space: nowrap; }
.el-desktop-nav { display: none; margin-left: auto; }
.el-desktop-nav ul { display: flex; align-items: center; gap: clamp(.9rem, 1.5vw, 1.4rem); margin: 0; padding: 0; list-style: none; }
.el-desktop-nav a { position: relative; display: flex; min-height: 44px; align-items: center; color: #f2f2f0; font-size: .78rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.el-desktop-nav a::after { content: ""; position: absolute; right: 0; bottom: .45rem; left: 0; height: 2px; background: var(--el-gold); transform: scaleX(0); transform-origin: left; transition: transform var(--el-transition); }
.el-desktop-nav a:hover,.el-desktop-nav a[aria-current="page"] { color: var(--el-gold); }
.el-desktop-nav a:hover::after,.el-desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
.el-header-cta { display: none; min-height: 44px; align-items: center; justify-content: center; padding: .65rem 1.15rem; border-radius: var(--el-radius-pill); background: var(--el-gold); color: var(--el-black); font-size: .8rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.el-header-cta:hover { background: var(--el-gold-light); color: var(--el-black); transform: translateY(-1px); }
.el-header-cta[aria-current="page"] { box-shadow: 0 0 0 2px #f2f2f0; }
.el-menu-toggle { width: 3rem; height: 3rem; display: grid; flex: 0 0 3rem; place-content: center; gap: 5px; margin-left: auto; padding: 0; border: 1px solid #54514b; border-radius: 50%; background: transparent; color: #f2f2f0; cursor: pointer; }
.el-menu-toggle span { display: block; width: 1.2rem; height: 2px; background: currentColor; transition: transform var(--el-transition), opacity var(--el-transition); }
.el-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.el-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.el-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.el-mobile-panel { position: absolute; top: 100%; right: 0; left: 0; max-height: calc(100dvh - 5.75rem); overflow-y: auto; padding: 1rem var(--el-gutter) 1.5rem; border-top: 1px solid #302d27; background: #0b0b0b; box-shadow: 0 14px 25px rgb(0 0 0 / .22); }
.el-mobile-panel[hidden] { display: none; }
.el-mobile-panel ul { margin: 0; padding: 0; list-style: none; }
.el-mobile-panel li { border-bottom: 1px solid #302d27; }
.el-mobile-panel nav a { display: flex; min-height: 3.25rem; align-items: center; justify-content: space-between; color: #f2f2f0; font-size: 1rem; font-weight: 750; text-decoration: none; }
.el-mobile-panel nav a:hover,.el-mobile-panel nav a[aria-current="page"] { color: var(--el-gold); }
.el-mobile-panel nav a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .35em; }
.el-mobile-panel__cta { display: flex; min-height: 3.25rem; align-items: center; justify-content: space-between; margin-top: 1.25rem; padding: .75rem 1rem; border-radius: var(--el-radius-pill); background: var(--el-gold); color: var(--el-black); font-weight: 850; text-decoration: none; }
body.el-menu-open { overflow: hidden; }
@media (min-width: 68.75rem) { .el-desktop-nav,.el-header-cta { display: flex; } .el-menu-toggle,.el-mobile-panel { display: none !important; } }
@media (min-width: 783px) { .admin-bar .el-site-header { top: 32px; } }
@media (max-width: 782px) { .admin-bar .el-site-header { top: 46px; } }
[data-header*="type-1"] .ct-header [data-id="logo"] .site-logo-container { max-width: 150px; }
.ct-header-trigger, .ct-button { border-radius: var(--el-radius-pill); } .menu > li > a { font-weight: 650; }
.menu > li > a:hover, .menu > .current-menu-item > a { color: var(--el-gold-dark); }
@media (min-width: 62rem) { .menu > li:last-child > a { min-height: 44px; margin-left: .35rem; padding-inline: 1.15rem !important; border-radius: var(--el-radius-pill); background: var(--el-gold); color: var(--el-black) !important; } .menu > li:last-child > a:hover { background: var(--el-gold-dark); color: var(--el-white) !important; transform: translateY(-1px); } }
@media (max-width: 61.99rem) { #offcanvas .mobile-menu > li:last-child { margin-top: .75rem; } #offcanvas .mobile-menu > li:last-child > a { min-height: 48px; justify-content: center; padding-inline: 1.25rem; border-radius: var(--el-radius-pill); background: var(--el-gold); color: var(--el-black) !important; text-align: center; } }
@media (max-width: 47.99rem) { .el-button { width: 100%; } .el-card:hover, .el-media-frame:hover img { transform: none; } }
.el-not-found { min-height: 68vh; display: grid; align-items: center; padding-block: var(--el-section-space); background: var(--el-gray-50); }
.el-not-found__inner { max-width: 54rem; }
.el-not-found h1 { max-width: 15ch; margin: 0; }
.el-not-found__inner > p:not(.el-eyebrow) { max-width: 42rem; color: var(--el-gray-500); font-size: var(--el-text-lg); }
.el-not-found .search-form { display: flex; max-width: 38rem; gap: .75rem; margin-block: 2rem; }
.el-not-found .search-form label { flex: 1; }
.el-not-found .search-field { width: 100%; min-height: 3rem; }
.el-not-found__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
@media (max-width: 47.99rem) { .el-not-found .search-form, .el-not-found__actions { flex-direction: column; align-items: stretch; } }
.el-site-footer{padding:clamp(3rem,6vw,5rem) 0 1.5rem;border-top:3px solid var(--el-gold);background:#111;color:#d6d2ca}.el-site-footer h2,.el-site-footer h3{color:#fff}.el-site-footer h2{margin:0 0 1rem;font-size:var(--el-text-h3)}.el-site-footer h3{margin:0 0 1rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.el-site-footer__grid{display:grid;gap:2rem}.el-site-footer__brand p{max-width:30rem}.el-site-footer__location{color:var(--el-gold-light);font-size:.8rem;font-weight:800;text-transform:uppercase}.el-site-footer ul{margin:0;padding:0;list-style:none}.el-site-footer li{margin-bottom:.55rem}.el-site-footer a{color:#d6d2ca;text-decoration:none}.el-site-footer a:hover{color:var(--el-gold-light)}.el-site-footer__contact>a{display:block;margin-bottom:.6rem}.el-site-footer .el-social-links{display:flex;flex-wrap:wrap;gap:.45rem .9rem}.el-site-footer .el-social-links li{margin:0}.el-site-footer .el-social-links>li>a,.el-site-footer .el-social-links>li>span{min-height:44px;padding:0;border:0;font-size:.75rem}.el-site-footer .el-social-links small{margin-left:.4rem;color:#85817a}.el-footer-hours{margin:.25rem 0 .65rem;color:#b8b4ad;font-size:.78rem;line-height:1.5}.el-footer-hours__time{white-space:nowrap}.el-site-footer__bottom{display:flex;flex-direction:column;gap:.35rem;margin-top:2.25rem;padding-top:1.25rem;border-top:1px solid #383632;color:#85817a;font-size:.75rem}@media(min-width:40rem){.el-site-footer__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"brand contact" "navigate services" "connect connect";gap:2rem 2.5rem}.el-site-footer__brand{grid-area:brand}.el-site-footer__navigate{grid-area:navigate}.el-site-footer__services{grid-area:services}.el-site-footer__contact{grid-area:contact}.el-site-footer__connect{grid-area:connect}.el-site-footer__bottom{flex-direction:row;justify-content:space-between}.el-site-footer__connect .el-social-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem 1.25rem}}@media(min-width:64rem){.el-site-footer__grid{grid-template-columns:minmax(0,1.45fr) minmax(7rem,.65fr) minmax(10rem,.85fr) minmax(17rem,1.35fr);grid-template-areas:"brand navigate services contact" "brand connect connect connect";gap:1.75rem clamp(1.5rem,3vw,3rem)}.el-site-footer__connect .el-social-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
.el-footer-etsy{display:flex!important;min-height:44px;align-items:center;gap:.4rem;margin:0!important;border-bottom:1px solid #383632;color:var(--el-gold-light)!important;font-size:.78rem;font-weight:800}.el-footer-etsy--pending{justify-content:space-between;color:#d6d2ca!important}.el-footer-etsy small{color:#85817a;font-size:.65rem;font-weight:500}
.el-footer-contact{display:inline-flex!important;min-height:44px;align-items:center;gap:.45rem;margin-top:.35rem!important;color:var(--el-gold-light)!important;font-weight:800}
.el-social-links{display:grid;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none}.el-social-links>li{margin:0}.el-social-links>li>a,.el-social-links>li>span{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;min-height:52px;align-items:center;gap:.75rem;padding:.35rem 0;border-bottom:1px solid var(--el-color-border);color:inherit;text-decoration:none}.el-social-link__icon{display:grid;width:2.5rem;height:2.5rem;place-items:center;border:1px solid currentColor;border-radius:50%;color:var(--el-gold-dark)}.el-social-link__icon svg{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.el-social-link__icon svg .is-filled{fill:currentColor;stroke:none}.el-social-link__name{font-size:.8rem;font-weight:800}.el-social-link__arrow{color:var(--el-gold-dark);font-size:1rem}.el-social-links small{color:var(--el-gray-500);font-size:.65rem;font-weight:500}.el-social-links a:hover .el-social-link__icon{background:var(--el-gold);color:var(--el-black)}.el-social-links a:focus-visible{border-radius:.15rem}
.el-site-footer .el-social-links{display:grid;grid-template-columns:1fr;gap:.15rem}.el-site-footer .el-social-links>li>a,.el-site-footer .el-social-links>li>span{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;min-height:44px;border-bottom:1px solid #2c2a27}.el-site-footer .el-social-link__icon{width:2rem;height:2rem;color:var(--el-gold-light)}.el-site-footer .el-social-link__icon svg{width:1rem;height:1rem}.el-site-footer .el-social-links small{margin:0}
.el-footer-logo{display:inline-block;margin-bottom:1rem}.el-footer-logo img{display:block;width:110px;height:auto;object-fit:contain}.el-footer-logo:focus-visible{outline-color:var(--el-gold-light)}
.el-services-hero h1,.el-work-page-hero h1,.el-about-story h1,.el-blog-hero h1{color:var(--el-black)}
.el-services-hero h1 .el-heading-accent,.el-work-page-hero h1 .el-heading-accent,.el-about-story h1 .el-heading-accent,.el-blog-hero h1 .el-heading-accent{color:var(--el-gold-dark)}
@media(min-width:48rem) and (max-width:68.749rem){.el-site-header__inner{min-height:5.25rem}.el-brand__logo{width:112px}}
@media(max-width:47.99rem){.el-site-header__inner{min-height:5rem}.el-brand__logo{width:105px}.el-mobile-panel{max-height:calc(100dvh - 5rem)}}
