@font-face{font-family:Manrope;src:url('/fonts/manrope-latin.woff2') format('woff2');font-display:swap}
@font-face{font-family:'League Gothic';src:url('/fonts/league-gothic-latin.woff2') format('woff2');font-display:swap}
:root{--grin-red-text:#bd2b1f;--ggg-v2-cream:#f7f5f1;--ggg-v2-ink:#0a0a09}
.ggg-v2-header{position:sticky;top:0;z-index:1000;background:#0a0a09;color:#f7f5f1;border-bottom:1px solid #353531;font-family:Manrope,sans-serif}
.ggg-v2-header .nav-inner{max-width:1440px;margin:auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ggg-v2-brand,.ggg-v2-footer-brand{display:flex;gap:12px;align-items:center;color:#f7f5f1;text-decoration:none;flex-shrink:0}
.ggg-v2-brand span,.ggg-v2-footer-brand span{font-family:'League Gothic',sans-serif;font-size:24px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.ggg-v2-brand img,.ggg-v2-footer-brand img{width:40px;height:40px;object-fit:contain}
.ggg-v2-menu{display:flex;align-items:center;gap:14px}
.ggg-v2-menu a{color:#f7f5f1;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:10px 0}
.ggg-v2-menu a:hover,.ggg-v2-menu a[aria-current]{text-decoration:underline;text-underline-offset:6px}
.ggg-v2-menu a.ggg-v2-audit{background:#bd2b1f;padding:13px 15px;color:#fff;text-decoration:none}
#ggg-menu-toggle{display:none;border:1px solid #77776d;background:transparent;color:#f7f5f1;padding:12px 16px;font:800 11px Manrope,sans-serif;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.ggg-v2-footer{background:#0a0a09;color:#f7f5f1;padding:64px max(24px,calc((100vw - 1200px)/2)) 24px;border-top:1px solid #353531;font:14px/1.8 Manrope,sans-serif}
.ggg-v2-footer-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px}
.ggg-v2-footer p{margin:18px 0;color:#c1c1b8;font-size:14px;max-width:60ch}
.ggg-v2-footer a{color:inherit;text-underline-offset:4px}
.ggg-v2-footer h2{font:400 30px/1.1 'League Gothic',sans-serif;text-transform:uppercase;margin:0 0 24px;color:#f7f5f1}
.ggg-v2-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
.ggg-v2-footer nav a{text-decoration:none;font-size:13px}
.ggg-v2-footer nav a:hover{text-decoration:underline}
.ggg-v2-socials{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px}
.ggg-v2-socials a{font-size:12px}
.ggg-v2-footer-bottom{border-top:1px solid #353531;margin-top:40px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#c1c1b8}
.ggg-v2-legal-links{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.ggg-v2-cookie-link{font:inherit;color:inherit;border:0;padding:0;background:none;text-decoration:underline;cursor:pointer}
.ggg-v2-footer .dmca-badge{display:inline-block;width:200px;height:40px;margin-top:8px;line-height:0}
.ggg-v2-footer .dmca-badge img{display:block;width:200px;height:40px;object-fit:contain}
.ggg-v2-header a:focus-visible,.ggg-v2-footer a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.ggg-cookie-bar{position:fixed;bottom:16px;left:24px;right:24px;z-index:1200;max-width:1160px;margin:auto;background:#f7f5f1;color:#0a0a09;border:2px solid #0a0a09;box-shadow:6px 6px 0 #0a0a09;padding:18px 22px;font:13px/1.6 Manrope,sans-serif;display:flex;align-items:center;gap:24px}
.ggg-cookie-bar[hidden],.ggg-cookie-options[hidden]{display:none}
.ggg-cookie-bar p{font-size:13px;line-height:1.6;margin:0;flex:1;color:#0a0a09}
.ggg-cookie-actions{display:flex;flex-wrap:wrap;gap:9px;flex-shrink:0}
.ggg-cookie-actions button,.ggg-cookie-options>button{font:800 11px/1.4 Manrope,sans-serif;padding:12px 14px;cursor:pointer;border:1px solid #0a0a09;background:#f7f5f1;color:#0a0a09}
.ggg-cookie-actions .is-primary{background:#0a0a09;color:#f7f5f1}
.ggg-cookie-options{position:fixed;z-index:1300;bottom:24px;right:24px;width:min(560px,calc(100vw - 48px));max-height:75svh;overflow:auto;background:#f7f5f1;color:#0a0a09;border:2px solid #0a0a09;padding:24px;box-shadow:6px 6px 0 #0a0a09;font:14px/1.6 Manrope,sans-serif}
.ggg-cookie-options h2{font:400 36px/1.1 'League Gothic',sans-serif;text-transform:uppercase;margin:0 0 16px}
.ggg-cookie-options p{font:13px/1.6 Manrope,sans-serif;margin:0 0 18px;color:#0a0a09}
.ggg-cookie-option{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid #aaa99f;font-weight:700}
.ggg-cookie-option input{accent-color:#0a0a09;width:20px;height:20px;flex-shrink:0;margin-top:2px}
.ggg-cookie-option small{display:block;font-size:12px;line-height:1.5;font-weight:400;margin-top:5px}
.ggg-cookie-options .ggg-cookie-actions{margin-top:20px}
.v2-embed-panel{background:#111110;color:#f7f5f1;border:1px solid #55554c;padding:32px;margin-top:24px;font-family:Manrope,sans-serif;min-height:230px}
.v2-embed-panel h3{font:400 32px/1.15 'League Gothic',sans-serif;text-transform:uppercase;color:#f7f5f1;margin:0 0 14px}
.v2-embed-panel p{font-size:14px;line-height:1.7;color:#d2d2c9;margin:0 0 20px}
.v2-embed-panel a{color:inherit;text-decoration:underline}
.v2-embed-panel button{background:#f7f5f1;color:#0a0a09;border:0;padding:16px 18px;font:800 12px/1.4 Manrope,sans-serif;cursor:pointer}
.v2-service-frame{display:block;width:100%;height:520px;border:0;background:#fff}
[data-v2-embed="zoom"]{padding:32px;max-width:1100px;margin-left:auto;margin-right:auto}
[data-v2-embed="zoom"][data-loaded="true"]{padding:0}
[data-v2-embed="zoom"] .v2-service-frame{height:800px}
#page-portfolio .client-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1200px;margin:auto;padding:56px 24px}
#page-portfolio .client-logo-grid .logo-node{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;height:210px!important;min-height:210px;border:1px solid #62625a;background:#10100f;border-radius:0;padding:24px;box-shadow:none}
#page-portfolio .client-logo-grid .logo-node:hover{border-color:#f7f5f1;background:#191917}
#page-portfolio .client-logo-cover{width:180px!important;max-width:100%;height:90px!important;padding:4px!important;transform:none!important;font-size:36px!important;line-height:1.1;display:flex;align-items:center;justify-content:center}
#page-portfolio .client-logo-cover img{width:100%;height:100%;object-fit:contain;filter:none!important;transform:none!important}
#page-portfolio .client-logo-counsel img{filter:brightness(1.4)!important}
#page-portfolio .constellation-lines,#page-portfolio .constellation-hint{display:none!important}
#page-pricing .pkg-grid{gap:24px!important;border:0!important}
#page-pricing .pkg-card{border:1px solid #0a0a09!important;padding:28px!important}
#page-pricing .pkg-tier{padding:14px 0!important}
#page-pricing .pkg-cta{margin-top:auto}
#page-pricing .pkg-name{font-size:32px}
.v2-pricing-path{max-width:1200px;margin:0 auto 40px;padding:28px;border:1px solid #0a0a09;background:#f7f5f1}
.v2-pricing-path h2{font:400 36px/1.1 'League Gothic',sans-serif;margin:0 0 12px;text-transform:uppercase}
.v2-pricing-path p{font-size:15px;line-height:1.7;margin:0 0 20px;max-width:75ch}
.v2-pricing-path .btn{display:inline-flex}
.eyebrow:not(.light),.byo-eyebrow,.pkg-num,.blog-card .cat,.service-card-arrow{color:var(--grin-red-text)}
@media(max-width:1279px){.ggg-v2-menu{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100svh - 90px);overflow:auto;background:#0a0a09;border-bottom:1px solid #77776d;padding:24px;grid-template-columns:1fr 1fr;gap:0 24px}.ggg-v2-menu.is-open{display:grid}.ggg-v2-menu a{padding:14px 8px;font-size:12px}.ggg-v2-menu a.ggg-v2-audit{margin-top:8px;text-align:center}#ggg-menu-toggle{display:block}.ggg-v2-header .nav-inner{padding:14px 24px}}
@media(max-width:800px){.ggg-v2-footer-grid{grid-template-columns:1fr;gap:36px}.ggg-v2-footer{padding-top:44px}.ggg-v2-footer-bottom{align-items:flex-start;flex-direction:column}.ggg-cookie-bar{display:block;left:12px;right:12px;bottom:12px;padding:14px}.ggg-cookie-bar .ggg-cookie-actions{margin-top:12px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.ggg-cookie-actions button{padding:10px 7px;font-size:10px}.ggg-cookie-options{bottom:12px;right:12px;width:calc(100vw - 24px);padding:20px}.ggg-v2-brand span{font-size:21px}#page-portfolio .client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#page-portfolio .client-logo-grid .logo-node{height:170px!important;min-height:170px;padding:16px}#page-portfolio .client-logo-cover{width:145px!important;height:76px!important;font-size:27px!important}.v2-embed-panel{padding:24px}}
@media(max-width:480px){.ggg-v2-brand span{font-size:19px}.ggg-v2-brand img{width:34px;height:34px}.ggg-v2-header .nav-inner{padding:12px 16px}.ggg-v2-menu{grid-template-columns:1fr}.ggg-v2-menu a{padding:11px 8px}#page-portfolio .client-logo-grid{grid-template-columns:1fr}#page-portfolio .client-logo-grid .logo-node{height:180px!important;min-height:180px}}

/* Flat, consistent client tiles and a shorter pricing path. */
#page-portfolio .client-logo-grid .logo-node{background:#f7f5f1!important;color:#0a0a09;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}
#page-portfolio .client-logo-grid .logo-node:hover{background:#e9e6df!important;border-color:#d93324}
#page-portfolio .client-logo-cover{color:#0a0a09!important}
#page-portfolio .client-logo-counsel{background:#0a0a09}
#page-portfolio .v2-client-label{position:static!important;display:block!important;font:700 12px/1.4 Manrope,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#0a0a09}
.v2-packages-heading{font:400 42px/1.1 'League Gothic',sans-serif;text-transform:uppercase;margin:0 0 24px}
.v2-estimate-details{margin:48px auto;max-width:1200px;border:1px solid #0a0a09}
.v2-estimate-details>summary{cursor:pointer;padding:24px;font:400 34px/1.15 'League Gothic',sans-serif;text-transform:uppercase;background:#f7f5f1;color:#0a0a09}
.v2-estimate-details #quote-builder{margin:0!important;border:0!important}
/* Scope out legacy page-wide nav rules. */
body .site-nav.ggg-v2-header{position:sticky;inset:0 0 auto;height:auto;min-height:0;padding:0;backdrop-filter:none}
body .site-nav.ggg-v2-header .nav-inner{display:flex;grid-template-columns:none;width:100%;max-width:1440px;height:auto;min-height:0;padding:16px 32px;gap:24px;box-sizing:border-box}
body .ggg-v2-menu,body .ggg-v2-footer nav{position:static;inset:auto;height:auto;min-height:0;transform:none;will-change:auto;background:transparent;border:0;box-shadow:none;justify-content:normal}
body .ggg-v2-menu{padding:0;display:flex}
body .ggg-v2-footer nav{padding:0;display:grid}
@media(max-width:1279px){body .ggg-v2-menu{display:none;position:absolute;inset:100% 0 auto;padding:24px;max-height:calc(100svh - 90px);overflow:auto;background:#0a0a09;border-bottom:1px solid #77776d;grid-template-columns:1fr 1fr}body .ggg-v2-menu.is-open{display:grid}body .site-nav.ggg-v2-header .nav-inner{padding:14px 24px}}
@media(max-width:480px){body .ggg-v2-menu{grid-template-columns:1fr}body .site-nav.ggg-v2-header .nav-inner{padding:12px 16px}}
body.unified-site .page-wrap{padding-top:0}
#page-portfolio .client-logo-kidtrain{overflow:hidden}
#page-portfolio .client-logo-kidtrain img{transform:scale(1.9)!important}

.ggg-cookie-bar a{color:#0a0a09;text-decoration:underline}.ggg-cookie-bar strong{margin-right:4px}
/* AA contrast for small copy, retaining the primary red on large type and panels. */
body.unified-site .byo-eyebrow,body.unified-site .byo-step-label>span,body.unified-site .operate-num{color:#bd2b1f}
body.unified-site .team-title,body.unified-site .belief-num,body.unified-site .faq-eyebrow{color:#e2483b}
.hero .eyebrow,.hero-section .eyebrow{color:#f7f5f1}
#project-modal{z-index:1400}
body.unified-site .team-title{color:#e2483b!important}
body .legal-wrap a,body .legal-wrap h3,body .service-card .card-number{color:#bd2b1f}
body .section-dark .card-number,body .proof-label,body .v2-dark-eyebrow{color:#ed5c4f}
body.unified-site .fanart-note{color:#9f241a}
body .eyebrow.v2-dark-eyebrow{color:#ed5c4f}
body .review-card .card-number{color:#bd2b1f}

body.unified-site .contact-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:64px}
body.unified-site .contact-info h2{font:400 36px/1.1 'League Gothic',sans-serif;text-transform:uppercase;margin:0 0 20px}
.v2-contact-start{margin-top:24px}
#contact-form{scroll-margin-top:110px}
.v2-inquiry-details{border:1px solid #aaa99f;padding:18px;margin:0 0 28px}
.v2-inquiry-details summary{font:700 13px/1.5 Manrope,sans-serif;cursor:pointer}
.v2-inquiry-details[open] summary{margin-bottom:20px}
@media(max-width:900px){body.unified-site .contact-grid{grid-template-columns:1fr;gap:44px}}
