:root{
  --g-bg:#F4F7FB;--g-surface:#fff;--g-surface-alt:#EAF3F6;--g-primary:#0F3D5E;--g-primary-strong:#08283E;
  --g-secondary:#0E7490;--g-accent:#F4B942;--g-text:#172033;--g-muted:#596579;--g-border:#D5DFE8;
  --g-success:#157347;--g-warning:#A85D00;--g-danger:#B42318;--g-link:#075985;--g-focus:#22B8CF;
  --g-header:#fff;--g-footer:#08283E;--g-hero-start:#08283E;--g-hero-end:#0E7490;
  --g-font:Inter,"Aptos","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html{scroll-behavior:smooth}body{font-family:var(--g-font);background:var(--g-bg)!important;color:var(--g-text);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--g-link)}a:hover{text-decoration-color:var(--g-accent)}
.g-surface{background:var(--g-surface)}.g-surface-alt{background:var(--g-surface-alt)}.g-primary{background:var(--g-primary);color:#fff}.g-primary-strong{background:var(--g-primary-strong);color:#fff}.g-secondary{background:var(--g-secondary);color:#fff}.g-accent{background:var(--g-accent);color:#172033}.g-text{color:var(--g-text)}.g-muted{color:var(--g-muted)}.g-border{border-color:var(--g-border)}
.g-hero{background:linear-gradient(135deg,var(--g-hero-start),var(--g-hero-end));color:#fff}.g-footer{background:var(--g-footer);color:#fff}.g-header{background:var(--g-header)}
.g-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.8rem;background:var(--g-primary);color:#fff!important;padding:.85rem 1.25rem;font-weight:700;box-shadow:0 8px 20px color-mix(in srgb,var(--g-primary) 18%,transparent);transition:.18s ease}.g-btn-primary:hover{background:var(--g-primary-strong);text-decoration:none;transform:translateY(-1px)}
.g-btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.8rem;background:var(--g-accent);color:#172033!important;padding:.85rem 1.25rem;font-weight:750;box-shadow:0 8px 20px #00000018;transition:.18s ease}.g-btn-accent:hover{filter:brightness(.96);text-decoration:none;transform:translateY(-1px)}
.g-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--g-border);border-radius:.8rem;background:var(--g-surface);color:var(--g-primary)!important;padding:.8rem 1.2rem;font-weight:700}.g-btn-outline:hover{border-color:var(--g-secondary);background:var(--g-surface-alt);text-decoration:none}
.g-card{border:1px solid var(--g-border);border-radius:1.5rem;background:var(--g-surface);box-shadow:0 10px 30px rgba(8,40,62,.07)}.g-card:hover{border-color:color-mix(in srgb,var(--g-secondary) 45%,var(--g-border))}
.g-kicker{color:var(--g-secondary);font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.18em}.g-heading{color:var(--g-primary-strong);font-weight:750;letter-spacing:-.025em;line-height:1.12}.g-copy{color:var(--g-muted);line-height:1.75}
.g-chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid color-mix(in srgb,var(--g-secondary) 30%,var(--g-border));border-radius:999px;background:color-mix(in srgb,var(--g-surface-alt) 78%,#fff);color:var(--g-primary);padding:.42rem .72rem;font-size:.78rem;font-weight:650}
.g-input,body input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),body select,body textarea{border-color:var(--g-border);color:var(--g-text);background:#fff}.g-input:focus,body input:focus,body select:focus,body textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb,var(--g-focus) 38%,transparent)!important;outline-offset:2px;border-color:var(--g-focus)!important}
.g-antispam,.math-challenge,.anti-spam-check,[data-antispam]{border:1px solid color-mix(in srgb,var(--g-secondary) 30%,var(--g-border))!important;border-radius:1rem!important;background:var(--g-surface-alt)!important;color:var(--g-text)!important;padding:1rem!important}.g-antispam label,.math-challenge label,.anti-spam-check label,[data-antispam] label{color:var(--g-primary-strong)!important;font-weight:650!important}.g-antispam input,.math-challenge input,.anti-spam-check input,[data-antispam] input{background:#fff!important;color:var(--g-text)!important;border-color:var(--g-border)!important}
.g-brand-lockup{display:flex;align-items:center;gap:.85rem;min-width:0}.g-brand-copy{line-height:1.05}.g-brand-copy strong{display:block;color:var(--g-primary-strong);font-size:1.18rem;font-weight:780}.g-brand-copy span{display:block;margin-top:.28rem;color:var(--g-secondary);font-size:.66rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.g-brand-copy small{display:block;margin-top:.3rem;color:var(--g-muted);font-size:.7rem;white-space:normal}
.g-live-search{position:relative}.g-live-results{position:absolute;z-index:85;top:calc(100% + .5rem);left:0;right:0;max-height:min(70vh,540px);overflow:auto;border:1px solid var(--g-border);border-radius:1rem;background:#fff;box-shadow:0 24px 70px rgba(8,40,62,.22)}.g-live-result{display:block;padding:.85rem 1rem;border-bottom:1px solid var(--g-border);color:var(--g-text)!important}.g-live-result:last-child{border-bottom:0}.g-live-result:hover,.g-live-result[aria-selected=true]{background:var(--g-surface-alt);text-decoration:none}.g-live-result-type{font-size:.7rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--g-secondary)}.g-live-result-title{margin-top:.16rem;font-weight:700;color:var(--g-primary-strong)}.g-live-result-summary{margin-top:.2rem;font-size:.84rem;color:var(--g-muted)}
.g-portfolio-track{display:flex;width:max-content;gap:1.1rem;animation:g-portfolio-scroll var(--g-portfolio-speed,38s) linear infinite}.g-portfolio-shell{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}.g-portfolio-shell:hover .g-portfolio-track,.g-portfolio-shell:focus-within .g-portfolio-track{animation-play-state:paused}.g-portfolio-card{width:min(330px,78vw);flex:0 0 auto;overflow:hidden;border:1px solid var(--g-border);border-radius:1.35rem;background:#fff;box-shadow:0 10px 30px rgba(8,40,62,.08)}.g-portfolio-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--g-surface-alt)}
@keyframes g-portfolio-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - .55rem))}}@media(prefers-reduced-motion:reduce){.g-portfolio-track{animation:none;flex-wrap:wrap;width:auto}.g-portfolio-shell{mask-image:none}}
.g-accordion details{border:1px solid var(--g-border);border-radius:1rem;background:#fff;overflow:hidden}.g-accordion summary{cursor:pointer;list-style:none;padding:1rem 1.1rem;color:var(--g-primary-strong);font-weight:700}.g-accordion summary::-webkit-details-marker{display:none}.g-accordion summary:after{content:'＋';float:right;color:var(--g-secondary)}.g-accordion details[open] summary:after{content:'−'}.g-accordion-body{border-top:1px solid var(--g-border);padding:1rem 1.1rem;color:var(--g-muted);line-height:1.75}
.g-chat-visual{border:1px solid color-mix(in srgb,var(--g-secondary) 30%,var(--g-border));border-radius:1.6rem;background:#fff;box-shadow:0 20px 60px rgba(8,40,62,.12);overflow:hidden}.g-chat-sidebar{background:var(--g-primary-strong);color:#fff}.g-chat-bubble{border:1px solid var(--g-border);border-radius:1rem;background:var(--g-surface-alt);padding:.8rem 1rem}.g-chat-bubble.is-me{background:color-mix(in srgb,var(--g-secondary) 13%,#fff);border-color:color-mix(in srgb,var(--g-secondary) 35%,var(--g-border))}
.g-cookie-panel{border:1px solid var(--g-border);background:#fff;color:var(--g-text);box-shadow:0 24px 70px rgba(8,40,62,.25)}
@media(max-width:768px){body{font-size:15.5px}.g-brand-copy{display:none}.g-portfolio-shell{mask-image:none}.g-portfolio-track{animation-duration:48s}}
