/* Design variant LP5: scoped to .ggp-lp5. */
.ggp-lp5{margin:0}
.ggp-lp5 a{color:#2F4A3F}
.ggp-lp5 a:hover{color:#172A24}
.ggp-lp5 .pg{font-family:'Atkinson Hyperlegible',sans-serif;font-size:19px;line-height:1.6;color:#172A24;background:#F4F1EA}
.ggp-lp5 .in{max-width:1200px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.ggp-lp5 h1,.ggp-lp5 h2,.ggp-lp5 h3{font-family:'Lexend',sans-serif;margin:0;font-weight:300;letter-spacing:-.01em}
.ggp-lp5 h2{font-size:52px;line-height:1.1}
.ggp-lp5 h3{font-size:24px;line-height:1.3;font-weight:400}
.ggp-lp5 .lbl{display:inline-flex;align-items:center;gap:12px;margin:0 0 28px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#2F4A3F}
.ggp-lp5 .lbl i{display:block;width:28px;height:2px;background:currentColor;border-radius:2px}
.ggp-lp5 .btn{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 28px;border-radius:999px;font-family:'Lexend',sans-serif;font-size:17px;text-decoration:none;border:0;cursor:pointer;box-sizing:border-box}
.ggp-lp5 .bDawn{background:#E9CFA6;color:#172A24}
.ggp-lp5 .bDawn:hover{background:#F0DBBA;color:#172A24}
.ggp-lp5 .bGhost{color:#F4F1EA;box-shadow:inset 0 0 0 1.5px rgba(244,241,234,.6)}
.ggp-lp5 .bGhost:hover{color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.ggp-lp5 .bInk{background:#172A24;color:#F4F1EA}
.ggp-lp5 .bInk:hover{background:#2F4A3F;color:#fff}
.ggp-lp5 .row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ggp-lp5 .top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;min-height:88px}
.ggp-lp5 .logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:#172A24}
.ggp-lp5 .logo b{display:block;font-family:'Lexend',sans-serif;font-weight:400;font-size:19px;letter-spacing:-.01em}
.ggp-lp5 .logo small{display:block;font-size:13px;color:#56635C;line-height:1.2}
.ggp-lp5 .links{display:flex;gap:30px;flex-wrap:wrap;font-size:16px}
.ggp-lp5 .links a{color:#3A4A43;text-decoration:none}
.ggp-lp5 .links a:hover{color:#172A24}
.ggp-lp5 .tools{display:flex;gap:4px}
.ggp-lp5 .tb{width:44px;height:44px;border-radius:50%;border:0;background:transparent;color:#2F4A3F;display:flex;align-items:center;justify-content:center;cursor:pointer;font:700 15px 'Atkinson Hyperlegible',sans-serif}
.ggp-lp5 .tb:hover{background:#E6DFD1}
.ggp-lp5 .heroWrap{padding:0 24px}
.ggp-lp5 .hero{position:relative;border-radius:36px;overflow:hidden;min-height:760px;color:#F4F1EA;display:flex;align-items:flex-end}
.ggp-lp5 .hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ggp-lp5 .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,42,36,.15) 0%,rgba(23,42,36,.25) 40%,rgba(23,42,36,.88) 100%)}
.ggp-lp5 .hpath{position:absolute;left:0;right:0;top:70px;width:100%;height:230px}
.ggp-lp5 .hc{position:relative;width:100%;max-width:1200px;margin:0 auto;padding:0 56px 64px;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:48px;align-items:end}
.ggp-lp5 .hero h1{font-size:92px;line-height:1.0;letter-spacing:-.025em}
.ggp-lp5 .hero h1 .ggp-h1-line{display:block;color:#E9CFA6}
.ggp-lp5 .hero .lead{font-size:21px;line-height:1.55;color:#E3E7E1;max-width:560px;margin:28px 0 36px}
.ggp-lp5 .short{background:rgba(244,241,234,.94);color:#172A24;border-radius:24px;padding:28px}
.ggp-lp5 .short p.t{margin:0 0 16px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#2F4A3F}
.ggp-lp5 .short ol{margin:0 0 20px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.ggp-lp5 .short li{display:flex;gap:14px;font-size:18px;line-height:1.4}
.ggp-lp5 .short li b{flex:none;width:28px;height:28px;border-radius:50%;background:#172A24;color:#E9CFA6;font:400 14px 'Lexend',sans-serif;display:flex;align-items:center;justify-content:center}
.ggp-lp5 .play{display:inline-flex;white-space:nowrap;align-items:center;gap:12px;min-height:48px;padding:0 18px 0 8px;border-radius:999px;border:0;background:#DDE6DC;color:#172A24;font:400 16px 'Lexend',sans-serif;cursor:pointer}
.ggp-lp5 .play .ggp-play-ico{flex:none;width:34px;height:34px;border-radius:50%;background:#172A24;display:flex;align-items:center;justify-content:center}
.ggp-lp5 .play .pencil-button__text,.ggp-lp5 .play .pencil-text{flex:none;white-space:nowrap}
.ggp-lp5 .doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;padding:24px 24px 0}
.ggp-lp5 .door{position:relative;border-radius:36px;padding:48px;min-height:300px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;gap:24px;text-decoration:none;color:#172A24;overflow:hidden}
.ggp-lp5 .door:hover{color:#172A24}
.ggp-lp5 .door.a{background:#DDE6DC}
.ggp-lp5 .door.b{background:#E6DFD1}
.ggp-lp5 .door h3{font-size:36px;font-weight:300;line-height:1.15;margin:0 0 12px}
.ggp-lp5 .door p{margin:0;color:#3A4A43;max-width:420px}
.ggp-lp5 .door .arr{width:64px;height:64px;border-radius:50%;background:#172A24;display:flex;align-items:center;justify-content:center;align-self:flex-end}
.ggp-lp5 .door .kicker{font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#2F4A3F}
.ggp-lp5 .sec{padding:140px 0}
.ggp-lp5 .say{display:flex;flex-direction:column;gap:40px;margin-top:24px}
.ggp-lp5 .say p{margin:0;font-family:'Lexend',sans-serif;font-weight:300;font-size:46px;line-height:1.2;letter-spacing:-.015em;color:#172A24;max-width:820px}
.ggp-lp5 .say p.r{align-self:flex-end;text-align:right}
.ggp-lp5 .say p.m{color:#5F6D66}
.ggp-lp5 .belief{margin-top:72px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-top:40px;border-top:1px solid #D8D1C2}
.ggp-lp5 .belief strong{font-family:'Lexend',sans-serif;font-weight:400;font-size:30px;color:#2F4A3F}
.ggp-lp5 .forest{background:#172A24;color:#F4F1EA}
.ggp-lp5 .forest .lbl{color:#E9CFA6}
.ggp-lp5 .forest .sub{color:#B9C6BE}
.ggp-lp5 .sub{margin:24px 0 0;color:#4C5A53;max-width:620px}
.ggp-lp5 .lvls{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:72px}
.ggp-lp5 .lv{position:relative;border-radius:32px;min-height:400px;padding:36px;box-sizing:border-box;background:#22382F;color:#F4F1EA;text-decoration:none;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.ggp-lp5 .lv:hover{color:#F4F1EA;background:#284239}
.ggp-lp5 .lv .fill{position:absolute;left:0;right:0;bottom:0;background:#E9CFA6;opacity:.16}
.ggp-lp5 .lv .glow{position:absolute;left:0;right:0;height:2px;background:#E9CFA6}
.ggp-lp5 .lv .k{position:relative;font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#E9CFA6}
.ggp-lp5 .lv .big{position:relative;display:block;font-family:'Lexend',sans-serif;font-weight:300;font-size:64px;line-height:1;letter-spacing:-.02em}
.ggp-lp5 .lv p{position:relative;margin:12px 0 0;color:#DCE3DE;font-size:18px}
.ggp-lp5 .appr{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1.4fr);gap:80px}
.ggp-lp5 .steps{display:flex;flex-direction:column}
.ggp-lp5 .st{display:grid;grid-template-columns:72px 1fr 120px;gap:28px;align-items:center;padding:36px 0;border-top:1px solid #D8D1C2}
.ggp-lp5 .st:last-child{border-bottom:1px solid #D8D1C2}
.ggp-lp5 .st .n{font-family:'Lexend',sans-serif;font-weight:300;font-size:40px;color:#7D8A83}
.ggp-lp5 .st p{margin:8px 0 0;color:#4C5A53}
.ggp-lp5 .mist{background:#DDE6DC}
.ggp-lp5 .bigpath{display:block;width:100%;height:auto;margin-top:64px}
.ggp-lp5 .bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:72px}
.ggp-lp5 .bx{border-radius:28px;padding:32px;background:#22382F;display:flex;flex-direction:column;gap:12px;box-sizing:border-box;min-height:240px}
.ggp-lp5 .bx p{margin:0;color:#DCE3DE;font-size:18px}
.ggp-lp5 .bx.big{grid-column:span 2;grid-row:span 2;background:#2F4A3F;justify-content:flex-end}
.ggp-lp5 .bx.big strong{font-family:'Lexend',sans-serif;font-weight:300;font-size:132px;line-height:.9;letter-spacing:-.04em;color:#E9CFA6}
.ggp-lp5 .bx.big p{font-size:24px;color:#F4F1EA;font-family:'Lexend',sans-serif;font-weight:300}
.ggp-lp5 .bx.dawn{grid-column:span 2;background:#E9CFA6;color:#172A24;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;min-height:200px;flex-wrap:wrap}
.ggp-lp5 .bx.dawn p{color:#172A24;font-family:'Lexend',sans-serif;font-size:26px;font-weight:300;line-height:1.25}
.ggp-lp5 .ico{width:48px;height:48px;border-radius:50%;background:#172A24;display:flex;align-items:center;justify-content:center;margin-bottom:auto}
.ggp-lp5 .story{display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px;align-items:center;margin-top:24px}
.ggp-lp5 .portrait{width:220px;height:280px;border-radius:110px 110px 28px 28px;background:#E6DFD1;display:flex;align-items:center;justify-content:center;color:#56635C;font-size:15px;text-align:center}
.ggp-lp5 .story blockquote{margin:0;font-family:'Lexend',sans-serif;font-weight:300;font-size:44px;line-height:1.2;letter-spacing:-.015em}
.ggp-lp5 .story .who{margin:28px 0 0;color:#4C5A53}
.ggp-lp5 .dots{display:flex;gap:4px;margin-top:28px}
.ggp-lp5 .dots button{width:44px;height:44px;border-radius:50%;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.ggp-lp5 .dots button span{width:10px;height:10px;border-radius:50%;background:#C9C1B1;display:block}
.ggp-lp5 .dots button.on span{background:#172A24;width:28px;border-radius:6px}
.ggp-lp5 .paper{background:#FFFFFF}
.ggp-lp5 .pro{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1.3fr);gap:80px}
.ggp-lp5 .dl{margin:0;display:flex;flex-direction:column}
.ggp-lp5 .dl>div{display:grid;grid-template-columns:180px 1fr;gap:28px;padding:26px 0;border-top:1px solid #E3DED2}
.ggp-lp5 .dl>div:last-child{border-bottom:1px solid #E3DED2}
.ggp-lp5 .dl dt{font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#2F4A3F;padding-top:4px}
.ggp-lp5 .dl dd{margin:0;color:#2E3B35}
.ggp-lp5 .faqg{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.6fr);gap:80px;align-items:start}
.ggp-lp5 .faq{display:flex;flex-direction:column}
.ggp-lp5 .faq details{border-top:1px solid #D8D1C2}
.ggp-lp5 .faq details:last-child{border-bottom:1px solid #D8D1C2}
.ggp-lp5 .faq summary{cursor:pointer;list-style:none;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-family:'Lexend',sans-serif;font-weight:300;font-size:26px}
.ggp-lp5 .faq summary::-webkit-details-marker{display:none}
.ggp-lp5 .faq summary .ggp-faq-ico{flex:none;width:44px;height:44px;border-radius:50%;background:#E6DFD1;display:flex;align-items:center;justify-content:center}
.ggp-lp5 .faq details p{margin:0 0 32px;color:#4C5A53;max-width:640px}
.ggp-lp5 .end{position:relative;border-radius:36px;overflow:hidden;min-height:620px;color:#F4F1EA;display:flex;align-items:center;justify-content:center;text-align:center}
.ggp-lp5 .end img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 70%;display:block}
.ggp-lp5 .end .scrim2{position:absolute;inset:0;background:rgba(23,42,36,.62)}
.ggp-lp5 .end .c{position:relative;max-width:760px;padding:0 32px}
.ggp-lp5 .end h2{font-size:64px}
.ggp-lp5 .end p{color:#E3E7E1;margin:24px auto 40px;max-width:520px}
.ggp-lp5 .ft{padding:72px 0 48px;font-size:16px;color:#4C5A53}
.ggp-lp5 .fg{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:48px}
.ggp-lp5 .ft p{margin:0 0 10px}
.ggp-lp5 .ft a{color:#3A4A43;text-decoration:none}
.ggp-lp5 .ft a:hover{color:#172A24}
.ggp-lp5 .crisis{background:#172A24;color:#F4F1EA;border-radius:24px;padding:28px}
.ggp-lp5 .crisis p{color:#DCE3DE}
.ggp-lp5 .crisis strong{display:block;font-family:'Lexend',sans-serif;font-weight:400;font-size:20px;color:#F4F1EA;margin-bottom:8px}
.ggp-lp5 .legal{margin-top:56px;padding-top:28px;border-top:1px solid #D8D1C2;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:15px}
@media (max-width: 900px){.ggp-lp5 .hc,.ggp-lp5 .appr,.ggp-lp5 .pro,.ggp-lp5 .faqg,.ggp-lp5 .story{grid-template-columns:1fr}
.ggp-lp5 .hc{padding:0 28px 40px}
.ggp-lp5 .hero h1{font-size:56px}
.ggp-lp5 h2{font-size:38px}
.ggp-lp5 .say p{font-size:30px}
.ggp-lp5 .bento{grid-template-columns:1fr 1fr}
.ggp-lp5 .bx.big,.ggp-lp5 .bx.dawn{grid-column:span 2}
.ggp-lp5 .st{grid-template-columns:56px 1fr}
.ggp-lp5 .st svg{display:none}
.ggp-lp5 .dl>div{grid-template-columns:1fr;gap:6px}
.ggp-lp5 .links{display:none}
.ggp-lp5 .door{padding:32px}

}



/* Theme fix: the original bento grid overflowed at phone width. */
@media (max-width:560px){
.ggp-lp5 .bento{grid-template-columns:minmax(0,1fr)}
.ggp-lp5 .bx.big,.ggp-lp5 .bx.dawn{grid-column:auto;grid-row:auto}
.ggp-lp5 .bx.big strong{font-size:84px}
}

/* ---- Motion (calm, transforms/opacity only). Everything below is inert unless
   lp-5.js sets .ggp-anim on the root, which it never does for reduced motion or edit mode. ---- */
.ggp-lp5 .hero h1 .ggp-h1-a{display:block}
.ggp-lp5 .bx.big strong{font-variant-numeric:tabular-nums}
.ggp-lp5 .ggp-halo,.ggp-lp5 .ggp-dot{transform-box:fill-box;transform-origin:center}

@keyframes ggp5-up{from{opacity:0;transform:translate3d(0,26px,0)}to{opacity:1;transform:none}}
@keyframes ggp5-left{from{opacity:0;transform:translate3d(-44px,10px,0)}to{opacity:1;transform:none}}
@keyframes ggp5-right{from{opacity:0;transform:translate3d(44px,10px,0)}to{opacity:1;transform:none}}
@keyframes ggp5-kb{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes ggp5-breathe{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-9px,0)}}
@keyframes ggp5-halo{0%{transform:scale(1);opacity:0}30%{opacity:.55}100%{transform:scale(1.7);opacity:0}}
@keyframes ggp5-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes ggp5-glow{0%,100%{opacity:.55}50%{opacity:1}}

@media screen and (prefers-reduced-motion:no-preference){
.ggp-lp5.ggp-anim .hero img.bg{transform-origin:60% 55%;animation:ggp5-kb 32s ease-out forwards}
.ggp-lp5.ggp-anim .end img{transform-origin:50% 70%;animation:ggp5-kb 40s ease-out forwards}
.ggp-lp5.ggp-anim .hpath{animation:ggp5-breathe 11s ease-in-out 3.6s infinite}
.ggp-lp5.ggp-anim.ggp-halo-on .ggp-halo{animation:ggp5-halo 6s ease-out 3 forwards}
.ggp-lp5.ggp-anim .lv .glow{animation:ggp5-glow 6s ease-in-out 3 forwards}
.ggp-lp5.ggp-anim .ggp-bigend.ggp-on{transform-box:fill-box;transform-origin:center;animation:ggp5-pulse 6s ease-in-out 3}

/* Before lp-5.js runs (html.ggp-anim-pre, set by the head script): hero text starts hidden so the intro
   fades in once instead of painting visible -> hidden -> visible. lp-5.js removes the class right after
   adding .ggp-anim; if it never runs, the failsafe animation reveals everything after 3s. */
@keyframes ggp5-failsafe{to{opacity:1;transform:none}}
html.ggp-anim-pre .ggp-lp5 .hero .hc .lbl,
html.ggp-anim-pre .ggp-lp5 .hero h1 .ggp-h1-a,
html.ggp-anim-pre .ggp-lp5 .hero h1 .ggp-h1-line,
html.ggp-anim-pre .ggp-lp5 .hero .lead,
html.ggp-anim-pre .ggp-lp5 .hero .hc .row,
html.ggp-anim-pre .ggp-lp5 .hero .short{opacity:0;animation:ggp5-failsafe .4s ease 3s forwards}

/* hero intro, staggered */
.ggp-lp5.ggp-anim .hero .hc .lbl{animation:ggp5-up 1.2s cubic-bezier(.22,.61,.36,1) .25s backwards}
.ggp-lp5.ggp-anim .hero h1 .ggp-h1-a{animation:ggp5-up 1.3s cubic-bezier(.22,.61,.36,1) .5s backwards}
.ggp-lp5.ggp-anim .hero h1 .ggp-h1-line{animation:ggp5-up 1.3s cubic-bezier(.22,.61,.36,1) .85s backwards}
.ggp-lp5.ggp-anim .hero .lead{animation:ggp5-up 1.2s cubic-bezier(.22,.61,.36,1) 1.2s backwards}
.ggp-lp5.ggp-anim .hero .hc .row{animation:ggp5-up 1.2s cubic-bezier(.22,.61,.36,1) 1.5s backwards}
.ggp-lp5.ggp-anim .hero .short{animation:ggp5-up 1.4s cubic-bezier(.22,.61,.36,1) 1.75s backwards}

/* scroll reveal */
.ggp-lp5.ggp-anim .ggp-rv:not(.ggp-in){opacity:0}
.ggp-lp5.ggp-anim .ggp-rv.ggp-in{animation:ggp5-up 1.1s cubic-bezier(.22,.61,.36,1) var(--ggp-d,0s) backwards}
.ggp-lp5.ggp-anim .ggp-rv.ggp-from-l.ggp-in{animation-name:ggp5-left;animation-duration:1.4s}
.ggp-lp5.ggp-anim .ggp-rv.ggp-from-r.ggp-in{animation-name:ggp5-right;animation-duration:1.4s}
.ggp-lp5.ggp-anim .ggp-rv.ggp-instant.ggp-in{animation:none}
.ggp-lp5.ggp-anim .lv.ggp-rv .fill{transform:scaleY(0);transform-origin:50% 100%;transition:transform 1.8s cubic-bezier(.22,.61,.36,1) .35s}
.ggp-lp5.ggp-anim .lv.ggp-rv.ggp-in .fill{transform:none}
.ggp-lp5.ggp-anim .ggp-pt{opacity:0;transition:opacity .9s ease}
.ggp-lp5.ggp-anim .ggp-pt.ggp-on{opacity:1}
}

/* hover micro-motion */
@media (prefers-reduced-motion:no-preference) and (hover:hover){
.ggp-lp5 .btn,.ggp-lp5 .play,.ggp-lp5 .door,.ggp-lp5 .lv,.ggp-lp5 .bx,.ggp-lp5 .short,.ggp-lp5 .door .arr{transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s ease,background-color .4s ease}
.ggp-lp5 .btn:hover,.ggp-lp5 .play:hover{transform:translate3d(0,-2px,0);box-shadow:0 8px 20px rgba(23,42,36,.18)}
.ggp-lp5 .door:hover,.ggp-lp5 .lv:hover,.ggp-lp5 .bx:hover{transform:translate3d(0,-3px,0);box-shadow:0 14px 30px rgba(23,42,36,.16)}
.ggp-lp5 .short:hover{transform:translate3d(0,-2px,0);box-shadow:0 14px 34px rgba(0,0,0,.22)}
.ggp-lp5 .door:hover .arr{transform:translate3d(4px,0,0)}
}
