html{scrollbar-gutter:stable;scroll-padding-top:var(--gk-anchor-offset,132px)}.gk-arrow{display:inline-block;width:1em;height:1em;min-width:1em;flex-shrink:0;vertical-align:-.12em;overflow:visible}.gk-contact-form{min-width:0}.gk-contact-form .wpcf7{max-width:100%}.gk-contact-form label{display:block}.gk-contact-form .wpcf7-form-control-wrap{display:block;margin-top:8px}.gk-contact-form .form-field{min-width:0}.gk-contact-form input:not([type=submit]),.gk-contact-form textarea,.gk-contact-form select{width:100%;box-sizing:border-box}.gk-contact-form [hidden]{display:none!important}.gk-contact-form .wpcf7-not-valid-tip{font-size:14px;margin-top:8px}.gk-contact-form .wpcf7-response-output{margin:24px 0 0!important}.gk-contact-form .wpcf7-submit{margin-top:24px;cursor:pointer}.gk-contact-form .form-grid p{margin:0}.page-menu .has-menu-tabs .menu-days{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.menu-cache-notice{grid-row:3;font-size:14px;line-height:1.6}.page-menu .menu-section-heading h2{margin-top:0}body.admin-bar .header{top:32px}@media(max-width:782px){body.admin-bar .header{top:46px}}@media(max-width:600px){body.admin-bar .header{top:0}}@media(max-width:540px){.gk-contact-form .form-grid{grid-template-columns:1fr}}.skip-link{position:fixed;top:-100px;left:16px;z-index:10000}.skip-link:focus{top:16px;background:white;padding:12px}.wp-content-page{padding-top:180px;min-height:70vh}

/* Keep the page gutter stable while a modal locks background scrolling. */
html.gallery-open{scrollbar-gutter:stable}
.gallery-modal{box-sizing:border-box;height:100dvh}
.gallery-modal button{font-size:28px;line-height:1}

.gallery-modal:not(.gallery-keyboard) button:focus,.gallery .gk-pointer-focus:focus{outline:none;box-shadow:none}
.gallery-modal.gallery-keyboard button:focus-visible{outline:2px solid #f7f3e8;outline-offset:4px}
.gallery .home-photo-link:focus-visible{outline-color:var(--foreground)}
.footer-legal{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){.footer-legal{justify-content:flex-start;gap:12px 20px}}

/* Contact Form 7: match the contact section, including plugin-generated input buttons. */
.gk-contact-form .wpcf7-submit{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;min-height:52px;padding:15px 26px;border:1px solid transparent;border-radius:18px;background:var(--accent,#79501f);color:#fff;font:inherit;font-size:15px;font-weight:600;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .18s ease}
.gk-contact-form .wpcf7-submit:hover{background:var(--accent-hover,#583913);color:#fff;text-decoration:none}
.gk-contact-form .wpcf7-submit:focus-visible{outline:2px solid var(--accent,#79501f);outline-offset:4px}
.gk-contact-form .wpcf7-submit:disabled,.gk-contact-form form.submitting .wpcf7-submit{opacity:.65;cursor:wait}
.gk-contact-form .wpcf7-spinner{vertical-align:middle;background:#493a26;margin:0 0 0 14px}
.gk-contact-form .wpcf7 form .wpcf7-response-output{box-sizing:border-box;margin:24px 0 0;padding:18px 22px;border:1px solid #d2c2a4;border-radius:14px;background:#f1e7cf;color:#493a26;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.gk-contact-form .wpcf7 form.sent .wpcf7-response-output{background:#eaf0e7;border-color:#becfba;color:#2f5137}
.gk-contact-form .wpcf7 form.invalid .wpcf7-response-output,.gk-contact-form .wpcf7 form.unaccepted .wpcf7-response-output,.gk-contact-form .wpcf7 form.payment-required .wpcf7-response-output{background:#f1e7cf;border-color:#d2c2a4;color:#62491f}
.gk-contact-form .wpcf7 form.failed .wpcf7-response-output,.gk-contact-form .wpcf7 form.aborted .wpcf7-response-output,.gk-contact-form .wpcf7 form.spam .wpcf7-response-output{background:#f8eae5;border-color:#dfb9ad;color:#873b2b}
.gk-contact-form .wpcf7-not-valid-tip{color:#a23f2c;font-size:14px;line-height:1.5;margin-top:8px}
.gk-contact-form .wpcf7-form-control[aria-invalid=true]{border-color:#b85540}
@media(prefers-reduced-motion:reduce){.gk-contact-form .wpcf7-submit{transition:none}}

.social-links a{display:inline-flex;align-items:center;gap:10px;min-height:44px}
.social-links{column-gap:30px}
@media(min-width:901px){.nav-group a{min-height:56px;padding-block:16px}.nav-group{--nav-link-inset:10px;gap:2px}}
@media(min-width:1100px){.nav-group{--nav-link-inset:18px;gap:4px}.nav-group a{font-size:16px}}
.mobile-menu>summary{min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center}
.random-carousel .hero-photo{transform:scale(1);transition:opacity 1800ms ease-in-out,transform 10s linear}
.random-carousel .hero-photo.is-active{transform:scale(1.07)}
.random-carousel .hero-photo:nth-child(even){transform:scale(1.07)}
.random-carousel .hero-photo:nth-child(even).is-active{transform:scale(1)}
@media(prefers-reduced-motion:reduce){.random-carousel .hero-photo,.random-carousel .hero-photo.is-active{transform:none}}
.hero-slides:empty,.about-photos:empty,.gallery:empty,.gallery-more:not(:has(.home-photo-link)){display:none}
.about-photos:has(img:nth-child(3)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;height:auto}
.about-photos:has(img:nth-child(3))>img{position:static;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;margin:0;transform:none}
@media(max-width:600px){.about-photos:has(img:nth-child(3)){grid-template-columns:1fr}}

/* Explicit zoom keyframes are controlled by hero-carousel.js for every slide. */
.random-carousel .hero-photo,.random-carousel .hero-photo.is-active,.random-carousel .hero-photo:nth-child(even),.random-carousel .hero-photo:nth-child(even).is-active{transform:none;transition:opacity 1800ms ease-in-out}
