/* Govmane theme — main stylesheet.
   Layout: a floating white header over full-bleed scenes on a 1360px wrap. The only ornaments are the
   brand's own: the mane (flowing strands), the colonnade (service pillars) and the dome (section arches).
   Colours and fonts are CSS variables; Theme Settings prints its own values after this file, so use the
   variables only and never a hard-coded brand colour. */
@font-face{font-family:'Archivo';src:url(../fonts/archivo-latin-ext.woff2) format('woff2');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';src:url(../fonts/archivo-latin.woff2) format('woff2');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;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{
  --crimson:#850617; --crimson-deep:#5C0410; --ember:#E5384F;
  --slate:#272F37; --slate-deep:#161B21; --slate-mid:#3A444F;
  --mute:#5A6570; --stone:#ECEEF0; --line:#D8DCE0; --white:#FFFFFF;
  --on-dark:#E9ECEF; --on-dark-mute:#98A3AE; --on-dark-line:rgba(233,236,239,.14);
  --f:'Archivo','Arial Narrow',Arial,Helvetica,sans-serif; --fd:var(--f); --fs:17px; --logo-h:44px; --logo-hm:38px;
  --wrap:1360px; --gut:clamp(16px,4vw,56px);
  --ease:cubic-bezier(.22,.8,.2,1); --ease-io:cubic-bezier(.7,0,.2,1);
  --head-h:68px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--white);color:var(--slate);font-family:var(--f);font-size:var(--fs);line-height:1.55;font-stretch:100%;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,p{margin:0}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:2px}
.gm-page{overflow-x:clip;position:relative}
.gm-wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.gm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* type */
.gm-d{font-family:var(--fd);font-weight:800;font-stretch:125%;letter-spacing:-.028em;line-height:.98;font-variation-settings:"wdth" var(--wdth,125)}
.gm-h2{font-size:clamp(34px,4.5vw,68px);text-wrap:balance}
.gm-lede{font-size:clamp(17px,1.35vw,20px);line-height:1.5;color:var(--mute);max-width:34em}
.gm-wd{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.gm-wd__i{display:inline-block;will-change:transform}
.gm-ch{display:inline-block;will-change:transform}

/* buttons and links */
.gm-btn{position:relative;display:inline-flex;align-items:center;gap:14px;padding:15px 16px 15px 24px;border-radius:4px;background:var(--crimson);color:var(--white);font-weight:600;font-size:16px;line-height:1;overflow:hidden;isolation:isolate;white-space:nowrap;transition:color .45s var(--ease)}
.gm-btn::before{content:"";position:absolute;inset:0;background:var(--slate);transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1}
.gm-btn__ico{width:26px;height:26px;border-radius:3px;background:rgba(255,255,255,.16);display:grid;place-items:center;overflow:hidden;flex:none}
.gm-btn__ico svg{width:12px;height:12px;transition:transform .5s var(--ease)}
.gm-btn--sm{padding:11px 12px 11px 18px;font-size:15px;gap:10px}
.gm-btn--sm .gm-btn__ico{width:22px;height:22px}
.gm-btn--light{background:var(--white);color:var(--crimson)}
.gm-btn--light .gm-btn__ico{background:rgba(133,6,23,.1)}
.gm-btn--light::before{background:var(--slate-deep)}
.gm-btn--line{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.gm-btn--line::before{background:var(--white)}
@media (hover:hover){
  .gm-btn:hover::before{transform:none}
  .gm-btn:hover .gm-btn__ico svg{transform:translate(3px,-3px)}
  .gm-btn--light:hover{color:var(--white)}
  .gm-btn--light:hover .gm-btn__ico{background:rgba(255,255,255,.16)}
  .gm-btn--line:hover{color:var(--crimson)}
}
.gm-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:16px;line-height:1.2;padding-block:6px;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;transition:background-size .5s var(--ease)}
.gm-link svg{width:11px;height:11px;transition:transform .5s var(--ease)}
@media (hover:hover){
  .gm-link:hover{background-size:0 1.5px;background-position:100% 100%}
  .gm-link:hover svg{transform:translate(3px,-3px)}
}

/* intro */
.gm-intro{display:none;position:fixed;inset:0;z-index:200;background:var(--white)}
.gm-js .gm-intro{display:block}
.gm-intro-done .gm-intro{display:none!important}
.gm-intro__mark{position:absolute;inset:0;display:grid;place-items:center}
.gm-intro__mark img{width:min(46vw,250px);height:auto}
.gm-intro__cols{position:absolute;inset:0;display:flex}
.gm-intro__cols i{flex:1;background:var(--slate-deep);transform:scaleY(0);transform-origin:50% 100%;margin-inline:-.5px}
.gm-intro__cols i:nth-child(odd){background:var(--slate)}

/* header */
.gm-head{position:fixed;top:0;left:0;right:0;z-index:100;padding:calc(14px + env(safe-area-inset-top,0px)) var(--gut) 0;pointer-events:none}
.gm-head__bar{pointer-events:auto;position:relative;max-width:calc(var(--wrap) - 2*var(--gut));margin-inline:auto;height:var(--head-h);background:var(--white);border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:28px;padding:0 14px 0 18px;box-shadow:0 10px 30px -18px rgba(22,27,33,.35)}
.gm-head__progwrap{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}
.gm-head__prog{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--crimson);transform:scaleX(0);transform-origin:0 50%}
.gm-logo{display:flex;align-items:center;gap:12px;flex:none}
.gm-logo__mark{height:var(--logo-h);width:auto}
.gm-logo__mark--custom{max-width:min(46vw,300px);object-fit:contain}
.gm-logo__word{height:calc(var(--logo-h)*.432);width:auto}
.gm-nav{margin-left:auto;min-width:0}
.gm-nav__list{display:flex;gap:6px;align-items:center}
.gm-nav__item{position:relative;display:flex;align-items:center}
.gm-nav__a{display:block;padding:10px 12px;font-size:15px;font-weight:500;line-height:1.3;white-space:nowrap}
.gm-nav__a span{display:block;position:relative;overflow:hidden;color:transparent}
.gm-nav__a span::before,.gm-nav__a span::after{content:attr(data-t);position:absolute;left:0;top:0;color:var(--slate);transition:transform .5s var(--ease)}
.gm-nav__a span::after{top:100%;color:var(--crimson)}
.gm-nav__a[aria-current="page"] span::before,.gm-nav__item.is-current > .gm-nav__a span::before{color:var(--crimson)}
@media (hover:hover){.gm-nav__a:hover span::before,.gm-nav__a:hover span::after{transform:translateY(-100%)}}
.gm-nav__item.has-sub > .gm-nav__a{padding-right:2px}
.gm-nav__tog{width:26px;height:30px;display:grid;place-items:center;color:var(--slate);border-radius:3px}
.gm-nav__tog svg{width:11px;height:11px;transition:transform .45s var(--ease)}
.gm-nav__item.is-open > .gm-nav__tog svg{transform:rotate(180deg)}
.gm-sub{position:absolute;top:calc(100% + 16px);left:-8px;min-width:270px;padding:10px;background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 50px -24px rgba(22,27,33,.45);opacity:0;visibility:hidden;transform:translateY(-8px);clip-path:inset(0 0 100% 0);transition:opacity .35s var(--ease),transform .5s var(--ease),clip-path .55s var(--ease),visibility 0s linear .55s;z-index:5}
.gm-sub::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.gm-nav__item.is-open > .gm-sub{opacity:1;visibility:visible;transform:none;clip-path:inset(-40px -40px -60px -40px);transition:opacity .35s var(--ease),transform .5s var(--ease),clip-path .55s var(--ease),visibility 0s}
.gm-sub__list{display:grid;gap:1px}
.gm-sub__list:has(> li:nth-child(8)){grid-template-columns:repeat(2,minmax(210px,1fr));column-gap:8px}
.gm-sub__a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:4px;font-size:15px;font-weight:500;line-height:1.3;transition:background-color .3s var(--ease),color .3s var(--ease),padding-left .4s var(--ease)}
.gm-sub__a::before{content:"";width:0;height:1.5px;background:var(--crimson);transition:width .4s var(--ease);flex:none;margin-right:-10px}
.gm-sub__a[aria-current="page"]{color:var(--crimson)}
@media (hover:hover){.gm-sub__a:hover{background:var(--stone);color:var(--crimson)}.gm-sub__a:hover::before{width:14px;margin-right:0}}
.gm-sub__item{opacity:0;transform:translateY(6px);transition:opacity .3s var(--ease),transform .45s var(--ease)}
.gm-nav__item.is-open .gm-sub__item{opacity:1;transform:none;transition-delay:calc(.05s + var(--i,0)*.03s)}
.gm-head__actions{display:flex;align-items:center;gap:8px;flex:none}
.gm-burger{display:none;width:44px;height:44px;border-radius:4px;background:var(--slate);position:relative;margin-left:auto;flex:none}
.gm-burger i{position:absolute;left:12px;right:12px;height:2px;background:var(--white);top:50%;transition:transform .5s var(--ease)}
.gm-burger i:first-child{transform:translateY(-4px)}
.gm-burger i:last-child{transform:translateY(4px)}
.gm-burger[aria-expanded="true"] i:first-child{transform:rotate(45deg)}
.gm-burger[aria-expanded="true"] i:last-child{transform:rotate(-45deg)}

/* mobile menu */
.gm-menu{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;padding:calc(var(--head-h) + 34px + env(safe-area-inset-top,0px)) var(--gut) calc(24px + env(safe-area-inset-bottom,0px));color:var(--white);visibility:hidden;pointer-events:none}
.gm-menu.is-open{visibility:visible;pointer-events:auto}
.gm-menu__cols{position:absolute;inset:0;display:flex;z-index:-1}
.gm-menu__cols i{flex:1;background:var(--slate-deep);transform:scaleY(0);transform-origin:50% 0;margin-inline:-.5px}
.gm-menu__cols i:nth-child(even){background:var(--slate)}
.gm-menu__list{display:block;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut);padding-bottom:20px;scrollbar-width:none}
.gm-menu__list::-webkit-scrollbar{display:none}
.gm-menu__item{border-bottom:1px solid transparent}
.gm-menu__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gm-menu__a{display:block;overflow:hidden;font-family:var(--fd);font-size:clamp(28px,8.4vw,44px);font-weight:800;font-stretch:112%;letter-spacing:-.02em;line-height:1.12;padding-block:6px;min-width:0}
.gm-menu__a span{display:block}
.gm-menu__a[aria-current="page"]{color:var(--ember)}
.gm-menu__tog{width:44px;height:44px;border-radius:4px;border:1px solid var(--on-dark-line);position:relative;flex:none;transition:background-color .35s var(--ease),border-color .35s var(--ease)}
.gm-menu__tog i,.gm-menu__tog i::after{position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:var(--white);transition:transform .45s var(--ease)}
.gm-menu__tog i::after{content:"";transform:rotate(90deg)}
.gm-menu__item.is-open .gm-menu__tog{background:var(--crimson);border-color:var(--crimson)}
.gm-menu__item.is-open .gm-menu__tog i::after{transform:rotate(0)}
.gm-menu__sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.gm-menu__item.is-open .gm-menu__sub{grid-template-rows:1fr}
.gm-menu__subin{overflow:hidden;min-height:0;display:grid;gap:2px;padding-left:2px}
.gm-menu__subin > :first-child{margin-top:8px}
.gm-menu__subin > :last-child{margin-bottom:14px}
.gm-menu__suba{display:block;padding:9px 0 9px 18px;font-size:18px;font-weight:500;line-height:1.3;color:var(--on-dark);border-left:1px solid var(--on-dark-line);opacity:0;transform:translateX(-8px);transition:opacity .4s var(--ease),transform .5s var(--ease),border-color .3s}
.gm-menu__item.is-open .gm-menu__suba{opacity:1;transform:none;transition-delay:calc(.08s + var(--i,0)*.04s)}
.gm-menu__suba[aria-current="page"]{color:var(--ember);border-color:var(--ember)}
.gm-menu__btns{display:flex;flex-wrap:wrap;gap:8px}
.gm-menu__foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;border-top:1px solid var(--on-dark-line);padding-top:18px;font-size:15px;color:var(--on-dark-mute);flex:none}

/* hero */
.gm-hero{position:relative;min-height:min(100svh,980px);display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(var(--head-h) + 60px);overflow:hidden;background:var(--white)}
.gm-hero__mane{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gm-hero__in{position:relative;z-index:1;padding-bottom:clamp(28px,4vw,48px)}
.gm-hero__h{font-size:clamp(46px,6.9vw,112px);line-height:.94;margin-left:-.04em}
.gm-hero__l{display:block}
.gm-hero__l--red{color:var(--crimson)}
.gm-hw{display:inline-block;overflow:hidden;padding:.06em .04em .14em;margin:-.06em -.04em -.14em;vertical-align:top;white-space:nowrap}
.gm-hero__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:32px 48px;flex-wrap:wrap;margin-top:clamp(24px,3vw,44px)}
.gm-hero__p{font-size:clamp(17px,1.5vw,22px);line-height:1.42;max-width:27em;color:var(--slate)}
.gm-hero__cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.gm-hero__rail{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:18px;font-size:14px;font-weight:500;font-stretch:88%;letter-spacing:.01em;color:var(--mute)}
.gm-hero__rail::before{content:"";position:absolute;left:var(--gut);right:var(--gut);top:0;height:1px;background:var(--line);transform:scaleX(var(--rail,1));transform-origin:0 50%}
.gm-hero__scroll{display:inline-flex;align-items:center;gap:10px;color:var(--slate)}
.gm-hero__scroll i{width:1px;height:26px;background:var(--line);position:relative;overflow:hidden}
.gm-hero__scroll i::after{content:"";position:absolute;inset:0;background:var(--crimson);animation:gm-drop 1.8s var(--ease-io) infinite}
@keyframes gm-drop{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}

/* mission statement */
.gm-say{padding-block:clamp(90px,13vw,190px) clamp(80px,11vw,160px);background:var(--white)}
.gm-say__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:24px 40px;align-items:start}
.gm-say__k{font-size:15px;font-weight:600;font-stretch:88%;color:var(--crimson);display:flex;align-items:center;gap:12px;padding-top:.9em}
.gm-say__k::before{content:"";width:28px;height:2px;background:currentColor}
.gm-say__t{font-size:clamp(25px,3.35vw,50px);line-height:1.17;font-weight:500;letter-spacing:-.018em;font-stretch:100%}
.gm-say__t .gm-sw{opacity:var(--o,1);transition:none}
.gm-say__more{grid-column:2;display:flex;gap:28px;flex-wrap:wrap;align-items:center;margin-top:clamp(20px,3vw,36px)}

/* services colonnade */
.gm-col{background:var(--stone);padding-block:clamp(72px,9vw,130px) clamp(72px,9vw,120px);position:relative}
.gm-col__head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:end;gap:20px 60px;margin-bottom:clamp(36px,5vw,64px)}
.gm-col__head .gm-h2{max-width:11.5em}
.gm-col__head .gm-lede{max-width:25em}
.gm-col__temple{position:relative}
.gm-col__beam{height:26px;position:relative;margin-inline:-14px}
.gm-col__beam::before,.gm-col__beam::after{content:"";position:absolute;left:0;right:0;background:var(--slate);transform:scaleX(var(--beam,1));transform-origin:50% 50%}
.gm-col__beam::before{top:0;height:3px}
.gm-col__beam::after{bottom:0;height:14px}
.gm-col__steps{display:grid;gap:5px;justify-items:center;margin-top:0}
.gm-col__steps i{height:9px;background:var(--slate);transform:scaleX(var(--beam,1))}
.gm-col__steps i:nth-child(1){width:calc(100% + 28px);margin-inline:-14px}
.gm-col__steps i:nth-child(2){width:calc(100% + 64px);margin-inline:-32px;max-width:100vw}
.gm-col__steps i:nth-child(3){width:calc(100% + 100px);margin-inline:-50px;max-width:100vw}
.gm-pillar{position:relative}
.gm-pillar__ico{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.gm-pillar__h{font-size:clamp(24px,2.3vw,34px);font-weight:800;font-stretch:118%;letter-spacing:-.02em;line-height:1.02}
.gm-pillar__p{font-size:16.5px;line-height:1.5;opacity:.92}
.gm-pillar__list{display:grid;gap:8px;font-size:15px;font-weight:500}
.gm-pillar__list li{display:flex;gap:10px;align-items:baseline}
.gm-pillar__list li::before{content:"";width:14px;height:1.5px;background:currentColor;opacity:.6;flex:none;transform:translateY(-4px)}
@media (min-width:901px){
  .gm-col__row{display:flex;gap:10px;height:clamp(500px,60vh,620px);align-items:stretch}
  .gm-pillar{flex:1 1 0;min-width:0;transition:flex-grow .85s var(--ease);display:flex;flex-direction:column;transform-origin:50% 100%}
  .gm-pillar.is-active{flex-grow:5.2}
  .gm-pillar::before,.gm-pillar::after{content:"";display:block;height:12px;background:var(--slate);flex:none;transition:background-color .6s var(--ease)}
  .gm-pillar__shaft{position:relative;flex:1;margin-inline:9px;background:var(--white);overflow:hidden;transition:background-color .6s var(--ease),color .6s var(--ease);color:var(--slate)}
  .gm-pillar__shaft::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),var(--stone) calc(25% - 1px),var(--stone) 25%);transition:opacity .5s var(--ease)}
  .gm-pillar__shaft::after{content:"";position:absolute;inset:0;background:var(--crimson);transform:translateY(101%);transition:transform .8s var(--ease)}
  .gm-pillar.is-active .gm-pillar__shaft{color:var(--white)}
  .gm-pillar.is-active .gm-pillar__shaft::after{transform:none}
  .gm-pillar.is-active::before,.gm-pillar.is-active::after{background:var(--crimson-deep)}
  .gm-pillar__hit{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:22px 0 26px;width:100%}
  .gm-pillar.is-active .gm-pillar__hit{pointer-events:none}
  .gm-pillar__name{writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(17px,1.55vw,22px);font-weight:700;font-stretch:112%;letter-spacing:-.01em;white-space:nowrap;transition:opacity .35s var(--ease),transform .6s var(--ease)}
  .gm-pillar__ico{transition:transform .7s var(--ease)}
  .gm-pillar__plus{display:none}
  .gm-pillar.is-active .gm-pillar__name{opacity:0;transform:rotate(180deg) translateY(-20px)}
  .gm-pillar.is-active .gm-pillar__hit{align-items:flex-start;padding-left:34px}
  .gm-pillar.is-active .gm-pillar__ico{transform:scale(1.5);transform-origin:0 0}
  .gm-pillar__body{position:absolute;z-index:3;left:34px;bottom:34px;width:var(--pw,420px);display:grid;gap:18px;opacity:0;transform:translateY(24px);transition:opacity .3s var(--ease),transform .3s var(--ease);pointer-events:none}
  .gm-pillar.is-active .gm-pillar__body{opacity:1;transform:none;transition:opacity .6s var(--ease) .32s,transform .8s var(--ease) .28s;pointer-events:auto}
  .gm-pillar__inner{display:contents}
  @media (hover:hover){.gm-pillar:not(.is-active):hover .gm-pillar__ico{transform:translateY(-4px)}}
}
@media (max-width:900px){
  .gm-col__beam{margin-inline:0;height:20px}
  .gm-col__beam::after{height:10px}
  .gm-col__steps i:nth-child(n){width:100%;margin-inline:0;height:7px}
  .gm-col__steps i:nth-child(2),.gm-col__steps i:nth-child(3){display:none}
  .gm-col__row{display:grid;gap:6px;padding-block:6px}
  .gm-pillar__shaft{background:var(--white);color:var(--slate);transition:background-color .5s var(--ease),color .5s var(--ease)}
  .gm-pillar.is-active .gm-pillar__shaft{background:var(--crimson);color:var(--white)}
  .gm-pillar__hit{display:flex;align-items:center;gap:14px;width:100%;padding:20px 18px;text-align:left}
  .gm-pillar__name{font-size:19px;font-weight:700;font-stretch:112%;letter-spacing:-.01em;flex:1}
  .gm-pillar__plus{width:14px;height:14px;position:relative;flex:none}
  .gm-pillar__plus::before,.gm-pillar__plus::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:currentColor;transition:transform .5s var(--ease)}
  .gm-pillar__plus::after{transform:rotate(90deg)}
  .gm-pillar.is-active .gm-pillar__plus::after{transform:rotate(0)}
  .gm-pillar__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
  .gm-pillar.is-active .gm-pillar__body{grid-template-rows:1fr}
  .gm-pillar__inner{overflow:hidden;min-height:0;display:grid;gap:14px;padding-inline:18px}
  .gm-pillar__inner > :last-child{margin-bottom:22px}
  .gm-pillar__h{display:none}
}

/* who we serve */
.gm-duo{position:relative;background:var(--crimson);color:var(--white);overflow:hidden}
.gm-duo__side{position:relative;padding:clamp(56px,8vw,110px) var(--gut);display:grid;align-content:center;gap:22px}
.gm-duo__side--b{background:var(--slate)}
.gm-duo__h{font-size:clamp(30px,3.5vw,54px)}
.gm-duo__p{font-size:clamp(16.5px,1.3vw,19px);line-height:1.5;max-width:26em;color:rgba(255,255,255,.86)}
.gm-duo__list{display:grid;gap:0;width:100%;max-width:26em;border-top:1px solid rgba(255,255,255,.22)}
.gm-duo__list li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.22);font-weight:500;display:flex;justify-content:space-between;gap:16px;align-items:center}
.gm-duo__list li::after{content:"";width:7px;height:7px;background:currentColor;opacity:.7;transform:rotate(45deg);flex:none}
.gm-duo__k{font-size:15px;font-weight:600;font-stretch:88%;opacity:.8}
@media (min-width:901px){
  .gm-duo{height:clamp(560px,78vh,720px)}
  .gm-duo__side{position:absolute;inset:0;padding-block:0}
  .gm-duo__side > *{max-width:min(34vw,520px)}
  .gm-duo__side--b{padding-left:calc(100% - var(--gut) - min(34vw,520px));clip-path:polygon(calc(var(--sp,50)*1% + 3%) 0,100% 0,100% 100%,calc(var(--sp,50)*1% - 3%) 100%)}
  .gm-duo__side > *{transition:opacity .5s var(--ease)}
  .gm-duo.is-a .gm-duo__side--b > *,.gm-duo.is-b .gm-duo__side--a > *{opacity:.5}
  .gm-duo__more{display:grid;gap:22px;justify-items:start}
}
@media (max-width:900px){.gm-duo__more{display:grid;gap:22px;justify-items:start}}

/* expertise */
.gm-exp{background:var(--white);padding-block:clamp(80px,10vw,150px)}
.gm-exp__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px clamp(32px,6vw,96px);align-items:start}
.gm-exp__copy{position:sticky;top:120px;display:grid;gap:22px}
.gm-exp__copy .gm-h2{font-size:clamp(32px,3.6vw,54px)}
.gm-exp__rows{border-top:1px solid var(--line)}
.gm-exp__row{display:grid;gap:6px;padding:clamp(16px,1.9vw,26px) 0;border-bottom:1px solid var(--line);position:relative;--wdth:92;color:var(--slate)}
.gm-exp__row::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--crimson);transform:scaleX(var(--on,0));transform-origin:0 50%}
.gm-exp__n{font-size:clamp(22px,2.55vw,38px);font-weight:750;letter-spacing:-.022em;line-height:1.05;font-variation-settings:"wdth" var(--wdth);white-space:nowrap}
.gm-exp__d{font-size:15.5px;color:var(--mute);line-height:1.35}

/* technology board */
.gm-tech{background:var(--stone);position:relative}
.gm-tech__pin{min-height:100svh;display:flex;align-items:center;padding-block:clamp(72px,9vw,110px)}
.gm-tech__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px clamp(32px,5vw,80px);align-items:center}
.gm-tech__copy{display:grid;gap:20px}
.gm-tech__copy .gm-h2{font-size:clamp(30px,3.3vw,50px)}
.gm-steps{display:grid;margin-top:6px;position:relative;padding-left:22px}
.gm-steps::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--line)}
.gm-steps::after{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--crimson);transform:scaleY(var(--p,0));transform-origin:50% 0}
.gm-step{padding:8px 0;color:var(--mute);transition:color .4s var(--ease)}
.gm-step__t{font-size:18px;font-weight:650;font-stretch:106%;letter-spacing:-.01em;line-height:1.25}
.gm-step__d{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease);font-size:15.5px;line-height:1.45}
.gm-step__d span{overflow:hidden;min-height:0}
.gm-step.is-on{color:var(--slate)}
.gm-step.is-on .gm-step__t{color:var(--crimson)}
.gm-step.is-on .gm-step__d{grid-template-rows:1fr}
.gm-board-stage{perspective:1600px}
.gm-board{background:var(--white);border-radius:10px;box-shadow:0 40px 80px -40px rgba(22,27,33,.45),0 0 0 1px var(--line);overflow:hidden;transform-style:preserve-3d;will-change:transform}
.gm-board__top{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--slate-deep);color:var(--white);font-size:14px}
.gm-board__title{font-weight:700;font-stretch:112%}
.gm-board__tag{font-size:12px;font-weight:600;font-stretch:88%;padding:3px 8px;border-radius:3px;background:rgba(255,255,255,.12);color:var(--on-dark-mute)}
.gm-board__live{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--on-dark-mute)}
.gm-board__live i{width:8px;height:8px;border-radius:50%;background:var(--ember);animation:gm-blink 1.6s ease-in-out infinite}
@keyframes gm-blink{50%{opacity:.25}}
.gm-board__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line)}
.gm-w{background:var(--white);padding:16px 18px 18px;display:grid;gap:12px;align-content:start;min-width:0;position:relative}
.gm-w::after{content:"";position:absolute;inset:0;background:var(--white);opacity:calc(.62*(1 - var(--live,1)));pointer-events:none}
.gm-w h4{font-size:13px;font-weight:650;font-stretch:90%;color:var(--mute);display:flex;justify-content:space-between;gap:8px}
.gm-w h4 span{font-weight:500}
.gm-w--sched{grid-column:span 6}
.gm-w--proc,.gm-w--comp{grid-column:span 3}
.gm-w--qc,.gm-w--crew,.gm-w--rep{grid-column:span 2}
.gm-gantt{display:grid;gap:7px;position:relative}
.gm-gantt__row{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:10px;font-size:13px;line-height:1.2}
.gm-gantt__track{height:14px;background:var(--stone);border-radius:2px;position:relative;overflow:hidden}
.gm-gantt__track i{position:absolute;top:0;bottom:0;left:calc(var(--s)*1%);width:calc((var(--e) - var(--s))*1%);background:var(--slate);border-radius:2px;transform-origin:0 50%}
.gm-gantt__row:nth-child(3) .gm-gantt__track i{background:var(--crimson)}
.gm-gantt__row:nth-child(4) .gm-gantt__track i{background:repeating-linear-gradient(90deg,var(--slate-mid) 0 10px,transparent 10px 16px)}
.gm-gantt__now{position:absolute;top:-4px;bottom:-4px;left:calc(114px + (100% - 114px)*var(--now,.58));width:2px;background:var(--ember)}
.gm-gantt__now::before{content:"Today";position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:10.5px;font-weight:600;color:var(--ember);padding-bottom:1px}
.gm-proc{display:grid;gap:10px}
.gm-proc li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;font-size:13px;line-height:1.2}
.gm-proc li > span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gm-chip{position:relative;display:inline-grid;font-style:normal;font-size:11.5px;font-weight:600;line-height:1}
.gm-chip b{grid-area:1/1;padding:4px 8px;border-radius:3px;background:var(--stone);color:var(--mute);font-weight:600;justify-self:end;white-space:nowrap}
.gm-chip b + b{background:var(--crimson);color:var(--white)}
.gm-proc__bar{grid-column:1/-1;height:3px;background:var(--stone);position:relative}
.gm-proc__bar i{position:absolute;inset:0;background:var(--slate);transform-origin:0 50%}
.gm-checks{display:grid;gap:9px;font-size:13px;line-height:1.2}
.gm-checks li{display:flex;align-items:center;gap:10px}
.gm-checks svg{width:17px;height:17px;flex:none;fill:none;stroke-width:2}
.gm-checks rect{stroke:var(--line)}
.gm-checks path{stroke:var(--crimson);stroke-linecap:round;stroke-linejoin:round}
.gm-qc{display:flex;align-items:center;gap:12px}
.gm-qc svg{width:64px;height:64px;flex:none;transform:rotate(-90deg)}
.gm-qc circle{fill:none;stroke-width:7}
.gm-qc circle:first-child{stroke:var(--stone)}
.gm-qc circle:last-child{stroke:var(--crimson);stroke-linecap:butt}
.gm-num{font-size:26px;font-weight:800;font-stretch:112%;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.gm-cap{font-size:12px;color:var(--mute);line-height:1.25;display:block;margin-top:4px}
.gm-crew{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-width:150px}
.gm-crew i{aspect-ratio:1;border-radius:50%;background:var(--stone);position:relative;overflow:hidden}
.gm-crew i::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--slate);transform:scale(var(--f,1))}
.gm-bars{display:flex;align-items:flex-end;gap:6px;height:62px}
.gm-bars i{flex:1;height:calc(var(--h)*1%);background:var(--slate);transform-origin:50% 100%;border-radius:1px}
.gm-bars i:last-child{background:var(--crimson)}
.gm-toast{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:7px;color:var(--slate)}
.gm-toast::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--crimson)}

@media (min-width:901px) and (max-height:800px){
  .gm-tech__pin{padding-block:72px 20px}
  .gm-board-stage{transform:scale(.84);transform-origin:50% 50%}
  .gm-tech__copy{gap:14px}
  .gm-step{padding:6px 0}
}

/* dome transition */
.gm-domewrap{background:var(--behind,var(--white))}
.gm-domewrap--stone{--behind:var(--stone)}
.gm-dome{position:relative;overflow:hidden;border-radius:50% 50% 0 0 / var(--arch,0px) var(--arch,0px) 0 0}

/* coverage map */
.gm-map{background:var(--slate-deep);color:var(--on-dark);min-height:min(100svh,920px);display:flex}
.gm-map__cv{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}
.gm-map::before{content:"";position:absolute;inset:0 auto 0 0;width:min(46%,680px);background:linear-gradient(90deg,var(--slate-deep) 62%,rgba(22,27,33,0));z-index:1;pointer-events:none}
.gm-map__in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:32px clamp(32px,5vw,72px);padding-block:clamp(90px,10vw,140px) clamp(40px,5vw,64px);pointer-events:none;align-items:start}
.gm-map__copy{display:grid;gap:20px;pointer-events:auto}
.gm-map__copy .gm-h2{font-size:clamp(32px,3.5vw,52px);color:var(--white)}
.gm-map__copy .gm-lede{color:var(--on-dark-mute)}
.gm-regions{display:grid;margin-top:8px;border-top:1px solid var(--on-dark-line)}
.gm-region{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;padding:13px 0 13px 0;border-bottom:1px solid var(--on-dark-line);color:var(--on-dark-mute);font-size:17px;font-weight:600;font-stretch:104%;position:relative;transition:color .4s var(--ease),padding-left .5s var(--ease)}
.gm-region::before{content:"";position:absolute;left:0;top:50%;width:10px;height:10px;margin-top:-5px;background:var(--ember);transform:scale(0) rotate(45deg);transition:transform .5s var(--ease)}
.gm-region em{font-style:normal;font-size:13.5px;font-weight:500;font-stretch:90%;opacity:.75;white-space:nowrap}
.gm-region[aria-selected="true"]{color:var(--white);padding-left:24px}
.gm-region[aria-selected="true"]::before{transform:scale(1) rotate(45deg)}
@media (hover:hover){.gm-region:hover{color:var(--white)}}
.gm-map__panel{pointer-events:auto;align-self:end;display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:18px 36px;align-items:start;padding-top:20px;border-top:1px solid var(--on-dark-line)}
.gm-map__rname{font-size:19px;font-weight:800;font-stretch:115%;letter-spacing:-.015em;color:var(--white);line-height:1.1}
.gm-map__states{font-size:13.5px;line-height:1.45;color:var(--on-dark-mute);margin-top:8px}
.gm-map__hubs{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:16px 18px}
.gm-map__hubs li{display:grid;gap:3px;min-width:0}
.gm-map__hubs b{font-size:23px;font-weight:800;font-stretch:112%;letter-spacing:-.02em;line-height:1;color:var(--white);font-variant-numeric:tabular-nums;white-space:nowrap}
.gm-map__hubs b small{font-size:13px;font-weight:600;font-stretch:90%;letter-spacing:0;color:var(--ember);margin-left:4px}
.gm-map__hubs span{font-size:13.5px;color:var(--on-dark-mute);line-height:1.25}
.gm-map__note{font-size:12.5px;color:var(--on-dark-mute);line-height:1.35;grid-column:1/-1}

/* vendor carousel */
.gm-net{background:var(--white);padding-block:clamp(80px,10vw,140px) clamp(70px,8vw,110px);overflow:hidden}
.gm-net__head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:end;gap:20px 60px;margin-bottom:clamp(30px,4vw,56px)}
.gm-net__head .gm-h2{font-size:clamp(30px,3.6vw,54px);max-width:12em}
.gm-ring{position:relative;height:var(--rh,230px);perspective:var(--rp,1100px);perspective-origin:50% 50%;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.gm-ring.is-drag{cursor:grabbing}
.gm-ring__spin{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}
.gm-plate{position:absolute;left:calc(var(--pw,230px)/-2);top:calc(var(--ph,140px)/-2);width:var(--pw,230px);height:var(--ph,140px);background:var(--white);border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.gm-plate img{max-width:62%;max-height:52%;width:auto;height:auto;pointer-events:none;-webkit-user-drag:none}
.gm-ring::before,.gm-ring::after{content:"";position:absolute;top:-40px;bottom:-40px;width:14%;z-index:2;pointer-events:none}
.gm-ring::before{left:0;background:linear-gradient(90deg,var(--white),rgba(255,255,255,0))}
.gm-ring::after{right:0;background:linear-gradient(270deg,var(--white),rgba(255,255,255,0))}
.gm-net__foot{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:clamp(26px,3vw,40px);font-size:15px;color:var(--mute)}
.gm-net__name{font-weight:700;font-stretch:110%;color:var(--slate);min-width:14em;text-align:center}
.gm-net__arrow{width:44px;height:44px;border-radius:4px;border:1px solid var(--line);display:grid;place-items:center;transition:background-color .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
.gm-net__arrow svg{width:14px;height:14px}
@media (hover:hover){.gm-net__arrow:hover{background:var(--slate);color:var(--white);border-color:var(--slate)}}

/* call to action */
.gm-cta{background:var(--crimson);color:var(--white);padding-block:clamp(110px,13vw,190px) clamp(64px,8vw,110px)}
.gm-cta__mane{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gm-cta__in{position:relative;z-index:1;display:grid;gap:clamp(26px,3vw,40px);justify-items:start}
.gm-cta__h{font-size:clamp(44px,7.6vw,124px);line-height:.93;max-width:9em;text-wrap:balance}
.gm-cta__p{font-size:clamp(18px,1.6vw,23px);line-height:1.42;max-width:26em;color:rgba(255,255,255,.9)}
.gm-cta__row{display:flex;gap:14px;flex-wrap:wrap}
.gm-cta__meta{display:flex;gap:10px 44px;flex-wrap:wrap;margin-top:clamp(20px,4vw,60px);padding-top:22px;border-top:1px solid rgba(255,255,255,.25);width:100%;font-size:15.5px}
.gm-cta__meta dt{font-size:13.5px;font-stretch:88%;font-weight:600;opacity:.75}
.gm-cta__meta dd{margin:2px 0 0;font-weight:600}
.gm-cta__meta div{min-width:0}
.gm-cta__meta a{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat}

/* footer */
.gm-foot{background:var(--white);padding-block:clamp(48px,6vw,84px) 26px}
.gm-foot__grid{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr));gap:40px 32px}
.gm-foot__brand{display:grid;gap:18px;align-content:start;justify-items:start}
.gm-foot__logo img{width:190px;height:auto;max-height:190px;object-fit:contain;object-position:0 50%}
.gm-foot__text{font-size:15px;color:var(--mute);max-width:24em}
.gm-foot__social{display:flex;gap:8px}
.gm-foot__social a{width:40px;height:40px;border:1px solid var(--line);border-radius:4px;display:grid;place-items:center;transition:background-color .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
.gm-foot__social svg{width:18px;height:18px}
@media (hover:hover){.gm-foot__social a:hover{background:var(--slate);border-color:var(--slate);color:var(--white)}}
.gm-foot__facts{display:flex;flex-wrap:wrap;gap:6px 22px}
.gm-foot__h{font-size:14px;font-weight:650;font-stretch:90%;color:var(--mute);margin-bottom:14px}
.gm-foot__col ul{display:grid;gap:9px;font-size:16px;font-weight:500}
.gm-foot__col a{background:linear-gradient(var(--crimson),var(--crimson)) 0 100%/0 1.5px no-repeat;transition:background-size .45s var(--ease),color .3s;padding-bottom:2px}
@media (hover:hover){.gm-foot__col a:hover{background-size:100% 1.5px;color:var(--crimson)}}
.gm-foot__base{display:flex;justify-content:space-between;gap:10px 30px;flex-wrap:wrap;margin-top:clamp(40px,5vw,72px);padding-top:20px;border-top:1px solid var(--line);font-size:14px;color:var(--mute)}

/* pointer label */
.gm-cur{position:fixed;left:0;top:0;z-index:150;pointer-events:none;padding:8px 12px;border-radius:4px;background:var(--white);color:var(--slate);font-size:13px;font-weight:650;font-stretch:92%;line-height:1;box-shadow:0 8px 24px -10px rgba(0,0,0,.5);opacity:0;white-space:nowrap}

/* responsive */
@media (max-width:1100px){
  .gm-nav__a{padding-inline:8px;font-size:14.5px}
  .gm-head__bar{gap:16px}
}
@media (max-width:900px){
  :root{--head-h:60px}
  .gm-nav,.gm-head__actions{display:none}
  .gm-burger{display:block}
  .gm-logo__mark{height:var(--logo-hm)}
  .gm-logo__word{height:calc(var(--logo-hm)*.421)}
  .gm-head__bar{padding:0 8px 0 12px}
  .gm-hero{min-height:min(100svh,820px);padding-top:calc(var(--head-h) + 34vh)}
  .gm-hero__h{font-size:clamp(44px,14.2vw,96px);--wdth:108}
  .gm-hero__rail span:nth-child(2){display:none}
  .gm-say__grid{grid-template-columns:minmax(0,1fr)}
  .gm-say__k{padding-top:0}
  .gm-say__more{grid-column:1}
  .gm-exp__grid,.gm-tech__grid{grid-template-columns:minmax(0,1fr)}
  .gm-exp__copy{position:static}
  .gm-exp__n{white-space:normal}
  .gm-tech__pin{min-height:0}
  .gm-step__d{grid-template-rows:1fr}
  .gm-step{color:var(--slate)}
  .gm-steps::after{display:none}
  .gm-w--proc,.gm-w--comp{grid-column:span 6}
  .gm-w--qc,.gm-w--crew,.gm-w--rep{grid-column:span 3}
  .gm-w--rep{grid-column:span 6}
  .gm-map{display:flex;flex-direction:column;min-height:0;padding-block:clamp(84px,18vw,120px) 52px}
  .gm-map::before{display:none}
  .gm-map__in,.gm-map__copy{display:contents}
  .gm-map__copy > .gm-h2,.gm-map__copy > .gm-lede,.gm-map__panel{margin-inline:var(--gut);pointer-events:auto}
  .gm-map__copy > .gm-h2{order:1}
  .gm-map__copy > .gm-lede{order:2;margin-top:18px}
  .gm-map__cv{order:3;position:relative;inset:auto;height:min(80vw,440px);margin-block:6px 10px;flex:none}
  .gm-regions{order:4;pointer-events:auto}
  .gm-map__panel{order:5;margin-top:22px}
  .gm-map__panel{grid-template-columns:minmax(0,1fr);border-top:0;padding-top:0}
  .gm-regions{display:flex;gap:8px;overflow-x:auto;border:0;margin:0;padding-inline:var(--gut);scrollbar-width:none;padding-bottom:4px}
  .gm-regions::-webkit-scrollbar{display:none}
  .gm-region{width:auto;flex:none;border:1px solid var(--on-dark-line);border-radius:4px;padding:10px 14px;font-size:15px;white-space:nowrap}
  .gm-region em{display:none}
  .gm-region::before{display:none}
  .gm-region[aria-selected="true"]{padding-left:14px;background:var(--white);color:var(--slate-deep);border-color:var(--white)}
  .gm-col__head,.gm-net__head{grid-template-columns:minmax(0,1fr)}
  .gm-foot__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .gm-foot__brand{grid-column:1/-1}
  .gm-net__name{min-width:0;flex:1}
}
@media (max-width:560px){
  body{font-size:16px}
  .gm-hero__cta{gap:18px}
  .gm-gantt__row{grid-template-columns:84px minmax(0,1fr);font-size:12px}
  .gm-gantt__now{left:calc(94px + (100% - 94px)*var(--now,.58))}
  .gm-w{padding:14px}
  .gm-w--sched h4 span{display:none}
  .gm-w--qc,.gm-w--crew{grid-column:span 3}
  .gm-qc{flex-direction:column;align-items:flex-start}
  .gm-cta__row .gm-btn{flex:1 1 auto;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){
  .gm-hero__scroll i::after,.gm-board__live i{animation:none}
  *{transition-duration:.01ms!important}
}

/* ==========================================================================
   Theme additions (v1.0.0). Everything above is the approved homepage design.
   ========================================================================== */

/* display font follows the Headings setting wherever the wide heavy style is used */
.gm-pillar__h,.gm-pillar__name,.gm-exp__n,.gm-step__t,.gm-board__title,.gm-num,.gm-map__rname,.gm-map__hubs b,.gm-net__name,.gm-region{font-family:var(--fd)}

.gm-skip{position:fixed;left:16px;top:-80px;z-index:300;background:var(--slate-deep);color:var(--white);padding:12px 16px;border-radius:4px;font-weight:600;transition:top .3s var(--ease)}
.gm-skip:focus{top:16px}
.admin-bar .gm-head{top:32px}
@media (max-width:782px){.admin-bar .gm-head{top:46px}}
@media (max-width:600px){.admin-bar .gm-head{top:0}}

/* header: second button, and the compact state used when the menu does not fit */
.gm-btn--ghost{background:transparent;color:var(--slate);box-shadow:inset 0 0 0 1.5px var(--line)}
.gm-btn--ghost .gm-btn__ico{background:var(--stone)}
@media (hover:hover){.gm-btn--ghost:hover{color:var(--white)}.gm-btn--ghost:hover .gm-btn__ico{background:rgba(255,255,255,.16)}}
.gm-head.is-snug .gm-head__bar{gap:16px}
.gm-head.is-snug .gm-nav__list{gap:2px}
.gm-head.is-snug .gm-nav__a{padding-inline:8px;font-size:14.5px}
.gm-head.is-snug .gm-btn--sm{padding:11px 10px 11px 14px;gap:8px;font-size:14.5px}
.gm-head.is-tight .gm-head__actions .gm-btn--ghost{display:none}
.gm-head.is-compact .gm-nav,.gm-head.is-compact .gm-head__actions{display:none}
.gm-head.is-compact .gm-burger{display:block}
.gm-head.is-measuring .gm-nav,.gm-head.is-measuring .gm-head__actions{display:flex;visibility:hidden}
.gm-head.is-measuring .gm-burger{display:none}
button.gm-btn{cursor:pointer;border:0;font-family:inherit}

/* compact hero for inner pages */
.gm-hero--sub{min-height:0;padding-top:calc(var(--head-h) + clamp(84px,11vw,150px));border-bottom:1px solid var(--line)}
.gm-hero--sub .gm-hero__h{font-size:clamp(38px,5.4vw,86px)}
.gm-hero--sub .gm-hero__in{padding-bottom:clamp(36px,5vw,64px)}
.gm-hero--sub .gm-hero__foot{margin-top:clamp(18px,2.4vw,32px)}
.gm-hero--plain .gm-hero__h{font-size:clamp(32px,4.4vw,70px);max-width:17em;text-wrap:balance}
.gm-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;font-weight:500;font-stretch:88%;color:var(--mute);margin-bottom:clamp(18px,2.4vw,30px)}
.gm-crumbs p{display:contents}
.gm-crumbs a{color:var(--slate);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .4s var(--ease)}
.gm-crumbs i{width:14px;height:1.5px;background:var(--line)}
.gm-crumbs [aria-current],.gm-crumbs .last{color:var(--crimson)}
@media (hover:hover){.gm-crumbs a:hover{background-size:100% 1px}}

/* contact page */
.gm-contact{padding-block:clamp(56px,7vw,110px) clamp(72px,9vw,130px);background:var(--white)}
.gm-contact__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px clamp(32px,6vw,96px);align-items:start}
.gm-contact__side{display:grid;gap:24px;position:sticky;top:110px}
.gm-contact__h{font-size:clamp(28px,3vw,44px)}
.gm-contact__dl{display:grid;border-top:1px solid var(--line);margin:0}
.gm-contact__dl div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:baseline}
.gm-contact__dl dt{font-size:14px;font-weight:600;font-stretch:88%;color:var(--mute)}
.gm-contact__dl dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.gm-contact__dl a{background:linear-gradient(var(--crimson),var(--crimson)) 0 100%/100% 1.5px no-repeat;transition:color .3s var(--ease)}
@media (hover:hover){.gm-contact__dl a:hover{color:var(--crimson)}}
.gm-contact__sub{font-family:var(--fd);font-size:20px;font-weight:800;font-stretch:115%;letter-spacing:-.015em;margin-top:8px}
.gm-next{display:grid;counter-reset:gmnext}
.gm-next__i{display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 16px;padding:12px 0;counter-increment:gmnext}
.gm-next__n{grid-row:1/3;width:34px;height:34px;border-radius:4px;background:var(--slate);color:var(--white);display:grid;place-items:center;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}
.gm-next__n::before{content:counter(gmnext)}
.gm-next__t{font-weight:700;font-stretch:106%;line-height:1.3}
.gm-next__d{font-size:15.5px;color:var(--mute);line-height:1.45}
.gm-contact__form{background:var(--stone);border-radius:10px;padding:clamp(18px,3vw,40px);min-width:0}

/* forms */
.gm-forms__tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--white);border-radius:6px;padding:4px;margin-bottom:26px}
.gm-forms__tab{position:relative;z-index:1;padding:12px 8px;font-weight:650;font-size:15px;line-height:1.2;border-radius:4px;color:var(--mute);transition:color .4s var(--ease)}
.gm-forms__tab[aria-selected="true"]{color:var(--white)}
.gm-forms__ink{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);background:var(--slate);border-radius:4px;transition:transform .55s var(--ease)}
.gm-forms[data-active="quote"] .gm-forms__ink{transform:translateX(100%)}
.gm-form{position:relative}
.gm-form__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 16px}
.gm-field{grid-column:1/-1;display:grid;gap:7px;min-width:0}
.gm-field--half{grid-column:auto}
.gm-field label{font-size:14.5px;font-weight:600;line-height:1.3}
.gm-field__opt{font-weight:400;color:var(--mute);font-size:13px}
.gm-field input,.gm-field select,.gm-field textarea{width:100%;font:inherit;font-size:16px;line-height:1.4;color:var(--slate);background-color:var(--white);border:1px solid var(--line);border-radius:5px;padding:13px 14px;transition:border-color .3s var(--ease),box-shadow .3s var(--ease);-webkit-appearance:none;appearance:none}
.gm-field textarea{resize:vertical;min-height:130px}
.gm-field select{background-image:linear-gradient(45deg,transparent 50%,var(--slate) 50%),linear-gradient(135deg,var(--slate) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.gm-field input:focus,.gm-field select:focus,.gm-field textarea:focus{outline:none;border-color:var(--slate);box-shadow:0 0 0 3px color-mix(in srgb,var(--slate) 16%,transparent)}
.gm-field.is-bad input,.gm-field.is-bad select,.gm-field.is-bad textarea{border-color:var(--crimson)}
.gm-field__err{font-size:13.5px;color:var(--crimson);font-weight:500;line-height:1.3}
.gm-form__hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.gm-form__captcha{margin-top:18px}
.gm-form__foot{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap;margin-top:24px}
.gm-form__consent{font-size:13.5px;color:var(--mute);max-width:26em;line-height:1.4}
.gm-form__status{margin-top:14px;font-weight:600;font-size:15px;min-height:1px}
.gm-form__status.is-bad{color:var(--crimson)}
.gm-form.is-sending .gm-btn{opacity:.6;pointer-events:none}
.gm-form__done{display:grid;justify-items:start;gap:16px;padding:8px 0 4px}
.gm-form__done svg{width:56px;height:56px;fill:none;stroke:var(--crimson);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.gm-form__donet{font-size:clamp(20px,2vw,26px);font-weight:700;font-stretch:108%;letter-spacing:-.01em;line-height:1.25;max-width:20em}
.gm-form.is-done > :not(.gm-form__done){display:none}

/* ordinary pages and posts */
.gm-doc{padding-block:clamp(48px,6vw,90px) clamp(72px,9vw,130px);background:var(--white)}
.gm-doc__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.gm-doc__grid.has-toc{grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:40px clamp(32px,6vw,96px)}
.gm-toc{position:sticky;top:110px;align-self:start;border-top:2px solid var(--slate);padding-top:16px}
.gm-toc__h{font-size:14px;font-weight:650;font-stretch:90%;color:var(--mute);margin-bottom:10px}
.gm-toc ol{display:grid;gap:8px;font-size:15.5px;font-weight:500;line-height:1.35}
.gm-toc a{transition:color .3s var(--ease)}
@media (hover:hover){.gm-toc a:hover{color:var(--crimson)}}
.gm-prose{max-width:70ch;font-size:calc(var(--fs) + 1px);line-height:1.65;min-width:0;overflow-wrap:break-word}
.gm-prose > *{margin:0 0 1.1em}
.gm-prose > :last-child{margin-bottom:0}
.gm-prose h2{font-family:var(--fd);font-size:clamp(24px,2.4vw,34px);font-weight:800;font-stretch:118%;letter-spacing:-.02em;line-height:1.1;margin:1.9em 0 .55em;scroll-margin-top:110px}
.gm-prose h3{font-size:clamp(20px,1.8vw,24px);font-weight:750;font-stretch:108%;letter-spacing:-.01em;line-height:1.2;margin:1.6em 0 .5em}
.gm-prose h4{font-size:18px;font-weight:700;margin:1.4em 0 .4em}
.gm-prose > :first-child{margin-top:0}
.gm-prose ul,.gm-prose ol{padding-left:1.3em;display:grid;gap:.45em}
.gm-prose ul{list-style:square}
.gm-prose ol{list-style:decimal}
.gm-prose li::marker{color:var(--crimson)}
.gm-prose a{color:var(--crimson);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.gm-prose blockquote{margin-inline:0;padding:4px 0 4px 20px;border-left:3px solid var(--crimson);font-size:1.1em;font-weight:500}
.gm-prose img{height:auto;border-radius:6px}
.gm-prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.gm-prose table{width:100%;border-collapse:collapse;font-size:.92em;display:block;overflow-x:auto}
.gm-prose th,.gm-prose td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.gm-prose th{font-weight:650;font-stretch:92%}
.gm-posts{display:grid;max-width:900px;margin-inline:auto}
.gm-post{padding:26px 0;border-bottom:1px solid var(--line);display:grid;gap:8px}
.gm-post__date{font-size:14px;font-weight:600;font-stretch:88%;color:var(--mute)}
.gm-post__h{font-family:var(--fd);font-size:clamp(22px,2.4vw,32px);font-weight:800;font-stretch:115%;letter-spacing:-.02em;line-height:1.1}
.gm-post__h a{transition:color .3s var(--ease)}
@media (hover:hover){.gm-post__h a:hover{color:var(--crimson)}}
.gm-post__x{color:var(--mute);max-width:60ch}
.gm-pager{margin-top:30px}
.gm-pager .nav-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.gm-pager .page-numbers{min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:4px;display:inline-grid;place-items:center;font-weight:600}
.gm-pager .page-numbers.current{background:var(--slate);border-color:var(--slate);color:var(--white)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:900px){
  .gm-contact__grid{grid-template-columns:minmax(0,1fr)}
  .gm-contact__side{position:static}
  .gm-doc__grid.has-toc{grid-template-columns:minmax(0,1fr)}
  .gm-toc{position:static}
  .gm-hero--sub{padding-top:calc(var(--head-h) + clamp(76px,22vw,120px))}
  .gm-hero--sub .gm-hero__h{font-size:clamp(36px,11vw,72px)}
  .gm-hero--plain .gm-hero__h{font-size:clamp(30px,8.6vw,56px)}
}
@media (max-width:560px){
  .gm-form__grid{grid-template-columns:minmax(0,1fr)}
  .gm-field--half{grid-column:1/-1}
  .gm-contact__dl div{grid-template-columns:84px minmax(0,1fr)}
  .gm-form__foot .gm-btn{width:100%;justify-content:space-between}
}

.gm-main{display:block}
.gm-hero--404{border-bottom:0;padding-bottom:clamp(40px,6vw,90px)}
.gm-forms__panel{min-width:0}
