
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/Manrope-300-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/Manrope-300-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/Manrope-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/Manrope-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/Manrope-500-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/Manrope-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/Manrope-600-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/Manrope-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/Manrope-700-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/Manrope-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/PlayfairDisplay-400-italic-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/PlayfairDisplay-400-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/PlayfairDisplay-500-italic-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/PlayfairDisplay-500-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/PlayfairDisplay-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/PlayfairDisplay-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/PlayfairDisplay-500-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/PlayfairDisplay-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/PlayfairDisplay-600-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/PlayfairDisplay-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root {
  --font-primary: 'Manrope', system-ui, sans-serif;
  --font-secondary: 'Playfair Display', Georgia, serif;

  --text-xs: 0.66rem;
  --text-sm: 0.78rem;
  --text-md: clamp(0.94rem, 1.1vw, 1.06rem);
  --text-lg: clamp(1.05rem, 1.4vw, 1.25rem);
  --text-xl: clamp(1.25rem, 1.9vw, 1.5rem);
  --text-xxl: clamp(1.4rem, 2.4vw, 1.9rem);
  --text-xxxl: clamp(1.9rem, 3vw, 2.6rem);
  --text-xxxxl: clamp(2.4rem, 4.2vw, 3.9rem);

  --space-md: 1.5rem;
  --space-lg: 2.75rem;
  --space-xl: clamp(4.4rem, 7.5vw, 7.5rem);
  --space-xxl: clamp(6rem, 10vw, 9rem);

  --component-padding: clamp(1.25rem, 4vw, 2.5rem);
  --max-width-xl: 1500px;

  --gc-hair: rgba(41, 41, 41, .1);
  --gc-hair-light: rgba(255, 255, 255, .18);
  --gc-soft: #FBF3F0;
}

html { scroll-behavior: smooth; }
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--font-primary);
  color: var(--color-black);
  background: var(--color-white);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, blockquote { font-family: var(--font-secondary); font-weight: 400; color: inherit; margin: 0; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--color-black); }
::selection { background: var(--color-primary); color: var(--color-black); }

.btn {
  --btn-padding-x: 2rem;
  --btn-padding-y: 1.15em;
  border-radius: 50em;
  border: 2px solid transparent;
  font-family: var(--font-primary);
  font-size: .72rem;
  font-weight: 400;
  will-change: auto;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color .4s ease, color .4s ease, border-color .4s ease;
}

.btn:hover, .btn:focus, .btn:active { font-weight: 400; }

.btn--primary { background-color: var(--color-primary); border-color: var(--color-primary); color: var(--color-black); }
.btn--primary:hover { background-color: var(--color-primary-darker); border-color: var(--color-primary-darker); color: var(--color-black); }

.btn--accent { background-color: var(--color-black); border-color: var(--color-black); color: var(--color-white); }
.btn--accent:hover { background-color: var(--color-contrast-higher); border-color: var(--color-contrast-higher); color: var(--color-white); }

.btn--secondary { background-color: var(--color-white); border-color: var(--color-white); color: var(--color-black); }
.btn--secondary:hover { background-color: var(--color-primary); border-color: var(--color-primary); color: var(--color-black); }

.btn--subtle { background-color: transparent; border-color: currentColor; color: inherit; }
.btn--subtle:hover { background-color: var(--color-black); border-color: var(--color-black); color: var(--color-white); }
.bg-black .btn--subtle, .gc-shade-up ~ * .btn--subtle, [class*="color-white"] .btn--subtle { border-color: rgba(255, 255, 255, .34); color: #FFFFFF; }
.bg-black .btn--subtle:hover, .gc-shade-up ~ * .btn--subtle:hover, [class*="color-white"] .btn--subtle:hover { background-color: var(--color-white); border-color: var(--color-white); color: var(--color-black); }
.gc-band .btn--subtle { border-color: rgba(41, 41, 41, .34); color: var(--color-black); }
.gc-band .btn--subtle:hover { background-color: var(--color-black); border-color: var(--color-black); color: var(--color-white); }

.gc-eyebrow { font-size: var(--text-xs); letter-spacing: .26em; text-transform: uppercase; }
.gc-rule { display: block; flex-shrink: 0; width: 2.1rem; height: 1px; background: var(--color-primary-darker); }
.gc-italic { font-style: italic; color: var(--color-primary-darker); }
.gc-display { font-family: var(--font-secondary); font-size: clamp(2.2rem, 5.2vw, 5.4rem); line-height: 1.1; letter-spacing: -.02em; }
[data-hero-slide] .gc-display { max-width: 1180px; text-wrap: balance; }
[data-hero-slide] p { max-width: 620px; margin-left: auto; margin-right: auto; line-height: 1.7; font-weight: 300; color: rgba(255, 255, 255, .8); }
[data-hero-slide] .btn { margin-top: .4rem; }
.gc-hair-b { border-bottom: 1px solid var(--gc-hair); }
.gc-hair-t { border-top: 1px solid var(--gc-hair); }
.gc-hair-t-light { border-top: 1px solid var(--gc-hair-light); }
.gc-link { border-bottom: 1px solid var(--color-primary-darker); padding-bottom: 4px; }
.gc-link-soft { border-bottom: 1px solid rgba(41, 41, 41, .25); padding-bottom: 8px; transition: border-color .4s ease; }
.gc-link-soft:hover { border-bottom-color: var(--color-primary-darker); }
.gc-link-light { border-bottom: 1px solid rgba(255, 255, 255, .3); padding-bottom: 8px; transition: border-color .4s ease, color .4s ease; }
.gc-link-light:hover { border-bottom-color: #FFFFFF; color: #FFFFFF; }

.gc-icon { display: block; width: 1.65rem; height: 1.65rem; background: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
.gc-icon--sm { width: .85rem; height: .85rem; }
.gc-icon--lg { width: 1.9rem; height: 1.9rem; }
.gc-icon--primary { background: var(--color-primary-darker); }

.gc-ph { background: transparent; }
.gc-cover { position: absolute; inset: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.gc-zoom { transition: transform 1.2s cubic-bezier(.16, 1, .3, 1); }
a:hover .gc-zoom { transform: scale(1.05); }

.gc-card { background: var(--color-white); border-right: 1px solid var(--gc-hair); border-bottom: 1px solid var(--gc-hair); transition: background .5s ease; }
.gc-grid-4 > .gc-card { padding: 2.1rem 1.9rem 1.9rem; }
@media (max-width: 40rem) {
  .gc-grid-4 { column-gap: 1.5rem; }
  .gc-grid-4 > .gc-card { padding-left: 0; padding-right: 0; }
}
.gc-card:hover { background: #FDFAF9; }
.gc-grid-4 > .gc-card:nth-child(4n) { border-right-color: transparent; }
@media (max-width: 40rem) {
  .gc-grid-4 > .gc-card:nth-child(4n) { border-right-color: var(--gc-hair); }
  .gc-grid-4 > .gc-card:nth-child(2n) { border-right-color: transparent; }
}

.gc-proc {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid var(--gc-hair-light);
  border-bottom: 1px solid var(--gc-hair-light);
  transition: background .55s cubic-bezier(.16, 1, .3, 1), color .55s ease;
}
.gc-proc:hover { background: var(--color-primary); color: var(--color-black); }
.gc-grid-4 > .gc-proc:nth-child(4n) { border-right-color: transparent; }
@media (max-width: 40rem) {
  .gc-grid-4 > .gc-proc:nth-child(4n) { border-right-color: var(--gc-hair-light); }
  .gc-grid-4 > .gc-proc:nth-child(2n) { border-right-color: transparent; }
}
@media (max-width: 33rem) {
  .gc-grid-4 > .gc-proc, .gc-grid-4 > .gc-card { border-right-color: transparent; }
}

.gc-row { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 1.5rem; padding: 1.6rem 0; border-bottom: 1px solid var(--gc-hair); transition: padding-left .55s cubic-bezier(.16, 1, .3, 1); }
.gc-row-name { font-family: var(--font-secondary); font-size: var(--text-xl); line-height: 1.15; transition: color .4s ease; }
.gc-arrow { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; font-size: .8rem; color: var(--color-black); transition: opacity .4s ease, transform .5s cubic-bezier(.16, 1, .3, 1); }

.gc-circle { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 50%; border: 1px solid rgba(41, 41, 41, .2); cursor: pointer; transition: background .4s ease, border-color .4s ease, color .4s ease; }
.gc-circle:hover { background: var(--color-black); border-color: var(--color-black); color: var(--color-white); }
.gc-circle--light { border-color: rgba(255, 255, 255, .3); }
.gc-circle--light:hover { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-black); }

.gc-shade-up { background: linear-gradient(to top, rgba(41, 41, 41, .86) 0%, rgba(41, 41, 41, .5) 32%, rgba(41, 41, 41, .12) 66%, rgba(41, 41, 41, .28) 100%); }
.gc-shade-down { background: linear-gradient(to bottom, rgba(41, 41, 41, .55), rgba(41, 41, 41, .72) 45%, rgba(41, 41, 41, .86)); }
.gc-shade-page { background: linear-gradient(to top, rgba(41, 41, 41, .88) 0%, rgba(41, 41, 41, .62) 55%, rgba(41, 41, 41, .5) 100%); }
.gc-shade-card { background: linear-gradient(to top, rgba(41, 41, 41, .5), transparent 60%); }

.gc-marquee { display: inline-flex; gap: 3.5rem; animation: marq 38s linear infinite; will-change: transform; }
.gc-fact { border-left: 1px solid var(--gc-hair); padding: 0 clamp(.9rem, 2vw, 1.75rem); }
.gc-fact--on-photo { border-left-color: rgba(255, 255, 255, .22); }
.gc-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: softpulse 2.6s ease-in-out infinite; }
.gc-play { display: inline-flex; align-items: center; justify-content: center; width: 2.875rem; height: 2.875rem; border-radius: 50%; background: var(--color-white); color: var(--color-black); font-size: .75rem; }
.gc-video-btn { display: flex; align-items: center; gap: 1rem; cursor: pointer; padding: .7rem 1.6rem .7rem .7rem; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50em; transition: background .45s ease, border-color .45s ease; }
.gc-video-btn, .gc-video-btn:hover { color: inherit; }
.gc-video-btn:hover { background: rgba(255, 255, 255, .1); border-color: #FFFFFF; }

.gc-social { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; opacity: .7; transition: opacity .35s ease, background .35s ease; }
.gc-social:hover { opacity: 1; background: rgba(41, 41, 41, .09); }

.gc-meta-row { display: grid; grid-template-columns: 84px 1fr; gap: 1.1rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--gc-hair); }
.gc-footer-col { display: flex; flex-direction: column; gap: .75rem; font-size: .78rem; }
.gc-footer-col a { color: rgba(255, 255, 255, .62); transition: color .3s ease; }
.gc-footer-col a:hover { color: #FFFFFF; }
.gc-footer-head { font-size: .625rem; letter-spacing: .2em; text-transform: uppercase; color: #FFFFFF; margin-bottom: .375rem; }

@keyframes kb { from { transform: scale(1) translateY(0); } to { transform: scale(1.12) translateY(-1.5%); } }
@keyframes marq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes softpulse { 0%, 100% { opacity: .35; transform: scale(1); } 50% { opacity: .9; transform: scale(1.6); } }

.gc-grid-4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(max(150px, 25%), 1fr)); }
.gc-grid-4-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(max(140px, 25%), 1fr)); row-gap: 1.1rem; }
.gc-grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr)); gap: 2.1rem; }
.gc-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(330px, 100%), 1fr)); gap: clamp(1.75rem, 4vw, 4.4rem); }
.gc-grid-2-wide { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr)); }
.gc-split--flip > :first-child { order: 2; }
.gc-split--flip > :last-child { order: 1; }
.gc-grid-reviews { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr)); gap: 4.4rem; align-items: start; }
.gc-grid-contacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr)); gap: 5rem; align-items: start; }
.gc-grid-footer { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(185px, 100%), 1fr)); gap: 2.75rem; }
.gc-grid-mega { display: grid; grid-template-columns: clamp(210px, 23vw, 300px) minmax(0, 1fr) clamp(180px, 20vw, 250px); gap: clamp(1.5rem, 3.4vw, 3.5rem); }
.gc-grid-mega-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 2.5rem; }

.gc-pill { display: inline-flex; align-items: center; padding: .6rem 1.15rem; border: 1px solid var(--gc-hair); border-radius: 50em; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; transition: background .35s ease, border-color .35s ease; }
a.gc-pill:hover { background: var(--color-primary); border-color: transparent; }

.gc-faq { border-top: 1px solid var(--gc-hair); }
.gc-faq details { border-bottom: 1px solid var(--gc-hair); }
.gc-faq summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.5rem 0;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-secondary);
  font-size: clamp(1.05rem, 1.5vw, 1.4rem);
  line-height: 1.35;
  transition: opacity .3s ease;
}
.gc-faq summary::-webkit-details-marker { display: none; }
.gc-faq summary:hover { opacity: .7; }
.gc-faq-sign { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; border: 1px solid var(--gc-hair); font-family: var(--font-primary); font-size: .95rem; transition: background .35s ease, border-color .35s ease, transform .45s cubic-bezier(.16, 1, .3, 1); }
.gc-faq details[open] .gc-faq-sign { background: var(--color-primary); border-color: transparent; transform: rotate(45deg); }
.gc-faq-body { padding: 0 3.75rem 1.9rem 0; max-width: 68ch; font-size: .94rem; line-height: 1.75; font-weight: 300; color: var(--color-contrast-higher); animation: faqIn .5s cubic-bezier(.16, 1, .3, 1); }
.gc-faq-body p + p, .gc-faq-body ul + p { margin-top: .9rem; }
.gc-faq-body ul, .gc-faq-body ol { margin: .9rem 0 0; padding-left: 1.25rem; }
.gc-faq-body ul { list-style: disc outside; }
.gc-faq-body ol { list-style: decimal outside; }
.gc-faq-body li { margin-bottom: .5rem; }
.gc-faq-body ul ul, .gc-faq-body ol ol, .gc-faq-body ul ol, .gc-faq-body ol ul { margin: .5rem 0 0; }
.gc-faq-body li::marker { color: var(--color-primary-darker); }
.gc-faq-body strong { font-weight: 500; color: var(--color-black); }
@keyframes faqIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

.gc-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; }
.gc-crumbs span { opacity: .5; }

#gc-curtain { position: fixed; inset: 0; z-index: 120; pointer-events: none; }
#gc-curtain[data-state="in"] { pointer-events: all; }
#gc-curtain { opacity: 1; transition: opacity 1.05s cubic-bezier(.4, 0, .2, 1); }
#gc-curtain[data-state="out"] { opacity: 0; }
#gc-curtain[data-quick] { transition: none; }
#gc-curtain[data-quick][data-state="out"] { display: none; }
.gc-curtain-panel { position: absolute; left: 0; right: 0; height: 50.2%; background: #FFFFFF; }
.gc-curtain-panel--t { top: 0; }
.gc-curtain-panel--b { bottom: 0; }

.gc-curtain-mark { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--color-black); }

.gc-curtain-badge { position: relative; width: 120px; height: 120px; display: flex; align-items: center; justify-content: center; }
.gc-curtain-badge img { width: 58px; height: 58px; object-fit: contain; opacity: 0; transform: scale(.72); filter: blur(6px); animation: gcMarkIn 1.5s cubic-bezier(.16, 1, .3, 1) .12s forwards; }
.gc-curtain-ring { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--color-primary-darker); transform: rotate(-90deg); }
.gc-curtain-ring circle { stroke-dasharray: 365; stroke-dashoffset: 365; animation: gcRing 2.1s cubic-bezier(.32, 0, .18, 1) .3s forwards; }

.gc-curtain-word { display: flex; margin-top: 1.5rem; font-family: var(--font-secondary); font-size: 1.6rem; letter-spacing: .3em; }
.gc-curtain-word .gc-l { display: inline-block; opacity: 0; transform: translateY(115%) rotate(4deg); animation: gcLetter .95s cubic-bezier(.16, 1, .3, 1) forwards; }
.gc-curtain-word .gc-l em { font-style: normal; color: var(--color-primary-darker); }

.gc-curtain-sub { margin-top: .7rem; font-size: .6rem; text-transform: uppercase; opacity: 0; letter-spacing: .62em; animation: gcSub 1.5s cubic-bezier(.16, 1, .3, 1) 1.45s forwards; }
.gc-curtain-bar { position: relative; width: 168px; height: 1px; margin-top: 2.1rem; background: rgba(41, 41, 41, .14); overflow: hidden; }
.gc-curtain-bar i { position: absolute; inset: 0; background: var(--color-primary-darker); transform-origin: left; transform: scaleX(0); animation: gcBar 2.5s cubic-bezier(.3, 0, .2, 1) .25s forwards; }

@keyframes gcMarkIn { to { opacity: 1; transform: scale(1); filter: blur(0); } }
@keyframes gcRing { to { stroke-dashoffset: 0; } }
@keyframes gcLetter { to { opacity: 1; transform: none; } }
@keyframes gcSub { to { opacity: .55; letter-spacing: .28em; } }
@keyframes gcBar { to { transform: scaleX(1); } }

@media (prefers-reduced-motion: reduce) {
  #gc-curtain { transition: none; }
  .gc-curtain-badge img, .gc-curtain-ring circle, .gc-curtain-word .gc-l, .gc-curtain-sub, .gc-curtain-bar i { animation: none; opacity: 1; transform: none; filter: none; stroke-dashoffset: 0; }
}

@view-transition { navigation: auto; }
::view-transition-old(root) { animation: gcFadeOut .28s ease both; }
::view-transition-new(root) { animation: gcFadeIn .45s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes gcFadeOut { to { opacity: 0; } }
@keyframes gcFadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}

.gc-util { background: var(--color-primary); color: var(--color-black); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.gc-util-in { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.5rem; height: 40px; }
.gc-util-l, .gc-util-c, .gc-util-r { display: flex; align-items: center; gap: clamp(.8rem, 1.6vw, 1.5rem); min-width: 0; }
.gc-util-c { justify-content: center; }
.gc-util-r { justify-content: flex-end; }
.gc-util-link { display: flex; align-items: center; gap: .5rem; white-space: nowrap; transition: opacity .3s ease; }
.gc-util-link:hover { opacity: .6; }
.gc-util-muted { display: flex; align-items: center; gap: .5rem; white-space: nowrap; opacity: .62; overflow: hidden; text-overflow: ellipsis; }
.gc-util-sep { width: 1px; height: 12px; background: rgba(41, 41, 41, .22); flex-shrink: 0; }
.gc-socials { display: flex; align-items: center; gap: var(--space-xs); }
.gc-social--txt { font-family: var(--font-secondary); font-size: .78rem; letter-spacing: 0; }

.gc-header { position: sticky; top: 0; z-index: 60; background: #FFFFFF; border-bottom: 1px solid var(--gc-hair); }
.gc-head-main { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.5rem; padding-top: clamp(.6rem, 1.1vw, .95rem); padding-bottom: clamp(.5rem, .9vw, .8rem); transition: padding .5s cubic-bezier(.16, 1, .3, 1); }
.gc-head-side { display: flex; align-items: center; gap: .7rem; }
.gc-head-side--r { justify-content: flex-end; }
.gc-head-hint { font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: var(--color-contrast-medium); }
.gc-head-phone { display: inline-flex; align-items: center; gap: .65rem; color: var(--color-black); }
.gc-icon-circle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2.7rem; height: 2.7rem; border-radius: 50%; background: var(--color-primary); color: var(--color-black); transition: background .4s ease; }
.gc-icon-circle .gc-icon { width: 1rem; height: 1rem; }
.gc-head-phone:hover .gc-icon-circle { background: var(--color-primary-darker); }
.gc-head-phone b { font-weight: 400; font-size: .95rem; letter-spacing: .04em; white-space: nowrap; transition: color .35s ease; }
.gc-head-phone:hover b { color: var(--color-primary-darker); }

.gc-logo { display: flex; align-items: center; gap: .8rem; }
.gc-logo img { width: 38px; height: 38px; object-fit: contain; transition: width .5s cubic-bezier(.16, 1, .3, 1), height .5s cubic-bezier(.16, 1, .3, 1); }
.gc-logo-word { display: flex; flex-direction: column; align-items: center; gap: 3px; line-height: 1; }
.gc-logo-word b { font-family: var(--font-secondary); font-weight: 400; font-size: clamp(1.05rem, 1.4vw, 1.28rem); letter-spacing: .1em; padding-left: .1em; white-space: nowrap; }
.gc-logo-word span { font-size: .54rem; letter-spacing: .24em; padding-left: .24em; text-transform: uppercase; color: var(--color-contrast-high); white-space: nowrap; }

.gc-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border: 1px solid var(--gc-hair); border-radius: 50%; background: transparent; color: var(--color-black); cursor: pointer; transition: background .4s ease, border-color .4s ease; }
.gc-icon-btn:hover { background: var(--color-primary); border-color: transparent; }
.gc-icon-btn--fill { width: 2.7rem; height: 2.7rem; background: var(--color-primary); border-color: transparent; }
.gc-icon-btn--fill .gc-icon { width: 1rem; height: 1rem; }
.gc-icon-btn--fill:hover { background: var(--color-primary-darker); }
.gc-cta { white-space: nowrap; flex-shrink: 0; }

.gc-nav { border-top: 1px solid var(--gc-hair); }
.gc-nav-in { display: flex; align-items: stretch; justify-content: center; gap: clamp(1.5rem, 3.4vw, 4rem); }
.gc-nav-item { position: relative; }
.gc-nav-link { display: flex; align-items: center; gap: 7px; padding: .95rem 0; font-size: .82rem; white-space: nowrap; cursor: pointer; border-bottom: 1px solid transparent; transition: border-color .35s ease, opacity .35s ease; }
.gc-nav-link:hover { border-bottom-color: var(--color-primary-darker); }
.gc-nav-item[data-active] > .gc-nav-link,
.gc-nav-item[data-open] > .gc-nav-link { border-bottom-color: var(--color-primary-darker); }
.gc-caret { display: inline-block; width: 5px; height: 5px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .45; transition: transform .35s ease; }
.gc-nav-item[data-open] .gc-caret { transform: rotate(225deg) translateY(2px); }

.gc-drop { position: absolute; top: 100%; left: 50%; transform: translate(-50%, 10px); min-width: 260px; padding: .9rem 0; background: var(--color-white); border: 1px solid var(--gc-hair); box-shadow: 0 34px 54px -26px rgba(41, 41, 41, .28); opacity: 0; visibility: hidden; transition: opacity .32s ease, transform .32s cubic-bezier(.16, 1, .3, 1); z-index: 70; }
.gc-drop--cols { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); }
.gc-nav-item[data-open] > .gc-drop { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.gc-drop a { display: flex; align-items: center; gap: .7rem; padding: .55rem 1.4rem; font-size: .78rem; line-height: 1.4; color: var(--color-contrast-higher); }
.gc-drop a .gc-icon { flex-shrink: 0; width: .95rem; height: .95rem; background: var(--color-primary-darker); transition: background .3s ease; }
.gc-drop a:hover .gc-icon { background: var(--color-black); }
.gc-drop a:hover { background: #FDFAF9; color: var(--color-black); }
.gc-drop a[data-current] { background: #FDFAF9; color: var(--color-black); }

.gc-mega { position: absolute; left: 0; right: 0; top: 100%; background: var(--color-white); border-top: 1px solid var(--gc-hair); border-bottom: 1px solid var(--gc-hair); box-shadow: 0 40px 60px -30px rgba(41, 41, 41, .25); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .35s ease, transform .45s cubic-bezier(.16, 1, .3, 1); z-index: 70; }
.gc-nav-item--mega { position: static; }
.gc-nav-item--mega[data-open] > .gc-mega { opacity: 1; visibility: visible; transform: none; }
.gc-mega-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr) clamp(210px, 22vw, 290px); gap: clamp(1.5rem, 3.4vw, 3.5rem); padding-top: 2.5rem; padding-bottom: 2.75rem; }
.gc-mega-head { font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; color: var(--color-contrast-medium); padding-bottom: 1.1rem; border-bottom: 1px solid var(--gc-hair); margin-bottom: .9rem; }
.gc-mega-list { display: grid; gap: .1rem; }
.gc-mega .gc-mega-list a .gc-icon { flex-shrink: 0; width: .95rem; height: .95rem; background: var(--color-primary-darker); transition: background .3s ease; }
.gc-mega .gc-mega-list a:hover .gc-icon { background: var(--color-black); }
.gc-mega .gc-mega-list a { display: flex; align-items: center; gap: .6rem; padding: .42rem 0; font-size: .84rem; color: var(--color-contrast-higher); transition: color .3s ease, padding-left .4s cubic-bezier(.16, 1, .3, 1); }
.gc-mega .gc-mega-list a:hover { color: var(--color-black); padding-left: .5rem; }
.gc-mega-list i { font-style: normal; font-size: .62rem; color: var(--color-contrast-low); }
.gc-mega-promo { display: flex; flex-direction: column; justify-content: space-between; gap: 1.9rem; padding: 1.75rem; background: var(--color-black); color: var(--color-white); }

html[data-scrolled] .gc-head-main { padding-top: .45rem; padding-bottom: .4rem; }
html[data-scrolled] .gc-logo img { width: 30px; height: 30px; }

.gc-burger { display: none; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px solid var(--gc-hair); border-radius: 50%; background: transparent; cursor: pointer; }
.gc-burger i { display: block; width: 16px; height: 1px; background: var(--color-black); transition: transform .42s cubic-bezier(.16, 1, .3, 1), background-color .35s ease; }
.gc-burger[data-open] { background: var(--color-primary); border-color: transparent; }
.gc-burger[data-open] i:first-child { transform: translateY(3px) rotate(45deg); }
.gc-burger[data-open] i:last-child { transform: translateY(-3px) rotate(-45deg); }

@media (max-width: 62rem) {
  .gc-util-c { display: none; }
  .gc-head-hint { display: none; }
  .gc-head-phone b { display: none; }
  .gc-burger { display: flex; }
  .gc-nav { position: fixed; inset: 40px 0 0; background: var(--color-white); overflow-y: auto; padding: 1.5rem var(--component-padding) 3.5rem; transform: translateY(-12px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .4s ease, transform .5s cubic-bezier(.16, 1, .3, 1); }
  html[data-menu="open"] .gc-nav { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
  .gc-nav-in { flex-direction: column; align-items: stretch; gap: 0; }
  .gc-nav-item { border-bottom: 1px solid var(--gc-hair); }
  .gc-nav-link { padding: 1.1rem 0; font-size: 1rem; }
  .gc-caret { display: none; }
  .gc-drop, .gc-mega { position: static; opacity: 1; visibility: visible; transform: none; border: 0; box-shadow: none; padding: 0 0 1rem; min-width: 0; }
  .gc-drop--cols, .gc-mega-grid { grid-template-columns: 1fr; gap: 0; padding: 0 0 1rem; }
  .gc-drop a, .gc-mega-list a { padding-left: .9rem; font-size: .82rem; }
  .gc-mega-head { border: 0; padding: .8rem 0 .3rem; margin: 0; }
  .gc-mega-promo { display: none; }
}

.gc-shop { padding-top: 2.4rem; padding-bottom: 2.75rem; }
.gc-shop-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); }
.gc-shop-card { display: flex; flex-direction: column; gap: .9rem; }
.gc-shop-shot { position: relative; overflow: hidden; aspect-ratio: 16/9; }
.gc-shop-shot em { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: .58rem; letter-spacing: .22em; text-transform: uppercase; color: var(--color-contrast-medium); }
.gc-shop-shot b { position: absolute; left: 1rem; top: 1rem; font-weight: 400; font-size: .58rem; letter-spacing: .2em; text-transform: uppercase; padding: .3rem .6rem; background: var(--color-white); }
.gc-shop-card:hover .gc-shop-shot { }
.gc-shop-name { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; font-family: var(--font-secondary); font-size: 1.15rem; letter-spacing: .06em; }
.gc-shop-text { font-size: .78rem; line-height: 1.65; font-weight: 300; color: var(--color-contrast-high); }

@media (max-width: 62rem) {
  .gc-shop { padding: 0 0 1rem; }
  .gc-shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 1rem; }
  .gc-shop-text { display: none; }
}

#gc-search { position: fixed; inset: 0; z-index: 130; display: flex; align-items: flex-start; justify-content: center; padding-top: 18vh; background: hsla(0, 0%, 100%, .96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); opacity: 0; visibility: hidden; transition: opacity .4s ease; }
html[data-search="open"] #gc-search { opacity: 1; visibility: visible; }
.gc-search-box { width: min(720px, 90vw); }
.gc-search-box label { display: block; font-size: .62rem; letter-spacing: .24em; text-transform: uppercase; color: var(--color-contrast-medium); margin-bottom: 1.1rem; }
.gc-search-box input { width: 100%; padding: .8rem 0; border: 0; border-bottom: 1px solid var(--color-black); background: transparent; font-family: var(--font-secondary); font-size: clamp(1.6rem, 3.6vw, 2.6rem); color: var(--color-black); outline: none; }
.gc-search-box input::placeholder { color: rgba(41, 41, 41, .28); }
.gc-search-hints { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.75rem; }
.gc-search-close { position: absolute; top: 1.75rem; right: var(--component-padding); }

.gc-page-hero .gc-shade-up { background: linear-gradient(to top, rgba(41, 41, 41, .92) 0%, rgba(41, 41, 41, .74) 42%, rgba(41, 41, 41, .58) 100%); }
.gc-page-hero-in p { max-width: 660px; font-size: .95rem; line-height: 1.75; font-weight: 300; color: rgba(255, 255, 255, .78); text-wrap: pretty; }
.gc-page-hero-in h1 { max-width: 22ch; letter-spacing: -.02em; text-wrap: balance; }
.gc-page-hero { position: relative; display: grid; align-content: end; overflow: hidden; min-height: 380px; height: calc(58svh); }
.gc-page-hero--tall { height: calc(62svh); min-height: 420px; }
.gc-page-hero-in { position: relative; }
.gc-page-hero--plain { height: auto; min-height: 0; background: var(--color-primary); color: var(--color-black); }
.gc-page-hero--plain .gc-page-hero-in p { color: var(--color-contrast-higher); }
.gc-page-hero--plain .gc-crumbs span[style] { color: var(--color-black) !important; }
.gc-chiprow { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.gc-prose { max-width: 74ch; font-size: .95rem; line-height: 1.8; font-weight: 300; color: var(--color-contrast-higher); }
.gc-prose p + p { margin-top: 1.1rem; }
.gc-prose h2, .gc-prose h3, .gc-prose h4 { margin: 2rem 0 .8rem; font-size: 1.05rem; line-height: 1.4; letter-spacing: .04em; color: var(--color-black); }
.gc-prose h2:first-child, .gc-prose h3:first-child, .gc-prose h4:first-child { margin-top: 0; }
.gc-prose ul, .gc-prose ol { margin: 1rem 0 0; padding-left: 1.25rem; }
.gc-prose ul { list-style: disc outside; }
.gc-prose ol { list-style: decimal outside; }
.gc-prose li { margin-bottom: .5rem; }
.gc-prose li::marker { color: var(--color-primary-darker); }
.gc-prose a:not(.btn) { border-bottom: 1px solid var(--color-primary-darker); padding-bottom: 1px; }

.gc-proc--light { border-right-color: var(--gc-hair); border-bottom-color: var(--gc-hair); }
.gc-proc--light:hover { background: var(--color-primary); }

.gc-eq-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); }
.gc-eq { display: flex; flex-direction: column; gap: .9rem; }
.gc-eq-shot { position: relative; overflow: hidden; aspect-ratio: 1/1; }
.gc-eq-name { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; font-family: var(--font-secondary); font-size: 1.1rem; line-height: 1.2; }
.gc-eq-name i { font-style: normal; font-size: .68rem; letter-spacing: .16em; color: var(--color-contrast-low); }

.gc-doc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); }
.gc-doc { display: flex; flex-direction: column; gap: .9rem; }
.gc-doc-shot { position: relative; overflow: hidden; aspect-ratio: 4/5; }
.gc-doc-name { font-family: var(--font-secondary); font-size: 1.08rem; line-height: 1.25; }
.gc-doc-role { font-size: .78rem; line-height: 1.6; color: var(--color-contrast-high); }
.gc-doc-exp { display: inline-flex; align-items: center; gap: .45rem; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-contrast-high); }
.gc-doc-exp::before { content: ""; width: 1rem; height: 1px; background: var(--color-primary-darker); flex-shrink: 0; }

@media (max-width: 62rem) {
  .gc-eq-grid, .gc-doc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.gc-price { border-top: 1px solid var(--gc-hair); }
.gc-price-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 1.5rem; padding: 1.05rem 0; border-bottom: 1px solid var(--gc-hair); transition: padding-left .45s cubic-bezier(.16, 1, .3, 1), background .35s ease; }
.gc-price-row:hover { padding-left: .75rem; background: #FDFAF9; }
.gc-price-name { font-size: .92rem; line-height: 1.5; }
.gc-price-name span { display: block; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-contrast-medium); margin-top: .25rem; }
.gc-price-val { font-family: var(--font-secondary); font-size: 1.15rem; white-space: nowrap; }

.gc-tabs { display: flex; flex-wrap: wrap; gap: .5rem; }
.gc-tab { padding: .7rem 1.3rem; border: 1px solid var(--gc-hair); border-radius: 50em; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; background: transparent; color: var(--color-black); transition: background .35s ease, border-color .35s ease; }
.gc-tab:hover { background: #FDFAF9; }
.gc-tab[data-on] { background: var(--color-primary); border-color: transparent; }
.gc-tabpanel { display: grid; }

.gc-shots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.75rem, 1.6vw, 1.4rem); }
.gc-shot { position: relative; overflow: hidden; aspect-ratio: 4/3; background: var(--gc-soft); }
.gc-shot img { object-fit: cover; }

.gc-rev-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.2rem, 2.6vw, 2.6rem); }
.gc-rev { display: flex; flex-direction: column; gap: 1rem; padding: 1.75rem; background: var(--color-white); border: 1px solid var(--gc-hair); }
.gc-rev-mark { font-family: var(--font-secondary); font-size: 2.4rem; line-height: .5; color: var(--color-primary-darker); }
.gc-rev-text { font-size: .88rem; line-height: 1.75; font-weight: 300; color: var(--color-contrast-higher); }
.gc-rev-text p + p { margin-top: .8rem; }
.gc-rev-text a, .gc-rev-quote a { border-bottom: 1px solid var(--color-primary); padding-bottom: 1px; transition: border-color .3s ease, color .3s ease; }
.gc-rev-text a:hover, .gc-rev-quote a:hover { color: var(--color-primary-darker); border-color: var(--color-primary-darker); }
.gc-rev-quote p + p { margin-top: 1rem; }
.gc-rev-foot { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--gc-hair); }

.gc-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(1.5rem, 4vw, 4.4rem); }
.gc-feature-shot { position: relative; overflow: hidden; aspect-ratio: 1/1; }

@media (max-width: 62rem) {
  .gc-shots { grid-template-columns: 1fr; }
  .gc-rev-grid, .gc-feature { grid-template-columns: 1fr; }
}

.gc-band { position: relative; overflow: hidden; background: var(--color-primary); color: var(--color-black); }
.gc-band-in { position: relative; display: grid; grid-template-columns: minmax(0, 1.5fr) auto; align-items: center; gap: clamp(1.2rem, 2.2vw, 2.2rem); }
.gc-band-title { font-family: var(--font-secondary); font-size: clamp(1.8rem, 3.4vw, 3rem); line-height: 1.14; letter-spacing: -.02em; margin-top: .7rem; text-wrap: balance; }
.gc-band .gc-italic { color: var(--color-black); font-style: italic; }
.gc-band-lead { max-width: 68ch; font-size: .95rem; line-height: 1.75; font-weight: 300; color: rgba(41, 41, 41, .72); }
.gc-band-mark { position: absolute; right: -6%; top: 50%; width: clamp(240px, 28vw, 420px); aspect-ratio: 1/1; border: 1px solid rgba(255, 255, 255, .85); border-radius: 50%; pointer-events: none; transform: translateY(-50%); animation: gcRing1 18s ease-in-out infinite; }
.gc-band-mark::after { content: ""; position: absolute; inset: 14%; border: 1px solid var(--color-primary-darker); border-radius: 50%; opacity: .55; animation: gcRing2 12s ease-in-out infinite; }
.gc-band-mark::before { content: ""; position: absolute; inset: 30%; border: 1px solid rgba(255, 255, 255, .7); border-radius: 50%; animation: gcRing3 15s ease-in-out infinite; }
.gc-band::after { content: ""; position: absolute; left: 8%; bottom: -34%; width: clamp(180px, 22vw, 320px); aspect-ratio: 1/1; border: 1px solid rgba(255, 255, 255, .55); border-radius: 50%; pointer-events: none; animation: gcRing4 22s ease-in-out infinite; }

@keyframes gcRing1 { 0%, 100% { transform: translateY(-50%) scale(1); opacity: .85; } 50% { transform: translateY(-54%) scale(1.06); opacity: .5; } }
@keyframes gcRing2 { 0%, 100% { transform: scale(1) rotate(0deg); opacity: .55; } 50% { transform: scale(.9) rotate(180deg); opacity: .8; } }
@keyframes gcRing3 { 0%, 100% { transform: scale(1); opacity: .7; } 50% { transform: scale(1.14); opacity: .35; } }
@keyframes gcRing4 { 0%, 100% { transform: translate(0, 0) scale(1); opacity: .5; } 50% { transform: translate(5%, -9%) scale(1.05); opacity: .8; } }

@media (prefers-reduced-motion: reduce) {
  .gc-band-mark, .gc-band-mark::after, .gc-band-mark::before, .gc-band::after { animation: none; }
}
.gc-band-in > .btn { justify-self: start; }

@media (max-width: 62rem) {
  .gc-band-in { grid-template-columns: 1fr; align-items: start; }
  .gc-band-mark { display: none; }
}

.gc-mapband { position: relative; min-height: 660px; display: flex; align-items: center; overflow: hidden; background: #FFFFFF; }
.gc-mapband .gc-map { overflow: hidden; position: absolute !important; inset: 0; width: 100%; z-index: 1; }
.gc-mapband .gc-map .leaflet-tile-pane { filter: var(--gc-map-filter); }
.gc-mapband .gc-map .leaflet-control-attribution { font-size: 9px; background: rgba(255, 255, 255, .7); }
.gc-mapband .gc-map .leaflet-control-zoom { border: 0; box-shadow: none; }
.gc-mapband .gc-map .leaflet-control-zoom a { width: 30px; height: 30px; line-height: 30px; border: 1px solid var(--gc-hair); background: #FFFFFF; color: var(--color-black); font-weight: 300; }
.gc-mapband .gc-map .leaflet-control-zoom a:hover { background: var(--color-primary); }
.gc-mapband-in { position: relative; z-index: 500; width: 100%; pointer-events: none; }
.gc-mapband-card { pointer-events: auto; max-width: 480px; display: flex; flex-direction: column; gap: 1.6rem; padding: clamp(1.75rem, 3vw, 2.75rem); background: #FFFFFF; box-shadow: 0 34px 64px -30px rgba(41, 41, 41, .42); }

.gc-map-pin { position: relative; }
.gc-map-pin b { position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: var(--color-primary-darker); box-shadow: 0 0 0 4px #FFFFFF, 0 6px 14px rgba(41, 41, 41, .3); }
.gc-map-pin i { position: absolute; left: 50%; top: 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%; border: 1px solid var(--color-primary-darker); animation: gcPing 2.6s ease-out infinite; }
@keyframes gcPing { 0% { transform: scale(.35); opacity: .9; } 100% { transform: scale(1); opacity: 0; } }

.gc-contact-rows { display: flex; flex-direction: column; }
.gc-contact-row { display: flex; align-items: flex-start; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--gc-hair); }
.gc-contact-row:first-of-type { border-top: 1px solid var(--gc-hair); }
.gc-contact-row .gc-icon { flex-shrink: 0; box-sizing: content-box; width: .85rem; height: .85rem; padding: .55rem; border-radius: 50%; background: var(--color-primary); -webkit-mask-clip: content-box; mask-clip: content-box; -webkit-mask-origin: content-box; mask-origin: content-box; }
.gc-contact-row dt { font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--color-contrast-medium); }
.gc-contact-row dd { margin: .3rem 0 0; font-size: .92rem; line-height: 1.5; }
.gc-contact-row a:hover { color: var(--color-primary-darker); }

@media (max-width: 62rem) {
  .gc-mapband { min-height: 0; padding-top: 320px; align-items: stretch; }
  .gc-mapband .gc-map { overflow: hidden; bottom: auto; height: 320px; }
  .gc-mapband .gc-mapband-in { max-width: none; width: 100%; padding: 0; margin: 0; }
  .gc-mapband-card {
    max-width: none;
    height: 100%;
    padding: 1.9rem var(--component-padding) 2.2rem;
    box-shadow: none;
  }
}

.gc-rail-bleed { width: 100%; }
.gc-rail-bleed .gc-rail { padding-left: var(--component-padding); padding-right: var(--component-padding); scroll-padding-left: var(--component-padding); }
.gc-rail { display: flex; gap: 1.75rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; -ms-overflow-style: none; cursor: grab; padding-bottom: .25rem; }
.gc-rail::-webkit-scrollbar { display: none; }
.gc-rail[data-dragging] { cursor: grabbing; scroll-snap-type: none; }
.gc-rail[data-dragging] * { pointer-events: none; }
.gc-rail-item { flex: 0 0 clamp(240px, 26vw, 328px); scroll-snap-align: start; -webkit-user-select: none; user-select: none; }
.gc-rail-item img, .gc-rail-item [role="img"] { -webkit-user-drag: none; }

.gc-yarev-wrap { display: flex; flex-direction: column; align-items: center; gap: clamp(1.4rem, 2.4vw, 2rem);
  max-width: 880px; margin: 0 auto;
  padding: clamp(2rem, 4vw, 3.4rem) clamp(1.25rem, 3vw, 2.4rem); background: #FDFAF9; border: 1px solid var(--gc-hair); }
.gc-yarev-eyebrow { display: flex; align-items: center; gap: 1rem; font-family: var(--font-secondary); font-style: italic;
  font-size: clamp(1.05rem, 1.6vw, 1.4rem); line-height: 1.3; color: var(--color-primary-darker); }
.gc-yarev { position: relative; width: 100%; max-width: 640px; height: 800px; background: #FFFFFF;
  border: 1px solid var(--gc-hair); box-shadow: 0 18px 40px -28px rgba(41, 41, 41, .35); }
.gc-yarev-frame { display: block; width: 100%; height: 100%; border: 0; }
.gc-yarev-note { position: absolute; left: 0; bottom: .5rem; width: 100%; padding: 0 1rem; text-align: center;
  font-size: .68rem; line-height: 1.2; letter-spacing: .02em; color: var(--color-contrast-low);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .3s ease; }
.gc-yarev-note:hover { color: var(--color-primary-darker); }
.gc-yarev--wide { max-width: none; }

.gc-rating { display: flex; flex-direction: column; gap: 1.3rem; padding: clamp(1.6rem, 3vw, 2.2rem) clamp(1.75rem, 3vw, 2.2rem); background: #FFFFFF; border: 1px solid var(--gc-hair); }
.gc-rating-top { display: flex; align-items: flex-start; gap: 1.1rem; }
.gc-rating-num { font-family: var(--font-secondary); font-size: clamp(2.6rem, 4.4vw, 3.4rem); line-height: .9; letter-spacing: -.02em; }
.gc-rating-stars { display: flex; gap: 3px; }
.gc-rating-stars { gap: 4px; }
.gc-rating-stars .gc-icon { width: 1.15rem; height: 1.15rem; background: var(--color-primary-darker); }
.gc-rating-stars .gc-icon { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 1.8l3.1 6.3 6.9 1-5 4.9 1.2 6.9L12 17.6l-6.2 3.3 1.2-6.9-5-4.9 6.9-1z'/%3E%3C/svg%3E") !important; mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 1.8l3.1 6.3 6.9 1-5 4.9 1.2 6.9L12 17.6l-6.2 3.3 1.2-6.9-5-4.9 6.9-1z'/%3E%3C/svg%3E") !important; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; background: var(--color-primary-darker); }
.gc-rating-head { display: flex; flex-direction: column; gap: .7rem; }
.gc-rating-title { font-family: var(--font-secondary); font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.2; }
.gc-rating-note { max-width: 42ch; font-size: .8rem; line-height: 1.65; font-weight: 300; color: var(--color-contrast-high); }
.gc-rating-caption { font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: var(--color-contrast-medium); }
.gc-rating-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .1rem 1.6rem; }
@media (max-width: 40rem) { .gc-rating-links { grid-template-columns: 1fr; } }
.gc-rev-nav { margin-top: 2rem; }
.gc-rating-links a { display: flex; align-items: center; justify-content: space-between; gap: .4rem; padding: .7rem 0; font-size: .82rem; color: var(--color-contrast-higher); border-bottom: 1px solid var(--gc-hair); transition: color .3s ease, padding-left .4s cubic-bezier(.16, 1, .3, 1); }
.gc-rating-links a:hover { padding-left: .35rem; }
.gc-rating-links a:hover { color: var(--color-primary-darker); }
.gc-rating-links .gc-icon { width: .7rem; height: .7rem; background: var(--color-primary-darker); }
.gc-rating-meta { font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-contrast-medium); }
.gc-rating-src { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; padding-top: 1rem; border-top: 1px solid var(--gc-hair); }
.gc-rating-src span { display: flex; align-items: baseline; gap: .45rem; font-size: .74rem; color: var(--color-contrast-high); }
.gc-rating-src b { font-family: var(--font-secondary); font-weight: 400; font-size: .95rem; color: var(--color-black); }
.gc-rating-link { display: flex; align-items: center; gap: .5rem; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-primary-darker); }
.gc-rating-link:hover { color: var(--color-black); }
.gc-rating-link .gc-icon { width: .8rem; height: .8rem; background: currentColor; }

[lang="ru"] > section.bg-white + section.bg-white,
[lang="ru"] > section.bg-white + .gc-mapband,
[lang="ru"] > .gc-mapband + section.bg-white { border-top: 1px solid var(--gc-hair); }


@media (max-width: 62rem) {
}

.gc-foot-mid { display: grid; grid-template-columns: minmax(240px, 1.15fr) repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); padding: clamp(2.4rem, 4vw, 3.4rem) 0; }
.gc-foot-brand { display: flex; flex-direction: column; gap: 1.1rem; }
.gc-foot-brand img { width: 56px; height: 56px; object-fit: contain; filter: brightness(0) invert(1); opacity: .85; }
.gc-foot-brand p { max-width: 280px; font-size: .78rem; line-height: 1.7; color: rgba(255, 255, 255, .5); }

.gc-footer-col { display: flex; flex-direction: column; gap: .7rem; font-size: .8rem; }
.gc-footer-col a { color: rgba(255, 255, 255, .62); transition: color .3s ease, padding-left .4s cubic-bezier(.16, 1, .3, 1); }
.gc-footer-col a:hover { color: #FFFFFF; padding-left: .3rem; }
.gc-footer-head { display: flex; align-items: center; gap: .6rem; font-family: var(--font-secondary); font-style: italic; font-size: .95rem; color: #FFFFFF; margin-bottom: .5rem; letter-spacing: 0; text-transform: none; }
.gc-footer-head::before { content: ''; width: 1.2rem; height: 1px; background: var(--color-primary); flex-shrink: 0; }

.gc-foot-word { display: flex; align-items: center; gap: clamp(.9rem, 2vw, 1.75rem); padding: clamp(1.4rem, 2.4vw, 2.1rem) 0; border-bottom: 1px solid var(--gc-hair-light); }
.gc-foot-word b { font-family: var(--font-secondary); font-weight: 400; font-size: clamp(1.05rem, 1.7vw, 1.4rem); letter-spacing: .26em; line-height: 1; white-space: nowrap; color: rgba(255, 255, 255, .92); }
.gc-foot-word b span { color: var(--color-primary); }
.gc-foot-word i { flex: 1; height: 1px; background: var(--gc-hair-light); }
.gc-foot-word em { font-style: normal; font-size: .62rem; letter-spacing: .24em; text-transform: uppercase; color: rgba(255, 255, 255, .45); white-space: nowrap; }

.gc-foot-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.1rem; padding: 1.6rem 0 2.4rem; border-top: 1px solid var(--gc-hair-light); font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .45); }
.gc-foot-bottom a:hover { color: #FFFFFF; }

@media (max-width: 62rem) {
  .gc-foot-mid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gc-foot-brand { grid-column: 1 / -1; }
  .gc-foot-word em { display: none; }
}

.gc-person { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: stretch; }
.gc-person-shot { position: relative; overflow: hidden; min-height: 620px; }
.gc-person--flip .gc-person-shot { order: 2; }
.gc-person--flip .gc-person-body { order: 1; }
.gc-person-body { display: flex; flex-direction: column; justify-content: center; gap: 1.5rem; padding: clamp(2.4rem, 5vw, 4.4rem) var(--component-padding); }
.gc-person-name { font-family: var(--font-secondary); font-size: clamp(1.9rem, 3.4vw, 3rem); line-height: 1.14; letter-spacing: -.01em; }
.gc-person-role { font-size: .95rem; line-height: 1.6; color: var(--color-contrast-higher); }
.gc-person-meta { display: flex; flex-wrap: wrap; gap: .5rem 2.4rem; padding-top: 1.4rem; border-top: 1px solid var(--gc-hair); }
.gc-person-meta div { display: flex; flex-direction: column; gap: .25rem; }
.gc-person-meta dt { font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: var(--color-contrast-medium); }
.gc-person-meta dd { margin: 0; font-family: var(--font-secondary); font-size: 1.15rem; }

.gc-timeline { display: flex; flex-direction: column; border-top: 1px solid var(--gc-hair); }
.gc-timeline-row { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 1.5rem; padding: 1.3rem 0; border-bottom: 1px solid var(--gc-hair); }
.gc-timeline-row span { display: inline-flex; align-items: center; justify-content: center; align-self: start; padding: .3rem .7rem; background: var(--color-primary); color: var(--color-black); font-family: var(--font-secondary); font-size: 1rem; line-height: 1.2; }
.gc-timeline-row p { font-size: .9rem; line-height: 1.65; font-weight: 300; color: var(--color-contrast-higher); }

@media (max-width: 62rem) {
  .gc-person { grid-template-columns: 1fr; }
  .gc-person-shot { min-height: 420px; }
  .gc-timeline-row { grid-template-columns: 1fr; gap: .4rem; }
}



.gc-rail-item.gc-doc { display: flex; flex-direction: column; gap: .9rem; }
.gc-eq-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 62rem) { .gc-eq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.gc-grid-4 > .gc-proc:last-child, .gc-grid-4 > .gc-card:last-child { border-right-color: transparent; }


.gc-dark-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 3.4vw, 3.4rem); margin-top: clamp(2.1rem, 3.4vw, 3rem); padding-top: clamp(1.75rem, 2.6vw, 2.4rem); border-top: 1px solid var(--gc-hair-light); }
.gc-dark-cols p { font-size: .95rem; line-height: 1.8; font-weight: 300; color: rgba(255, 255, 255, .72); }
@media (max-width: 48rem) { .gc-dark-cols { grid-template-columns: 1fr; } }

.gc-cols2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); max-width: 1000px; margin-left: auto; margin-right: auto; }
.gc-cols2 p { font-size: .95rem; line-height: 1.8; font-weight: 300; color: var(--color-contrast-higher); }
@media (max-width: 48rem) { .gc-cols2 { grid-template-columns: 1fr; } }

.gc-rail-item.gc-eq { display: flex; flex-direction: column; gap: .9rem; }
.gc-rail-item.gc-rail-post { display: flex; flex-direction: column; gap: 1.35rem; flex-basis: clamp(280px, 30vw, 392px); }

.gc-gal-tabs { display: flex; align-items: center; gap: .5rem; margin: 2.1rem 0 1.6rem; padding-bottom: .4rem;
  overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.gc-gal-tabs::-webkit-scrollbar { display: none; }
.gc-gal-tabs button { flex: 0 0 auto; display: inline-flex; align-items: baseline; gap: .45rem;
  padding: .7rem 1.15rem; border: 1px solid var(--gc-hair); border-radius: 50em; background: transparent;
  font-family: var(--font-primary); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--color-black); white-space: nowrap; cursor: pointer;
  transition: background-color .35s ease, border-color .35s ease; }
.gc-gal-tabs button span { font-size: .6rem; color: var(--color-contrast-medium); }
.gc-gal-tabs button:hover { background-color: #FDFAF9; }
.gc-gal-tabs button[data-on] { background-color: var(--color-primary); border-color: var(--color-primary); }
.gc-gal-tabs button[data-on] span { color: rgba(41, 41, 41, .55); }
.gc-gal-item[hidden] { display: none; }

.gc-gal-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.gc-gal-filter button { padding: .7rem 1.3rem; border: 2px solid transparent; background: transparent; border-radius: 50em; font-family: var(--font-primary); font-size: .7rem; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: var(--color-black); cursor: pointer; transition: background-color .35s ease, border-color .35s ease; }
.gc-gal-filter button:hover { background-color: #FDFAF9; }
.gc-gal-filter button[data-on] { background-color: var(--color-primary); border-color: var(--color-primary); }

.gc-gal-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: clamp(.5rem, 1vw, .9rem); }
.gc-gal-item { position: relative; overflow: hidden; aspect-ratio: 4/5; cursor: pointer; background: repeating-linear-gradient(135deg, #F4F2F0 0 14px, #EAE7E4 14px 28px); }
.gc-gal-item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.16, 1, .3, 1); }
.gc-gal-item:hover img { transform: scale(1.05); }
.gc-gal-item figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.4rem .9rem .8rem; font-size: .58rem; letter-spacing: .16em; text-transform: uppercase; color: #FFFFFF; background: linear-gradient(to top, rgba(41, 41, 41, .78), transparent); opacity: 0; transition: opacity .4s ease; }
.gc-gal-item:hover figcaption { opacity: 1; }
.gc-gal-item[hidden] { display: none; }
.gc-gal-item--wide { grid-column: span 2; aspect-ratio: 8/5; }

.gc-vid-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: clamp(1rem, 2vw, 1.75rem); }
.gc-vid-grid:has(> :only-child) { max-width: 860px; }
.gc-vid { display: flex; flex-direction: column; gap: .9rem; }
.gc-vid-shot { position: relative; overflow: hidden; aspect-ratio: 16/9; background: repeating-linear-gradient(135deg, #F4F2F0 0 14px, #EAE7E4 14px 28px); }
.gc-vid-shot::after { content: "▶"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--color-primary); color: var(--color-black); font-size: .8rem; transition: background-color .4s ease; }
.gc-vid:hover .gc-vid-shot::after { background: var(--color-primary-darker); }
.gc-vid-shot--player::after { display: none; }
.gc-vid-name { font-family: var(--font-secondary); font-size: 1rem; line-height: 1.3; }
.gc-vid-tag { display: inline-flex; align-items: center; gap: .45rem; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-contrast-high); }
.gc-vid-tag::before { content: ""; width: 1rem; height: 1px; background: var(--color-primary-darker); flex-shrink: 0; }

#gc-lightbox { position: fixed; inset: 0; z-index: 140; display: flex; align-items: center; justify-content: center; background: rgba(41, 41, 41, .94); opacity: 0; visibility: hidden; transition: opacity .35s ease; }
html[data-lightbox="open"] #gc-lightbox { opacity: 1; visibility: visible; }
#gc-lightbox img { max-width: min(1200px, 88vw); max-height: 82vh; object-fit: contain; }
.gc-lb-cap { position: absolute; left: 0; right: 0; bottom: 1.6rem; text-align: center; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.gc-lb-btn { position: absolute; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; background: transparent; color: #FFFFFF; font-size: .9rem; cursor: pointer; transition: background-color .35s ease; }
.gc-lb-btn:hover { background: rgba(255, 255, 255, .14); }
.gc-lb-prev { left: clamp(12px, 3vw, 32px); }
.gc-lb-next { right: clamp(12px, 3vw, 32px); }
.gc-lb-close { top: clamp(14px, 3vw, 28px); right: clamp(12px, 3vw, 32px); transform: none; }

@media (max-width: 62rem) {
}
@media (max-width: 40rem) {
  .gc-gal-item--wide { grid-column: span 2; }
}

.gc-rev-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: clamp(1rem, 2vw, 1.75rem); align-items: stretch; }
.gc-rev-cols > .gc-rev { height: 100%; }
.gc-rev-cols .gc-rev-foot { margin-top: auto; }
.gc-rev-svc { display: inline-flex; align-items: center; gap: .45rem; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-contrast-high); }
.gc-rev-svc::before { content: ""; width: 1rem; height: 1px; background: var(--color-primary-darker); flex-shrink: 0; }

.gc-post-tag { display: inline-flex; align-items: center; gap: .45rem; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: var(--color-contrast-high); }
.gc-post-tag::before { content: ""; width: 1rem; height: 1px; background: var(--color-primary-darker); flex-shrink: 0; }




.gc-feat { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: stretch; gap: 0; margin-top: 2.4rem; border: 1px solid var(--gc-hair); background: #FFFFFF; transition: background .45s ease; }
.gc-feat:hover { background: #FDFAF9; }
.gc-feat-shot { position: relative; overflow: hidden; width: 100%; align-self: start; min-height: 300px; }
.gc-feat-shot .gc-cover { transition: transform 1.3s cubic-bezier(.16, 1, .3, 1); }
.gc-feat:hover .gc-feat-shot .gc-cover { transform: scale(1.04); }
.gc-feat-body { display: flex; flex-direction: column; justify-content: center; gap: 1rem; padding: clamp(1.75rem, 4vw, 3.4rem); }
.gc-feat-title { font-family: var(--font-secondary); font-size: clamp(1.5rem, 2.8vw, 2.3rem); line-height: 1.2; letter-spacing: -.01em; text-wrap: pretty; }
.gc-feat-more { display: inline-flex; align-items: center; gap: .5rem; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: var(--color-contrast-high); }
.gc-feat-more::before { content: ""; width: 1.2rem; height: 1px; background: var(--color-primary-darker); flex-shrink: 0; transition: width .5s cubic-bezier(.16, 1, .3, 1); }
.gc-feat-more::after { content: "→"; font-size: .8rem; opacity: 0; transform: translateX(-8px); transition: opacity .35s ease, transform .5s cubic-bezier(.16, 1, .3, 1); }
.gc-feat:hover .gc-feat-more::before { width: 2.1rem; }
.gc-feat:hover .gc-feat-more::after { opacity: .65; transform: none; }

.gc-feat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); margin-top: 2.4rem; }
.gc-feat--sm { grid-template-columns: 1fr; grid-template-rows: auto 1fr; margin-top: 0; }
.gc-feat--sm .gc-feat-shot { min-height: 0; aspect-ratio: 1/1; }
.gc-feat--sm .gc-feat-body { gap: .7rem; padding: clamp(1.25rem, 2.4vw, 1.75rem); justify-content: flex-start; }
.gc-feat--sm .gc-feat-title { font-size: clamp(1.05rem, 1.6vw, 1.3rem); }

@media (max-width: 62rem) {
  .gc-feat { grid-template-columns: 1fr; }
  .gc-feat-shot { min-height: 0; aspect-ratio: 1/1; }
  .gc-feat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) { .gc-feat-grid { grid-template-columns: 1fr; } }

.gc-pager { display: flex; align-items: center; justify-content: center; gap: clamp(.5rem, 1.5vw, 1.1rem); margin-top: clamp(2.4rem, 4vw, 3.4rem); margin-bottom: clamp(1.6rem, 3vw, 2.6rem); }
.gc-pager-nums { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; }
.gc-pager-btn, .gc-pager-num { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; height: 2.75rem; padding: 0 .5rem; border: 1px solid var(--gc-hair); border-radius: 50em; background: transparent; font-family: var(--font-primary); font-size: .78rem; color: var(--color-black); cursor: pointer; transition: background-color .35s ease, border-color .35s ease, opacity .3s ease; }
.gc-pager-btn:hover, .gc-pager-num:hover { background-color: #FDFAF9; }
.gc-pager-num[data-on] { background-color: var(--color-primary); border-color: var(--color-primary); }
.gc-pager-btn[disabled] { opacity: .3; cursor: default; }
.gc-feat[hidden] { display: none; }

.gc-seg { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2.4rem; }
.gc-seg-btn { display: inline-flex; align-items: baseline; gap: .5rem; padding: .7rem 1.25rem; border: 1px solid var(--gc-hair); border-radius: 50em; background: transparent; font-family: var(--font-primary); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--color-black); cursor: pointer; transition: background-color .35s ease, border-color .35s ease; }
.gc-seg-btn span { font-size: .62rem; color: var(--color-contrast-medium); }
.gc-seg-btn:hover { background-color: #FDFAF9; }
.gc-seg-btn[data-on] { background-color: var(--color-primary); border-color: var(--color-primary); }
.gc-seg-btn[data-on] span { color: rgba(41, 41, 41, .55); }
.gc-feat-grid { margin-top: 1.6rem; }
.gc-seg + .gc-rev-cols, .gc-seg + .gc-rev-grid { margin-top: 2.4rem; }

.gc-feat--sm { opacity: 1; transform: none; transition: opacity .45s ease, transform .55s cubic-bezier(.16, 1, .3, 1); }
.gc-feat-grid[data-swap] .gc-feat--sm { opacity: 0; transform: translateY(10px); }
.gc-feat--sm[data-enter] { opacity: 0; transform: translateY(14px); }
@media (prefers-reduced-motion: reduce) {
  .gc-feat--sm, .gc-feat-grid[data-swap] .gc-feat--sm { transition: none; opacity: 1; transform: none; }
}

.gc-art { max-width: 74ch; margin-left: auto; margin-right: auto; }
.gc-art p.gc-art-lead { font-family: var(--font-secondary); font-size: clamp(1.2rem, 2vw, 1.6rem); line-height: 1.45; letter-spacing: -.01em; font-weight: 400; color: var(--color-black); }
.gc-art p { font-size: 1rem; line-height: 1.85; font-weight: 300; color: var(--color-contrast-higher); }
.gc-art p + p { margin-top: 1.2rem; }
.gc-art p.gc-art-lead + * { margin-top: 1.6rem; }
.gc-art h2 { font-family: var(--font-secondary); font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.25; margin: clamp(2.4rem, 4vw, 3.4rem) 0 1.1rem; }
.gc-art ul, .gc-art ol { margin: 1.2rem 0 0; padding-left: 1.25rem; }
.gc-art ul { list-style: disc outside; }
.gc-art ol { list-style: decimal outside; }
.gc-art li { margin-bottom: .55rem; font-size: 1rem; line-height: 1.8; font-weight: 300; color: var(--color-contrast-higher); }
.gc-art li::marker { color: var(--color-primary-darker); }
.gc-art a:not(.btn) { border-bottom: 1px solid var(--color-primary-darker); padding-bottom: 1px; }
.gc-art strong { font-weight: 500; color: var(--color-black); }

.gc-art-note { margin: clamp(2.1rem, 4vw, 3rem) 0; padding: clamp(1.6rem, 3vw, 2.2rem); background: var(--color-primary); }
.gc-art-note p { color: var(--color-black); font-size: .98rem; }
.gc-art-note .gc-art-note-lbl { display: flex; align-items: center; gap: .6rem; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; margin-bottom: .8rem; }
.gc-art-note .gc-art-note-lbl::before { content: ""; width: 1.2rem; height: 1px; background: var(--color-black); }

.gc-art-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.6rem; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .72); }
.gc-art-meta span { display: inline-flex; align-items: center; gap: .5rem; }
.gc-art-meta span::before { content: ""; width: 1rem; height: 1px; background: var(--color-primary); }

.gc-shot--wide { aspect-ratio: 3/2; }

.gc-offer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); margin: clamp(2.1rem, 4vw, 3rem) 0; }
.gc-offer-card { display: flex; flex-direction: column; gap: 1rem; padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--gc-hair); }
.gc-offer-val { display: inline-flex; align-items: center; align-self: flex-start; padding: .25rem .8rem; background: var(--color-primary); font-family: var(--font-secondary); font-size: clamp(2.1rem, 4vw, 3rem); line-height: 1.1; color: var(--color-black); }
.gc-offer-card ul { margin: 0; padding-left: 1.25rem; list-style: disc outside; }
.gc-offer-card li { margin-bottom: .5rem; font-size: .92rem; line-height: 1.7; font-weight: 300; color: var(--color-contrast-higher); }
.gc-offer-card li::marker { color: var(--color-primary-darker); }
.gc-art p.gc-art-small { margin-top: 1.6rem; font-size: .78rem; line-height: 1.6; color: var(--color-contrast-medium); }
@media (max-width: 48rem) { .gc-offer { grid-template-columns: 1fr; } }

.gc-jobs { border-top: 1px solid var(--gc-hair); }
.gc-job { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto auto; align-items: center; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--gc-hair); transition: padding-left .5s cubic-bezier(.16, 1, .3, 1), background .35s ease; }
.gc-job:hover { padding-left: .8rem; background: #FDFAF9; }
.gc-job-num { font-size: .68rem; letter-spacing: .18em; color: var(--color-contrast-low); }
.gc-job-body { display: flex; flex-direction: column; gap: .3rem; }
.gc-job-title { font-family: var(--font-secondary); font-size: clamp(1.15rem, 2vw, 1.6rem); line-height: 1.2; }
.gc-job-sub { font-size: .78rem; color: var(--color-contrast-high); }
.gc-job-pay { font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-contrast-medium); white-space: nowrap; }
.gc-job-btn { --btn-padding-x: 1.5rem; --btn-padding-y: .95em; }

@media (max-width: 62rem) {
  .gc-job { grid-template-columns: 44px minmax(0, 1fr); gap: .6rem 1.1rem; }
  .gc-job-pay { grid-column: 2; }
  .gc-job-btn { grid-column: 2; justify-self: start; margin-top: .4rem; }
}

.gc-prod-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); margin-top: 1.6rem; }
.gc-prod { display: flex; flex-direction: column; gap: .9rem; padding: clamp(.9rem, 1.6vw, 1.15rem);
  border: 1px solid var(--gc-hair); background: #FFFFFF; transition: border-color .35s ease, box-shadow .45s ease; }
.gc-prod:hover { border-color: var(--color-primary); box-shadow: 0 16px 34px -26px rgba(41, 41, 41, .4); }
.gc-prod-body { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; flex: 1; }
.gc-prod-more { display: flex; align-items: center; justify-content: center; gap: .4rem; margin-top: auto; padding-top: .7rem;
  border-top: 1px solid var(--gc-hair); width: 100%;
  font-size: .64rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-contrast-medium);
  transition: color .35s ease; }
.gc-prod:hover .gc-prod-more { color: var(--color-primary-darker); }
.gc-prod-more::after { content: '→'; }
.gc-prod-shot { position: relative; width: 100%; aspect-ratio: 1/1; overflow: hidden; transition: background .5s ease; }
.gc-prod:hover .gc-prod-shot { background: repeating-linear-gradient(135deg, #FBF3F0 0 14px, #F4E7E2 14px 28px); }
.gc-prod-vol { position: absolute; left: .7rem; top: .7rem; display: inline-flex; align-items: center;
  padding: .34rem .6rem; background: #FFFFFF; border: 1px solid var(--gc-hair);
  font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-black); }
.gc-prod-desc { font-size: .74rem; line-height: 1.55; color: var(--color-contrast-medium); }
.gc-prod-name { font-family: var(--font-secondary); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.25; transition: color .35s ease; }
.gc-prod:hover .gc-prod-name { color: var(--color-primary-darker); }

.gc-prod[hidden] { display: none; }
.gc-prod-grid[data-swap] .gc-prod { opacity: 0; transform: translateY(10px); }
.gc-prod { opacity: 1; transform: none; transition: opacity .45s ease, transform .55s cubic-bezier(.16, 1, .3, 1); }
.gc-prod[data-enter] { opacity: 0; transform: translateY(14px); }

@media (max-width: 62rem) { .gc-prod-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.gc-item { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: stretch; }
.gc-item-shot { position: relative; min-height: 560px; }
.gc-item--flip .gc-item-shot { order: 2; }
.gc-item--flip .gc-item-body { order: 1; }
.gc-item-vol { position: absolute; left: clamp(1.1rem, 2vw, 1.75rem); top: clamp(1.1rem, 2vw, 1.75rem); padding: .35rem .7rem; background: #FFFFFF; font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; }
.gc-item-body { display: flex; flex-direction: column; justify-content: center; gap: 1.4rem; padding: clamp(2.4rem, 5vw, 4.4rem) var(--component-padding); }
.gc-item-name { font-family: var(--font-secondary); font-size: clamp(1.9rem, 3.4vw, 3rem); line-height: 1.14; letter-spacing: -.01em; }
.gc-item-desc { font-size: 1rem; line-height: 1.7; font-weight: 300; color: var(--color-contrast-higher); }
.gc-item-meta { display: flex; flex-wrap: wrap; gap: .6rem 2.4rem; margin: 0; padding: 1.4rem 0; border-top: 1px solid var(--gc-hair); border-bottom: 1px solid var(--gc-hair); }
.gc-item-meta div { display: flex; flex-direction: column; gap: .25rem; }
.gc-item-meta dt { font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: var(--color-contrast-medium); }
.gc-item-meta dd { margin: 0; font-family: var(--font-secondary); font-size: 1.15rem; }
.gc-item-note { max-width: 56ch; font-size: .82rem; line-height: 1.65; color: var(--color-contrast-high); }

@media (max-width: 62rem) {
  .gc-item { grid-template-columns: 1fr; }
  .gc-item-shot { min-height: 0; aspect-ratio: 1/1; }
}

.gc-mod { display: flex; flex-direction: column; gap: .9rem; padding: clamp(1.6rem, 3vw, 2.2rem); border: 1px solid var(--gc-hair); background: #FFFFFF; transition: background .45s ease; }
.gc-mod:hover { background: #FDFAF9; }
.gc-mod-name { font-family: var(--font-secondary); font-size: clamp(1.4rem, 2.2vw, 1.8rem); line-height: 1.15; }
.gc-mod-desc { font-size: .88rem; line-height: 1.7; font-weight: 300; color: var(--color-contrast-higher); }
.gc-mod-list { margin: 0; padding-left: 1.25rem; list-style: disc outside; }
.gc-mod-list li { margin-bottom: .4rem; font-size: .82rem; line-height: 1.6; color: var(--color-contrast-high); }
.gc-mod-list li::marker { color: var(--color-primary-darker); }
.gc-mod-btn { align-self: flex-start; margin-top: auto; --btn-padding-x: 1.5rem; --btn-padding-y: .95em; }
@media (max-width: 48rem) { .gc-eq-grid[style*="repeat(3"] { grid-template-columns: 1fr !important; } }

.gc-offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); }
.gc-offer-item { display: flex; flex-direction: column; gap: .8rem; }
.gc-offer-shot { position: relative; display: block; width: 100%; aspect-ratio: 4/3; overflow: hidden; }
.gc-offer-item .gc-offer-shot .gc-offer-badge { position: absolute; left: 0; bottom: 0; padding: .5rem 1rem; background: var(--color-primary); }
.gc-offer-badge { font-family: var(--font-secondary); font-size: clamp(1.3rem, 2.2vw, 1.7rem); line-height: 1.1; color: var(--color-black); }
.gc-offer-title { font-family: var(--font-secondary); font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.28; transition: color .35s ease; }
.gc-offer-item:hover .gc-offer-title { color: var(--color-primary-darker); }
.gc-offer-text { font-size: .82rem; line-height: 1.7; font-weight: 300; color: var(--color-contrast-high); }
.gc-offer-more { display: inline-flex; align-items: center; gap: .6rem; margin-top: auto; padding-top: .3rem; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: var(--color-contrast-high); transition: color .35s ease; }
.gc-offer-more::before { content: ""; width: 1.2rem; height: 1px; background: var(--color-primary-darker); flex-shrink: 0; transition: width .5s cubic-bezier(.16, 1, .3, 1); }
.gc-offer-more::after { content: "→"; font-size: .8rem; opacity: 0; transform: translateX(-8px); transition: opacity .35s ease, transform .5s cubic-bezier(.16, 1, .3, 1); }
.gc-offer-item:hover .gc-offer-more { color: var(--color-black); }
.gc-offer-item:hover .gc-offer-more::before { width: 2.1rem; }
.gc-offer-item:hover .gc-offer-more::after { opacity: .65; transform: none; }

.gc-offer-item--lead { grid-column: span 3; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 0; border: 1px solid var(--gc-hair); }
.gc-offer-item--lead .gc-offer-shot { height: 100%; aspect-ratio: auto; min-height: 340px; }
.gc-offer-body { display: flex; flex-direction: column; gap: 1rem; padding: clamp(1.75rem, 3.4vw, 2.75rem); }
.gc-offer-item--lead .gc-offer-badge { align-self: flex-start; padding: .45rem 1.1rem; background: var(--color-primary); font-size: clamp(2rem, 4vw, 3rem); color: var(--color-black); }
.gc-offer-item--lead .gc-offer-title { font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1.18; }
.gc-offer-item--lead .gc-offer-text { font-size: .9rem; color: var(--color-contrast-higher); }


@media (max-width: 62rem) {
  .gc-offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gc-offer-item--lead { grid-column: span 2; grid-template-columns: 1fr; }
  .gc-offer-item--lead .gc-offer-shot { min-height: 0; aspect-ratio: 16/9; }
}
@media (max-width: 40rem) { .gc-offer-grid { grid-template-columns: 1fr; } .gc-offer-item--lead { grid-column: span 1; } }

.gc-promo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
.gc-promo-shot { position: relative; overflow: hidden; min-height: 520px; }
.gc-promo--flip .gc-promo-shot { order: 2; }
.gc-promo--flip .gc-promo-body { order: 1; }
.gc-promo-badge { position: absolute; left: 0; bottom: 0; padding: .8rem 1.6rem; background: var(--color-primary); font-family: var(--font-secondary); font-size: clamp(1.9rem, 3.4vw, 2.6rem); line-height: 1; color: var(--color-black); }
.gc-promo-body { display: flex; flex-direction: column; justify-content: center; gap: 1.4rem; padding: clamp(2.4rem, 5vw, 4.4rem) var(--component-padding); }
.gc-promo-list { margin: 0; padding-left: 1.25rem; max-width: 56ch; list-style: disc outside; }
.gc-promo-list li { margin-bottom: .6rem; font-size: .95rem; line-height: 1.7; font-weight: 300; color: var(--color-contrast-higher); }
.gc-promo-list li::marker { color: var(--color-primary-darker); }
.gc-promo-note { font-size: .78rem; font-style: italic; color: var(--color-contrast-medium); }

.gc-timer { display: flex; flex-direction: column; gap: .8rem; padding: 1.4rem 0; border-top: 1px solid var(--gc-hair); border-bottom: 1px solid var(--gc-hair); }
.gc-timer-lbl { font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--color-contrast-medium); }
.gc-timer-cells { display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; }
.gc-timer-cell { display: flex; flex-direction: column; gap: .2rem; min-width: 3.4rem; }
.gc-timer-cell b { font-family: var(--font-secondary); font-weight: 400; font-size: clamp(1.6rem, 2.8vw, 2.2rem); line-height: 1; }
.gc-timer-cell span { font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-contrast-medium); }

.gc-rail-item.gc-offer-item { display: flex; flex-direction: column; gap: .8rem; }
.gc-rail-item .gc-offer-shot { aspect-ratio: 1/1; }

@media (max-width: 62rem) {
  .gc-promo { grid-template-columns: 1fr; }
  .gc-promo-shot { min-height: 0; aspect-ratio: 16/10; }
}

.gc-club-items { display: flex; flex-direction: column; max-width: 56ch; }
.gc-club-items span { display: flex; align-items: baseline; gap: .8rem; padding: .7rem 0; font-size: .95rem; line-height: 1.6; font-weight: 300; border-bottom: 1px solid rgba(41, 41, 41, .16); }
.gc-club-items span:last-child { border-bottom: 0; }
.gc-club-items span::before { content: ""; flex-shrink: 0; width: 1.1rem; height: 1px; background: var(--color-black); transform: translateY(-.4rem); }
.gc-step { display: flex; flex-direction: column; gap: .8rem; padding: clamp(1.6rem, 3vw, 2.2rem); border: 1px solid var(--gc-hair); background: #FFFFFF; transition: background .45s ease; }
.gc-step:hover { background: #FDFAF9; }
.gc-step-num { font-size: .66rem; letter-spacing: .2em; color: var(--color-contrast-low); }
.gc-step-title { font-family: var(--font-secondary); font-size: clamp(1.1rem, 1.7vw, 1.35rem); line-height: 1.25; }
.gc-step-text { font-size: .86rem; line-height: 1.7; font-weight: 300; color: var(--color-contrast-higher); }
.gc-step-text a { border-bottom: 1px solid var(--color-primary-darker); }

.gc-benefit { display: flex; flex-direction: column; gap: .8rem; padding: clamp(1.6rem, 3vw, 2.2rem); border: 1px solid var(--gc-hair); }
.gc-benefit-title { font-family: var(--font-secondary); font-size: clamp(1.15rem, 1.8vw, 1.4rem); line-height: 1.25; margin-top: .3rem; }
.gc-benefit-text { font-size: .86rem; line-height: 1.7; font-weight: 300; color: var(--color-contrast-higher); }
.gc-benefit .gc-offer-more { margin-top: auto; padding-top: .6rem; }
.gc-benefit:hover .gc-offer-more::before { width: 2.1rem; }
.gc-benefit:hover .gc-offer-more::after { opacity: .65; transform: none; }

.gc-pr-bar { position: sticky; top: calc(var(--gc-sticky, 107px) - 1px); z-index: 20; display: flex; flex-direction: column; gap: 1rem; padding: 1.1rem 0; margin-top: 1rem; background: #FFFFFF; border-bottom: 1px solid var(--gc-hair); }
.gc-pr-bar::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 6rem; background: #FFFFFF; }
.gc-price--tight .gc-pr-bar::before { height: 2.5rem; }
.gc-pr-search { display: flex; align-items: center; gap: .8rem; padding: .9rem 1.2rem; border: 1px solid var(--gc-hair); border-radius: 50em; transition: border-color .35s ease; }
.gc-pr-search:focus-within { border-color: var(--color-primary-darker); }
.gc-pr-search .gc-icon { flex-shrink: 0; width: 1rem; height: 1rem; background: var(--color-contrast-medium); }
.gc-pr-search input { flex: 1; min-width: 0; border: 0; background: transparent; font-family: var(--font-primary); font-size: .92rem; color: var(--color-black); outline: none; }
.gc-pr-search input::-webkit-search-cancel-button { display: none; }
.gc-pr-search input::placeholder { color: var(--color-contrast-medium); }
.gc-pr-clear { display: none; flex-shrink: 0; width: 1.5rem; height: 1.5rem; padding: 0; border: 0; border-radius: 50%; background: var(--color-primary); color: var(--color-black); font-size: .9rem; line-height: 1; cursor: pointer; }
.gc-pr-search[data-filled] .gc-pr-clear { display: block; }

.gc-pr-tabs { display: flex; flex-wrap: nowrap; gap: .45rem; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; -ms-overflow-style: none; padding-bottom: 2px; }
.gc-pr-tabs::-webkit-scrollbar { display: none; }
.gc-pr-tabs .gc-tab { flex: 0 0 auto; white-space: nowrap; }
.gc-pr-tabs .gc-tab { display: inline-flex; align-items: baseline; gap: .45rem; }
.gc-pr-tabs .gc-tab span { font-size: .6rem; color: var(--color-contrast-medium); }
.gc-pr-tabs .gc-tab[data-on] span { color: rgba(41, 41, 41, .55); }

.gc-pr-list { border-top: 1px solid var(--gc-hair); }
.gc-pr-group { border-bottom: 1px solid var(--gc-hair); }
.gc-pr-group[hidden] { display: none; }
.gc-pr-group > summary { display: flex; align-items: center; gap: 1rem; padding: 1.3rem 0; cursor: pointer; list-style: none; font-family: var(--font-secondary); font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.3; transition: opacity .3s ease; }
.gc-pr-group > summary::-webkit-details-marker { display: none; }
.gc-pr-group > summary:hover { opacity: .7; }
.gc-pr-count { margin-left: auto; font-family: var(--font-primary); font-size: .62rem; letter-spacing: .16em; color: var(--color-contrast-low); }
.gc-pr-group[open] .gc-faq-sign { background: var(--color-primary); border-color: transparent; transform: rotate(45deg); }
.gc-pr-body { padding-bottom: 1.1rem; animation: faqIn .45s cubic-bezier(.16, 1, .3, 1); }
.gc-pr-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 1.5rem; padding: .85rem 0; border-top: 1px solid rgba(41, 41, 41, .07); transition: padding-left .45s cubic-bezier(.16, 1, .3, 1), background .3s ease; }
.gc-pr-row:hover { padding-left: .7rem; background: #FDFAF9; }
.gc-pr-row[hidden] { display: none; }
.gc-pr-name { font-size: .92rem; line-height: 1.55; font-weight: 300; color: var(--color-contrast-higher); }
.gc-pr-name em { display: block; margin-top: .25rem; font-size: .74rem; font-style: italic; color: var(--color-contrast-medium); }
.gc-pr-val { font-family: var(--font-secondary); font-size: clamp(1rem, 1.5vw, 1.2rem); white-space: nowrap; }
.gc-pr-stub { display: flex; flex-direction: column; gap: 1rem; padding: clamp(2.4rem, 5vw, 3.4rem) 0; max-width: 60ch; }
.gc-pr-stub[hidden] { display: none; }
.gc-pr-stub-title { font-family: var(--font-secondary); font-size: clamp(1.3rem, 2.2vw, 1.8rem); line-height: 1.2; }
.gc-pr-stub p { font-size: .92rem; line-height: 1.75; font-weight: 300; color: var(--color-contrast-higher); }
.gc-pr-empty { padding: 3rem 0; text-align: center; font-size: .92rem; font-weight: 300; color: var(--color-contrast-high); }
.gc-pr-empty a { border-bottom: 1px solid var(--color-primary-darker); }
.gc-pr-note { max-width: 68ch; margin-top: 1.6rem; font-size: .78rem; line-height: 1.7; color: var(--color-contrast-medium); }

@media (min-width: 48rem) {
  .gc-pr-bar { flex-direction: row; align-items: center; gap: 1.5rem; }
  .gc-pr-search { flex: 0 0 300px; }
}

.gc-pr-wrap { display: grid; grid-template-columns: clamp(200px, 22vw, 280px) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.4rem); align-items: start; }
.gc-pr-main { min-width: 0; }
.gc-pr-nav { position: sticky; top: calc(var(--gc-sticky, 107px) + 4.5rem); display: flex; flex-direction: column; gap: var(--space-xs); max-height: calc(100vh - var(--gc-sticky, 107px) - 8rem); overflow-y: auto; scrollbar-width: none; padding-top: 1.4rem; }
.gc-pr-nav::-webkit-scrollbar { display: none; }
.gc-pr-nav[hidden] { display: none; }
.gc-pr-wrap:has(> .gc-pr-nav[hidden]) { grid-template-columns: minmax(0, 1fr); }
.gc-pr-nav button { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; padding: .5rem .7rem; border: 0; border-left: 1px solid var(--gc-hair); background: transparent; font-family: var(--font-primary); font-size: .78rem; line-height: 1.4; text-align: left; color: var(--color-contrast-high); cursor: pointer; transition: color .3s ease, border-color .35s ease, padding-left .4s cubic-bezier(.16, 1, .3, 1); }
.gc-pr-nav button:hover { color: var(--color-black); padding-left: 1rem; }
.gc-pr-nav button[data-on] { color: var(--color-black); border-left-color: var(--color-primary-darker); }
.gc-pr-nav button i { font-style: normal; font-size: .62rem; color: var(--color-contrast-low); }

.gc-pr-results { display: flex; flex-direction: column; border-top: 1px solid var(--gc-hair); }
.gc-pr-results[hidden] { display: none; }
.gc-pr-res-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1.1rem 0 .6rem; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--color-contrast-medium); }
.gc-pr-res { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 1.5rem; padding: .9rem 0; border-top: 1px solid rgba(41, 41, 41, .07); transition: padding-left .45s cubic-bezier(.16, 1, .3, 1), background .3s ease; }
.gc-pr-res:hover { padding-left: .7rem; background: #FDFAF9; }
.gc-pr-res-name { font-size: .92rem; line-height: 1.55; font-weight: 300; color: var(--color-contrast-higher); }
.gc-pr-res-name b { display: block; margin-bottom: .2rem; font-family: var(--font-primary); font-weight: 400; font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-primary-darker); }
.gc-pr-res-name mark { background: var(--color-primary); color: var(--color-black); }

@media (max-width: 62rem) {
  .gc-pr-wrap { grid-template-columns: 1fr; }
  .gc-pr-nav { position: static; flex-direction: row; overflow-x: auto; max-height: none; padding-bottom: .4rem; }
  .gc-pr-nav button { flex: 0 0 auto; border: 1px solid var(--gc-hair); border-radius: 50em; white-space: nowrap; }
  .gc-pr-nav button[data-on] { background: var(--color-primary); border-color: var(--color-primary); }
}

.gc-sub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); margin-top: 1.6rem; }
.gc-sub { display: flex; flex-direction: column; gap: 1rem; padding: clamp(1.5rem, 2.6vw, 2rem); border: 1px solid var(--gc-hair); background: #FFFFFF; opacity: 1; transform: none; transition: background .45s ease, opacity .45s ease, transform .55s cubic-bezier(.16, 1, .3, 1); }
.gc-sub:hover { background: #FDFAF9; }
.gc-sub[hidden] { display: none; }
.gc-sub[data-enter] { opacity: 0; transform: translateY(14px); }
.gc-sub-grid[data-swap] .gc-sub { opacity: 0; transform: translateY(10px); }
.gc-sub-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.gc-sub-title { font-family: var(--font-secondary); font-size: clamp(1.1rem, 1.7vw, 1.35rem); line-height: 1.25; }
.gc-sub-badge { flex-shrink: 0; padding: .3rem .6rem; background: var(--color-primary); font-size: .66rem; letter-spacing: .1em; }
.gc-sub-list { margin: 0; padding-left: 1.25rem; list-style: disc outside; }
.gc-sub-list li { margin-bottom: .4rem; font-size: .84rem; line-height: 1.6; font-weight: 300; color: var(--color-contrast-higher); }
.gc-sub-list li::marker { color: var(--color-primary-darker); }
.gc-sub-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1.1rem; border-top: 1px solid var(--gc-hair); }
.gc-sub-price { display: flex; flex-direction: column; gap: .1rem; }
.gc-sub-price s { font-size: .78rem; color: var(--color-contrast-medium); }
.gc-sub-price b { font-family: var(--font-secondary); font-weight: 400; font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.1; }
.gc-sub-btn { --btn-padding-x: 1.4rem; --btn-padding-y: .9em; }

@media (max-width: 62rem) { .gc-sub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .gc-sub-grid { grid-template-columns: 1fr; } }

.gc-bonus-rate { display: flex; align-items: baseline; gap: .6rem; padding: .8rem 1.4rem; border: 1px solid var(--gc-hair); border-radius: 50em; }
.gc-bonus-rate span { font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: var(--color-contrast-medium); }
.gc-bonus-rate b { font-family: var(--font-secondary); font-weight: 400; font-size: 1.15rem; }

.gc-tiers { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(.75rem, 1.6vw, 1.4rem); margin-top: 2.4rem; }
.gc-tier { display: flex; flex-direction: column; gap: .7rem; padding: clamp(1.4rem, 2.4vw, 1.9rem); border: 1px solid var(--gc-hair); background: #FFFFFF; transition: background .45s ease, border-color .45s ease; }
.gc-tier:hover { background: #FDFAF9; }
.gc-tier[data-top] { background: var(--color-primary); border-color: transparent; }
.gc-tier[data-top]:hover { background: var(--color-primary-darker); }
.gc-tier-off { font-family: var(--font-secondary); font-size: clamp(1.9rem, 3.4vw, 2.8rem); line-height: 1; color: var(--color-primary-darker); }
.gc-tier[data-top] .gc-tier-off { color: var(--color-black); }
.gc-tier-from { font-size: .78rem; line-height: 1.5; color: var(--color-contrast-high); }
.gc-tier[data-top] .gc-tier-from { color: var(--color-black); }
.gc-tier-bar { position: relative; height: 2px; margin-top: auto; background: rgba(41, 41, 41, .12); overflow: hidden; }
.gc-tier-bar i { position: absolute; left: 0; top: 0; height: 2px; background: var(--color-primary-darker); }
.gc-tier[data-top] .gc-tier-bar { background: rgba(41, 41, 41, .2); }
.gc-tier[data-top] .gc-tier-bar i { background: var(--color-black); }

.gc-bonus-notes { display: flex; flex-direction: column; gap: .5rem; margin-top: 2.1rem; padding-top: 1.6rem; border-top: 1px solid var(--gc-hair); }
.gc-bonus-notes p { display: flex; align-items: baseline; gap: .7rem; font-size: .84rem; line-height: 1.7; font-weight: 300; color: var(--color-contrast-higher); }
.gc-bonus-notes p::before { content: ""; flex-shrink: 0; width: 1rem; height: 1px; background: var(--color-primary-darker); transform: translateY(-.4rem); }

@media (max-width: 62rem) { .gc-tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .gc-tiers { grid-template-columns: 1fr; } }

.gc-cert-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); margin-top: 2.4rem; }
.gc-cert { display: flex; flex-direction: column; gap: 1.4rem; padding: clamp(1.5rem, 2.6vw, 2rem); border: 1px solid var(--gc-hair); background: #FFFFFF; transition: background .45s ease; }
.gc-cert:hover { background: #FDFAF9; }
.gc-cert[data-top] { background: var(--color-primary); border-color: transparent; }
.gc-cert[data-top]:hover { background: var(--color-primary-darker); }
.gc-cert-head { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; padding-bottom: .9rem; border-bottom: 1px solid var(--gc-hair); }
.gc-cert[data-top] .gc-cert-head { border-bottom-color: rgba(41, 41, 41, .2); }
.gc-cert-brand { font-family: var(--font-secondary); font-size: .8rem; letter-spacing: .2em; white-space: nowrap; }
.gc-cert-brand span { color: var(--color-primary-darker); }
.gc-cert[data-top] .gc-cert-brand span { color: var(--color-black); }
.gc-cert-sum { font-family: var(--font-secondary); font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1; }
.gc-cert-btn { align-self: flex-start; margin-top: auto; --btn-padding-x: 1.4rem; --btn-padding-y: .9em; }
.gc-cert[data-top] .gc-cert-btn { background: var(--color-black); color: var(--color-white); }
.gc-cert[data-top] .gc-cert-btn:hover { background: var(--color-white); color: var(--color-black); }

@media (max-width: 62rem) { .gc-cert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .gc-cert-grid { grid-template-columns: 1fr; } }

.gc-dir-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); margin-top: 2.4rem; }
.gc-dir { display: flex; flex-direction: column; border: 1px solid var(--gc-hair); background: #FFFFFF; overflow: hidden; transition: background .45s ease; }
.gc-dir:hover { background: #FDFAF9; }
.gc-dir-shot { position: relative; display: block; width: 100%; aspect-ratio: 16/10; overflow: hidden; }
.gc-dir-body { display: flex; flex-direction: column; gap: .7rem; padding: clamp(1.4rem, 2.4vw, 1.9rem); flex: 1; }
.gc-dir-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.gc-dir-top .gc-icon { background: var(--color-primary-darker); }
.gc-dir-count { font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-contrast-high); }
.gc-dir-name { font-family: var(--font-secondary); font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.2; transition: color .35s ease; }
.gc-dir:hover .gc-dir-name { color: var(--color-primary-darker); }
.gc-dir-list { font-size: .8rem; line-height: 1.65; font-weight: 300; color: var(--color-contrast-high); }
.gc-dir-body .gc-offer-more { margin-top: auto; padding-top: .6rem; }
.gc-dir:hover .gc-offer-more::before { width: 2.1rem; }
.gc-dir:hover .gc-offer-more::after { opacity: .65; transform: none; }

.gc-dir--lead { grid-column: span 2; flex-direction: row; }
.gc-dir--lead .gc-dir-shot { width: 46%; aspect-ratio: auto; }
.gc-dir--lead .gc-dir-body { justify-content: center; }
.gc-dir--lead .gc-dir-name { font-size: clamp(1.6rem, 2.6vw, 2.1rem); }

@media (max-width: 62rem) {
  .gc-dir-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gc-dir--lead { grid-column: span 2; flex-direction: column; }
  .gc-dir--lead .gc-dir-shot { width: 100%; aspect-ratio: 16/9; }
}
@media (max-width: 40rem) { .gc-dir-grid, .gc-dir--lead { grid-template-columns: 1fr; grid-column: span 1; } }

.gc-grid-4 > .gc-proc:nth-last-child(2):nth-child(4n+1), .gc-grid-4 > .gc-proc:last-child:nth-child(4n+2) { grid-column: span 2; }


.gc-about-mega { display: grid; grid-template-columns: minmax(0, 1fr) clamp(260px, 26vw, 380px); gap: clamp(1.5rem, 3.4vw, 3.4rem); padding-top: 2.4rem; padding-bottom: 2.75rem; }
.gc-about-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 3vw, 2.75rem); align-content: start; }
.gc-about-list a { display: flex; flex-direction: column; gap: .2rem; padding: .8rem 0; border-bottom: 1px solid rgba(41, 41, 41, .08); transition: padding-left .45s cubic-bezier(.16, 1, .3, 1); }
.gc-about-list a:hover { padding-left: .6rem; }
.gc-about-ic { display: flex; align-items: center; gap: .55rem; }
.gc-about-ic .gc-icon { flex-shrink: 0; width: .95rem; height: .95rem; background: var(--color-primary-darker); transition: background .3s ease; }
.gc-about-list a:hover .gc-about-ic .gc-icon { background: var(--color-primary-darker); }
.gc-about-list b { font-family: var(--font-secondary); font-weight: 400; font-size: 1.08rem; line-height: 1.25; transition: color .3s ease; }
.gc-about-list a:hover b { color: var(--color-primary-darker); }
.gc-about-list span { font-size: .74rem; line-height: 1.5; font-weight: 300; color: var(--color-contrast-high); }

.gc-about-mega--wide { grid-template-columns: minmax(0, 1fr); }
.gc-about-list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 3vw, 3rem); }
.gc-about-promo { position: relative; display: block; overflow: hidden; min-height: 260px; }
.gc-about-promo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(41, 41, 41, .82), rgba(41, 41, 41, .18)); }
.gc-about-promo-in { position: absolute; inset: auto 1.4rem 1.4rem; z-index: 2; display: flex; flex-direction: column; gap: .5rem; color: #FFFFFF; }
.gc-about-promo-lbl { font-size: .6rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.gc-about-promo-title { font-family: var(--font-secondary); font-size: 1.15rem; line-height: 1.3; }
.gc-about-promo-link { font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-primary); }
.gc-about-promo:hover .gc-cover { transform: scale(1.05); }
.gc-about-promo .gc-cover { transition: transform 1.2s cubic-bezier(.16, 1, .3, 1); }

@media (max-width: 62rem) {
  .gc-about-mega { grid-template-columns: 1fr; gap: 0; padding-top: .6rem; padding-bottom: 1rem; }
  .gc-about-list, .gc-about-list--3 { grid-template-columns: 1fr; }
  .gc-about-mega--wide { grid-template-columns: 1fr; }
  .gc-about-promo { display: none; }
}

.gc-eqmenu { display: grid; grid-template-columns: clamp(230px, 24vw, 320px) minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3rem); padding-top: 2.1rem; padding-bottom: 2.4rem; }
.gc-eqmenu-list { display: flex; flex-direction: column; }
.gc-eqmenu-item { display: flex; text-decoration: none; align-items: center; gap: .6rem; padding: .48rem .7rem; border: 0; border-left: 1px solid var(--gc-hair); background: transparent; font-family: var(--font-primary); font-size: .82rem; line-height: 1.35; text-align: left; color: var(--color-contrast-higher); cursor: pointer; transition: color .3s ease, border-color .35s ease, padding-left .4s cubic-bezier(.16, 1, .3, 1); }
.gc-eqmenu-item .gc-icon { flex-shrink: 0; width: .95rem; height: .95rem; background: var(--color-primary-darker); }
.gc-eqmenu-item:hover { color: var(--color-black); padding-left: 1rem; }
.gc-eqmenu-item[data-on] { color: var(--color-black); border-left-color: var(--color-primary-darker); }
.gc-eqmenu-item[data-on] .gc-icon { background: var(--color-black); }

.gc-eqmenu-pane { display: none; grid-template-columns: clamp(160px, 18vw, 230px) minmax(0, 1fr); gap: clamp(1.2rem, 2.4vw, 2.1rem); }
.gc-eqmenu-pane:first-child { display: grid; }
.gc-eqmenu-pane[hidden] { display: none !important; }
.gc-eqmenu-shot { position: relative; display: block; aspect-ratio: 1/1; overflow: hidden; }
.gc-eqmenu-body { display: flex; flex-direction: column; gap: .7rem; }
.gc-eqmenu-name { font-family: var(--font-secondary); font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.2; transition: color .3s ease; }
.gc-eqmenu-name:hover { color: var(--color-primary-darker); }
.gc-eqmenu-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; margin-top: .2rem; }
.gc-eqmenu-services a { display: block; padding: .4rem 0; font-size: .8rem; line-height: 1.45; color: var(--color-contrast-high); border-bottom: 1px solid rgba(41, 41, 41, .07); transition: color .3s ease, padding-left .4s cubic-bezier(.16, 1, .3, 1); }
.gc-eqmenu-services a:hover { color: var(--color-black); padding-left: .4rem; }
.gc-eqmenu-btn { align-self: flex-start; margin-top: .5rem; --btn-padding-x: 1.4rem; --btn-padding-y: .9em; }

@media (max-width: 62rem) {
  .gc-eqmenu { grid-template-columns: 1fr; gap: 0; padding-top: .6rem; padding-bottom: 1rem; }
  .gc-eqmenu-panes { display: none; }
  .gc-eqmenu-item { border: 0; border-bottom: 1px solid rgba(41, 41, 41, .08); padding: .8rem .9rem; }
}

#gc-mmenu { position: fixed; left: 0; right: 0; bottom: 0; top: var(--gc-menu-top, calc(var(--gc-util-h, 40px) + var(--gc-sticky, 56px))); z-index: 55; display: none; flex-direction: column; background: #FFFFFF; pointer-events: none; }
html[data-menu="open"] #gc-mmenu { display: flex; pointer-events: auto; animation: gcMenuIn .38s cubic-bezier(.16, 1, .3, 1); }
@keyframes gcMenuIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
.gc-mm-head { display: flex; align-items: center; gap: .8rem; padding: .9rem var(--component-padding); border-bottom: 1px solid var(--gc-hair); min-height: 56px; }
.gc-mm-back { align-self: center; }
.gc-mm-back { display: none; align-items: center; gap: .5rem; padding: 0; border: 0; background: transparent; font-family: var(--font-primary); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-black); cursor: pointer; }
.gc-mm-back .gc-icon { width: .9rem; height: .9rem; background: var(--color-primary-darker); }
#gc-mmenu[data-level="1"] .gc-mm-back, #gc-mmenu[data-level="2"] .gc-mm-back { display: inline-flex; }
.gc-mm-title { flex: 1; text-align: right; font-family: var(--font-secondary); font-size: 1.05rem; }
.gc-mm-title { font-size: .66rem !important; font-family: var(--font-primary) !important; letter-spacing: .2em; text-transform: uppercase; color: var(--color-contrast-medium); }

.gc-mm-body { position: relative; flex: 1; overflow: hidden; }
.gc-mm-pane { position: absolute; inset: 0; overflow-y: auto; padding: .6rem var(--component-padding) 1.5rem; transform: translateX(0); opacity: 1; transition: transform .42s cubic-bezier(.16, 1, .3, 1), opacity .3s ease; }
.gc-mm-pane[data-out] { transform: translateX(-22%); opacity: 0; pointer-events: none; }
.gc-mm-pane[data-in] { transform: translateX(100%); opacity: 0; pointer-events: none; }

.gc-mm-row { display: flex; align-items: center; gap: .8rem; width: 100%; padding: 1rem 0; border: 0; border-bottom: 1px solid rgba(41, 41, 41, .08); background: transparent; font-family: var(--font-primary); font-size: 1rem; text-align: left; color: var(--color-black); cursor: pointer; text-decoration: none; }
.gc-mm-row .gc-icon { flex-shrink: 0; width: 1.05rem; height: 1.05rem; background: var(--color-primary-darker); }
.gc-mm-row b { flex: 1; font-weight: 400; }
.gc-mm-row i { font-style: normal; font-size: .72rem; color: var(--color-contrast-medium); }
.gc-mm-row em { display: block; margin-top: .2rem; font-style: normal; font-size: .74rem; line-height: 1.45; color: var(--color-contrast-high); }
.gc-mm-row-col { flex: 1; min-width: 0; }
.gc-mm-chev { flex-shrink: 0; width: 6px; height: 6px; border-right: 1px solid var(--color-contrast-medium); border-bottom: 1px solid var(--color-contrast-medium); transform: rotate(-45deg); }

.gc-mm-group { padding-top: 1.4rem; }
.gc-mm-group-lbl { display: flex; align-items: center; gap: .6rem; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--color-contrast-medium); padding-bottom: .4rem; }
.gc-mm-group-lbl::before { content: ""; width: 1.1rem; height: 1px; background: var(--color-primary-darker); }
.gc-mm-all { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-top: 1.1rem; padding: .95rem 1.4rem; border-radius: 999px; background: var(--color-primary); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }

.gc-mm-foot { display: flex; flex-direction: column; gap: .6rem; padding: 1rem var(--component-padding) 1.4rem; border-top: 1px solid var(--gc-hair); }
.gc-mm-foot a { display: flex; align-items: center; justify-content: center; }
.gc-mm-phone { font-family: var(--font-secondary); font-size: 1.15rem; }

@media (min-width: 62.001rem) { #gc-mmenu { display: none !important; } }
@media (max-width: 62rem) { html[data-menu="open"] .gc-nav { display: none; } }

@media (max-width: 62rem) {
  html, body { overflow-x: hidden; }

  .gc-util-in { display: flex !important; height: auto; padding-top: .45rem; padding-bottom: .45rem; gap: .4rem; justify-content: center; }
  .gc-util-l, .gc-util-r { display: none !important; }
  .gc-util-c { display: flex; flex: 1; justify-content: center; min-width: 0; }
  .gc-util-c .gc-util-muted { display: none !important; }
  .gc-util-c .gc-util-link { font-size: .6rem; letter-spacing: .06em; white-space: normal; text-align: center; }

  .gc-head-main { display: flex !important; align-items: center; gap: .5rem !important; padding-top: .55rem; padding-bottom: .5rem; }
  .gc-logo { order: 1; margin: 0 !important; }
  .gc-logo img { width: 32px; height: 32px; }
  .gc-logo-word b { font-size: 1rem; letter-spacing: .1em; padding-left: .1em; }
  .gc-logo-word span { font-size: .5rem; letter-spacing: .18em; padding-left: .18em; }
  .gc-head-side { order: 2; margin-left: auto; gap: .5rem; }
  .gc-head-side--r { order: 3; margin-left: 0; gap: .5rem; }
  .gc-head-phone { gap: 0 !important; }
  .gc-head-phone b { display: none; }
  .gc-head-hint { display: none; }
  .gc-cta { display: none !important; }
  .gc-icon-circle, .gc-icon-btn--fill { width: 2.2rem !important; height: 2.2rem !important; }
  .gc-icon-circle .gc-icon, .gc-icon-btn--fill .gc-icon { width: .85rem !important; height: .85rem !important; }
  .gc-burger { width: 2.2rem; height: 2.2rem; }
  .gc-burger i { width: 14px; }

  #gc-mmenu { top: var(--gc-menu-top, calc(var(--gc-util-h, 40px) + var(--gc-sticky, 56px))); }

  [data-hero] { height: calc(100svh - var(--gc-chrome, 96px)) !important; min-height: 460px !important; }
  [data-hero] .container { padding-bottom: 5.6rem !important; }
  [data-hero] .gc-circle { display: none; }
  [data-hero] .text-md { font-size: var(--text-unit, 1rem); }
  .gc-display { font-size: clamp(1.9rem, 8.5vw, 2.6rem); }
  .gc-circle { width: 2.4rem; height: 2.4rem; }

  .gc-page-hero, .gc-page-hero--tall { min-height: 0; }
  .gc-page-hero--tall { height: calc(70svh); }
  .gc-page-hero-in { padding-top: 2.4rem; padding-bottom: 2.4rem; }
  .gc-hero-bar-in { grid-auto-flow: row; }

  .text-xxxxl { font-size: clamp(1.8rem, 8vw, 2.4rem); }
  .gc-grid-4, .gc-grid-4-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gc-eq-grid, .gc-doc-grid, .gc-prod-grid, .gc-feat-grid, .gc-cert-grid, .gc-sub-grid, .gc-offer-grid, .gc-dir-grid, .gc-tiers { grid-template-columns: 1fr; }
  .gc-rail-item { flex: 0 0 78vw; }
}

@media (max-width: 30rem) {
  .gc-logo-word span { display: none; }
}

[data-quiz-data] { display: none !important; }
.gc-qz { padding-top: clamp(3rem, 6vw, 5.5rem); padding-bottom: clamp(3rem, 6vw, 5.5rem); }
.gc-qz-in { display: grid; grid-template-columns: clamp(260px, 30vw, 400px) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }

.gc-qz-side { position: sticky; top: calc(var(--gc-sticky, 107px) + 2.4rem); display: flex; flex-direction: column; gap: 1.1rem; }
.gc-qz-count { display: flex; align-items: baseline; gap: .5rem; }
.gc-qz-count b { font-family: var(--font-secondary); font-weight: 400; font-size: clamp(2.4rem, 5vw, 3.6rem); line-height: 1; color: var(--color-primary-darker); }
.gc-qz-count span { font-size: .68rem; letter-spacing: .2em; color: var(--color-contrast-medium); }
.gc-qz-track { position: relative; height: 1px; background: var(--gc-hair); }
.gc-qz-track i { position: absolute; left: 0; top: 0; height: 1px; width: 25%; background: var(--color-primary-darker); transition: width .6s cubic-bezier(.16, 1, .3, 1); }
.gc-qz-ask { font-family: var(--font-secondary); font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.18; letter-spacing: -.01em; text-wrap: pretty; }
.gc-qz-hint { font-size: .88rem; line-height: 1.7; font-weight: 300; color: var(--color-contrast-high); }
.gc-qz-crumbs { display: flex; flex-wrap: wrap; gap: .4rem; }
.gc-qz-crumb { display: inline-flex; align-items: center; gap: .45rem; padding: .35rem .8rem; border-radius: 50em; background: var(--color-primary); font-size: .68rem; letter-spacing: .06em; color: var(--color-black); }
.gc-qz-crumb::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--color-primary-darker); }
.gc-qz-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .4rem; }
.gc-qz-back, .gc-qz-reset { display: none; padding: .7rem 1.25rem; border: 1px solid var(--gc-hair); border-radius: 50em; background: transparent; font-family: var(--font-primary); font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-black); cursor: pointer; transition: background-color .35s ease, border-color .35s ease; }
.gc-qz-back:hover, .gc-qz-reset:hover { background: #FDFAF9; border-color: var(--color-primary-darker); }
.gc-qz-in:not([data-step="1"]) .gc-qz-back, .gc-qz-in:not([data-step="1"]) .gc-qz-reset { display: inline-block; }

.gc-qz-stage { min-width: 0; }
.gc-qz-pane { animation: gcQzIn .55s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes gcQzIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

.gc-qz-zones { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.7rem, 1.6vw, 1.1rem); }
.gc-qz-zone { position: relative; display: block; padding: 0; border: 0; background: transparent; aspect-ratio: 1/1; overflow: hidden; cursor: pointer; }
.gc-qz-zone img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.16, 1, .3, 1); }
.gc-qz-zone::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(41, 41, 41, .84) 4%, rgba(41, 41, 41, .12) 62%); transition: background .45s ease; }
.gc-qz-zone:hover img { transform: scale(1.06); }
.gc-qz-zone:hover::after { background: linear-gradient(to top, rgba(41, 41, 41, .78) 4%, rgba(244, 213, 205, .3) 90%); }
.gc-qz-zone-in { position: absolute; inset: auto 1rem 1.1rem; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; text-align: left; }
.gc-qz-zone-in .gc-icon { width: 1.3rem; height: 1.3rem; background: var(--color-primary); }
.gc-qz-zone-name { font-family: var(--font-secondary); font-size: clamp(1.05rem, 1.7vw, 1.4rem); line-height: 1.2; color: #FFFFFF; }
.gc-qz-zone-num { font-size: .6rem; letter-spacing: .18em; color: rgba(255, 255, 255, .6); }

.gc-qz-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.gc-qz-group { display: flex; flex-direction: column; align-items: flex-start; gap: .8rem; padding: 1.5rem; border: 1px solid var(--gc-hair); background: #FFFFFF; font-family: var(--font-primary); text-align: left; color: var(--color-black); cursor: pointer; transition: background-color .4s ease, border-color .4s ease; }
.gc-qz-group .gc-icon { width: 1.5rem; height: 1.5rem; background: var(--color-primary-darker); }
.gc-qz-group-name { font-family: var(--font-secondary); font-size: clamp(1.15rem, 1.9vw, 1.45rem); line-height: 1.2; }
.gc-qz-group-num { margin-top: auto; font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-contrast-medium); }
.gc-qz-group:hover { background: var(--color-primary); border-color: transparent; }
.gc-qz-group:hover .gc-icon { background: var(--color-black); }
.gc-qz-group:hover .gc-qz-group-num { color: rgba(41, 41, 41, .58); }

.gc-qz-probs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.gc-qz-prob { display: flex; align-items: center; gap: .9rem; padding: 1rem 1.2rem; border: 1px solid var(--gc-hair); background: #FFFFFF; font-family: var(--font-primary); font-size: .92rem; line-height: 1.35; text-align: left; color: var(--color-black); cursor: pointer; transition: background-color .4s ease, border-color .4s ease; }
.gc-qz-prob i { flex-shrink: 0; font-style: normal; font-size: .6rem; letter-spacing: .14em; color: var(--color-contrast-low); transition: color .35s ease; }
.gc-qz-prob span { flex: 1; }
.gc-qz-prob .gc-icon { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; background: var(--color-primary-darker); transition: background-color .35s ease; }
.gc-qz-prob:hover { background: var(--color-primary); border-color: transparent; }
.gc-qz-prob:hover .gc-icon { background: var(--color-black); }
.gc-qz-prob:hover i { color: rgba(41, 41, 41, .5); }

.gc-qz-res { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.gc-qz-sol { display: flex; flex-direction: column; gap: .9rem; padding: 1.4rem 1.5rem; background: #FFFFFF; border: 1px solid var(--gc-hair); transition: background-color .4s ease, border-color .4s ease; }
.gc-qz-sol .gc-icon { display: block; width: 1.4rem; height: 1.4rem; margin: 0; background: var(--color-primary-darker); transition: background-color .35s ease; }
.gc-qz-sol .gc-icon::before { content: none; }
.gc-qz-sol:hover { background: #FDFAF9; border-color: var(--color-primary-darker); }
.gc-qz-sol:hover .gc-icon { background: var(--color-black); }
.gc-qz-sol b { font-family: var(--font-secondary); font-weight: 400; font-size: clamp(1.1rem, 1.8vw, 1.35rem); line-height: 1.25; }
.gc-qz-sol span { display: inline-flex; align-items: center; gap: .5rem; margin-top: auto; font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: var(--color-contrast-high); transition: color .35s ease; }
.gc-qz-sol span::before { content: ""; width: 1.1rem; height: 1px; background: var(--color-primary-darker); transition: width .45s cubic-bezier(.16, 1, .3, 1); }
.gc-qz-sol:hover span { color: var(--color-black); }
.gc-qz-sol:hover span::before { width: 2rem; }
.gc-qz-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.4rem; padding-top: 1.4rem; border-top: 1px solid var(--gc-hair); }
.gc-qz-cta p { flex: 1; min-width: 220px; font-size: .84rem; line-height: 1.65; font-weight: 300; color: var(--color-contrast-high); }

@media (max-width: 62rem) {
  .gc-qz-in { grid-template-columns: 1fr; gap: 2rem; }
  .gc-qz-side { position: static; }
  .gc-qz-zones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .gc-qz-probs, .gc-qz-res, .gc-qz-groups { grid-template-columns: 1fr; }
  .gc-qz-zone { aspect-ratio: 1/1; }
}

.gc-bl-group { padding-top: clamp(2.4rem, 4vw, 3.4rem); }
.gc-bl-group-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .6rem 1.1rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--gc-hair); }
.gc-bl-group-name { font-family: var(--font-secondary); font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.15; }
.gc-bl-group-sub { flex: 1; min-width: 180px; font-size: .8rem; line-height: 1.55; font-weight: 300; color: var(--color-contrast-high); }
.gc-bl-group-num { font-size: .66rem; letter-spacing: .18em; color: var(--color-primary-darker); }
.gc-bl-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; padding-top: 1.4rem; }
.gc-bl { display: flex; flex-direction: column; gap: .55rem; padding: 1.3rem 1.4rem; border: 1px solid var(--gc-hair); background: #FFFFFF; transition: background .45s ease, border-color .45s ease; }
.gc-bl:hover { background: #FDFAF9; border-color: var(--color-primary); }
.gc-bl-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; }
.gc-bl-name { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .84rem; letter-spacing: .01em; color: var(--color-black); background: var(--color-primary); padding: .2rem .5rem; }
.gc-bl-hooks { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .62rem; line-height: 1.5; color: var(--color-contrast-medium); text-align: right; max-width: 55%; }
.gc-bl-what { font-size: .88rem; line-height: 1.6; color: var(--color-contrast-higher); }
.gc-bl-vars { font-size: .78rem; line-height: 1.6; font-weight: 300; color: var(--color-contrast-high); padding-top: .4rem; border-top: 1px solid rgba(41, 41, 41, .07); }
.gc-bl-pages { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: auto; padding-top: .5rem; }
.gc-bl-pages a { padding: .28rem .6rem; border: 1px solid var(--gc-hair); border-radius: 50em; font-size: .66rem; color: var(--color-contrast-high); transition: background-color .3s ease, color .3s ease; }
.gc-bl-pages a:hover { background: var(--color-primary); color: var(--color-black); }

.gc-bl-pagegrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin-top: 2.4rem; }
.gc-bl-page { display: flex; flex-direction: column; gap: .25rem; padding: 1.1rem 1.2rem; border: 1px solid var(--gc-hair); transition: background .4s ease, padding-left .45s cubic-bezier(.16, 1, .3, 1); }
.gc-bl-page:hover { background: #FDFAF9; padding-left: 1.6rem; }
.gc-bl-page i { font-style: normal; font-size: .62rem; letter-spacing: .16em; color: var(--color-contrast-low); }
.gc-bl-page b { font-family: var(--font-secondary); font-weight: 400; font-size: 1.05rem; line-height: 1.25; }
.gc-bl-page span { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .62rem; color: var(--color-contrast-medium); }

@media (max-width: 62rem) {
  .gc-bl-list, .gc-bl-pagegrid { grid-template-columns: 1fr; }
  .gc-bl-hooks { max-width: 100%; text-align: left; }
}

.vetro-loc{ position:relative; z-index:1; }
.locmap{ position:relative; min-height:36rem; overflow:hidden; display:flex; align-items:center; background:var(--color-contrast-lower); }
.locmap__ymap{ position:absolute; inset:0; z-index:0; }
.locmap__overlay{ position:relative; z-index:3; width:100%; pointer-events:none; padding-top:var(--space-lg); }

.locmap__overlay{ padding-bottom:calc(var(--space-lg) + 34px); }

.locpanel{
  pointer-events:auto; max-width:46rem;
  background:hsla(var(--color-bg-h), var(--color-bg-s), var(--color-bg-l), .92);
  -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%);
  box-shadow:0 40px 90px -44px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .5);
  padding:var(--space-lg);
}
.locpanel__eyebrow{
  display:inline-flex; align-items:center; gap:.6em; margin-bottom:var(--space-sm);
  font-size:var(--text-sm); font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--color-primary);
}
.locpanel__eyebrow::before{ content:""; width:2.2em; height:2px; background:var(--color-accent); }
.locpanel__title{ margin:0; font-size:var(--text-xl); font-weight:700; color:var(--color-contrast-higher); }

.lc-grid{ display:grid; grid-template-columns:1fr; gap:var(--space-sm); margin-top:var(--space-md); }
.lc-card{
  position:relative; display:flex; flex-direction:column;
  background:var(--color-bg); border:1px solid var(--color-contrast-low);
  padding:var(--space-sm) var(--space-md);
  transition:border-color .25s var(--ease-out, ease-out), box-shadow .25s var(--ease-out, ease-out), transform .25s var(--ease-out, ease-out);
}
.lc-card:hover{
  border-color:var(--color-primary);
  box-shadow:0 14px 30px -20px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .5);
  transform:translateY(-2px);
}
.lc-card__head{ display:flex; align-items:center; gap:var(--space-sm); margin-bottom:.5em; }

.lc-card__go{
  flex:none;

  position:absolute; right:var(--space-md); top:50%; transform:translateY(-50%);
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%;
  background-color:var(--color-contrast-lower); color:var(--color-primary);
  transition:background-color .3s var(--ease-out, ease-out), color .3s var(--ease-out, ease-out), transform .3s var(--ease-out, ease-out);
}
.lc-card__go svg{ width:16px; height:16px; fill:none; stroke:currentColor; }
.lc-card--link:hover .lc-card__go{ background-color:var(--color-accent); color:var(--color-black); transform:translateY(-50%) translateX(3px); }

.lc-card--link{ cursor:pointer; padding-right:calc(var(--space-md) + 44px); }
.lc-card__cover{ position:absolute; inset:0; z-index:1; }
.lc-row a{ position:relative; z-index:2; }
@media (prefers-reduced-motion: reduce){ .lc-card--link:hover .lc-card__go{ transform:translateY(-50%); } }

.lc-card__meta{ display:grid; grid-template-columns:1fr; gap:0 var(--space-md); }
@media(min-width:36rem){ .lc-card__meta{ grid-template-columns:repeat(2,1fr); } }
.lc-card__name{ font-weight:700; font-size:var(--text-md); color:var(--color-contrast-higher); line-height:1.2; }
.lc-row{ display:flex; align-items:flex-start; gap:.5em; margin-top:.32em; font-size:var(--text-sm); line-height:1.45; color:var(--color-contrast-high); }
.lc-row svg{ flex:none; width:16px; height:16px; margin-top:.15em; fill:none; stroke:currentColor; color:var(--color-primary); }
.lc-row--addr{ color:var(--color-contrast-higher); font-weight:500; }
.lc-row a{ color:inherit; text-decoration:none; }
.lc-row a:hover{ color:var(--color-primary); text-decoration:underline; }

.locpanel__foot{
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-sm);
  margin-top:var(--space-md); padding-top:var(--space-md);
  border-top:1px solid var(--color-contrast-lower);
}
.locpanel__cta{ flex:none; }
.locpanel__socials{ display:flex; flex-wrap:wrap; gap:var(--space-xs); align-items:center; margin-left:auto; }

.map-pin{ position:relative; cursor:pointer; width:22px; height:22px; transform:translate(-50%,-100%); }
.map-pin__dot{ position:absolute; inset:0; }
.map-pin__dot::before{
  content:""; position:absolute; inset:0; border-radius:50% 50% 50% 0;
  background:var(--color-primary); transform:rotate(-45deg);
  box-shadow:0 8px 18px -5px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .6);
  transition:transform .3s var(--ease-out, ease-out);
}
.map-pin:hover .map-pin__dot::before{ transform:rotate(-45deg) scale(1.18); }
.map-pin__dot::after{ content:""; position:absolute; left:50%; top:42%; width:7px; height:7px; border-radius:50%; background:var(--color-accent); transform:translate(-50%,-50%); }
.map-pin__pulse{ position:absolute; left:50%; top:50%; width:22px; height:22px; border-radius:50%; transform:translate(-50%,-50%); background:hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .45); }

.map-balloon{
  position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%);
  background:var(--color-bg); border:1px solid var(--color-contrast-lower);
  box-shadow:0 12px 36px rgba(0,0,0,.15); padding:var(--space-md);
  min-width:270px; max-width:320px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s, visibility .3s; z-index:10;
}
.map-pin.is-open .map-balloon{ opacity:1; visibility:visible; pointer-events:auto; }
.map-balloon::after{ content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:8px solid transparent; border-top-color:var(--color-bg); }
.map-balloon__title{ margin-bottom:var(--space-xs); font-weight:700; font-size:var(--text-md); color:var(--color-contrast-higher); }
.map-balloon__row{ display:flex; align-items:center; gap:.5em; padding:.25em 0; font-size:var(--text-sm); color:var(--color-contrast-high); }
.map-balloon__row svg{ flex:none; fill:none; stroke:currentColor; color:var(--color-primary); }
.map-balloon__row a{ color:var(--color-primary); text-decoration:none; }
.map-balloon__row a:hover{ text-decoration:underline; }

@media(max-width:48rem){
  .locmap{ min-height:0; }
  .locpanel{ max-width:none; padding:var(--space-xl) var(--space-md); }
  .locmap__ymap{ position:relative; inset:auto; height:16rem; }
  .locmap{ display:block; }
  .locmap__overlay{ padding-top:0; }

  .locmap__overlay{ padding-bottom:0; }
  .locpanel__socials{ margin-left:0; }
}

.vetro-contact__soc{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%;
  background-color: var(--color-accent);
  color: var(--color-black);
  transition: background-color .25s var(--ease-out, ease-out), color .25s var(--ease-out, ease-out);
}
.vetro-contact__soc svg{ width:18px; height:18px; }
.vetro-contact__soc:hover{ background-color: var(--color-accent-darker); color: var(--color-black); }

.vetro-footer{ padding-top: var(--space-md); }
.vetro-footer{ --vetro-footer-line: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), .16); }
.vetro-footer__row{ border-bottom: 1px solid var(--vetro-footer-line); }

.vetro-footer__bottom{ background-color: var(--color-primary-dark); }

.vetro-footer__dc{ display:grid; gap: var(--space-xxxs); }
.vetro-footer__dc-name{
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-contrast-medium);
  margin-bottom: var(--space-xxxs);
}
.vetro-footer__dc a{ font-size: var(--text-sm); }
.vetro-footer__dc .icon{ width:16px; height:16px; }
.vetro-footer__list{ list-style:none; margin:0; padding:0; display:grid; gap: var(--space-xxs); }

.vetro-footer .icon{ width:20px; height:20px; flex-shrink:0; fill:none; color: var(--color-contrast-medium); }

.vetro-footer__bottom a{ text-decoration: none; transition: color .25s var(--ease-out, ease-out); }
.vetro-footer__bottom a:hover{ color: var(--color-contrast-higher); }

.vetro-footer__soc{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  background-color: var(--vetro-footer-line);
  color: var(--color-contrast-higher);
  transition: background-color .25s var(--ease-out, ease-out), color .25s var(--ease-out, ease-out);
}
.vetro-footer__soc svg{ width:20px; height:20px; }
.vetro-footer__soc:hover{
  background-color: var(--color-accent);
  color: var(--color-primary-dark);
}

.vetro-subnav{
  position: sticky; top: var(--vetro-hdr-compact, 65px); z-index: 40;
  background-color: var(--color-primary);
  color: var(--color-white);
}
.vetro-subnav__in{
  display: flex; align-items: center; gap: var(--space-md);
  overflow-x: auto; overflow-y: hidden;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.vetro-subnav__in::-webkit-scrollbar{ display: none; }
.vetro-subnav__link{
  position: relative; flex: 0 0 auto;

  padding: calc(var(--space-sm) + var(--space-xxs)) 0;
  font-size: var(--text-sm); font-weight: 700;
  color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .75);
  text-decoration: none; white-space: nowrap;
  transition: color .2s var(--ease-out, ease-out);
}

.vetro-subnav__link::after{
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background-color: var(--color-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform .3s var(--ease-out, ease-out);
}
.vetro-subnav__link:hover{ color: var(--color-white); }
.vetro-subnav__link.is-active{ color: var(--color-white); }
.vetro-subnav__link.is-active::after{ transform: scaleX(1); }

.vetro-subnav__cta{
  margin-left: auto; flex: 0 0 auto;
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-primary-dark);
}
.vetro-subnav__cta:hover{
  background-color: var(--color-accent-light);
  border-color: var(--color-accent-light);
  color: var(--color-primary-dark);
}
@media (max-width: 48rem){
  .vetro-subnav__cta{ display: none; }
}
@media (prefers-reduced-motion: reduce){
  .vetro-subnav__link, .vetro-subnav__link::after{ transition: none; }
}

.hdr a, .hdr__drawer a{ text-decoration: none; }

.hdr__nav a{ color: var(--color-contrast-high); }

.hdr{ position:sticky; top:0; z-index:50; pointer-events:none; transition:background .45s ease, box-shadow .45s ease, color .45s ease, padding .45s ease; color:var(--color-white); }

.hdr__util, .hdr__bar, .hdr__logo, .hdr__mega, .hdr__drawer{ pointer-events:auto; }
.hdr__accent{ display:none; }

.hdr__util{ overflow:hidden; max-height:46px; background:var(--color-primary-darker); transition:max-height .45s ease, opacity .35s ease; }
.hdr__util-in{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:var(--space-md); height:42px; padding-top:3px; }
.hdr__util-in > :nth-child(1){ justify-self:start; }
.hdr__util-in > :nth-child(2){ justify-self:center; }
.hdr__util-in > :nth-child(3){ justify-self:end; }
.hdr__util-item{ display:inline-flex; align-items:center; gap:.5em; font-size:var(--text-sm); font-weight:500; letter-spacing:.01em; color:var(--color-white); white-space:nowrap; transition:color .4s; }
.hdr__util-item svg{ width:15px; height:15px; opacity:.85; flex:none; }
.hdr__util-phone{ font-weight:700; color:var(--color-white); }
.hdr__util-phone:hover{ color:var(--color-accent-light); }
.hdr.is-solid .hdr__util{ max-height:0; opacity:0; }
@media(max-width:63.99rem){ .hdr__util-item:not(.hdr__util-badge){ display:none; } .hdr__util-in{ display:flex; justify-content:center; } .hdr__util-badge{ font-size:var(--text-xs); white-space:normal; text-align:center; line-height:1.25; } }
.hdr__bar{ position:relative; display:flex; align-items:center; gap:var(--space-lg); min-height:64px; --bar-pad-b:16px; padding:16px 0; padding-bottom:var(--bar-pad-b); }
.hdr__nav{ display:none; }
.hdr__right{ margin-left:auto; display:flex; align-items:center; gap:var(--space-md); }
.hdr__phone{ display:none; font-weight:700; font-size:var(--text-sm); letter-spacing:.01em; white-space:nowrap; }
.hdr__cta{ display:inline-flex; align-items:center; color:var(--color-white); background:transparent; border:1px solid hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .5); cursor:pointer; white-space:nowrap; transition:background .3s, color .3s, border-color .3s, transform .3s; }
.hdr__cta:hover{ background:var(--color-white); color:var(--color-primary); border-color:var(--color-white); transform:translateY(-1px); }

.hdr__call{ display:none; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; flex:none; color:var(--color-white); background:transparent; border:1.5px solid hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .5); cursor:pointer; transition:background .3s, color .3s, border-color .3s, transform .3s; }
.hdr__call svg{ width:21px; height:21px; }
.hdr__call:hover{ background:var(--color-white); color:var(--color-primary); border-color:var(--color-white); transform:translateY(-1px); }
.hdr.is-solid .hdr__call{ background:var(--color-primary); color:var(--color-white); border-color:var(--color-primary); }
.hdr.is-solid .hdr__call:hover{ background:var(--color-primary-darker); border-color:var(--color-primary-darker); }
@media(max-width:63.99rem){ .hdr__cta{ display:none; } .hdr__call{ display:inline-flex; } }
.hdr__burger{ width:44px; height:44px; display:flex; flex-direction:column; justify-content:center; gap:5px; background:none; border:0; cursor:pointer; color:#fff; }
.hdr__burger span{ height:2px; background:#fff; border-radius:2px; transition:background .35s, transform .35s, opacity .35s; }

.hdr.is-solid .hdr__burger span{ background:var(--color-primary); }

@media(max-width:63.99rem){
  .hdr__burger{ order:-2; margin-right:auto; }
  .hdr__right{ margin-left:0; gap:var(--space-sm); }
  .hdr__bar{ gap:var(--space-sm); }
}

.hdr__logo{ position:absolute; left:68%; bottom:44px; transform:translate(-50%,50%); z-index:4; display:grid; place-items:center; }
.hdr__logoimg{ grid-area:1/1; height:54px; width:auto; display:block; filter:brightness(0) invert(1); opacity:0; transform:translateY(4px) scale(.96); transition:filter .4s, opacity .55s ease, transform .6s cubic-bezier(.16,.7,.2,1); }
.hdr__logoimg.is-shown{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .hdr__logoimg{ transition:filter .4s, opacity .35s ease; transform:none; } .hdr__logoimg.is-shown{ transform:none; } }
@media(min-width:64rem){ .hdr__logoimg{ height:64px; } }

.hdr__rule{ position:absolute; left:0; right:0; bottom:44px; display:flex; align-items:center; z-index:2; }
.hdr__rule span{ height:1px; background:var(--color-white); transition:background .4s; }
.hdr__rule span:first-child{ flex:0 0 calc(68% - 45px); }
.hdr__rule span:last-child{ flex:1; }
.hdr__rule i{ flex:0 0 90px; }

@media(max-width:63.99rem){
  .hdr__logo{ left:50%; }
  .hdr__rule span:first-child{ flex:0 0 calc(50% - 42px); }
  .hdr__rule i{ flex:0 0 84px; }
}
.hdr__nav a{ position:relative; display:inline-flex; align-items:center; height:100%; padding:0; font-size:var(--text-base-size); opacity:.9; transition:opacity .3s; }
.hdr__nav a.hdr__brandmark{ padding:0; }
.hdr__nav a::after{ content:""; position:absolute; left:0; right:100%; bottom:calc(-1 * var(--bar-pad-b)); height:2px; background:var(--color-accent); transition:right .35s cubic-bezier(.16,.7,.2,1); }
.hdr__nav a:hover{ opacity:1; }
.hdr__nav a:hover::after{ right:0; }
@media(min-width:64rem){
  .hdr__nav{ display:flex; gap:var(--space-lg); align-items:center; align-self:stretch; }
  .hdr__phone{ display:block; }
  .hdr__burger{ display:none; }
}

.hdr__brandmark{ position:relative; flex:none; width:96px; height:30px; padding:0!important; margin-right:.5rem; }
.hdr__brandmark::after{ display:none!important; }
.hdr__brandmark img{ position:absolute; left:0; top:50%; transform:translateY(-50%); height:26px; width:auto; transition:opacity .4s; }
.hdr__brandmark-d{ opacity:0; }
.hdr.is-solid .hdr__brandmark-w{ opacity:0; }
.hdr.is-solid .hdr__brandmark-d{ opacity:1; }

.hdr.is-solid{ background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .8); -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px); color:var(--color-primary); }
.hdr.is-solid .hdr__bar{ min-height:56px; padding:14px 0; --bar-pad-b:14px; }
.hdr.is-solid .hdr__accent{ background:var(--color-primary); }
.hdr.is-solid .hdr__rule span{ background:var(--color-primary); }
.hdr.is-solid .hdr__nav a::after{ background:var(--color-primary); }
.hdr.is-solid .hdr__logoimg{ filter:none; }
.hdr.is-solid .hdr__cta{ background:var(--color-primary); color:var(--color-white); border-color:var(--color-primary); }
.hdr.is-solid .hdr__cta:hover{ background:var(--color-primary-darker); border-color:var(--color-primary-darker); }

.hdr__logo{ transition:opacity .4s ease, visibility .4s, transform .4s cubic-bezier(.16,.7,.2,1); }
.hdr__rule{ transition:opacity .4s ease; }
.hdr.is-compact{ padding-bottom:0; }
.hdr.is-compact .hdr__logo{ opacity:0; visibility:hidden; transform:translate(-50%,-14px); }
.hdr.is-compact .hdr__rule{ opacity:0; }

.hdr.is-mega{ background:var(--color-white); -webkit-backdrop-filter:none; backdrop-filter:none; color:var(--color-primary); box-shadow:none; }
.hdr.is-mega .hdr__rule span{ background:var(--color-primary); }
.hdr.is-mega .hdr__logoimg{ filter:none; }
.hdr.is-mega .hdr__brandmark-w{ opacity:0; }
.hdr.is-mega .hdr__brandmark-d{ opacity:1; }
.hdr.is-mega .hdr__cta{ background:var(--color-primary); color:var(--color-white); border-color:var(--color-primary); }
.hdr.is-mega .hdr__nav a::after{ background:var(--color-primary); }
.hdr__nav a[data-mega]{ position:relative; }
.hdr__nav a[data-mega].is-open{ opacity:1; }
.hdr__nav a[data-mega].is-open::after{ right:0; }

.hdr__mega{ position:absolute; left:0; right:0; top:100%; z-index:40; background:var(--color-white); color:var(--color-contrast-higher); border-top:0; box-shadow:0 40px 60px -34px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .3); opacity:0; visibility:hidden; transform:translateY(-14px); transition:opacity .35s ease, transform .4s cubic-bezier(.16,.7,.2,1), visibility .35s; max-height:78vh; overflow:auto; }
.hdr__mega.is-open{ opacity:1; visibility:visible; transform:none; }
.hdr__mega-in{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); padding:var(--space-md) 0 var(--space-lg) 0; }
@media(min-width:64rem){ .hdr__mega-in{ grid-template-columns:1fr; gap:var(--space-xxl); } }

.mega__rail{ display:flex; flex-direction:column; }
.mega__cat{ display:flex; align-items:center; gap:.6em; padding:.55em 0; font-size:var(--text-md); font-weight:600; color:var(--color-contrast-medium); cursor:pointer; border:0; background:none; text-align:left; transition:color .35s, padding-left .3s; }
.mega__cat::before{ content:""; width:0; height:2px; flex:none; background:var(--color-primary); transition:width .35s cubic-bezier(.16,.7,.2,1); }
.mega__cat:hover{ color:var(--color-contrast-higher); }
.mega__cat.is-active{ color:var(--color-primary); font-weight:700; }
.mega__cat.is-active::before{ width:1.6em; }
.mega__rail-sep{ height:1px; background:var(--color-contrast-lower); margin:var(--space-md) 0; }
.mega__link{ display:inline-flex; align-items:center; gap:.5em; font-size:var(--text-sm); font-weight:700; color:var(--color-primary); padding:.45em 0; }
.mega__link svg{ width:18px; height:18px; transition:transform .35s; }
.mega__link:hover svg{ transform:translateX(5px); }
.mega__dealer{ display:inline-flex; align-items:center; gap:.55em; font-size:var(--text-sm); font-weight:600; color:var(--color-contrast-medium); padding:.45em 0; transition:color .3s; }
.mega__dealer:hover{ color:var(--color-accent-darker); }
.mega__dealer svg{ width:18px; height:18px; color:var(--color-accent-darker); }

.mega__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-sm); }
@media(min-width:48rem){ .mega__grid{ grid-template-columns:repeat(4,1fr); gap:var(--space-xl); } }
.mmodel{ position:relative; display:block; aspect-ratio:16/9; padding:var(--space-md); overflow:hidden; background:var(--color-contrast-lower); transition:box-shadow .45s, transform .45s; }
.mmodel:hover{ transform:translateY(-4px); }
.mmodel__shot{ position:absolute; inset:0; z-index:0; background: white; transition:transform .6s cubic-bezier(.16,.7,.2,1); }
.mmodel__name{ position:relative; z-index:2; font-size:var(--text-xl); font-weight:700; letter-spacing:-.02em; color:var(--color-white); }
.mmodel__description{ color: white;position: relative;font-weight: 700;z-index: 2; }
.mmodel__badge{ position:absolute; left:var(--space-md); bottom:var(--space-md); z-index:2; width:32px; height:32px; border-radius:50%; background:var(--color-white); color:var(--color-primary); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px -6px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .5); }
.mmodel__more{ position:absolute; right:var(--space-md); bottom:var(--space-md); z-index:2; color:var(--color-primary); opacity:0; transform:translateX(-6px); transition:opacity .35s, transform .35s; }
.mmodel:hover .mmodel__more{ opacity:1; transform:none; }

.hdr__mega--feature .hdr__mega-in{ grid-template-columns:1fr; }
@media(min-width:64rem){ .hdr__mega--feature .hdr__mega-in{ grid-template-columns:280px 1fr; } }
.mega__feature{ grid-template-columns:1fr; gap:var(--space-lg); align-items:start; display:none; opacity:0; transition:opacity .35s ease; }
.mega__feature.is-active{ display:grid; opacity:1; animation:megaFadeIn .35s ease both; }
@keyframes megaFadeIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
@media(min-width:64rem){ .mega__feature{ grid-template-columns:1.05fr .95fr; gap:var(--space-xl); } }
.mega__feature-title{ font-size:var(--text-xl); font-weight:700; color:var(--color-contrast-higher); margin-bottom:var(--space-xs); }
.mega__lead{ font-size:var(--text-md); font-weight:300; line-height:1.4; letter-spacing:-.01em; color:var(--color-contrast-higher); max-width:var(--max-width-xs); }
.mega__lead b{ font-weight:700; }
.mega__feature .mega__link{ margin-top:var(--space-md); font-size:var(--text-md); }
.mega__feature-img{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.mega__feature-img .shot{ position:absolute; inset:0; transition:transform .7s cubic-bezier(.16,.7,.2,1); }
.mega__feature-img:hover .shot{ transform:scale(1.05); }
.mega__cat[href]{ text-decoration:none; }

.hdr__mega--cols .hdr__mega-in{ position:relative; grid-template-columns:1fr; gap:0; padding-top: var(--space-lg); padding-bottom: var(--space-xl); }
.mega__cols{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-lg) var(--space-xl); }
@media(min-width:64rem){ .mega__cols{ grid-template-columns:repeat(4,1fr); } }
.mega__col{ display:flex; flex-direction:column; gap:var(--space-xs); min-width:0; }
.mega__col-title{
  margin:0 0 var(--space-xxxs);
  font-size:var(--text-unit); font-weight:700;
  color:var(--color-contrast-higher);
}
.mega__item{
  display:flex; align-items:flex-start; gap:.55em;
  font-size:var(--text-unit); line-height:1.45;
  color:var(--color-contrast-medium);
  transition:color .25s var(--ease-out, ease-out);
}
.mega__item:hover{ color:var(--color-primary); }
.mega__item--plain{ cursor:default; }
.mega__item-icon svg, .mega__item-icon img{ width:18px; height:18px; flex:none; }

.hdr__drawer{ position:fixed; top:0; left:0; right:0; bottom:0; width:100%; height:100%; z-index:300; visibility:hidden; }
.hdr__drawer.is-open{ visibility:visible; }
.hdr__drawer-scrim{ position:absolute; inset:0; background:hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .55); opacity:0; transition:opacity .4s ease; }
.hdr__drawer.is-open .hdr__drawer-scrim{ opacity:1; }
.hdr__drawer-panel{ position:absolute; top:0; left:0; bottom:0; width:100%; height:100dvh; max-width:100vw; background:var(--color-white); transform:translateX(-100%); transition:transform .45s cubic-bezier(.16,.7,.2,1); display:flex; flex-direction:column; overflow-y:auto; overflow-x:hidden; }
.hdr__drawer.is-open .hdr__drawer-panel{ transform:none; }
.drawer__head{ display:flex; align-items:center; justify-content:space-between; padding:var(--space-md); border-bottom:1px solid var(--color-contrast-lower); }
.drawer__logo{ height:22px; width:auto; }
.drawer__close{ width:42px; height:42px; display:flex; align-items:center; justify-content:center; background:none; border:0; color:var(--color-contrast-higher); cursor:pointer; }
.drawer__close svg{ width:22px; height:22px; }

.drawer__stage{ position:relative; flex:1; overflow:hidden; }
.drawer__level{ position:absolute; inset:0; overflow-y:auto; background:var(--color-white); -webkit-overflow-scrolling:touch; }
.drawer__level--sub{ transform:translateX(100%); visibility:hidden; transition:transform .42s cubic-bezier(.16,.7,.2,1), visibility .42s; box-shadow:-20px 0 40px -28px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .4); }
.drawer__level--sub.is-active{ transform:translateX(0); visibility:visible; }
.drawer__row{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:.5em; padding:var(--space-md); font-family:var(--font-secondary); font-size:var(--text-md); color:var(--color-contrast-higher); background:none; border:0; border-bottom:1px solid var(--color-contrast-lower); text-align:left; cursor:pointer; transition:background .25s; }
.drawer__row:hover, .drawer__row:active{ background:var(--color-contrast-lower); }
.drawer__row svg{ width:18px; height:18px; color:var(--color-primary); flex:none; }
.drawer__row--link{ text-decoration:none; }
.drawer__back{ position:sticky; top:0; z-index:2; width:100%; display:flex; align-items:center; gap:.6em; padding:var(--space-md); font-family:var(--font-secondary); font-size:var(--text-sm); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--color-white); background:var(--color-primary); border:0; border-bottom:1px solid var(--color-contrast-lower); cursor:pointer; }
.drawer__back svg{ width:18px; height:18px; flex:none; }
.drawer__link{ display:block; padding:var(--space-md); font-size:var(--text-md); color:var(--color-contrast-high); border-bottom:1px solid var(--color-contrast-lower); transition:color .25s, background .25s; }
.drawer__link:hover{ color:var(--color-primary); background:var(--color-contrast-lower); }
.drawer__all{ display:flex; align-items:center; gap:.5em; padding:var(--space-md); font-weight:700; font-size:var(--text-sm); color:var(--color-primary); }
.drawer__all svg{ width:18px; height:18px; }
.drawer__cards{ display:grid; gap:var(--space-xl); padding:var(--space-md); }

.dcard{ position:relative; overflow:hidden; display:flex; flex-direction:column; gap:var(--space-lg); padding:0; background:transparent; }
.dcard__shot{ position:relative; inset:auto; aspect-ratio:16 / 6; background:
    repeating-linear-gradient(135deg, hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .04) 0 2px, transparent 2px 11px),
    linear-gradient(160deg, var(--color-contrast-lower), var(--color-contrast-low)); }
.dcard__name{ position:relative; text-align:center; font-family:var(--font-secondary); font-weight:700; letter-spacing:-.01em; color:var(--color-white); }
.drawer__foot{ padding:var(--space-md); align-items: center; border-top:1px solid var(--color-contrast-lower); display:flex; flex-direction:column; gap:var(--space-sm); overflow:hidden; max-height:340px; transition:max-height .42s cubic-bezier(.16,.7,.2,1), opacity .3s ease, padding .42s cubic-bezier(.16,.7,.2,1), border-color .42s; }
.hdr__drawer.is-drilled .drawer__foot{ max-height:0; opacity:0; padding-top:0; padding-bottom:0; border-top-color:transparent; pointer-events:none; }
.drawer__phone{ font-family:var(--font-secondary); font-size:var(--text-lg); font-weight:700; color:var(--color-primary); }
.drawer__hours{ font-size:var(--text-sm); color:var(--color-contrast-medium); }
.drawer__social{ display:flex; gap:.5rem; margin-top:.3rem; }
.drawer__social a{ width:40px; height:40px; border:1px solid var(--color-contrast-low); color:var(--color-primary); font-size:var(--text-xs); font-weight:700; display:flex; align-items:center; justify-content:center; border-radius:50%; transition:.3s; }
.drawer__social a:hover{ background:var(--color-primary); border-color:var(--color-primary); color:var(--color-white); }
@media(min-width:64rem){ .hdr__drawer{ display:none; } }

.hdr, .hdr.is-solid, .hdr.is-mega{
  background: var(--color-white);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: var(--color-primary);
}
.hdr .hdr__brandmark-w{ opacity: 0; }
.hdr .hdr__brandmark-d{ opacity: 1; }
.hdr .hdr__burger span{ background: var(--color-primary); }
.hdr .hdr__nav a::after{ background: var(--color-primary); }

.hdr .hdr__call,
.hdr.is-solid .hdr__call,
.hdr.is-mega .hdr__call{ background: var(--color-accent); color: var(--color-primary-dark); border-color: var(--color-accent); }
.hdr .hdr__call:hover,
.hdr.is-solid .hdr__call:hover{ background: var(--color-accent-dark); border-color: var(--color-accent-dark); color: var(--color-primary-dark); }

.hdr .hdr__util{ background: var(--color-primary); }

.hdr .hdr__bar{ min-height: 56px; --bar-pad-b: 10px; padding: 10px 0; padding-bottom: var(--bar-pad-b); }
.hdr.is-solid .hdr__bar{ min-height: 52px; --bar-pad-b: 11px; padding: 11px 0; padding-bottom: var(--bar-pad-b); }

.hdr .hdr__brandmark{ width: auto; height: auto; }
.hdr .hdr__brandmark img{ max-width: none; width: auto; height: 16px; }
.hdr .hdr__brandmark .hdr__brandmark-d{ position: static; transform: none; display: block; }
.hdr .hdr__brandmark .hdr__brandmark-w{ position: absolute; left: 0; top: 50%; transform: translateY(-50%); }

.hdr__mega .mmodel{ background: transparent; aspect-ratio: auto; padding: 0; display: flex; flex-direction: column; gap: var(--space-md); }
.hdr__mega .mmodel__shot{ position: relative; inset: auto; aspect-ratio: 16 / 7; background: transparent; background-repeat: no-repeat; }
.hdr__mega .mmodel__meta{ display: flex; flex-direction: column; gap: var(--space-xxxxs); text-align: center; }
.hdr__mega .mmodel__name{ color: var(--color-contrast-higher); font-size: var(--text-md); }
.hdr__mega .mmodel__description{ color: var(--color-contrast-medium); font-weight: 400; font-size: var(--text-sm); }
.hdr__mega .mmodel:hover .mmodel__name{ color: var(--color-primary); }

.modal{ z-index: 400; }

.hdr__drawer .dcard__name{ color: var(--color-contrast-higher); }

.drawer__social a svg{ width:18px; height:18px; }

.hdr .hdr__brandmark{ margin-right: var(--space-md); }
@media (max-width: 63.99rem){ .hdr .hdr__brandmark{ margin-right: 0; } }

@media (max-width: 63.99rem){
  .hdr .hdr__brandmark{
    position: absolute; left: 50%; transform: translateX(-50%);
    margin: 0;
  }
}

.vetro-dintro .btn--accent{
  color: var(--color-white);
  border-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .7);
  background-color: transparent;
}
.vetro-dintro .btn--accent:hover{
  background-color: var(--color-white);
  border-color: var(--color-white);
  color: var(--color-primary-dark);
}

.text-center .vetro-btns{ justify-content:center; }
.text-right  .vetro-btns{ justify-content:flex-end; }

.table:not(.table--expanded) .table__row .table__cell:first-child,
.table:not(.table--expanded) .table__row .table__cell:last-child{
  border-radius: 0;
}

.hdr .hdr__brandmark--stack{ width:auto; height:auto; display:flex; align-items:center; }
.hdr .hdr__brandmark--stack .hdr__logo{ position:static; transform:none; }
.hdr .hdr__brandmark--stack .hdr__logoimg{
  position:static; grid-area:1/1;
  width:auto; height:48px; max-width:none;
  filter:none;
  transform:translateY(4px) scale(.96);
}
.hdr .hdr__brandmark--stack .hdr__logoimg.is-shown{ transform:none; }
@media(max-width:63.99rem){ .hdr .hdr__brandmark--stack .hdr__logoimg{ height:42px; } }
@media(max-width:47.99rem){ .hdr .hdr__brandmark--stack .hdr__logoimg{ height:48px; } }

.hdr.is-compact .hdr__brandmark--stack .hdr__logo,
.hdr.is-mega .hdr__brandmark--stack .hdr__logo{ opacity:1; visibility:visible; transform:none; }

.hdr .hdr__brandmark--stack{ gap:var(--space-xs); }
.hdr__brandtext{
  display:flex; flex-direction:column; justify-content:center; gap:2px;
  padding-left:var(--space-xs);
  border-left:1px solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), .18);
  line-height:1.15; text-align:left; white-space:nowrap;
}
.hdr__brandtext-name{ font-size:var(--text-sm); font-weight:700; letter-spacing:.01em; }
.hdr__brandtext-sub{ font-size:var(--text-xs); opacity:.7; }
@media(max-width:63.99rem){ .hdr__brandtext{ display:none; } }

.vetro-hero-home .slideshow__nav-item button{ width: 18px; }
@media (max-width: 48rem){ .vetro-hero-home .slideshow__nav-item button{ width: 12px; } }

.vetro-hero-home .vetro-slide-body{
  top: 68%; bottom: auto;
  transform: translateY(-50%);
  padding-bottom: 0;
}

@media (max-width: 48rem){
  .vetro-hero-home .vetro-slide-body{
    top: 0; bottom: 0;
    transform: none;
    padding-bottom: var(--space-xxl);
  }
}

@media (min-width: 48rem){
  .vetro-hero-home .vetro-slide-body{ padding-left: 56px; }
}

.select > select.form-control{
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  cursor: pointer;
}
.select > .select__icon{ right: .75em; color: var(--color-contrast-medium); }

.select.js-select{ display: block; }

.select__button.form-control{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  text-align: left;
  cursor: pointer;
}
.select__button.form-control .select__label{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.select__button.form-control > svg{
  flex-shrink: 0;
  color: var(--color-contrast-medium);
  transition: transform .2s;
}
.select__button[aria-expanded="true"] > svg{ transform: rotate(180deg); }

.select__dropdown{ width: 100%; min-width: 0; border-radius: 0; }
.select__item--option{ cursor: pointer; }

@media (max-width: 47.99rem){
  .vetro-carcards{ --carousel-item-auto-size: 100% !important; }
}
@media (min-width: 48rem) and (max-width: 63.99rem){
  .vetro-carcards{ --carousel-item-auto-size: calc((100% - var(--carousel-grid-gap)) / 2) !important; }
}

@media (max-width: 47.99rem){
  .slideshow__navigation{ justify-content: center; }
}

.slideshow__item{ background-image: var(--slide-img); }
@media (max-width: 48rem){
  .slideshow__item{ background-image: var(--slide-img-m, var(--slide-img)); }
}

.map-guard{
  position:absolute; inset:0; z-index:5;
  display:flex; align-items:flex-end; justify-content:center;
  padding:var(--space-sm);
  border:0; cursor:pointer;
  -webkit-appearance:none; appearance:none;

  background: hsla(var(--color-primary-darker-h),var(--color-primary-darker-s),var(--color-primary-darker-l),.2);
  transition: background .25s ease;
}
.map-guard__hint{
  padding:.45em .9em;
  background:hsla(var(--color-primary-h),var(--color-primary-s),var(--color-primary-l),.88);
  color:var(--color-white);
  font-size:var(--text-xs); font-weight:600; line-height:1.2;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.locmap__ymap.is-live .map-guard{ display:none; }

.carousel > .carousel__wrapper.overflow-hidden{
  overflow-x: clip;
  overflow-y: visible;
}

.form-control{
  background: var(--color-bg);
}

.locpanel__title { font-family: var(--font-secondary); font-weight: 400; line-height: 1.14; letter-spacing: -.01em; }
.locpanel__lead { margin-top: var(--space-sm); max-width: 420px; font-size: .9rem; line-height: 1.7; font-weight: 300; color: var(--color-contrast-high); }
.locpanel .gc-contact-rows { margin-top: var(--space-md); }
.locpanel .gc-contact-row { padding-block: .85rem; }
.locpanel__foot { margin-top: var(--space-md); gap: 1rem; }
.locpanel__foot .flex.flex-wrap.items-center { gap: .75rem; }

.gc-person-name, .gc-item-name, .gc-band-title, .gc-qz-ask, .gc-art h2 { font-size: var(--text-xl); }
.gc-display { font-size: var(--text-xl); }
@media (min-width: 64rem) {
  .gc-person-name, .gc-item-name, .gc-band-title, .gc-qz-ask, .gc-art h2 { font-size: var(--text-xxl); }
  .gc-display { font-size: var(--text-xxxl); }
}

.gc-person-body > .text-component,
.gc-item-body > .text-component,
.gc-promo-body > .text-component,
.gc-rating-head > .text-component,
.locpanel > .text-component,
[data-hero-slide] .text-component,
.gc-grid-2-wide > div > .text-component { margin-bottom: 0; }

.gc-row .gc-row-name { color: #9FA1A2; }
.gc-row .gc-arrow { background: transparent; opacity: 0; transform: translateX(-10px); }
.gc-row[data-on] { padding-left: 14px; }
.gc-row[data-on] .gc-row-name { color: var(--color-black); }
.gc-row[data-on] .gc-arrow { background: var(--color-primary); opacity: 1; transform: translateX(0); }

.gc-rev[hidden] { display: none; }

.gc-foot-word { padding: clamp(1.9rem, 3vw, 2.6rem) 0 clamp(1rem, 1.6vw, 1.4rem); }
.gc-foot-cta { flex-shrink: 0; --btn-padding-x: 1.4rem; --btn-padding-y: .95em; }
@media (max-width: 40rem) {
  .gc-foot-word { flex-wrap: wrap; }
  .gc-foot-word i { min-width: 1.5rem; }
  .gc-foot-cta { width: 100%; margin-top: .9rem; }
}

.gc-mapband .gc-map [class*="ground-pane"] { filter: var(--gc-map-filter); }
.gc-mapband .gc-map [class*="-controls__control"],
.gc-mapband .gc-map [class*="copyrights-promo"],
.gc-mapband .gc-map [class*="gototech"] { display: none !important; }
.gc-mapband .gc-map [class*="copyrights-pane"] { opacity: .55; }

.gc-mapband .map-pin__dot::after { width: 8px; height: 8px; background: #FFFFFF; }
.gc-mapband .map-pin__pulse { width: 26px; height: 26px; background: rgba(230, 160, 135, .35); }

.gc-mapband .map-guard { align-items: flex-start; }
.gc-mapband .map-guard__hint {
  background: rgba(255, 255, 255, .92); color: var(--color-contrast-higher);
  border: 1px solid var(--gc-hair); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase;
  box-shadow: 0 10px 24px -16px rgba(41, 41, 41, .5);
}

.gc-mapband-card .locpanel__eyebrow {
  display: inline-flex; align-items: center; gap: 1rem; margin: 0;
  font-family: var(--font-secondary); font-weight: 400; font-style: italic;
  font-size: clamp(1.05rem, 1.6vw, 1.4rem); line-height: 1.3; letter-spacing: 0; text-transform: none;
  color: var(--color-black);
}
.gc-mapband-card .locpanel__eyebrow::before { content: ""; width: 2.4rem; height: 1px; background: var(--color-primary-darker); }
.gc-mapband-card .locpanel__title {
  margin: .8rem 0 0; font-family: var(--font-secondary); font-weight: 400;
  font-size: var(--text-xl); line-height: 1.14; letter-spacing: -.01em; color: var(--color-black);
}
.gc-mapband-card .locpanel__lead {
  margin: .8rem 0 0; max-width: 380px; font-size: .875rem; line-height: 1.7;
  font-weight: 300; color: var(--color-contrast-high);
}
@media (min-width: 64rem) { .gc-mapband-card .locpanel__title { font-size: var(--text-xxl); } }

@media (max-width: 30rem) {
  .gc-grid-4 > .gc-card { grid-column: 1 / -1; }
  .gc-grid-4 { grid-template-columns: 1fr; }
  .gc-grid-4 > .gc-card { border-right-color: transparent !important; }
}

.gc-mapband-in { width: calc(100% - 2 * var(--component-padding)); }
.gc-mapband-card { max-width: 700px; }
.gc-contact-row dd { text-wrap: pretty; }

.gc-mapband { min-height: clamp(24rem, 62vh, 42rem); }
.gc-mapband-in { padding-top: clamp(2rem, 4.4vh, 3rem); padding-bottom: clamp(2rem, 4.4vh, 3rem); }
.gc-mapband-card {
  gap: var(--space-md);
  padding: clamp(3rem, 7vh, 5rem) clamp(1.6rem, 2.6vw, 2.6rem);
}
.gc-mapband-card .gc-contact-row { padding: clamp(.6rem, 1.5vh, 1rem) 0; }
.gc-mapband-card .locpanel__lead { margin-top: clamp(.5rem, 1.4vh, .8rem); }

.gc-mapband-card .gc-contact-ic {
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
  width: 2.7rem; height: 2.7rem; border-radius: 50%; background: var(--color-primary);
}
.gc-mapband-card .gc-contact-row .gc-icon {
  width: 1rem; height: 1rem; padding: 0; background: var(--color-black);
  -webkit-mask-clip: border-box; mask-clip: border-box;
  -webkit-mask-origin: border-box; mask-origin: border-box;
}

.gc-mapband-in { z-index: 3; }

.gc-icon-btn--fill,
.gc-icon-circle,
.gc-mapband-card .gc-contact-ic { width: 2.4rem; height: 2.4rem; }
.gc-icon-btn--fill .gc-icon,
.gc-icon-circle .gc-icon,
.gc-mapband-card .gc-contact-row .gc-icon { width: 1rem; height: 1rem; }

.gc-mapband .map-pin { width: 28px; height: 28px; }
.gc-mapband .map-pin__dot::before {
  background: var(--color-primary);
  box-shadow: 0 10px 20px -8px rgba(41, 41, 41, .45), inset 0 0 0 2px var(--color-primary-darker);
}
.gc-mapband .map-pin__dot::after {
  width: 10px; height: 10px; top: 40%; background: var(--color-primary-darker);
}
.gc-mapband .map-pin__pulse {
  width: 28px; height: 28px; background: transparent;
  border: 2px solid var(--color-primary-darker);
  animation: gcPinPing 2.2s ease-out infinite;
}
@keyframes gcPinPing {
  0%   { transform: translate(-50%, -50%) scale(.5); opacity: .8; }
  100% { transform: translate(-50%, -50%) scale(2.4); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .gc-mapband .map-pin__pulse { animation: none; opacity: .3; }
}

.gc-util .gc-social {
  width: 1.75rem; height: 1.75rem; opacity: 1;
  background: #FFFFFF;
  transition: background .3s ease, transform .3s ease;
}
.gc-util .gc-social .gc-icon { width: .85rem; height: .85rem; background: var(--color-black); transition: background .3s ease; }
.gc-util .gc-social:hover { background: var(--color-black); transform: translateY(-2px); }
.gc-util .gc-social:hover .gc-icon { background: #FFFFFF; }
.gc-util .gc-social--txt { font-size: .68rem; color: var(--color-black); }

.btn {
  transition: background-color .4s ease, color .4s ease, border-color .4s ease, box-shadow .35s ease;
}
.btn:hover, .btn:focus, .btn:active {
  font-family: var(--font-primary);
  font-weight: 400;
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  border-width: 2px;
  border-style: solid;
  border-radius: 50em;
  transition: background-color .4s ease, color .4s ease, border-color .4s ease, box-shadow .35s ease;
}
.btn:active { transform: none; }

.gc-fact-num { font-size: clamp(2.1rem, 3.4vw, 2.9rem); line-height: 1; }
.gc-fact-val { line-height: 1.3; }
a.gc-fact-num, a.gc-fact-val { display: block; transition: color .3s ease; }
a.gc-fact-num:hover, a.gc-fact-val:hover { color: var(--color-primary-darker); }

@media (max-width: 48rem) {
  .gc-yarev { max-width: none; height: 620px; }
}

.gc-split-ph { min-height: 620px; }
@media (max-width: 40rem) {
  .gc-split-ph { min-height: 420px; }
}

.gc-eq-shot:has(> img) { background: #fff; }

.gc-shot { display: block; width: 100%; padding: 0; border: 0; cursor: zoom-in; }
#gc-shotbox { position: fixed; inset: 0; z-index: 140; display: flex; align-items: center; justify-content: center; background: rgba(41, 41, 41, .94); opacity: 0; visibility: hidden; transition: opacity .35s ease; }
html[data-shotbox="open"] #gc-shotbox { opacity: 1; visibility: visible; }
#gc-shotbox img { max-width: min(1200px, 88vw); max-height: 82vh; object-fit: contain; }

.gc-search-box input::-webkit-search-cancel-button { display: none; }
.gc-search-res { margin-top: 1.6rem; max-height: min(56vh, 560px); overflow-y: auto; overscroll-behavior: contain; }
.gc-search-res:empty { display: none; }
.gc-search-group + .gc-search-group { margin-top: 1.5rem; }
.gc-search-group-name { display: flex; align-items: center; gap: .5rem; font-size: .62rem; letter-spacing: .24em; text-transform: uppercase; color: var(--color-contrast-medium); padding-bottom: .6rem; border-bottom: 1px solid var(--gc-hair); }
.gc-search-group-name span { font-size: .6rem; letter-spacing: .1em; color: var(--color-primary-darker); }
.gc-search-item { display: block; padding: .85rem 0 .8rem; border-bottom: 1px solid var(--gc-hair); transition: padding-left .45s cubic-bezier(.16, 1, .3, 1), background-color .3s ease; }
.gc-search-item:hover, .gc-search-item[data-on] { padding-left: .7rem; background: #FDFAF9; }
.gc-search-item-title { display: block; font-family: var(--font-secondary); font-size: 1.05rem; line-height: 1.3; color: var(--color-black); }
.gc-search-item-title mark { background: transparent; color: var(--color-primary-darker); }
.gc-search-item-text { display: block; margin-top: .3rem; font-size: .82rem; line-height: 1.45; color: var(--color-contrast-medium); }
.gc-search-wait, .gc-search-empty { padding: 1.2rem 0; font-size: .9rem; color: var(--color-contrast-medium); }
@media (max-width: 40rem) {
  .gc-search-res { max-height: 58vh; }
  .gc-search-item-title { font-size: .98rem; }
}

.gc-pr-main { transition: opacity .17s ease; }
.gc-pr-main[data-swap] { opacity: 0; }
.gc-pr-results:not([hidden]), .gc-pr-list:not([hidden]) { animation: gcPrIn .42s cubic-bezier(.16, 1, .3, 1) both; }
.gc-pr-res { animation: gcPrRow .38s cubic-bezier(.16, 1, .3, 1) both; }
.gc-pr-res:nth-child(2) { animation-delay: .02s; }
.gc-pr-res:nth-child(3) { animation-delay: .04s; }
.gc-pr-res:nth-child(4) { animation-delay: .06s; }
.gc-pr-res:nth-child(5) { animation-delay: .08s; }
.gc-pr-res:nth-child(6) { animation-delay: .1s; }
.gc-pr-res:nth-child(7) { animation-delay: .12s; }
.gc-pr-res:nth-child(8) { animation-delay: .14s; }
.gc-pr-res:nth-child(n+9) { animation-delay: .16s; }
@keyframes gcPrIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes gcPrRow { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .gc-pr-main, .gc-pr-results:not([hidden]), .gc-pr-list:not([hidden]), .gc-pr-res { transition: none; animation: none; }
}

.gc-pr-row, .gc-pr-res { cursor: pointer; transition: background-color .3s ease, padding-left .4s cubic-bezier(.16, 1, .3, 1); }
.gc-pr-row:hover, .gc-pr-res:hover { background: #FDFAF9; padding-left: .6rem; }

.gc-svcmenu { display: grid; grid-template-columns: clamp(230px, 22vw, 300px) minmax(0, 1fr) clamp(210px, 20vw, 280px); gap: clamp(1.5rem, 3vw, 3rem); padding-top: 2.5rem; padding-bottom: 2.75rem; }
.gc-svcmenu-list { display: flex; flex-direction: column; border-right: 1px solid var(--gc-hair); padding-right: clamp(1rem, 1.6vw, 1.6rem); }
.gc-svcmenu-item { display: flex; align-items: center; gap: .6rem; padding: .52rem .7rem; border-radius: 4px; font-size: .84rem; color: var(--color-contrast-higher); transition: background-color .3s ease, color .3s ease, padding-left .4s cubic-bezier(.16, 1, .3, 1); }
.gc-svcmenu-item span { flex: 1; }
.gc-svcmenu-item i { font-style: normal; font-size: .62rem; color: var(--color-contrast-low); }
.gc-svcmenu-item .gc-icon { flex: 0 0 auto; width: .95rem; height: .95rem; background: var(--color-primary-darker); transition: background-color .3s ease; }
.gc-svcmenu-item:hover, .gc-svcmenu-item[data-on] { background: #FDFAF9; color: var(--color-black); padding-left: 1rem; }
.gc-svcmenu-item[data-on] .gc-icon { background: var(--color-black); }
.gc-svcmenu-panes { min-width: 0; }
.gc-svcmenu-pane { display: none; animation: gcSvcIn .4s cubic-bezier(.16, 1, .3, 1) both; }
.gc-svcmenu-pane[data-on] { display: block; }
@keyframes gcSvcIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.gc-svcmenu-head { font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; color: var(--color-contrast-medium); padding-bottom: 1rem; border-bottom: 1px solid var(--gc-hair); margin-bottom: .9rem; }
.gc-svcmenu-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .1rem 1.6rem; }
.gc-svcmenu-grid a { display: flex; align-items: center; gap: .55rem; padding: .42rem 0; font-size: .84rem; line-height: 1.35; color: var(--color-contrast-higher); transition: color .3s ease, padding-left .4s cubic-bezier(.16, 1, .3, 1); }
.gc-svcmenu-grid a span { flex: 1; }
.gc-svcmenu-grid a i { font-style: normal; font-size: .62rem; color: var(--color-contrast-low); }
.gc-svcmenu-grid a .gc-icon { flex: 0 0 auto; width: .95rem; height: .95rem; background: var(--color-primary-darker); transition: background-color .3s ease; }
.gc-svcmenu-grid a:hover { color: var(--color-black); padding-left: .5rem; }
.gc-svcmenu-grid a:hover .gc-icon { background: var(--color-black); }
.gc-svcmenu-note { font-size: .84rem; line-height: 1.6; color: var(--color-contrast-medium); max-width: 46ch; }
.gc-svcmenu-all { display: inline-block; margin-top: 1.4rem; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--color-primary-darker); transition: color .3s ease; }
.gc-svcmenu-all:hover { color: var(--color-black); }
@media (max-width: 62rem) {
  .gc-svcmenu { display: block; padding: 0 0 1rem; }
  .gc-svcmenu-list { display: block; border-right: 0; padding-right: 0; }
  .gc-svcmenu-item { padding-left: .9rem; font-size: .82rem; }
  .gc-svcmenu-panes { display: none; }
}

.gc-faq-cta { margin-top: 1.25rem; }
.gc-faq-cta .btn { display: inline-flex; }
@media (max-width: 40rem) { .gc-faq-cta .btn { width: 100%; justify-content: center; } }

.gc-faq-body .gc-doclist { display: grid; gap: .6rem; margin: 0; }
.gc-doc-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1rem;
  padding: .85rem 1rem;
  border: 1px solid var(--gc-hair);
  color: var(--color-black);
  transition: border-color .35s ease, background .35s ease;
}
.gc-doc-card:hover { border-color: var(--color-primary-darker); background: var(--color-primary-lighter, #FDF3EF); }
.gc-doc-badge {
  min-width: 3.4rem;
  padding: .32rem .45rem;
  border: 1px solid var(--color-primary-darker);
  background: var(--color-primary-darker);
  color: #FFFFFF;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: .6rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-align: center;
}
.gc-doc-name { font-family: var(--font-body); font-weight: 400; font-size: .92rem; line-height: 1.45; color: var(--color-black); }
.gc-doc-meta { font-family: var(--font-body); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--color-contrast-medium); white-space: nowrap; }
.gc-doc-dl { font-size: .95rem; color: var(--color-primary-darker); }
.gc-doc-dl { transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.gc-doc-card:hover .gc-doc-dl { transform: translateY(3px); }
@media (max-width: 40rem) {
  .gc-doc-card { grid-template-columns: auto minmax(0, 1fr) auto; row-gap: .35rem; padding: .75rem .85rem; }
  .gc-doc-name { grid-column: 2 / 4; }
  .gc-doc-meta { grid-column: 2 / 3; }
  .gc-doc-dl { grid-column: 3 / 4; grid-row: 2; justify-self: end; }
}

.gc-foot-socials { gap: .55rem; margin-top: 1.4rem; }
.gc-foot-socials .gc-social {
  width: 1.85rem; height: 1.85rem; opacity: 1;
  background: #FFFFFF;
  transition: background .3s ease, transform .3s ease;
}
.gc-foot-socials .gc-social .gc-icon { width: .85rem; height: .85rem; background: var(--color-black); }
.gc-foot-socials .gc-social:hover { background: var(--color-primary); transform: translateY(-2px); }
.gc-foot-socials .gc-social--txt { font-size: .7rem; color: var(--color-black); }

.gc-rating-links .gc-rate-src { display: inline-flex; align-items: center; gap: .6rem; min-width: 0; }
.gc-rating-links .gc-rate-ic { width: .95rem; height: .95rem; flex: none; background: var(--color-contrast-high); transition: background .3s ease; }
.gc-rating-links a:hover .gc-rate-ic { background: var(--color-primary-darker); }

@media (max-width: 48rem) {
  .gc-dir-photo { display: none; }
  .gc-row .gc-row-name { color: var(--color-black); font-size: var(--text-md); }
  .gc-row .gc-arrow { background: var(--color-primary); opacity: 1; transform: none; }
  .gc-row[data-on] { padding-left: 0; }
  .gc-row[data-on] .gc-row-name { color: var(--color-black); }
}

.gc-proc-name { display: block; font-size: var(--text-xl); line-height: 1.15; overflow-wrap: break-word; }
@media (max-width: 48rem) {
  .gc-proc-name { font-size: var(--text-md); }
}

.gc-head-lead { max-width: 34ch; font-size: var(--text-unit, 1rem); line-height: 1.75; font-weight: 300; color: var(--color-black); }
@media (max-width: 48rem) { .gc-head-lead { max-width: none; } }

:root { --gc-map-filter: grayscale(1) contrast(1.02) brightness(1.02); }

#clientixAppointmentButton{
  background-color: var(--color-primary) !important;
  color: black !important;
}