
.gkr-section{width:100%;box-sizing:border-box;padding:72px 24px}
.gkr-container{width:min(1200px,100%);margin:0 auto}
.gkr-two-col{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:54px;align-items:center}
.gkr-content h1,.gkr-content h2,.gkr-centered h2,.gkr-faq h2,.gkr-final-cta h2{margin:0 0 20px}
.gkr-eyebrow{font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.gkr-copy{font-size:18px;line-height:1.7}
.gkr-copy p:last-child{margin-bottom:0}
.gkr-media img,.gkr-thumb-grid img{width:100%;display:block;object-fit:cover}
.gkr-media img{aspect-ratio:4/3;border-radius:10px}
.gkr-image-placeholder{background:#f2f2f2;border:1px dashed #c9c9c9;min-height:260px;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#777;border-radius:10px}
.gkr-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.gkr-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;text-decoration:none;font-weight:700;letter-spacing:.02em;transition:.2s ease}
.gkr-btn-primary,.gkr-btn-shop,.gkr-btn-final{background:#0d4f7a;color:#fff}
.gkr-btn-secondary,.gkr-btn-gallery{background:#efefef;color:#1f1f1f}
.gkr-form-cta{background:#143f5b;color:#fff}
.gkr-form-cta .gkr-container{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:40px;align-items:center}
.gkr-form-cta .nf-form-content{max-width:none!important}
.gkr-form-cta .nf-form-content .nf-field-container{margin-bottom:10px}
.gkr-form-placeholder{border:1px dashed rgba(255,255,255,.45);padding:24px;border-radius:8px}
.gkr-centered{text-align:center;max-width:820px;margin:0 auto 40px}
.gkr-services-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:50px;align-items:center}
.gkr-checklist{padding:0;margin:0;list-style:none;display:grid;gap:14px}
.gkr-checklist li{position:relative;padding-left:28px;font-size:18px;line-height:1.5}
.gkr-checklist li:before{content:"✓";position:absolute;left:0;top:0;color:#0d4f7a;font-weight:700}
.gkr-thumb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.gkr-thumb-grid>*{min-height:180px}
.gkr-thumb-grid img{height:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px}
.gkr-thumb-grid>*:first-child{grid-row:span 2}
.gkr-narrow{max-width:900px}
.gkr-faq-list{display:grid;gap:12px}
.gkr-faq details{border-bottom:1px solid #ddd;padding:0}
.gkr-faq summary{cursor:pointer;list-style:none;padding:20px 42px 20px 0;font-size:20px;font-weight:600;position:relative}
.gkr-faq summary::-webkit-details-marker{display:none}
.gkr-faq summary:after{content:"+";position:absolute;right:0;top:18px;font-size:26px;font-weight:400}
.gkr-faq details[open] summary:after{content:"–"}
.gkr-faq-answer{padding:0 0 22px;font-size:17px;line-height:1.7}
.gkr-final-cta{background:#0c2838;color:#fff;background-size:cover;background-position:center}
.gkr-final-cta .gkr-copy{max-width:760px;margin:0 auto}
.gkr-final-cta .gkr-btn{margin-top:28px}
@media(max-width:900px){
  .gkr-section{padding:54px 20px}
  .gkr-two-col,.gkr-services-grid,.gkr-form-cta .gkr-container{grid-template-columns:1fr;gap:30px}
  .gkr-thumb-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .gkr-section{padding:44px 18px}
  .gkr-copy{font-size:16px}
  .gkr-actions{flex-direction:column}
  .gkr-btn{width:100%}
  .gkr-thumb-grid{grid-template-columns:1fr}
  .gkr-thumb-grid>*:first-child{grid-row:auto}
}


/* v1.2.6 — MGM/1000 Granite typography + more substantial inner-page layout */
.gkr-section,
.gkr-section input,
.gkr-section textarea,
.gkr-section select,
.gkr-section button,
.gkr-section summary {
    font-family: "Albert Sans", Arial, sans-serif;
}

.gkr-section {
    color: #2e2e2e;
}

.gkr-hero {
    padding-top: 86px;
    padding-bottom: 86px;
}

.gkr-hero .gkr-two-col {
    grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
    gap: 64px;
}

.gkr-hero h1 {
    font-family: "Albert Sans", Arial, sans-serif;
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.04;
    font-size: clamp(44px, 4.2vw, 72px);
    max-width: 780px;
}

.gkr-hero .gkr-copy,
.gkr-intro .gkr-copy,
.gkr-services .gkr-copy,
.gkr-final-cta .gkr-copy {
    font-family: "Albert Sans", Arial, sans-serif;
    font-weight: 400;
    font-size: 17px;
    line-height: 1.72;
    letter-spacing: -0.005em;
}

.gkr-eyebrow {
    font-family: "Albert Sans", Arial, sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: .12em;
}

.gkr-intro h2,
.gkr-services h2,
.gkr-form-cta h2,
.gkr-faq h2,
.gkr-final-cta h2 {
    font-family: "Albert Sans", Arial, sans-serif;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.1;
    font-size: clamp(34px, 3vw, 50px);
}

.gkr-btn {
    font-family: "Albert Sans", Arial, sans-serif;
    font-weight: 600;
    letter-spacing: .01em;
    border-radius: 4px;
}

.gkr-hero .gkr-media {
    width: 100%;
    min-width: 0;
}

.gkr-hero .gkr-media img,
.gkr-hero .gkr-image-placeholder {
    width: 100%;
    height: 620px;
    aspect-ratio: auto;
    border-radius: 6px;
}

.gkr-hero .gkr-media img {
    object-fit: cover;
    object-position: center center;
}

.gkr-intro {
    padding-top: 92px;
    padding-bottom: 92px;
}

.gkr-intro .gkr-two-col {
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 66px;
}

.gkr-services {
    padding-top: 90px;
    padding-bottom: 90px;
}

.gkr-form-cta {
    padding-top: 62px;
    padding-bottom: 62px;
}

.gkr-form-cta .gkr-copy {
    font-size: 16px;
    line-height: 1.65;
}

.gkr-checklist li,
.gkr-faq summary,
.gkr-faq-answer {
    font-family: "Albert Sans", Arial, sans-serif;
}

.gkr-checklist li {
    font-weight: 450;
    font-size: 17px;
}

.gkr-faq summary {
    font-weight: 600;
    letter-spacing: -0.01em;
}

.gkr-faq-answer {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.7;
}

@media(max-width:900px){
    .gkr-hero {
        padding-top: 58px;
        padding-bottom: 58px;
    }

    .gkr-hero .gkr-two-col {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .gkr-hero .gkr-media img,
    .gkr-hero .gkr-image-placeholder {
        height: 500px;
    }
}

@media(max-width:600px){
    .gkr-hero h1 {
        font-size: 40px;
        line-height: 1.06;
    }

    .gkr-hero .gkr-media img,
    .gkr-hero .gkr-image-placeholder {
        height: 360px;
    }

    .gkr-intro h2,
    .gkr-services h2,
    .gkr-form-cta h2,
    .gkr-faq h2,
    .gkr-final-cta h2 {
        font-size: 32px;
    }
}


/* v1.2.6 — header overlap fix + calmer hero proportions */
.gkr-hero {
    position: relative;
    z-index: 1;
    margin-top: 0;
    overflow: visible;
}

.gkr-hero .gkr-container {
    position: relative;
    z-index: 1;
}

.gkr-hero h1 {
    font-size: clamp(42px, 3.45vw, 62px);
    line-height: 1.06;
    max-width: 720px;
}

.gkr-hero .gkr-copy {
    max-width: 690px;
}

.gkr-hero .gkr-media img,
.gkr-hero .gkr-image-placeholder {
    min-height: 560px;
}

@media(max-width:900px){
    .gkr-hero {
        margin-top: 0;
    }

    .gkr-hero h1 {
        font-size: clamp(38px, 6vw, 54px);
    }
}

@media(max-width:600px){
    .gkr-hero {
        margin-top: 0;
    }

    .gkr-hero h1 {
        font-size: 36px;
    }

    .gkr-hero .gkr-media img,
    .gkr-hero .gkr-image-placeholder {
        min-height: 340px;
    }
}

/* v1.2.6 — corrected hero spacing */
.gkr-hero {
    margin-top: 0;
    padding-top: 64px;
    padding-bottom: 76px;
}
.gkr-hero .gkr-two-col {
    align-items: center;
}
@media(max-width:900px){
    .gkr-hero {
        margin-top: 0;
        padding-top: 48px;
        padding-bottom: 58px;
    }
}
@media(max-width:600px){
    .gkr-hero {
        margin-top: 0;
        padding-top: 38px;
        padding-bottom: 46px;
    }
}

/* v1.2.6 — MGM header safe area.
   Clearance is applied INSIDE the hero container, never as section margin. */
.gkr-hero {
    margin-top: 0 !important;
    position: relative;
}
.gkr-hero > .gkr-container {
    box-sizing: border-box;
    padding-top: 135px;
}
@media (max-width:900px){
    .gkr-hero > .gkr-container { padding-top: 90px; }
}
@media (max-width:600px){
    .gkr-hero > .gkr-container { padding-top: 20px; }
}
