@font-face{
  font-family: "Geist";
  src: url("../fonts/geist-latin-var.woff2") format("woff2");
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
}
*,*::before,*::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; scroll-behavior: smooth; touch-action: manipulation; }
html.gwi-phone{ touch-action: pan-x pan-y; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior: auto; } }
.gwi-reveal [data-gwi-reveal]{ opacity: 0; transform: translateY(var(--space-3));
  transition: opacity var(--duration-reveal) var(--ease-soft), transform var(--duration-reveal) var(--ease-soft);
  transition-delay: calc(var(--reveal-i, 0) * var(--stagger)); }
.gwi-reveal [data-gwi-reveal].is-shown{ opacity: 1; transform: none; }
.gwi-reveal .gwi-band [data-gwi-reveal]{ transform: none; }
@media print{ .gwi-reveal [data-gwi-reveal]{ opacity: 1; transform: none; } }
body{
  margin: 0;
  background: var(--surface-page);
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-size: var(--text-md);
  line-height: var(--leading-body);
  font-weight: var(--weight-regular);
  text-rendering: optimizeLegibility;
}
img, svg{ max-width: 100%; }
button, input, textarea, select{ font: inherit; color: inherit; }
h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd{ margin: 0; }
a{ color: inherit; text-underline-offset: 3px; }
b, strong{ font-weight: var(--weight-bold); }
:focus{ outline: none; }
:focus-visible{ outline: var(--focus-width) solid var(--focus-ring); outline-offset: var(--focus-offset); }
.gwi-on-photo :focus-visible, .gwi-cta :focus-visible, .gwi-principles :focus-visible, .gwi-footer__card:focus-visible, .gwi-footer__bottom :focus-visible{ outline-color: var(--focus-ring-dark); }
.gwi-wrap{ width: 100%; max-width: calc(var(--container-content) + 2 * var(--margin)); margin: 0 auto; padding: 0 var(--margin); }
.gwi-sr{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; font-size: var(--text-sm); }
.gwi-ic{ width: var(--icon-lg); height: var(--icon-lg); flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: square; stroke-linejoin: miter; }
.gwi-ic--md{ width: var(--icon-md); height: var(--icon-md); }
.gwi-skip{
  position: absolute; left: var(--space-3); top: calc(-1 * var(--space-8)); z-index: var(--z-toast);
  display: inline-flex; align-items: center; min-height: var(--tap-min); padding: 0 var(--space-3);
  background: var(--surface-dark); color: var(--text-on-dark); font-weight: var(--weight-medium); text-decoration: none;
}
.gwi-skip:focus-visible{ top: var(--space-3); outline-color: var(--focus-ring-dark); outline-offset: calc(-1 * var(--space-1)); }
.gwi-label{ display: block; font-size: var(--text-xs); line-height: 1.3; letter-spacing: var(--tracking-label); text-transform: uppercase; font-weight: var(--weight-medium); color: var(--text-secondary); }
.gwi-eyebrow{ display: flex; align-items: center; gap: var(--space-2); }
.gwi-eyebrow::before{ content: ""; width: var(--space-4); height: var(--border-hairline); background: currentColor; }
.gwi-h1{ font-size: var(--text-3xl); line-height: var(--leading-tight); letter-spacing: var(--tracking-h1); font-weight: var(--weight-medium); }
.gwi-h2{ font-size: var(--text-2xl); line-height: 1.1; letter-spacing: var(--tracking-h2); font-weight: var(--weight-medium); }
.gwi-h3{ font-size: var(--text-xl); line-height: 1.2; letter-spacing: var(--tracking-h3); font-weight: var(--weight-medium); }
.gwi-h4{ font-size: var(--text-lg); line-height: 1.3; font-weight: var(--weight-bold); }
.gwi-lede{ font-size: var(--text-lg); line-height: 1.5; color: var(--text-secondary); max-width: 60ch; }
.gwi-small{ font-size: var(--text-sm); color: var(--text-secondary); }
.gwi-btn{
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  min-height: var(--control-height); padding: 0 var(--control-pad-x);
  font: var(--weight-medium) var(--text-ui)/1 var(--font-sans);
  border: var(--border-hairline) solid var(--line-strong); border-radius: var(--radius-none);
  background: var(--surface-page); color: var(--text-primary);
  text-decoration: none; cursor: pointer;
  transition: background-color var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard);
}
.gwi-btn--primary{ background: var(--surface-accent); color: var(--text-on-accent); border-color: var(--surface-accent); }
.gwi-btn--primary:hover{ background: var(--surface-accent-hover); border-color: var(--surface-accent-hover); }
.gwi-btn--primary:active{ background: var(--surface-accent-press); }
.gwi-btn--inverse{ background: var(--surface-on-dark); color: var(--text-primary); border-color: var(--surface-on-dark); }
.gwi-btn--inverse:hover{ background: var(--surface-on-dark-hover); border-color: var(--surface-on-dark-hover); }
.gwi-btn:focus-visible{ outline: none; }
.gwi-btn--primary:focus-visible, .gwi-btn--inverse:focus-visible{ text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.gwi-btn--primary:focus-visible{ background: var(--surface-accent-hover); border-color: var(--surface-accent-hover); }
.gwi-btn--inverse:focus-visible{ background: var(--surface-on-dark-hover); border-color: var(--surface-on-dark-hover); }
.gwi-iconbtn{
  display: inline-grid; place-items: center; width: var(--control-height); height: var(--control-height);
  padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer;
  transition: color var(--duration-base) var(--ease-standard);
}
.gwi-iconbtn:hover{ color: var(--text-secondary); }
.gwi-header{
  position: sticky; top: 0; z-index: var(--z-header);
  min-height: var(--header-h); display: flex; align-items: center;
  background: var(--surface-page); color: var(--text-primary);
  border-bottom: var(--border-hairline) solid var(--line-hairline);
  transition: background-color var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard);
}
.gwi-header .gwi-wrap{ display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.gwi-logo{ display: inline-flex; align-items: center; min-height: var(--tap-min); color: inherit; text-decoration: none; }
.gwi-logo svg{ display: block; height: 22px; width: auto; }
.gwi-header__end{ display: flex; align-items: center; gap: var(--space-3); }
.gwi-header.is-solid{ background: var(--surface-glass); -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(1.4); backdrop-filter: blur(var(--glass-blur)) saturate(1.4); }
.gwi-header.is-solid.is-on-dark{ background: var(--surface-glass-dark); color: var(--text-on-dark); border-bottom-color: var(--line-on-dark); }
.gwi-header--overlay{ position: fixed; left: 0; right: 0; background: var(--surface-header-on-photo); color: var(--text-on-dark); border-bottom-color: transparent; }
.gwi-header--overlay.is-solid{ color: var(--text-primary); border-bottom-color: var(--line-hairline); }
.gwi-header--overlay.is-solid.is-on-dark{ color: var(--text-on-dark); border-bottom-color: var(--line-on-dark); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .gwi-header.is-solid{ background: var(--surface-page); }
  .gwi-header.is-solid.is-on-dark{ background: var(--surface-dark); }
}
.gwi-header--overlay:not(.is-solid) :focus-visible, .gwi-header.is-on-dark :focus-visible{ outline-color: var(--focus-ring-dark); }
.gwi-header--clear{ position: fixed; left: 0; right: 0; background: transparent; border-bottom-color: transparent; }
.gwi-header--clear.is-solid{ border-bottom-color: var(--line-hairline); }
.gwi-burger{
  position: relative; display: inline-flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: var(--space-2);
  width: var(--control-height); height: var(--control-height); padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer;
  transition: color var(--duration-base) var(--ease-standard);
}
.gwi-burger:hover{ color: var(--text-secondary); }
.gwi-header--overlay:not(.is-solid) .gwi-burger:hover, .gwi-header.is-on-dark .gwi-burger:hover, .gwi-drawer .gwi-burger:hover{ color: var(--text-on-dark-2); }
.gwi-burger__bar{ display: block; width: 28px; height: 1.5px; background: currentColor; transition: transform var(--duration-base) var(--ease-standard); }
.gwi-burger__bar:nth-child(2){ width: 20px; }
.gwi-burger.is-x{ align-items: center; }
.gwi-burger.is-x .gwi-burger__bar{ width: 26px; }
.gwi-burger.is-x .gwi-burger__bar:first-child{ transform: translateY(4.75px) rotate(45deg); }
.gwi-burger.is-x .gwi-burger__bar:nth-child(2){ transform: translateY(-4.75px) rotate(-45deg); }
.gwi-drawer{ position: fixed; inset: 0; z-index: var(--z-modal); display: none; transition: display var(--duration-base) allow-discrete; }
.gwi-drawer.is-open{ display: block; }
.gwi-drawer__backdrop{ position: absolute; inset: 0; background: var(--surface-backdrop); opacity: 0; transition: opacity var(--duration-base) var(--ease-standard); }
.gwi-drawer.is-open .gwi-drawer__backdrop{ opacity: 1; }
.gwi-drawer__panel{
  position: absolute; top: 0; right: 0; bottom: 0; width: min(560px, 100%);
  display: flex; flex-direction: column; gap: var(--space-6);
  padding: 0 var(--space-6) var(--space-6);
  background: var(--surface-dark); color: var(--text-on-dark);
  overflow-y: auto;
  transform: translateX(100%); transition: transform var(--duration-base) var(--ease-standard);
}
.gwi-drawer.is-open .gwi-drawer__panel{ transform: none; }
@starting-style{
  .gwi-drawer.is-open .gwi-drawer__backdrop{ opacity: 0; }
  .gwi-drawer.is-open .gwi-drawer__panel{ transform: translateX(100%); }
}
.gwi-drawer__top{ display: flex; align-items: center; justify-content: space-between; min-height: var(--header-h); border-bottom: var(--border-hairline) solid var(--line-on-dark); }
.gwi-drawer__close{ margin-right: calc(-1 * var(--space-2)); }
.gwi-drawer__end{ margin-top: auto; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.gwi-menu__nav ul{ list-style: none; margin: 0; padding: 0; }
.gwi-menu__nav li a{
  display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); min-height: var(--space-7);
  border-bottom: var(--border-hairline) solid var(--line-on-dark);
  font-size: var(--text-xl); line-height: var(--leading-tight); letter-spacing: var(--tracking-h3); text-decoration: none;
  transition: color var(--duration-base) var(--ease-standard);
}
.gwi-menu__nav li a:hover{ color: var(--text-on-dark-2); }
.gwi-menu__nav li a[aria-current="page"] span{ text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.gwi-drawer .gwi-label, .gwi-drawer .gwi-small{ color: var(--text-on-dark-2); }
.gwi-menu__info{ display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-1); padding: var(--space-3) 0; }
.gwi-menu__mail{ display: inline-flex; align-items: center; min-height: var(--tap-min); font-size: var(--text-lg); color: var(--text-on-dark); }
.gwi-drawer :focus-visible{ outline-color: var(--focus-ring-dark); }
@media (max-width: 639px){
  .gwi-drawer__panel{ left: 0; width: 100%; padding: 0 var(--margin) var(--space-5); }
}
body.gwi-menu-open{ overflow: hidden; }
.gwi-hero{
  position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 560px;
  min-height: clamp(560px, calc(100svh - var(--hero-strip-room)), 960px);
  padding-top: var(--header-h);
  background-color: var(--surface-photo-ground);
  color: var(--text-on-dark);
  --hero-strip-room: 97px;
}
@media (max-width: 1023px){ .gwi-hero{ --hero-strip-room: 140px; } }
@media (min-width: 640px) and (max-width: 1023px){
  .gwi-hero{ --hero-strip-room: calc(140px + var(--space-7)); min-height: clamp(560px, calc(100svh - var(--hero-strip-room)), calc(960px - var(--space-7))); }
}
.gwi-hero > .gwi-wrap{ flex: 1; display: flex; flex-direction: column; }
.gwi-hero__copy{ margin: auto 0; }
.gwi-hero__media{ position: absolute; inset: 0; z-index: var(--z-base); background: var(--img-placeholder-concrete); }
.gwi-hero__media picture{ display: contents; }
.gwi-hero__media img{ width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; }
@media (max-width: 1023px){ .gwi-hero__media img{ object-position: 50% 0; } }
.gwi-hero::after{ content: ""; position: absolute; inset: 0; z-index: var(--z-raised); background: var(--scrim-hero); }
@media (min-width: 1024px){ .gwi-hero::after{ background: var(--scrim-hero-wide); } }
@keyframes gwi-rise{ from{ opacity: 0; transform: translateY(var(--space-3)); } }
@keyframes gwi-fade{ from{ opacity: 0; } }
@keyframes gwi-settle{ from{ transform: scale(1.06); } }
@media (prefers-reduced-motion: no-preference){
  .gwi-hero__media{ overflow: hidden; }
  .gwi-hero__media img{ animation: gwi-settle var(--duration-settle) var(--ease-soft) both; }
  .gwi-hero__text > *, .gwi-hero__ctas{ animation: gwi-rise var(--duration-reveal) var(--ease-soft) both; }
  .gwi-hero__text > :nth-child(1){ animation-delay: var(--stagger); }
  .gwi-hero__text > :nth-child(2){ animation-delay: calc(2 * var(--stagger)); }
  .gwi-hero__text > :nth-child(3){ animation-delay: calc(3 * var(--stagger)); }
  .gwi-hero__ctas{ animation-delay: calc(4 * var(--stagger)); }
  .gwi-hero__base, .gwi-hero + .gwi-strip{ animation: gwi-fade var(--duration-reveal) var(--ease-soft) calc(5 * var(--stagger)) both; }
  .gwi-photohero__media{ overflow: hidden; }
  .gwi-photohero__media img{ animation: gwi-settle var(--duration-settle) var(--ease-soft) both; }
  .gwi-photohero__text > *{ animation: gwi-rise var(--duration-reveal) var(--ease-soft) both; }
  .gwi-photohero__text > :nth-child(1){ animation-delay: var(--stagger); }
  .gwi-photohero__text > :nth-child(2){ animation-delay: calc(2 * var(--stagger)); }
  .gwi-photohero__text > :nth-child(3){ animation-delay: calc(3 * var(--stagger)); }
  .gwi-contact__intro > *, .gwi-contact__card, .gwi-legal-hero .gwi-wrap > *, .gwi-nf__big, .gwi-nf__row{ animation: gwi-rise var(--duration-reveal) var(--ease-soft) both; }
  .gwi-contact__intro > :nth-child(1), .gwi-legal-hero .gwi-wrap > :nth-child(1), .gwi-nf__big{ animation-delay: var(--stagger); }
  .gwi-contact__intro > :nth-child(2), .gwi-legal-hero .gwi-wrap > :nth-child(2), .gwi-nf__row{ animation-delay: calc(2 * var(--stagger)); }
  .gwi-contact__card, .gwi-legal-hero .gwi-wrap > :nth-child(3){ animation-delay: calc(3 * var(--stagger)); }
  .gwi-nf__media{ overflow: hidden; }
  .gwi-nf__media img{ animation: gwi-settle var(--duration-settle) var(--ease-soft) both; }
}
.gwi-hero__media img, .gwi-promise__media > img, .gwi-photohero__media img, .gwi-approach__media img, .gwi-footer__media img{ filter: var(--photo-grade); }
.gwi-promise__media > img, .gwi-approach__media img{ filter: var(--photo-grade-open); }
.gwi-promise__media::after{ content: ""; position: absolute; inset: 0; background: var(--photo-shade-open); pointer-events: none; }
.gwi-hero > .gwi-wrap{ position: relative; z-index: var(--z-sticky); }
.gwi-hero > .gwi-wrap{ padding-bottom: var(--space-2); }
@media (min-width: 1024px) and (min-height: 860px){
  .gwi-hero > .gwi-wrap{ padding-top: calc(0.245 * clamp(560px, calc(100svh - var(--hero-strip-room)), 960px) + var(--space-6) - var(--space-3) - var(--header-h)); }
}
.gwi-hero__copy{ max-width: 1200px; }
.gwi-hero__text{ padding: var(--space-3) 0; width: fit-content; max-width: 100%; }
.gwi-hero__copy .gwi-label{ color: var(--text-on-dark); }
.gwi-hero__title{ margin: var(--space-3) 0 var(--space-4); font-size: var(--text-3xl); line-height: var(--leading-tight); letter-spacing: var(--tracking-h1); font-weight: var(--weight-medium); max-width: 22ch; }
@media (min-width: 1024px){ .gwi-hero__copy{ max-width: calc(52vw / var(--page-zoom)); } .gwi-hero__title{ text-wrap: balance; } }
@media (min-width: 1024px) and (max-width: 1439px){ .gwi-hero::after{ background: var(--scrim-hero-laptop); } }
.gwi-hero__copy .gwi-lede{ color: var(--text-on-dark); }
.gwi-hero__ctas{ display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-3); }
.gwi-hero__base{
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gutter);
  margin-top: var(--space-7); padding: var(--space-3) 0 var(--space-2);
  border-top: var(--border-hairline) solid var(--line-on-photo);
  font-size: var(--text-sm); color: var(--text-on-dark);
}
.gwi-hero__base span:nth-child(2){ text-align: center; }
.gwi-hero__base span:nth-child(3){ text-align: right; }
@media (max-width: 639px){ .gwi-hero__base{ display: none; } }
@media (min-width: 1024px) and (max-height: 700px){
  .gwi-hero{ min-height: clamp(512px, calc(100svh - var(--hero-strip-room)), 960px); }
  .gwi-hero__base{ margin-top: var(--space-5); }
}
@media (max-width: 1023px){ .gwi-hero__copy{ margin: auto 0 0; } }
@media (max-width: 639px){
  .gwi-hero{ min-height: 480px; min-height: max(480px, calc(100svh - var(--space-5) - var(--space-2) - var(--space-8))); }
  .gwi-hero > .gwi-wrap{ padding-top: var(--space-5); padding-bottom: var(--space-5); }
  .gwi-hero__copy{ margin: auto 0 0; }
  .gwi-hero__ctas .gwi-btn{ width: 100%; }
}
.gwi-section{ padding: var(--section) 0; }
.gwi-section--raised{ background: var(--surface-raised); }
.gwi-section-head{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gutter); align-items: end; margin-bottom: var(--head-gap); }
.gwi-section-head__main{ grid-column: 1 / span 7; }
.gwi-section-head__main .gwi-h2{ margin-top: var(--space-3); }
.gwi-section-head__side{ grid-column: 9 / span 4; }
.gwi-section-head__side .gwi-small{ max-width: 46ch; }
@media (max-width: 1023px){
  .gwi-section-head{ row-gap: var(--space-4); }
  .gwi-section-head__main, .gwi-section-head__side{ grid-column: 1 / -1; }
  .gwi-section-head__side .gwi-small{ max-width: 36ch; font-size: var(--text-md); }
}
.gwi-strip{ border-bottom: var(--border-hairline) solid var(--line-hairline); }
.gwi-strip__row{ display: grid; grid-template-columns: auto repeat(4, minmax(0, 1fr)); align-items: stretch; }
.gwi-strip__label{ display: flex; align-items: center; padding: var(--space-4) var(--space-4) var(--space-4) 0; border-right: var(--border-hairline) solid var(--line-hairline); }
.gwi-strip__cell{ display: flex; align-items: center; justify-content: center; min-height: var(--space-8); padding: var(--space-4); border-right: var(--border-hairline) solid var(--line-hairline); }
.gwi-strip__cell:last-child{ border-right: 0; }
.gwi-logo-img{ display: block; max-width: 100%; height: auto; }
.gwi-psl{ position: relative; display: block; flex: none; }
.gwi-psl__icon, .gwi-psl__word{ position: absolute; display: block; max-width: none; }
@media (max-width: 1439px){
  .gwi-strip__cell{ padding: var(--space-4) var(--space-3); }
  .gwi-strip__cell > *{ zoom: 0.85; }
}
@media (max-width: 1023px){
  .gwi-strip__row{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gwi-strip__label{ grid-column: 1 / -1; border-right: 0; padding: var(--space-4) 0 0; }
  .gwi-strip__cell{ padding: var(--space-3) var(--space-2); }
  .gwi-strip__cell > *{ zoom: 0.7; }
}
@media (max-width: 639px){
  .gwi-strip__row{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gwi-strip__cell{ border-right: 0; border-bottom: var(--border-hairline) solid var(--line-hairline); }
  .gwi-strip__cell:nth-child(even){ border-right: var(--border-hairline) solid var(--line-hairline); }
  .gwi-strip__cell:nth-last-child(-n+2){ border-bottom: 0; }
}
.gwi-index{ position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; align-content: start; gap: var(--space-4); padding-top: var(--space-3); border-top: var(--border-hairline) solid var(--line-hairline); }
.gwi-index__num{ width: 1.3em; font-size: var(--text-2xl); line-height: 1; letter-spacing: var(--tracking-h2); font-variant-numeric: tabular-nums; }
.gwi-index__body{ border-left: var(--border-hairline) solid var(--line-hairline); padding-left: var(--space-4); }
.gwi-index__body .gwi-h4{ margin-bottom: var(--space-1); }
.gwi-index__body p{ max-width: var(--measure); }
.gwi-promise{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gutter); }
.gwi-promise__list{ grid-column: 1 / span 6; list-style: none; padding: 0; display: flex; flex-direction: column; gap: var(--space-5); }
.gwi-promise__media{ grid-column: 8 / span 5; min-height: 520px; background: var(--img-placeholder-dark); }
@media (min-width: 1024px){
  .gwi-promise__list{ gap: 0; border-bottom: var(--border-hairline) solid var(--line-hairline); }
  .gwi-promise__list > .gwi-index{ flex: 1; padding-bottom: var(--space-5); }
}
.gwi-section-head--photo{ row-gap: var(--space-4); }
.gwi-section-head--photo .gwi-section-head__side{ grid-column: 1 / span 7; }
.gwi-section-head--photo .gwi-section-head__side .gwi-small{ font-size: var(--text-md); max-width: 36ch; }
@media (max-width: 1023px){ .gwi-promise{ row-gap: var(--item-gap); } .gwi-promise__list, .gwi-promise__media{ grid-column: 1 / -1; }
  .gwi-promise__media{ min-height: 0; aspect-ratio: 3 / 2; } }
@media (max-width: 639px){ .gwi-promise__media{ aspect-ratio: 1; } }
.gwi-media{ position: relative; display: flex; align-items: flex-end; padding: var(--space-3); overflow: hidden; }
.gwi-promise__media > img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
.gwi-card{ position: relative; display: flex; flex-direction: column; height: 100%; }
.gwi-card__tile{ display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; padding: var(--space-5); background: var(--surface-page); border: var(--border-hairline) solid var(--line-hairline); }
.gwi-card__tile > *{ zoom: 1.4; }
.gwi-card__tile--photo{ position: relative; padding: 0; overflow: hidden; }
.gwi-card__tile--photo > img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; zoom: 1; }
@media (max-width: 1439px){ .gwi-card__tile > *{ zoom: 1.2; } }
.gwi-slider__track{
  display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * var(--gutter)) / 2.6); grid-template-rows: repeat(3, auto); column-gap: var(--gutter); row-gap: 0;
  list-style: none; margin: 0; padding: 0; overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scrollbar-width: none;
}
.gwi-slider__track::-webkit-scrollbar{ display: none; }
.gwi-slider__track > li{ scroll-snap-align: start; }
.gwi-slider__track > .gwi-card{ display: grid; grid-template-rows: subgrid; grid-row: span 3; height: auto; }
.gwi-slider__track:focus-visible{ outline: var(--focus-width) solid var(--focus-ring); outline-offset: var(--focus-width); }
@media (max-width: 1023px){ .gwi-slider__track{ grid-auto-columns: calc((100% - var(--gutter)) / 1.6); } }
@media (max-width: 639px){ .gwi-slider__track{ grid-auto-columns: 85%; } }
.gwi-slider__bar{ display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-5); }
.gwi-slider__progress{ position: relative; flex: 1; height: var(--border-hairline); background: var(--line-hairline); }
.gwi-slider__thumb{ position: absolute; left: 0; top: 0; height: 100%; width: 30%; background: var(--line-strong); }
.gwi-slider__btns{ display: flex; margin-right: calc(-1 * var(--space-3)); }
.gwi-slider__btn .gwi-ic{ width: var(--icon-lg); height: var(--icon-lg); }
.gwi-slider__btn:disabled{ color: var(--text-muted); cursor: default; }
.gwi-slider.is-static .gwi-slider__bar{ display: none; }
.gwi-card__meta{ display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); margin-top: var(--space-4); }
.gwi-card__text{ margin-top: var(--space-2); font-size: var(--text-ui); max-width: 48ch; }
.gwi-card__link{ display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--tap-min); color: inherit; text-decoration: none; }
.gwi-card__link::after{ content: ""; position: absolute; inset: 0; z-index: var(--z-raised); }
.gwi-card__link .gwi-ic{ color: var(--text-secondary); transition: transform var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard); }
.gwi-card:hover .gwi-card__link{ text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.gwi-card:hover .gwi-card__link .gwi-ic{ color: var(--text-primary); transform: translate(var(--space-1), calc(-1 * var(--space-1))); }
.gwi-card__link:focus-visible{ outline: none; }
.gwi-card__name{ display: inline-flex; align-items: center; min-height: var(--tap-min); }
.gwi-card:has(.gwi-card__link:focus-visible){ outline: var(--focus-width) solid var(--focus-ring); outline-offset: var(--focus-offset); }
.gwi-slider__track > .gwi-card:has(.gwi-card__link:focus-visible){ outline-offset: calc(-1 * var(--focus-width)); }
.gwi-ops{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--head-gap) var(--gutter); align-items: start; }
.gwi-ops__head{ grid-column: 1 / span 4; }
.gwi-ops__head .gwi-h2{ margin-top: var(--space-3); }
.gwi-ops__photo{ display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; margin-top: var(--space-6); }
@media (max-width: 639px){ .gwi-ops__photo{ margin-top: var(--space-5); } }
.gwi-ops__intro{ margin-top: var(--space-4); max-width: 36ch; color: var(--text-secondary); }
.gwi-ops__list{ grid-column: 6 / span 7; list-style: none; margin: 0; padding: 0; border-bottom: var(--border-hairline) solid var(--line-hairline); }
.gwi-ops__row{ display: grid; grid-template-columns: var(--space-7) minmax(0, 1fr); gap: var(--space-2) var(--gutter); align-items: baseline; padding: var(--space-5) 0; border-top: var(--border-hairline) solid var(--line-hairline); }
.gwi-ops__num{ display: block; align-self: start; color: var(--text-primary); }
.gwi-ops__icon{ width: var(--space-5); height: var(--space-5); stroke-width: 1.125; stroke-linecap: butt; }
.gwi-draw .gwi-ops__icon{ stroke-dasharray: 1 1; stroke-dashoffset: 1; opacity: 0; }
.gwi-draw .is-in .gwi-ops__icon{ stroke-dashoffset: 0; opacity: 1;
  transition: stroke-dashoffset var(--duration-draw) ease-in-out var(--duration-base), opacity var(--duration-base) linear var(--duration-base); }
.gwi-ops__text{ color: var(--text-secondary); }
@media (min-width: 1024px){ .gwi-ops__text{ max-width: var(--measure); } }
@media (min-width: 1024px){ .gwi-ops__head{ position: sticky; top: calc(var(--header-h) + var(--space-6)); }
  .gwi-ops__num{ font-size: var(--text-lg); line-height: 1.3; height: 1lh; display: flex; align-items: center; }
}
@media (min-width: 1440px){
  .gwi-ops__list{ display: grid; grid-template-columns: var(--space-7) minmax(0, max-content) minmax(min(100%, 33ch), 1fr); column-gap: var(--gutter); }
  .gwi-ops__row{ grid-column: 1 / -1; grid-template-columns: subgrid; }
  .gwi-ops__title{ text-wrap: balance; }
}
@media (max-width: 1023px){ .gwi-ops__head, .gwi-ops__list{ grid-column: 1 / -1; } }
@media (max-width: 1439px){ .gwi-ops__text{ grid-column: 2; } }
@media (max-width: 639px){ .gwi-ops__row{ grid-template-columns: var(--icon-lg) minmax(0, 1fr); } }
@media (max-width: 1023px){
  .gwi-ops{ --ops-tab: calc(3 * var(--space-4)); }
  .gwi-ops__row{ align-items: start; align-content: start; padding: var(--space-4) 0 var(--space-5); }
  .gwi-ops__title{ line-height: var(--space-4); }
  .gwi-ops__num{ align-self: center; display: flex; align-items: center; height: var(--space-4); }
  .gwi-ops__icon{ width: var(--icon-lg); height: var(--icon-lg); stroke-width: 1.5; }
  .gwi-ops__text{ margin-top: var(--space-3); }
  @media (min-height: 640px){
    .gwi-ops__row{ position: sticky; top: calc(var(--header-h) + var(--i, 0) * var(--ops-tab)); background: var(--surface-page);
      margin-bottom: calc((5 - var(--i, 0)) * var(--ops-tab));
      margin-top: calc((var(--i, 0) - 6) * var(--ops-tab));
      min-height: calc(var(--space-9) + var(--space-5));
    }
    .gwi-ops__row:first-child{ margin-top: 0; }
  }
}
@media (max-width: 639px){ .gwi-ops__row{ min-height: calc(var(--space-9) + var(--space-6) + var(--space-2)); } }
.gwi-statement{ background-color: var(--surface-dark); background-image: var(--tonal-dark); color: var(--text-on-dark); padding: var(--section) 0; }
.gwi-band{ position: relative; isolation: isolate; overflow: hidden; }
.gwi-band__photo{ position: absolute; inset: 0; z-index: var(--z-base); width: 100%; height: 100%; object-fit: cover; }
.gwi-band::before{ content: ""; position: absolute; inset: 0; z-index: var(--z-raised); background: var(--scrim-band); pointer-events: none; }
.gwi-band > .gwi-wrap{ position: relative; z-index: var(--z-sticky); }
.gwi-statement.gwi-band, .gwi-cta.gwi-band{ padding-top: calc(var(--section) - var(--space-3)); padding-bottom: calc(var(--section) - var(--space-3)); }
.gwi-band__copy{ width: fit-content; max-width: 100%; padding: var(--space-3) 0; }
.gwi-cta.gwi-band .gwi-cta__main, .gwi-cta.gwi-band .gwi-cta__side{ padding: var(--space-3) 0; }
.gwi-cta.gwi-band .gwi-cta__grid{ row-gap: calc(var(--head-gap) - 2 * var(--space-3)); }
@media (min-width: 1024px){ .gwi-statement.gwi-band::before{ background: var(--scrim-statement); } }
@media (max-width: 1023px){ .gwi-statement .gwi-band__photo{ object-position: 85% 50%; } }
.gwi-statement .gwi-label{ color: var(--text-on-dark-2); margin-bottom: var(--space-4); }
.gwi-statement__text{ font-size: var(--text-3xl); line-height: 1.08; letter-spacing: var(--tracking-h1); font-weight: var(--weight-medium); }
.gwi-statement__text span{ display: block; }
@media (max-width: 639px){ .gwi-statement__text{ font-size: var(--text-2xl); } }
.gwi-faq{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gutter); align-items: start; }
.gwi-faq__head{ grid-column: 1 / span 4; }
.gwi-faq__list{ grid-column: 6 / span 7; }
.gwi-faq__head .gwi-h2{ margin-top: var(--space-3); }
.gwi-faq__intro{ margin-top: var(--space-4); max-width: 36ch; color: var(--text-secondary); }
@media (min-width: 1024px){ .gwi-faq__head{ position: sticky; top: calc(var(--header-h) + var(--space-6)); } }
@media (max-width: 1023px){ .gwi-faq{ row-gap: var(--head-gap); } .gwi-faq__head, .gwi-faq__list{ grid-column: 1 / -1; } }
.gwi-acc{ border-top: var(--border-hairline) solid var(--line-hairline); }
.gwi-acc details{ border-bottom: var(--border-hairline) solid var(--line-hairline); }
.gwi-acc summary{ list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: calc(var(--space-3) + var(--space-1)) 0; font-size: var(--text-lg); font-weight: var(--weight-medium); line-height: 1.3; }
.gwi-acc__q{ display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; }
.gwi-acc__k{ width: var(--space-5); font-size: var(--text-sm); font-weight: var(--weight-regular); color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.gwi-acc summary::-webkit-details-marker{ display: none; }
@media (hover: hover){ .gwi-acc summary:hover{ color: var(--text-secondary); } }
.gwi-acc__pm{ position: relative; flex: none; width: var(--icon-sm); height: var(--icon-sm); }
.gwi-acc__pm::before, .gwi-acc__pm::after{ content: ""; position: absolute; left: 0; right: 0; top: calc(50% - 0.75px); height: 1.5px; background: currentColor; }
.gwi-acc__pm::after{ transform: rotate(90deg); transition: transform var(--duration-base) var(--ease-standard); }
.gwi-acc details[open] .gwi-acc__pm::after{ transform: rotate(0deg); }
.gwi-acc__answer{ padding: 0 var(--space-6) var(--space-4) var(--space-5); color: var(--text-secondary); }
.gwi-acc__answer p{ max-width: var(--measure); }
@media (max-width: 639px){ .gwi-acc__answer{ padding-right: 0; } }
.gwi-acc{ interpolate-size: allow-keywords; }
.gwi-acc details::details-content{ block-size: 0; overflow: hidden;
  transition: block-size var(--duration-slow) var(--ease-standard), content-visibility var(--duration-slow) allow-discrete; }
.gwi-acc details[open]::details-content{ block-size: auto; }
.gwi-footer-frame{ position: relative; isolation: isolate; background-color: var(--surface-dark); }
.gwi-footer-frame > .gwi-footer__media img{ width: 100%; height: 100%; object-fit: cover; object-position: 70% 40%; display: block; }
.gwi-footer-frame > .gwi-footer{ background-color: transparent; z-index: var(--z-raised); }
.gwi-footer{ position: relative; isolation: isolate; color: var(--text-on-dark); background-color: var(--surface-dark); font-size: var(--text-sm);
  padding: calc(2 * var(--section)) 0 var(--space-5); }
.gwi-footer__media{ position: absolute; inset: 0; z-index: var(--z-base); background: var(--img-placeholder-dark); }
.gwi-footer::after{ content: ""; position: absolute; inset: 0; z-index: var(--z-raised); background: var(--scrim-footer); }
.gwi-footer > .gwi-wrap{ position: relative; z-index: var(--z-sticky); }
.gwi-footer--plain{ padding-top: var(--section); }
.gwi-footer--plain .gwi-footer__intro, .gwi-footer--plain .gwi-footer__panels{ display: none; }
.gwi-footer--plain .gwi-footer__sheet{ margin-top: 0; }
.gwi-footer__intro{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-4) var(--gutter); align-items: end; padding: var(--space-3) 0; }
.gwi-footer__intro-main{ grid-column: 1 / span 7; }
.gwi-footer__intro .gwi-label{ color: var(--text-on-dark); }
.gwi-footer__title{ margin-top: var(--space-3); font-size: var(--text-3xl); line-height: var(--leading-tight); letter-spacing: var(--tracking-h1); font-weight: var(--weight-medium); max-width: 18ch; }
.gwi-footer__lede{ grid-column: 9 / span 4; font-size: var(--text-lg); line-height: 1.5; color: var(--text-on-dark); }
.gwi-footer__panels{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-2); margin-top: var(--head-gap); }
.gwi-footer__panel{ grid-column: 1 / span 9; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-5); padding: var(--space-5); background: var(--surface-raised); color: var(--text-primary); }
.gwi-footer__panel-title{ font-size: var(--text-lg); }
.gwi-footer__mail{ display: inline-flex; align-items: center; min-height: var(--tap-min); font-size: var(--text-xl); font-weight: var(--weight-medium); color: var(--text-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; overflow-wrap: anywhere; }
.gwi-footer__mail:hover{ text-decoration-thickness: 2px; }
.gwi-footer__card{ grid-column: 10 / span 3; display: flex; flex-direction: column; justify-content: space-between; min-height: calc(var(--space-9) - var(--space-2)); padding: var(--space-3); background: var(--surface-page); color: var(--text-primary); font-weight: var(--weight-medium); text-decoration: none; }
.gwi-footer__card-go{ align-self: flex-end; }
.gwi-footer__card:hover{ background: var(--surface-raised); }
.gwi-footer__sheet{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--space-2); background: var(--surface-page); color: var(--text-primary); }
.gwi-footer__company{ padding: var(--space-5); border-right: var(--border-hairline) solid var(--line-hairline); }
.gwi-footer__company p{ color: var(--text-secondary); line-height: 1.6; }
.gwi-footer__nav{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gutter); padding: var(--space-5); }
.gwi-footer__sheet h2{ font-size: var(--text-xs); letter-spacing: var(--tracking-label); text-transform: uppercase; font-weight: var(--weight-medium); color: var(--text-primary); margin-bottom: var(--space-3); }
.gwi-footer__sheet ul{ list-style: none; margin: 0; padding: 0; }
.gwi-footer__sheet ul a{ display: inline-flex; align-items: center; min-height: var(--tap-min); min-width: var(--tap-min); color: var(--text-secondary); text-decoration: none; }
.gwi-footer__sheet ul a:hover{ color: var(--text-primary); text-decoration: underline; text-decoration-thickness: 1px; }
.gwi-footer__bottom{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-3) var(--space-5); padding-top: var(--space-6); }
.gwi-footer__legal{ display: inline-flex; align-items: center; gap: var(--space-4); }
.gwi-footer__legal .gwi-logo{ color: var(--text-on-dark); }
.gwi-footer__credit{ margin-left: auto; text-align: right; }
.gwi-footer__credit a{ padding: var(--space-3) 0; color: var(--text-on-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.gwi-footer__credit a:hover{ text-decoration-thickness: 2px; }
@media (min-width: 640px) and (max-width: 1023px){ .gwi-footer__nav{ grid-template-columns: minmax(0, 1fr) max-content; } }
@media (min-width: 520px) and (max-width: 1023px){
  .gwi-footer__bottom{ align-items: flex-end; }
  .gwi-footer__legal{ flex-direction: column; align-items: flex-start; gap: var(--space-2); }
}
@media (max-width: 1023px){
  .gwi-footer{ padding-top: calc(var(--section) + var(--space-8)); }
  .gwi-footer__intro-main, .gwi-footer__lede{ grid-column: 1 / -1; }
  .gwi-footer__panel{ grid-column: 1 / span 8; }
  .gwi-footer__card{ grid-column: 9 / span 4; }
}
@media (max-width: 639px){
  .gwi-footer{ padding: calc(var(--section) + var(--space-7)) 0 var(--space-4); padding-bottom: max(var(--space-4), env(safe-area-inset-bottom)); }
  .gwi-footer__panel, .gwi-footer__card{ grid-column: 1 / -1; }
  .gwi-footer__panel{ padding: var(--space-4); }
  .gwi-footer__sheet{ grid-template-columns: minmax(0, 1fr); }
  .gwi-footer__company{ padding: var(--space-4); border-right: 0; border-bottom: var(--border-hairline) solid var(--line-hairline); }
  .gwi-footer__nav{ padding: var(--space-4); }
}
@media (max-width: 519px){
  .gwi-footer__bottom{ flex-direction: column; align-items: center; text-align: center; gap: var(--space-2); }
  .gwi-footer__legal{ flex-direction: column; gap: var(--space-2); }
  .gwi-footer__credit{ margin-left: 0; text-align: center; }
  .gwi-footer__mail{ font-size: clamp(var(--text-md), 5vw, var(--text-lg)); overflow-wrap: normal; }
  .gwi-footer__panel{ padding-left: var(--space-3); padding-right: var(--space-3); }
}
.gwi-cta{ background: var(--surface-dark); color: var(--text-on-dark); padding: var(--section) 0; }
.gwi-cta__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--head-gap) var(--gutter); align-items: end; }
.gwi-cta__main{ grid-column: 1 / span 7; }
.gwi-cta .gwi-label{ color: var(--text-on-dark-2); }
.gwi-cta .gwi-h1{ margin-top: var(--space-4); }
.gwi-cta__side{ grid-column: 9 / span 4; }
.gwi-cta__side p{ font-size: var(--text-md); line-height: 1.6; color: var(--text-on-dark-2); }
.gwi-cta__side p a{ position: relative; color: var(--text-on-dark-2); text-decoration: underline; text-decoration-thickness: 1px; }
.gwi-cta__side p a::after{ content: ""; position: absolute; inset: calc(-1 * var(--space-3)) 0; }
.gwi-cta__side p a:hover{ color: var(--text-on-dark); }
.gwi-cta__side .gwi-btn{ margin-top: var(--space-4); }
@media (max-width: 1023px){ .gwi-cta__main, .gwi-cta__side{ grid-column: 1 / -1; } }
@media (max-width: 639px){ .gwi-cta__side .gwi-btn{ width: 100%; } }
.gwi-sitefooter{ background-color: var(--surface-dark); background-image: var(--tonal-dark); color: var(--text-on-dark); font-size: var(--text-sm);
  padding: var(--space-8) 0 var(--space-5); }
.gwi-sitefooter__top{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 var(--gutter); padding-bottom: var(--space-7); border-bottom: var(--border-hairline) solid var(--line-on-dark); }
.gwi-sitefooter__brand{ grid-column: 1 / span 5; }
.gwi-sitefooter__brand .gwi-logo{ color: var(--text-on-dark); }
.gwi-sitefooter__brand p{ margin-top: var(--space-3); max-width: 36ch; line-height: 1.6; color: var(--text-on-dark-2); }
.gwi-sitefooter__col{ grid-column: span 2; }
.gwi-sitefooter__col--contact{ grid-column: span 3; }
.gwi-sitefooter__col h2{ display: flex; align-items: center; min-height: var(--tap-min); font-size: var(--text-xs); letter-spacing: var(--tracking-label); text-transform: uppercase; font-weight: var(--weight-medium); color: var(--text-on-dark-2); }
.gwi-sitefooter__col ul{ list-style: none; margin: var(--space-2) 0 0; padding: 0; }
.gwi-sitefooter__col a{ display: inline-flex; align-items: center; min-height: var(--tap-min); min-width: var(--tap-min); padding: 0; color: var(--text-on-dark); text-decoration: none; }
.gwi-sitefooter__col a:hover{ text-decoration: underline; text-decoration-thickness: 1px; }
.gwi-sitefooter__col li{ white-space: nowrap; }
.gwi-sitefooter__bottom{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: var(--space-2) var(--space-5); padding-top: var(--space-5); color: var(--text-on-dark-2); }
.gwi-sitefooter__credit{ margin-left: auto; text-align: right; }
.gwi-sitefooter__credit a{ padding: var(--space-3) 0; color: var(--text-on-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.gwi-sitefooter__credit a:hover{ text-decoration-thickness: 2px; }
.gwi-sitefooter :focus-visible{ outline-color: var(--focus-ring-dark); }
@media (max-width: 1023px){
  .gwi-sitefooter{ padding-top: var(--space-7); }
  .gwi-sitefooter__top{ grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--space-3); }
  .gwi-sitefooter__brand{ grid-column: 1 / -1; padding-bottom: var(--space-3); }
  .gwi-sitefooter__col h2{ display: block; min-height: 0; }
  .gwi-sitefooter__col, .gwi-sitefooter__col--contact{ grid-column: auto; }
}
@media (max-width: 639px){
  .gwi-sitefooter{ padding-bottom: max(var(--space-4), env(safe-area-inset-bottom)); }
  .gwi-sitefooter__top{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gwi-sitefooter__col--contact{ grid-column: 1 / -1; }
  .gwi-sitefooter__bottom{ padding-top: var(--space-4); }
}
@media (max-width: 519px){
  .gwi-sitefooter__bottom{ flex-direction: column; align-items: center; text-align: center; }
  .gwi-sitefooter__credit{ margin-left: 0; text-align: center; }
}
.gwi-sitefooter__fold{ display: none; }
@media (max-width: 639px){
  .gwi-fold .gwi-sitefooter__top{ grid-template-columns: minmax(0, 1fr); row-gap: 0; padding-bottom: 0; }
  .gwi-fold .gwi-sitefooter__brand{ padding-bottom: var(--space-5); }
  .gwi-fold .gwi-sitefooter__col, .gwi-fold .gwi-sitefooter__col--contact{ grid-column: 1 / -1; border-top: var(--border-hairline) solid var(--line-on-dark); }
  .gwi-fold .gwi-sitefooter__h{ display: none; }
  .gwi-fold .gwi-sitefooter__fold{ display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: calc(var(--space-6) + var(--space-2));
    padding: 0; border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; text-align: left; cursor: pointer; }
  .gwi-fold .gwi-sitefooter__fold .gwi-acc__pm{ color: var(--text-on-dark); }
  .gwi-fold .gwi-sitefooter__col ul{ --fold-ring: calc(var(--focus-width) + var(--focus-offset));
    height: 0; overflow: hidden; visibility: hidden; interpolate-size: allow-keywords;
    margin: calc(-1 * var(--fold-ring)) calc(-1 * var(--fold-ring)) 0; padding: var(--fold-ring) var(--fold-ring) 0;
    transition: height var(--duration-slow) var(--ease-standard), padding-bottom var(--duration-slow) var(--ease-standard), visibility 0s linear var(--duration-slow); }
  .gwi-fold .gwi-sitefooter__col.is-open ul{ height: auto; visibility: visible; padding-bottom: var(--space-3);
    transition: height var(--duration-slow) var(--ease-standard), padding-bottom var(--duration-slow) var(--ease-standard), visibility 0s; }
  .gwi-fold .gwi-sitefooter__col.is-open .gwi-acc__pm::after{ transform: rotate(0deg); }
  .gwi-fold .gwi-sitefooter__bottom{ padding-top: var(--space-5); }
}
.gwi-media--dark{ background: var(--img-placeholder-dark); }
.gwi-photohero{ position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: 480px; min-height: clamp(480px, 66svh, 760px);
  padding-top: var(--header-h); background-color: var(--surface-photo-ground); color: var(--text-on-dark); }
.gwi-photohero__media{ position: absolute; inset: 0; z-index: var(--z-base); background: var(--img-placeholder-concrete); }
.gwi-photohero::after{ content: ""; position: absolute; inset: 0; z-index: var(--z-raised); background: var(--scrim-photohero); }
.gwi-photohero__media img{ width: 100%; height: 100%; object-fit: cover; object-position: 80% 50%; display: block; }
@media (max-width: 639px){ .gwi-photohero::after{ background: var(--scrim-photohero-phone); } .gwi-photohero__media img{ object-position: 50% 0; } }
.gwi-photohero__copy{ position: relative; z-index: var(--z-sticky); padding-top: 0; padding-bottom: calc(var(--space-8) - var(--space-3)); }
.gwi-photohero__text{ width: fit-content; max-width: 100%; padding: var(--space-3) 0; }
.gwi-photohero__copy .gwi-label{ color: var(--text-on-dark); }
.gwi-photohero__title{ margin: var(--space-3) 0 var(--space-4); font-size: var(--text-3xl); line-height: var(--leading-tight); letter-spacing: var(--tracking-h1); font-weight: var(--weight-medium); max-width: 16ch; }
.gwi-photohero__lede{ max-width: var(--measure); font-size: var(--text-lg); line-height: 1.5; color: var(--text-on-dark); }
@media (max-width: 639px){ .gwi-photohero__copy{ padding-bottom: calc(var(--space-6) - var(--space-3)); } }
.gwi-story__title{ margin-top: var(--space-3); max-width: 18ch; }
.gwi-story__cols{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--gutter); margin-top: var(--head-gap); color: var(--text-secondary); }
.gwi-story__cols p{ max-width: var(--measure); }
@media (max-width: 1023px){
  .gwi-story__cols{ grid-template-columns: minmax(0, 1fr); }
  .gwi-story__cols p:nth-child(n+2), .gwi-approach__text p:nth-of-type(n+2){ display: none; }
}
.gwi-approach{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--head-gap) var(--gutter); align-items: center; }
.gwi-approach__text{ grid-column: 1 / span 5; }
.gwi-approach__text .gwi-h2{ margin: var(--space-3) 0 var(--space-4); }
.gwi-approach__text p{ color: var(--text-secondary); max-width: var(--measure); }
.gwi-approach__text p + p{ margin-top: var(--space-3); }
.gwi-approach__media{ grid-column: 7 / span 6; aspect-ratio: 4 / 3; }
@media (max-width: 1023px){ .gwi-approach__media{ aspect-ratio: 3 / 2; } }
@media (max-width: 639px){ .gwi-approach__media{ aspect-ratio: 1 / 1; } }
.gwi-approach__media > img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }
.gwi-approach__media > .gwi-photo-card{ z-index: var(--z-raised); }
.gwi-photo-card{ position: absolute; left: var(--space-3); bottom: var(--space-3); display: flex; flex-direction: column; justify-content: space-between; width: min(240px, 60%); min-height: calc(var(--space-9) + var(--space-1)); padding: var(--space-3); background: var(--surface-page); color: var(--text-primary); font-weight: var(--weight-medium); text-decoration: none; }
.gwi-photo-card__go{ align-self: flex-end; }
.gwi-photo-card:hover{ background: var(--surface-raised); }
@media (max-width: 1023px){ .gwi-approach__text, .gwi-approach__media{ grid-column: 1 / -1; } }
.gwi-principles{ background-color: var(--surface-dark); color: var(--text-on-dark); padding: var(--section) 0; }
.gwi-principles__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: auto 1fr; gap: var(--head-gap) var(--gutter); }
.gwi-principles__head{ grid-column: 1 / span 5; grid-row: 1; }
.gwi-principles__head .gwi-label{ color: var(--text-on-dark-2); }
.gwi-principles__head .gwi-h2{ margin-top: var(--space-3); }
.gwi-principles__card{ grid-column: 1 / span 5; grid-row: 2; align-self: end; display: flex; flex-direction: column; min-height: calc(var(--space-9) + var(--space-3)); padding: var(--space-4); background: var(--surface-page); color: var(--text-primary); text-decoration: none; }
.gwi-principles__go{ align-self: flex-end; }
.gwi-principles__card-title{ margin-top: auto; font-weight: var(--weight-medium); }
.gwi-principles__card-text{ margin-top: var(--space-1); font-size: var(--text-sm); color: var(--text-secondary); }
.gwi-principles__card:hover{ background: var(--surface-raised); }
.gwi-principles__list{ grid-column: 7 / span 6; grid-row: 1 / span 2; list-style: none; margin: 0; padding: 0; }
.gwi-principles__item{ padding: var(--space-6) 0; border-bottom: var(--border-hairline) solid var(--line-on-dark); }
.gwi-principles__item:first-child{ padding-top: 0; }
.gwi-principles__title{ margin: var(--space-4) 0 var(--space-3); font-size: var(--text-xl); font-weight: var(--weight-medium); }
.gwi-principles__item p{ color: var(--text-on-dark-2); max-width: var(--measure); }
@media (max-width: 1023px){
  .gwi-principles__grid{ grid-template-rows: none; }
  .gwi-principles__head, .gwi-principles__card, .gwi-principles__list{ grid-column: 1 / -1; grid-row: auto; }
  .gwi-principles__list{ order: 2; }
  .gwi-principles__card{ order: 3; }
}
.gwi-contact{ background: var(--surface-raised); padding: calc(var(--header-h) + var(--space-8)) 0 var(--head-gap); }
.gwi-contact__intro{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-4) var(--gutter); align-items: end; }
.gwi-contact__title{ grid-column: 1 / span 6; font-size: var(--text-3xl); line-height: var(--leading-tight); letter-spacing: var(--tracking-h1); font-weight: var(--weight-medium); }
.gwi-contact__lede{ grid-column: 8 / span 5; max-width: var(--measure); font-size: var(--text-lg); line-height: 1.5; color: var(--text-secondary); }
.gwi-contact__card{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--head-gap) var(--gutter); margin-top: var(--head-gap); padding: var(--space-7); background: var(--surface-page); }
.gwi-contact__info{ grid-column: 1 / span 5; display: flex; flex-direction: column; }
.gwi-contact__rows{ list-style: none; margin: 0; padding: 0; }
.gwi-contact__rows li{ display: grid; grid-template-columns: var(--space-6) minmax(0, 1fr); align-items: center; gap: var(--space-4); padding: var(--space-4) 0; border-bottom: var(--border-hairline) solid var(--line-hairline); }
.gwi-contact__rows li:first-child{ border-top: var(--border-hairline) solid var(--line-hairline); }
.gwi-contact__tile{ display: grid; place-items: center; width: calc(var(--space-6) - var(--space-2)); height: calc(var(--space-6) - var(--space-2)); background: var(--surface-dark); color: var(--text-on-dark); }
.gwi-contact__tile .gwi-ic{ width: var(--icon-md); height: var(--icon-md); }
.gwi-contact__rowtext{ display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.gwi-contact__rowlabel{ font-size: var(--text-xs); letter-spacing: var(--tracking-label); text-transform: uppercase; font-weight: var(--weight-medium); color: var(--text-secondary); }
.gwi-contact__rowvalue{ font-size: var(--text-lg); color: var(--text-primary); overflow-wrap: normal; }
.gwi-contact__rowvalue a{ padding: var(--space-3) 0; color: var(--text-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.gwi-contact__rowvalue a:hover{ text-decoration-thickness: 2px; }
.gwi-form{ grid-column: 7 / span 6; }
@media (max-width: 1023px){
  .gwi-contact__title, .gwi-contact__lede, .gwi-contact__info, .gwi-form{ grid-column: 1 / -1; }
  .gwi-contact__card{ padding: var(--space-6); }
}
@media (max-width: 639px){
  .gwi-contact{ padding-top: calc(var(--header-h) + var(--space-6)); }
  .gwi-contact__card{ padding: var(--space-4); }
  .gwi-contact__rows li{ gap: var(--space-3); padding: var(--space-3) 0; }
  .gwi-contact__rowvalue{ font-size: var(--text-ui); }
}
.gwi-form__grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--gutter); }
.gwi-form__wide{ grid-column: 1 / -1; }
.gwi-field{ display: flex; flex-direction: column; gap: var(--space-2); }
.gwi-field label{ font-size: var(--text-sm); font-weight: var(--weight-medium); }
.gwi-field__opt{ font-weight: var(--weight-regular); color: var(--text-secondary); }
.gwi-input{ width: 100%; min-height: var(--control-height); padding: 0 var(--space-3); font-size: var(--text-ui); line-height: 1.4; color: var(--text-primary); background: var(--surface-page);
  border: var(--border-hairline) solid var(--line-field); border-radius: 0; transition: border-color var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard); }
@media (pointer: coarse){ .gwi-input, .gwi-select option{ font-size: var(--text-md); } }
.gwi-input:hover{ border-color: var(--line-field-hover); }
.gwi-input:focus{ outline: none; border-color: var(--line-strong); box-shadow: 0 0 0 1px var(--line-strong); }
.gwi-textarea{ min-height: calc(var(--space-9) + var(--space-5)); padding: var(--space-3); resize: vertical; }
.gwi-select{ appearance: none; padding-right: var(--space-6); cursor: pointer; background-repeat: no-repeat; background-size: 6px 6px;
  background-image: linear-gradient(to top right, transparent calc(50% - 0.75px), currentColor calc(50% - 0.75px), currentColor calc(50% + 0.75px), transparent calc(50% + 0.75px)),
                    linear-gradient(to top left, transparent calc(50% - 0.75px), currentColor calc(50% - 0.75px), currentColor calc(50% + 0.75px), transparent calc(50% + 0.75px));
  background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; }
.gwi-select:has(option[value=""]:checked){ color: var(--text-secondary); }
@supports (appearance: base-select){
  .gwi-select, .gwi-select::picker(select){ appearance: base-select; }
  .gwi-select{ display: flex; align-items: center; }
  .gwi-select::picker-icon{ display: none; }
  .gwi-select::picker(select){ margin-top: var(--space-1); padding: var(--space-1) 0; border: var(--border-hairline) solid var(--line-strong); border-radius: 0; background: var(--surface-page); box-shadow: none; }
  .gwi-select option{ display: flex; align-items: center; gap: var(--space-2); min-height: var(--tap-min); padding: 0 var(--space-3); font-size: var(--text-ui); color: var(--text-primary); background: transparent; }
  .gwi-select option:hover, .gwi-select option:focus-visible{ background: var(--surface-raised); outline: none; }
  .gwi-select option:checked{ font-weight: var(--weight-medium); }
  .gwi-select option[value=""]{ display: none; }
  .gwi-select option::checkmark{ order: 1; margin-left: auto; content: ""; width: 12px; height: 9px; background: currentColor;
    clip-path: polygon(0 4.5px, 1.1px 3.4px, 4.5px 6.8px, 10.9px 0.4px, 12px 1.5px, 4.5px 9px); }
}
@supports (appearance: base-select){
  .gwi-select:open{ background-image: linear-gradient(to bottom right, transparent calc(50% - 0.75px), currentColor calc(50% - 0.75px), currentColor calc(50% + 0.75px), transparent calc(50% + 0.75px)),
                                      linear-gradient(to bottom left, transparent calc(50% - 0.75px), currentColor calc(50% - 0.75px), currentColor calc(50% + 0.75px), transparent calc(50% + 0.75px)); }
}
.gwi-field__hint{ font-size: var(--text-sm); color: var(--text-secondary); }
.gwi-field__count{ align-self: flex-end; font-size: var(--text-sm); color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.gwi-field__count.is-ok{ color: var(--text-primary); }
.gwi-field__err{ display: none; align-items: center; gap: var(--space-1); font-size: var(--text-sm); color: var(--text-error); }
.gwi-field__err .gwi-ic{ width: var(--icon-sm); height: var(--icon-sm); }
.gwi-field.has-error .gwi-field__err{ display: flex; }
.gwi-field.has-error .gwi-input{ border-color: var(--text-error); box-shadow: 0 0 0 1px var(--text-error); }
.gwi-field.has-error .gwi-input:focus{ outline: var(--focus-width) solid var(--focus-ring); outline-offset: var(--focus-offset); }
.gwi-field .gwi-input{ scroll-margin-top: calc(var(--header-h) + var(--space-7)); scroll-margin-bottom: var(--space-7); }
.gwi-field[data-field="f-msg"]{ display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--space-4); row-gap: var(--space-2); align-items: start; }
.gwi-field[data-field="f-msg"] > :not(.gwi-field__count, .gwi-field__err){ grid-column: 1 / -1; }
.gwi-field[data-field="f-msg"] .gwi-field__err{ grid-column: 1; grid-row: 4; }
.gwi-field[data-field="f-msg"] .gwi-field__count{ grid-column: 2; grid-row: 4; }
.gwi-form__foot{ display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-5); margin-top: var(--space-5); }
.gwi-hp{ position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.gwi-form{ position: relative; }
.gwi-form__status.is-ok{ color: var(--text-success); font-weight: var(--weight-medium); }
.gwi-form__status.is-error{ color: var(--text-error); }
.gwi-form__note{ flex: 1 1 260px; max-width: var(--measure); font-size: var(--text-sm); color: var(--text-secondary); }
.gwi-form__status{ margin-top: var(--space-3); font-size: var(--text-sm); color: var(--text-success); }
.gwi-form__status:empty{ display: none; }
@media (max-width: 639px){ .gwi-form__grid{ grid-template-columns: minmax(0, 1fr); } .gwi-form__foot .gwi-btn{ width: 100%; } }
.gwi-contact-faq{ padding-top: var(--head-gap); }
.gwi-faq__card{ display: flex; flex-direction: column; min-height: calc(var(--space-9) + var(--space-3)); margin-top: var(--space-7); padding: var(--space-4); background: var(--surface-page); color: var(--text-primary); text-decoration: none; }
.gwi-faq__card-go{ align-self: flex-end; }
.gwi-faq__card-title{ margin-top: auto; font-weight: var(--weight-medium); }
.gwi-faq__card-text{ margin-top: var(--space-1); font-size: var(--text-sm); color: var(--text-secondary); }
.gwi-faq__card:hover{ box-shadow: inset 0 0 0 1px var(--line-hairline); }
@media (max-width: 1023px){ .gwi-faq__card{ margin-top: var(--head-gap); } }
.gwi-legal-hero{ background-color: var(--surface-raised); background-image: var(--surface-hero-daylight); padding: calc(var(--header-h) + var(--space-8)) 0 var(--space-7); }
.gwi-tag{ display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-1) var(--space-3); border: var(--border-hairline) solid var(--line-strong);
  font-size: var(--text-xs); letter-spacing: var(--tracking-label); text-transform: uppercase; font-weight: var(--weight-medium); }
.gwi-tag__dot{ width: 6px; height: 6px; background: currentColor; }
.gwi-legal-hero__title{ margin: var(--space-5) 0 var(--space-4); font-size: var(--text-3xl); line-height: var(--leading-tight); letter-spacing: var(--tracking-h1); font-weight: var(--weight-medium); }
.gwi-legal-hero__lede{ max-width: var(--measure); font-size: var(--text-lg); line-height: 1.5; color: var(--text-secondary); }
.gwi-legal__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--head-gap) var(--gutter); align-items: start; }
.gwi-legal__list{ grid-column: 6 / span 7; grid-row: 1; }
.gwi-legal__aside{ grid-column: 1 / span 4; grid-row: 1; }
.gwi-legal__aside-title{ margin: var(--space-3) 0 var(--space-5); }
@media (min-width: 1024px){ .gwi-legal__aside{ position: sticky; top: calc(var(--header-h) + var(--space-6)); } }
@media (max-width: 1023px){ .gwi-legal__list, .gwi-legal__aside{ grid-column: 1 / -1; grid-row: auto; } }
.gwi-legal__section{ scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.gwi-legal__title{ font: inherit; }
.gwi-acc summary.gwi-legal__row{ display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: baseline; gap: 0; }
.gwi-legal__row > .gwi-acc__k{ grid-column: 1; grid-row: 1; }
.gwi-legal__row > .gwi-legal__title{ grid-column: 2; grid-row: 1; }
.gwi-legal__row > .gwi-legal__desc{ grid-column: 2; grid-row: 2; }
.gwi-legal__row > .gwi-acc__pm{ grid-column: 3; grid-row: 1 / span 2; align-self: center; margin-left: var(--space-4); }
.gwi-legal__desc{ display: block; margin-top: var(--space-1); font-size: var(--text-sm); font-weight: var(--weight-regular); line-height: 1.5; color: var(--text-secondary); }
.gwi-legal__list .gwi-acc__answer{ padding-right: 0; }
.gwi-legal__list .gwi-prose, .gwi-legal__list .gwi-prose p{ max-width: 60ch; }
.gwi-prose{ max-width: var(--measure); color: var(--text-secondary); line-height: 1.65; }
.gwi-prose > * + *{ margin-top: var(--space-3); }
.gwi-prose h3{ margin-top: var(--space-6); font-size: var(--text-lg); line-height: 1.3; font-weight: var(--weight-medium); color: var(--text-primary); }
.gwi-prose h4{ margin-top: var(--space-4); font-size: var(--text-md); font-weight: var(--weight-bold); color: var(--text-primary); }
.gwi-prose strong{ color: var(--text-primary); }
.gwi-prose ul, .gwi-prose ol{ padding-left: var(--space-4); }
.gwi-prose li > ul{ margin-top: var(--space-1); }
.gwi-legal__body [id]{ scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.gwi-prose li + li{ margin-top: var(--space-1); }
.gwi-prose li::marker{ color: var(--text-muted); }
.gwi-prose a{ color: var(--text-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.gwi-prose a:hover, .gwi-acc__answer a:hover, .gwi-form__note a:hover, .gwi-facts__row dd a:hover{ text-decoration-thickness: 2px; }
.gwi-facts__list{ margin: 0; border-top: var(--border-hairline) solid var(--line-hairline); }
.gwi-facts__row{ display: grid; gap: var(--space-1); padding: var(--space-3) 0; border-bottom: var(--border-hairline) solid var(--line-hairline); }
.gwi-facts__row dt{ font-size: var(--text-xs); letter-spacing: var(--tracking-label); text-transform: uppercase; font-weight: var(--weight-medium); color: var(--text-secondary); }
.gwi-facts__row dd{ margin: 0; font-size: var(--text-md); line-height: 1.5; }
.gwi-facts__row dd a{ padding: var(--space-3) 0; color: var(--text-primary); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 639px){
  .gwi-legal-hero{ padding: calc(var(--header-h) + var(--space-6)) 0 var(--space-5); }
}
.gwi-nf{ position: relative; isolation: isolate; background-color: var(--surface-photo-ground); color: var(--text-on-dark); }
.gwi-nf__media{ position: absolute; inset: 0; z-index: var(--z-base); }
.gwi-nf__media img{ width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; filter: var(--photo-grade); }
.gwi-nf::after{ content: ""; position: absolute; inset: 0; z-index: var(--z-raised); background: var(--scrim-404); }
@media (max-width: 1023px){ .gwi-nf::after{ background: var(--scrim-404-narrow); } }
.gwi-nf > .gwi-wrap{ position: relative; z-index: var(--z-sticky); }
.gwi-nf__copy{ padding: var(--space-3) 0; margin: calc(-1 * var(--space-3)) 0; }
.gwi-nf__inner{ display: flex; flex-direction: column; min-height: calc(100svh / var(--page-zoom));
  padding-top: var(--header-h); padding-bottom: var(--space-7); }
.gwi-nf__big{ flex: 1; display: flex; align-items: center; justify-content: center; padding: var(--space-7) 0; font-size: var(--text-numeral); letter-spacing: var(--tracking-display); font-weight: var(--weight-medium); }
.gwi-nf__big span{ display: block; line-height: 0.8; text-box: trim-both cap alphabetic; }
.gwi-nf__row{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: var(--space-5) var(--gutter); padding-top: var(--space-5); border-top: var(--border-hairline) solid var(--line-on-dark); }
.gwi-nf__title{ font-size: var(--text-xl); font-weight: var(--weight-medium); }
.gwi-nf__text{ margin-top: var(--space-2); max-width: var(--measure); color: var(--text-on-dark-2); text-wrap: pretty; }
@media (max-width: 639px){
  .gwi-nf__inner{ padding-bottom: var(--space-6); }
  .gwi-nf__big{ padding: var(--space-6) 0; }
  .gwi-nf__row .gwi-btn{ width: 100%; }
}
@media (min-width: 1440px){
  .gwi-promise__media{ min-height: 640px; }
}
html{ zoom: var(--page-zoom); }
