/* Gorilla Concierge extras on top of the Gorilla Stays design system (rd.css) */
.hdr,.mnav,.ftr{font-family:var(--sans);line-height:1.7;color:var(--ink);font-size:16px;font-weight:400}
.hdr *,.mnav *,.ftr *{box-sizing:border-box}
.hdr ul,.mnav ul,.ftr ul{list-style:none;margin:0;padding:0}
.hdr li,.mnav li,.ftr li{margin:0;padding:0}
.hdr a,.mnav a,.ftr a{text-decoration:none;color:inherit}
.hdr img,.ftr img{display:block;max-width:100%}
.ftr h2,.ftr p,.ftr address,.mnav p{margin:0;font-style:normal}
.ftr h2{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:16px;line-height:1.4}
.ftr li{margin-bottom:8px}
.ftr .btn,.hdr .btn,.mnav .btn{color:var(--ivory)}
.ftr .btn--ghost,.hdr .btn--ghost,.mnav .btn--ghost{color:var(--ink)}
.ftr .btn--ghost:hover,.mnav .btn--ghost:hover{color:var(--ivory)}
.ftr .link-arrow{color:var(--accent)}
.hdr__wa svg{width:20px;height:20px;fill:currentColor}
.hdr .btn,.hdr .hdr__wa{white-space:nowrap}
@media (max-width:1180px){.hdr__cta .btn{display:none}}
.elementor-124 .hdr{position:relative;top:0}
.elementor-element-gchdrs01,.elementor-element-gchdrs01>.elementor-container,.elementor-element-gcftrs01,.elementor-element-gcftrs01>.elementor-container,.elementor-element-gchome01,.elementor-element-gchome01>.elementor-container{max-width:none!important;padding:0!important;margin:0!important}
.elementor-element-gchdrs01 .elementor-widget-wrap,.elementor-element-gcftrs01 .elementor-widget-wrap,.elementor-element-gchome01 .elementor-widget-wrap,.elementor-element-gchome01 .elementor-column-wrap{padding:0!important}
.elementor-element-gchdrs01 .elementor-widget:not(:last-child),.elementor-element-gcftrs01 .elementor-widget:not(:last-child),.elementor-element-gchome01 .elementor-widget:not(:last-child){margin-bottom:0!important}
.elementor-124 .elementor-element-gchdrs01{background:transparent!important}
.ekit-template-content-header{background:var(--bg)}
/* hero slideshow */
.gc-hero .hero__media img{position:absolute;inset:0;opacity:0;animation:gcfade 28s infinite both;transform:none}
.gc-hero .hero__media img:nth-child(1){animation-name:gcfade1}
.gc-hero .hero__media img:nth-child(2){animation-delay:7s}
.gc-hero .hero__media img:nth-child(3){animation-delay:14s}
.gc-hero .hero__media img:nth-child(4){animation-delay:21s}
@keyframes gcfade1{0%{opacity:1}25%{opacity:1}29%{opacity:0}96%{opacity:0}100%{opacity:1}}
@keyframes gcfade{0%{opacity:0}4%{opacity:1}25%{opacity:1}29%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.gc-hero .hero__media img{animation:none!important}.gc-hero .hero__media img:nth-child(1){opacity:1}}
.gc-scroll{position:absolute;left:50%;bottom:34px;z-index:3;width:1px;height:56px;background:rgba(246,242,234,.35);overflow:hidden}
.gc-scroll::after{content:"";position:absolute;left:0;top:-30px;width:1px;height:30px;background:var(--ivory);animation:gcscroll 2.4s var(--ease) infinite}
@keyframes gcscroll{to{top:56px}}
@media (prefers-reduced-motion:reduce){.gc-scroll::after{animation:none;top:0}}
/* about */
.gc-about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,120px);align-items:center}
.gc-about__media{aspect-ratio:4/5;overflow:hidden;background:var(--sand)}
.gc-about__media img{width:100%;height:100%;object-fit:cover}
.gc-about__body p.lede{margin:22px 0 32px}
@media (max-width:900px){.gc-about{grid-template-columns:1fr}.gc-about__media{aspect-ratio:4/3}}
/* head */
.gc-head{max-width:30ch;margin-bottom:clamp(36px,5vw,64px)}
.gc-head .h2{max-width:28ch}
.gc-h2--long{font-size:clamp(30px,3.4vw,48px)!important;line-height:1.14!important;max-width:30ch!important}
/* pillars */
.gc-pillars{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.gc-pillars__item{padding:34px 32px 38px 0}
.gc-pillars__item:not(:first-child){padding-left:32px;border-left:1px solid var(--line)}
.gc-pillars__item p{color:var(--muted);margin-top:12px;font-size:16px}
@media (max-width:1100px){.gc-pillars{grid-template-columns:1fr 1fr}.gc-pillars__item{padding:30px 28px 30px 0!important;border-left:0!important;border-bottom:1px solid var(--line)}}
@media (max-width:640px){.gc-pillars{grid-template-columns:1fr}.gc-pillars__item{padding:26px 0!important}}
/* services editorial rows */
.svc{display:grid;gap:clamp(56px,7vw,112px)}
.svc__row{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.svc__row:nth-child(even) .svc__media{order:2}
.svc__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sand)}
.svc__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.svc__row:hover .svc__media img{transform:scale(1.035)}
.svc__body .h3{font-size:clamp(30px,3.2vw,46px)}
.svc__body p{color:var(--muted);max-width:54ch;margin:18px 0 28px}
.svc__body .eyebrow{margin-bottom:16px}
@media (max-width:900px){.svc__row{grid-template-columns:1fr;gap:26px}.svc__row:nth-child(even) .svc__media{order:0}}
.gc-box{display:grid;grid-template-columns:1.4fr auto;gap:clamp(24px,5vw,80px);align-items:center;background:var(--sand);padding:clamp(32px,5vw,72px);margin-top:clamp(64px,8vw,120px)}
.gc-box p{color:var(--muted);margin-top:12px;max-width:52ch}
@media (max-width:800px){.gc-box{grid-template-columns:1fr}}
/* voices heading */
.gc-voices-head{text-align:center;margin-bottom:clamp(36px,5vw,64px)}
.gc-voices-head .h2{margin:0 auto}
/* why (dark split) */
.exp__list--rich{grid-template-columns:1fr!important;margin-top:30px}
.exp__list--rich li{display:grid;gap:6px;padding:22px 0!important;border-bottom:1px solid rgba(246,242,234,.18)}
.exp__list--rich strong{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.15}
.exp__list--rich span{color:rgba(246,242,234,.82);font-size:16px}
.exp__body .eyebrow{color:var(--champ)}
.exp__body>p{color:rgba(246,242,234,.86)}
/* gallery */
.gc-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(180px,19vw,280px);gap:clamp(12px,1.6vw,22px)}
.gc-gallery figure{overflow:hidden;background:var(--sand);margin:0}
.gc-gallery img{width:100%;height:100%;object-fit:cover}
.gc-gallery .g1{grid-column:1/5;grid-row:1/3}
.gc-gallery .g2{grid-column:5/9;grid-row:1/2}
.gc-gallery .g3{grid-column:9/13;grid-row:1/3}
.gc-gallery .g4{grid-column:5/9;grid-row:2/3}
@media (max-width:760px){.gc-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.gc-gallery .g1,.gc-gallery .g3{grid-row:auto;grid-column:auto}.gc-gallery .g2,.gc-gallery .g4{grid-column:auto;grid-row:auto}.gc-gallery .g1{grid-column:1/3}}
/* keep Stays footer/nav type against the sitewide serif heading rule */
.ftr h2{font-family:var(--sans)!important;font-weight:500!important;letter-spacing:.16em!important;text-transform:uppercase!important;font-size:12px!important}
.hdr a,.mnav a,.ftr a{font-family:inherit}
.mnav__list>li>a{font-family:var(--serif)!important}

/* ===== UX pass: phone-first refinements + desktop polish ===== */
html{scroll-padding-top:calc(var(--hdr) + 12px)}
.link-arrow{min-height:44px;padding:12px 0}
.svc__body .link-arrow,.gc-about__body .link-arrow{margin-top:4px}
.gc-pillars__item .h4{font-size:26px}
.svc__body .h3 a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease)}
.svc__row:hover .svc__body .h3 a{background-size:100% 1px}
.hdr.is-scrolled{box-shadow:0 1px 0 var(--line)}
.btn:focus-visible,.link-arrow:focus-visible,.hdr a:focus-visible{outline:2px solid var(--champ);outline-offset:3px}
@media (min-width:1181px){
	.hdr__cta .btn{display:inline-flex}
	.hdr__wa{display:none}
	.gc-about__media{aspect-ratio:3/4}
	.hero__title{max-width:18ch}
}
@media (max-width:900px){
	:root{--sec:clamp(60px,15vw,84px);--gut:22px}
	.hero{min-height:calc(100svh - var(--hdr));align-items:flex-end}
	.hero__in{padding-top:96px;padding-bottom:clamp(64px,11svh,104px)}
	.hero__kicker{font-size:11px;letter-spacing:.2em;margin-bottom:16px}
	.hero__title{font-size:clamp(38px,11.2vw,54px);line-height:1.06;max-width:12ch}
	.hero__lede{font-size:17px;line-height:1.6;margin-top:18px;max-width:34ch}
	.hero__ctas{gap:12px;margin-top:28px}
	.hero__ctas .btn{flex:1 1 100%;width:100%}
	.gc-scroll{display:none}
	.gc-about{gap:28px}
	.gc-about__media{aspect-ratio:5/4}
	.h2{font-size:clamp(32px,9vw,42px);line-height:1.1}
	.gc-h2--long{font-size:clamp(28px,7.6vw,36px)!important;line-height:1.16!important}
	.gc-head{margin-bottom:30px}
	.lede{font-size:18px}
	.gc-pillars__item{padding:24px 0!important}
	.gc-pillars__item .h4{font-size:24px}
	.svc{gap:56px}
	.svc__row{gap:20px}
	.svc__media{aspect-ratio:4/3;margin:0 calc(-1*var(--gut))}
	.svc__body .h3{font-size:clamp(28px,8vw,36px)}
	.svc__body p{font-size:16.5px;line-height:1.65;margin:12px 0 14px}
	.svc__body .eyebrow{margin-bottom:10px}
	.gc-box{padding:30px 24px;margin-top:64px;gap:22px}
	.gc-box .btn{width:100%}
	.voice blockquote p{font-size:clamp(26px,7.4vw,34px);line-height:1.22}
	.voice{padding:0}
	.exp{min-height:0}
	.exp__media{min-height:0;aspect-ratio:4/3}
	.exp__body{padding:56px var(--gut) 64px}
	.exp__list--rich strong{font-size:24px}
	.gc-gallery{grid-auto-rows:150px;gap:10px}
	.closing{min-height:72svh}
	.closing__in{gap:18px}
	.closing .hero__ctas .btn{width:100%}
	.ftr{padding-top:56px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}
	.ftr__brand .btn{width:100%}
	.ftr__legal{flex-direction:column;gap:10px}
	.ftr__legal p:last-child{flex-wrap:wrap;gap:8px 20px}
	.ftr li{margin-bottom:4px}
	.ftr li a,.ftr__social a{display:inline-block;padding:6px 0}
	.mnav__list>li>a{font-size:30px;padding:16px 0}
	.mnav__list ul a{padding:9px 0;font-size:17px}
}
@media (max-width:380px){.hero__title{font-size:36px}.btn{padding:0 18px;letter-spacing:.1em}}
@media (hover:none){.svc__row:hover .svc__media img{transform:none}}
/* gc-logo-v2 */
.hdr__logo img{height:56px;width:auto}
.ftr__brand img{height:70px;width:auto}
@media(max-width:900px){.hdr__logo img{height:44px}.ftr__brand img{height:62px}}
