.glp-hero { padding: clamp(68px, 8vw, 112px) 0; background: radial-gradient(circle at 83% 16%, rgba(245,185,65,.21), transparent 33%), linear-gradient(125deg,#1c1914,#312719 60%,#1a1712); color: var(--cream-hi); }
.glp-hero__grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); align-items:center; gap:clamp(36px,6vw,88px); }
.glp-hero .eyebrow { color:var(--gold-hi); }
.glp-hero h1 { max-width:100%; margin:18px 0 24px; color:var(--cream-hi); font-size:clamp(58px,6.2vw,94px); line-height:.98; text-wrap:balance; }
.glp-hero h1 span { color:var(--gold-hi); }
.glp-hero .lede { max-width:59ch; color:rgba(252,248,241,.84); font-size:clamp(18px,1.6vw,22px); }
.glp-hero .hero__actions { margin-top:30px; }
.glp-hero__scope { max-width:65ch; margin-top:22px; color:rgba(252,248,241,.63); font-size:14px; line-height:1.55; }
.glp-hero__panel { overflow:hidden; border:1px solid rgba(255,215,143,.34); border-radius:var(--r-lg); background:rgba(8,8,7,.3); box-shadow:0 30px 65px rgba(0,0,0,.25); }
.glp-hero__panel>p { margin:0; padding:23px 28px 18px; color:var(--gold-hi); font-family:var(--font-label); font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.glp-hero__panel>div { display:grid; grid-template-columns:48px minmax(0,1fr); gap:3px 13px; padding:18px 28px; border-top:1px solid rgba(255,255,255,.14); }
.glp-hero__panel>div>span { grid-row:span 2; color:var(--gold-hi); font-family:var(--font-display); font-size:30px; line-height:1; }
.glp-hero__panel strong { color:var(--cream-hi); font-family:var(--font-display); font-size:clamp(25px,2vw,31px); font-weight:400; line-height:1; text-transform:uppercase; }
.glp-hero__panel small { color:rgba(252,248,241,.7); font-size:14px; line-height:1.5; }

.glp-situations .section-head,.glp-pillars .section-head { max-width:930px; margin-bottom:30px; }
.glp-pillars { scroll-margin-top:90px; }
.glp-situations .section-head h2,.glp-pillars .section-head h2 { max-width:100%; }
.glp-situations .section-head .lede,.glp-pillars .section-head .lede { max-width:62ch; }
.glp-situations__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.glp-situations__grid article { display:flex; min-width:0; flex-direction:column; gap:13px; padding:clamp(24px,2.7vw,36px); border:1px solid rgba(145,103,36,.25); border-radius:var(--r-md); background:rgba(255,253,248,.75); box-shadow:var(--shadow-soft); }
.glp-situations__grid span { color:var(--gold-deep); font-family:var(--font-label); font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.glp-situations__grid h3 { max-width:20ch; font-size:clamp(29px,2.5vw,39px); line-height:1.08; }
.glp-situations__grid p { margin-top:auto; color:var(--ink-soft); font-size:16px; line-height:1.58; }
.glp-pillars .section-head .lede { color:rgba(252,248,241,.77); }
.glp-pillars .landing-pillar { min-width:0; border:1px solid rgba(255,215,143,.26); background:linear-gradient(150deg,rgba(76,54,26,.68),rgba(29,24,18,.78)); }
.glp-pillars .landing-pillar h3 { color:var(--cream-hi); font-size:clamp(29px,2.3vw,38px); line-height:1.08; overflow-wrap:normal; }
.glp-pillars .landing-pillar p { color:rgba(252,248,241,.78); line-height:1.6; }
.glp-pillars .landing-pillar .card__num { color:var(--gold-hi); }

.glp-process__grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:start; gap:clamp(32px,7vw,100px); }
.glp-process h2 { max-width:100%; margin:16px 0 22px; }
.glp-process .lede { max-width:54ch; }
.glp-process .btn { margin-top:28px; }
.glp-process__steps { margin:0; padding:0; list-style:none; }
.glp-process__steps li { display:grid; grid-template-columns:56px minmax(0,1fr); gap:18px; padding:22px 0; border-top:1px solid rgba(119,80,19,.23); }
.glp-process__steps li:last-child { border-bottom:1px solid rgba(119,80,19,.23); }
.glp-process__steps li>span { color:var(--gold-deep); font-family:var(--font-display); font-size:36px; line-height:1; }
.glp-process__steps h3 { font-size:clamp(25px,2vw,32px); }
.glp-process__steps p { margin-top:8px; color:var(--ink-soft); font-size:15px; line-height:1.55; }

.glp-boundary { padding-top:clamp(24px,3vw,44px); }
.glp-boundary__box { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(32px,6vw,82px); align-items:center; padding:clamp(26px,4vw,54px); border:1px solid rgba(145,103,36,.28); border-radius:var(--r-lg); background:linear-gradient(135deg,#fff9ed,#f4e1b8); box-shadow:var(--shadow-soft); }
.glp-boundary h2 { max-width:100%; margin-top:13px; font-size:clamp(36px,3.5vw,54px); }
.glp-boundary__columns { display:grid; gap:16px; }
.glp-boundary__columns>div { padding:20px 0 0; border-top:1px solid rgba(119,80,19,.23); }
.glp-boundary__columns h3 { font-size:clamp(25px,2vw,31px); }
.glp-boundary__columns p { margin-top:8px; color:var(--ink-soft); font-size:16px; line-height:1.58; }
.glp-fit { background:rgba(234,153,18,.08); }
.glp-fit__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(30px,7vw,100px); align-items:center; }
.glp-fit h2 { max-width:100%; margin-top:16px; }
.glp-fit__grid>div:last-child { display:grid; gap:20px; font-size:18px; line-height:1.6; }
.glp-fit__link { color:var(--gold-deep); font-size:16px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.glp-faq { padding-bottom:clamp(24px,3vw,42px); }
.glp-faq .section-head { margin-bottom:25px; }
.glp-close { padding-top:clamp(24px,3vw,42px); }
.glp-close .cta-final h2 { max-width:20ch; }
.glp-close .cta-final .lede { max-width:55ch; }

@media (max-width:950px) { .glp-hero__grid,.glp-process__grid,.glp-boundary__box,.glp-fit__grid { grid-template-columns:1fr; } .glp-hero__panel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); } .glp-hero__panel>p { grid-column:1/-1; } .glp-hero__panel>div { grid-template-columns:1fr; } .glp-hero__panel>div>span { grid-row:auto; } }
@media (max-width:720px) { .glp-hero { padding:58px 0 68px; } .glp-hero h1 { font-size:clamp(50px,12vw,76px); } .glp-hero__panel,.glp-situations__grid { grid-template-columns:1fr; } .glp-hero__panel>div { grid-template-columns:44px minmax(0,1fr); } .glp-hero__panel>div>span { grid-row:span 2; } .glp-pillars .grid { grid-template-columns:1fr; } .glp-boundary__box { padding:25px 22px; } .glp-process__steps li { grid-template-columns:45px minmax(0,1fr); gap:12px; } .glp-fit__grid>div:last-child { font-size:17px; } }
