/* Impeccable / polish: preserve the restored NewG identity and composition. */
:root {
  --newg-gutter: clamp(24px, 7vw, 112px);
  --newg-focus: #fce500;
  --newg-muted: #545a50;
}
::selection { background: #fce500; color: #111; }
html { scrollbar-color: #7b7e71 #171916; }
input, textarea { caret-color: #555a05; }
body { -webkit-font-smoothing: antialiased; }
a, button { -webkit-tap-highlight-color: #fce50030; }
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--newg-focus);
  outline-offset: 5px;
}
main a:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid #575e10;
  outline-offset: 4px;
}
.original-header { border-bottom-color: #ffffff35; }
.original-header nav { font-weight: 400; }
.original-header nav>a, .nav-products>a { transition: color 160ms ease-out; }
.social-links { gap: 4px; }
.social-links a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 44px; }
.social-links svg { width: 18px; height: 18px; }
.social-links a:hover { color: #fff; }
.submenu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 32px; min-height: 44px; }
.submenu-toggle svg { width: 14px; height: 14px; }
.nav-products { gap: 0; }
.product-submenu { top: calc(100% - 10px); padding: 28px; gap: 28px; border-color: #ffffff25; }
.product-submenu a { min-height: 36px; }
.product-submenu a:hover { color: var(--yellow); }
.original-slide {
  background-image: linear-gradient(90deg, #000b 0%, #0007 44%, #0001 80%), var(--slide);
}
.slide-copy { max-width: 610px; }
.slide-heading { font-size: clamp(46px, 5vw, 70px); line-height: 1.04; text-wrap: balance; }
.slide-heading.legacy { font-size: clamp(42px, 4.4vw, 62px); line-height: 1.06; }
.slide-copy p { line-height: 1.6; max-width: 48ch; margin: 22px 0 32px; }
.original-button { min-height: 52px; transition: color 180ms ease-out, background-color 180ms ease-out, border-color 180ms ease-out; }
.original-button:active, .button:active { filter: brightness(.92); }
.slide-controls { gap: 4px; bottom: 15px; }
.slide-controls button { width: 44px; height: 44px; border: 0; border-radius: 4px; position: relative; }
.slide-controls button[data-slide]::after { content: ''; position: absolute; inset: 15px; border: 2px solid #fff; border-radius: 50%; background: transparent; }
.slide-controls button[data-slide][aria-pressed=true] { background: transparent; }
.slide-controls button[data-slide][aria-pressed=true]::after { border-color: var(--yellow); background: var(--yellow); }
.slide-controls .slide-pause { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.slide-controls button:hover { background-color: #0004; }
.original-intro { grid-template-columns: 1.1fr 1fr; align-items: center; gap: 40px; }
.original-intro h1 { font-size: clamp(29px, 3vw, 44px); line-height: 1.08; text-wrap: balance; }
.original-intro span { margin-bottom: 16px; }
.original-intro .original-button { letter-spacing: 2px; font-size: 14px; }
.line-band>div { padding-top: 24px; }
.line-band h2 { line-height: 1.05; }
.line-band span { min-height: 36px; padding: 10px 22px; transition: background-color 180ms ease-out, color 180ms ease-out; }
.page-hero h1 { font-size: clamp(34px, 4vw, 56px); line-height: 1.12; text-wrap: balance; }
.prose { font-size: 16px; line-height: 1.8; }
.prose>p { max-width: 72ch; }
.prose h2 { font-size: clamp(24px, 2.5vw, 32px); line-height: 1.2; margin: 40px 0 18px; }
.prose h3 { margin: 30px 0 14px; }
.prose a { text-underline-offset: 4px; text-decoration-thickness: 1px; }
.contact-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 60px; margin-bottom: 48px; }
.contact-detail { padding-bottom: 24px; border-bottom: 1px solid #e1e3db; }
.contact-detail h2 { margin: 0 0 10px; font-size: 14px; letter-spacing: .06em; color: #636957; }
.contact-detail h2:nth-of-type(2) { font-size: 21px; color: #111; letter-spacing: 0; line-height: 1.5; overflow-wrap: anywhere; text-transform: none; }
.contact-detail>a { display: inline-flex; align-items: center; min-height: 44px; font-size: 21px; font-family: 'Titillium Web', Arial, sans-serif; color: #222; }
.contact-detail:last-child h2:nth-child(2) { font-size: 18px; }
.search-label { color: #3f4637; font-weight: 600; font-size: 14px; }
.section-heading>span { font-size: 12px; }
input, textarea { border-color: #bdc3b4; border-radius: 4px; padding: 14px 16px; min-height: 48px; transition: border-color 160ms ease-out; }
input::placeholder, textarea::placeholder { color: #686e60; opacity: 1; }
input:hover, textarea:hover { border-color: #6e775f; }
form label { font-size: 14px; font-weight: 600; margin-bottom: 24px; }
.form-section p { line-height: 1.75; color: var(--newg-muted); }
.form-section h2 { font-size: clamp(30px, 3.5vw, 42px); line-height: 1.15; }
.original-footer { padding-top: 64px; padding-bottom: 28px; }
.original-footer h3 { font-size: 18px; margin-bottom: 20px; }
.original-footer p { font-size: 15px; line-height: 1.8; }
.original-footer a { text-underline-offset: 5px; }
.original-footer a:hover { color: var(--yellow); }
.original-footer small { margin-top: 8px; padding-top: 24px; color: #bbc0b2; }
@media (max-width: 1100px) and (min-width: 761px) {
  .original-header { gap: 18px; }
  .original-header nav { gap: 20px; font-size: 14px; }
  .original-header .social-links a { width: 30px; }
  .original-intro { gap: 32px; }
}
@media (max-width: 760px) {
  .menu-toggle { display: inline-flex; gap: 10px; align-items: center; min-height: 44px; border-color: #ffffff60; border-radius: 4px; }
  .menu-toggle svg { width: 18px; height: 18px; }
  .original-header nav { padding-top: 12px; padding-bottom: 20px; }
  .original-header nav>a, .nav-products>a { min-height: 48px; }
  .nav-products { column-gap: 8px; }
  .submenu-toggle { width: 44px; margin-left: auto; }
  .product-submenu { padding: 16px 20px; }
  .slide-wrap { padding-bottom: 92px; }
  .slide-heading, .slide-heading.legacy { font-size: clamp(35px, 8vw, 46px); }
  .slide-copy p { max-width: 34ch; font-size: 17px; }
  .original-intro { grid-template-columns: 1fr; gap: 26px; padding: 36px 7%; }
  .original-intro h1 { font-size: clamp(26px, 5vw, 34px); }
  .original-intro .original-button { font-size: 12px; letter-spacing: 1.4px; max-width: 100%; padding-inline: 22px; }
  .contact-details { gap: 24px; }
  .contact-detail h2:nth-of-type(2), .contact-detail>a { font-size: 18px; }
  .original-footer { padding-top: 44px; }
}
@media (max-width: 480px) {
  .contact-details { grid-template-columns: 1fr; gap: 24px; }
  .contact-detail { padding-bottom: 20px; }
  .form-actions { flex-direction: column; align-items: stretch; }
  .form-actions button { min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
