/* Integration 01: the Sims Material Overlay landing-page header and hero. */
@font-face{font-family:GCH-Cinzel;src:url('/assets/cinzel-latin.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:GCH-Montserrat;src:url('/assets/montserrat-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
.gch-integrated-home{scroll-padding-top:108px}
.gch-integrated-home #work,.gch-integrated-home #the-gregerson-way{scroll-margin-top:120px}
.gch-hero-header{position:fixed;inset:0 0 auto;z-index:30;background:transparent;border-bottom:1px solid #ffffff40;transition:background .25s ease;box-sizing:border-box}
.gch-hero-header.is-open{background:#0c2233}
.gch-hero-header.is-scrolled{background:#fff}
.gch-hero-header .gch-hero-logo .gch-logo-colored{display:none}
.gch-hero-header.is-scrolled .gch-hero-logo .gch-logo-white{display:none}
.gch-hero-header.is-scrolled .gch-hero-logo .gch-logo-colored{display:block}
.gch-hero-header.is-scrolled .gch-nav>a{color:#808285}
.gch-hero-header.is-scrolled .gch-hero-contact a{color:#0c2233}
.gch-hero-header.is-scrolled .gch-hero-contact .gch-hero-outline{border-color:#0c2233}
.gch-hero-header.is-scrolled .gch-hero-contact .gch-hero-outline:hover{color:#fff;background:#0c2233;border-color:#0c2233}
.gch-hero-header .gch-header__inner{width:100%;min-height:108px;margin:0;padding:20px;display:grid;grid-template-columns:minmax(200px,1fr) auto minmax(340px,1fr);align-items:center;gap:20px;box-sizing:border-box}
.gch-hero-logo{display:block;width:200px;line-height:0;transform:translateY(-7px)}
.gch-hero-logo img{display:block;width:100%;height:auto}
.gch-hero-header .gch-nav{order:0;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:clamp(18px,1.6vw,30px);padding:0}
.gch-hero-header .gch-nav>a{padding:10px 0;border:0;color:#fff;font:400 14px/1.3 GCH-Montserrat,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-decoration:none;cursor:pointer}
.gch-hero-header .gch-nav>a:hover{text-decoration:underline;text-underline-offset:6px}
.gch-hero-contact{display:flex;justify-content:flex-end;align-items:center;gap:24px;transform:translateY(-3px)}
.gch-hero-contact a{color:#fff;text-decoration:none;white-space:nowrap;font:500 12px/1.4 GCH-Montserrat,Arial,sans-serif}
.gch-hero-outline{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 29px;border:1px solid #fff;border-radius:2px;background:transparent;color:#fff;text-decoration:none;font:600 12px/1.2 GCH-Montserrat,Arial,sans-serif;text-transform:uppercase;box-sizing:border-box;transition:background .2s ease}
.gch-hero-outline:hover{background:#2e97bf;color:#fff;border-color:transparent;transition:background .5s ease-in}
.gch-hero-contact .gch-hero-outline{min-height:38px;padding-inline:12px;font-size:11px;font-weight:600}
.gch-hero-contact .gch-hero-outline:hover{color:#fff;background:#2e97bf}
.gch-hero-header .gch-menu{display:none}
.gch-hero-header .gch-hero-mobile-phone{display:none}
.gch-hero{position:relative;isolation:isolate;background:#0c2233;color:#fff;overflow:hidden}
.gch-hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.15) translateY(-15px);transform-origin:center top;animation:gch-hero-zoom 5s ease-out both}
.gch-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:#0006;pointer-events:none}
.gch-hero-copy{min-height:600px;height:100vh;height:100svh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:110px 24px;text-align:center}
.gch-hero-copy h1{margin:0;color:#fff;font:400 60px/1.2 GCH-Cinzel,Georgia,serif;letter-spacing:0;text-wrap:balance}
.gch-hero-copy p{margin:0;color:#fff;font:300 24px/1.3 GCH-Montserrat,Arial,sans-serif;text-wrap:balance}
.gch-hero-copy .gch-hero-outline{margin-top:50px;min-width:152px}
.gch-hero-copy>h1,.gch-hero-copy>p,.gch-hero-copy>.gch-hero-outline{animation:gch-hero-entrance 1s ease both}
.gch-hero-scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:58px;color:#fff}
.gch-hero-scroll>span{display:block;width:25px;height:48px;border:2px solid #ffffffb3;border-radius:16px;position:relative}
.gch-hero-scroll>span::before{content:"";position:absolute;top:10px;left:11px;width:3px;height:10px;background:#ffffffb3;animation:gch-hero-scroll 2.2s cubic-bezier(.15,.41,.69,.94) infinite}
.gch-hero-scroll:focus-visible,.gch-hero-outline:focus-visible{outline:2px solid #fff;outline-offset:5px}
@keyframes gch-hero-zoom{from{transform:scale(1) translateY(0);transform-origin:50% 16%}to{transform:scale(1.15) translateY(-15px);transform-origin:center top}}
@keyframes gch-hero-entrance{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes gch-hero-scroll{0%{opacity:0}10%{transform:translateY(0);opacity:1}100%{transform:translateY(22px);opacity:0}}
/* The longer page names use the mobile menu before they crowd the contact area. */
@media(max-width:1399px){
  .gch-hero-header .gch-header__inner{min-height:90px;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:18px 24px}
  .gch-hero-header .gch-hero-contact{display:none}
  .gch-hero-header.is-scrolled .gch-menu{border-color:#808285;color:#808285}
  .gch-hero-header.is-scrolled .gch-nav>a{color:#fff}
  .gch-hero-logo{transform:none}
  .gch-hero-header .gch-nav{grid-column:1/-1;flex-wrap:wrap;margin-top:8px}
  .gch-hero-header.js-menu .gch-nav{display:none}
  .gch-hero-header.js-menu .gch-menu{position:static;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid #ffffffb3;border-radius:2px;background:transparent;color:#fff;font:500 14px GCH-Montserrat,Arial,sans-serif;cursor:pointer}
  .gch-hero-header.js-menu.is-open .gch-nav{display:flex;position:absolute;inset:100% 0 auto;max-height:calc(100svh - 90px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:12px 24px 24px;background:#0c2233;box-sizing:border-box}
  .gch-hero-header.js-menu.is-open .gch-nav>a{padding:14px 0;font-size:14px;border-bottom:1px solid #ffffff26}
  .gch-hero-header.js-menu.is-open .gch-hero-mobile-phone{display:block}
  .gch-hero-copy h1{font-size:clamp(36px,5vw,54px)}
  .gch-hero-copy p{max-width:46ch;font-size:21px}
}
@media(max-width:600px){
  .gch-hero-header .gch-header__inner{min-height:84px;padding:18px 20px;gap:12px}
  .gch-hero-logo{width:min(180px,100%)}
  .gch-hero-header.js-menu.is-open .gch-nav{max-height:calc(100svh - 84px);padding-inline:20px}
  .gch-hero-copy{min-height:580px;padding:120px 20px}
  .gch-hero-copy h1{font-size:clamp(28px,7.2vw,40px);line-height:1.3}
  .gch-hero-copy p{max-width:34ch;margin-top:18px;font-size:18px;line-height:1.6}
  .gch-hero-copy .gch-hero-outline{margin-top:32px;min-height:48px;font-size:13px}
  .gch-hero-scroll{bottom:24px}
}
@media(max-width:768px){
  .gch-hero-header,.gch-hero-header.is-open{position:relative;background:#fff}
  .gch-hero-header .gch-hero-logo .gch-logo-white{display:none}
  .gch-hero-header .gch-hero-logo .gch-logo-colored{display:block}
  .gch-hero-header.js-menu .gch-menu{border-color:#808285;color:#808285}
  .gch-hero-header.js-menu.is-open .gch-nav{background:#3d3d3d}
  .gch-hero-header.js-menu.is-open .gch-nav>a:hover{background:#57abcb}
  .gch-hero-photo{animation:none;transform:none}
  .gch-hero-scroll{display:none}
  .gch-hero-copy{height:auto;min-height:700px}
  .gch-hero-copy h1{font-size:36px;line-height:35px}
}
/* Integration 02: the selected introduction and three featured homes. */
.gch-featured{padding:90px 24px;background:#fff;color:#15283e;font:400 16px/normal GCH-Montserrat,Arial,sans-serif}
.gch-featured p{line-height:1.7}
.gch-featured-inner{max-width:1230px;margin:0 auto}
.gch-featured h2,.gch-featured h3{font-family:GCH-Cinzel,Georgia,serif;font-weight:400;color:#15283e;line-height:1.3;letter-spacing:0}
.gch-featured h2{font-size:30px;margin:12px 0 30px}
.gch-featured h3{font-size:22px;margin:10px 0 14px}
.gch-featured-overline{font-size:16px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;color:#666}
.gch-featured-lead{font-size:16px;line-height:1.7;max-width:860px;margin:0 0 30px;color:#666}
.gch-featured-actions{display:flex;gap:18px;flex-wrap:wrap;margin:25px 0 50px}
.gch-featured-button{display:inline-block;min-height:44px;border:1px solid #15283e;color:#2e97bf;background:transparent;padding:13px 22px;font:600 13px/normal GCH-Montserrat,Arial,sans-serif;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;box-sizing:border-box;transition:background .3s ease,color .3s ease}
.gch-featured-button:hover,.gch-featured-button:focus-visible{color:#fff;background:#15283e}
.gch-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 30px;margin:45px 0}
.gch-featured-card a{color:inherit;text-decoration:none}
.gch-featured-photo{position:relative;overflow:hidden;aspect-ratio:4/3;background:#eff1f2}
.gch-featured-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gch-featured-photo>span{position:absolute;inset:auto 0 0;background:#15283ee6;color:#fff;padding:18px;opacity:0;transform:translateY(15px);transition:opacity .3s ease,transform .3s ease}
.gch-featured-card:hover .gch-featured-photo img,.gch-featured-card:focus-within .gch-featured-photo img{transform:scale(1.05)}
.gch-featured-card:hover .gch-featured-photo>span,.gch-featured-card:focus-within .gch-featured-photo>span{opacity:1;transform:none}
.gch-featured-card .gch-featured-overline{margin-top:20px}
.gch-featured-card>p{font-size:15px;margin:15px 0;color:#666}
.gch-featured-all{color:#15283e;text-transform:uppercase;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.gch-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gch-featured{padding:60px 24px}.gch-featured h2{font-size:28px}.gch-featured-grid{grid-template-columns:1fr;gap:40px}}
@media(prefers-reduced-motion:reduce){
  .gch-hero-photo,.gch-hero-scroll>span::before,.gch-hero-copy>h1,.gch-hero-copy>p,.gch-hero-copy>.gch-hero-outline{animation:none}
  .gch-hero-header,.gch-hero-outline{transition:none}
  .gch-featured-photo img,.gch-featured-photo>span,.gch-featured-button{transition:none}
  .gch-featured-card:hover .gch-featured-photo img,.gch-featured-card:focus-within .gch-featured-photo img{transform:none}
}
