/* Photo-led hero, independent of the previous stacked hero overrides. */
.grh { position: relative; min-height: 680px; height: 100svh; isolation: isolate; overflow: hidden; background: #27332f; color: #fff; }
.grh *, .grh *::before, .grh *::after { box-sizing: border-box; }
.grh-photos,.grh-photo,.grh-shade { position: absolute; inset: 0; }
.grh-photo { display: block; opacity: 0; transition: opacity 1s ease; }
.grh-photo.is-active { opacity: 1; }
.grh-photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.grh-shade { background: linear-gradient(90deg,#061927b8,transparent 72%),linear-gradient(0deg,#061927c9,transparent 42%); pointer-events: none; }
.grh-content { position: relative; z-index: 1; width: min(1320px,calc(100% - 96px)); height: 100%; min-height: inherit; margin: auto; padding: 142px 0 38px; display: flex; flex-direction: column; }
.grh-heading { max-width: 650px; }
.grh-heading > p { margin: 0 0 15px; font-size: 12px; font-weight: 750; letter-spacing: .13em; color: #fff; }
.grh-heading h1 { font-size: clamp(56px,6.7vw,94px); line-height: .97; letter-spacing: -.055em; margin: 0; color: #fff; font-weight: 800; text-shadow: 0 2px 24px #06192730; }
.grh-heading h1 span { color: #ff965d; }
.grh-photo-space { flex: 1 1 0; min-height: 90px; }
.grh-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 44px; }
.grh-offer { order: 1; position: relative; display: flex; align-items: center; gap: 3px; flex: 0 0 auto; border-radius: 20px; padding: 12px 18px 12px 2px; background: #fff8ef; color: #182c37; box-shadow: 0 10px 28px #04131e26; min-width: 300px; }
.grh-offer[hidden] { display: none; }
.grh-bear-button { position: relative; display: grid; place-items: center; width: 124px; height: 112px; flex: 0 0 auto; margin-top: -34px; padding: 0; background: none; border: 0; color: inherit; cursor: pointer; }
.grh-bear-button img { width: 118px; height: 138px; object-fit: contain; filter: drop-shadow(0 5px 4px #06233020); }
.grh-bear-note { position: absolute; width: 190px; bottom: calc(100% + 10px); left: -30px; padding: 12px; border-radius: 12px; background: #fff; color: #173344; font-size: 13px; line-height: 1.4; box-shadow: 0 3px 14px #0002; }
.grh-bear-note[hidden] { display: none; }
.grh-offer-copy { display: grid; gap: 5px; padding-left: 6px; }
.grh-offer-copy > span { font-size: 11px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; color: #6a4937; }
.grh-offer-copy strong { font-size: 34px; line-height: 1; font-weight: 850; color: #b44218; letter-spacing: -.025em; }
.grh-offer-copy small { font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.grh-form { flex: 0 1 570px; margin: 0; }
.grh-form > label { display: block; margin: 0 0 8px; font-size: 13px; font-weight: 650; color: #fff; }
.grh-form-fields { display: grid; grid-template-columns: minmax(170px,.85fr) minmax(220px,1.15fr); gap: 8px; }
.grh-form input { width: 100%; min-width: 0; height: 58px; border: 1px solid #ffffff70; border-radius: 13px; padding: 0 17px; font: inherit; font-size: 18px; background: #fff; color: #192027; }
.grh-form input::placeholder { color: #77818a; opacity: 1; }
.grh-form button { display: flex; justify-content: space-between; gap: 8px; align-items: center; height: 58px; padding: 0 18px; border: 0; border-radius: 13px; background: #f35a1d; color: #fff; font: inherit; font-size: 16px; font-weight: 750; cursor: pointer; }
.grh-form button:hover { background: #d94a11; }
.grh-form button > span { font-size: 26px; font-weight: 400; }
.grh-error { margin: 0; color: #fff; font-size: 13px; }
.grh-error:not(:empty) { margin-top: 7px; padding: 7px 10px; background: #862e14; border-radius: 8px; }
.grh button:focus-visible,.grh input:focus-visible { outline: 3px solid #ffbc87; outline-offset: 3px; }
@media(max-width:1100px) and (min-width:821px) { .grh-bottom { gap: 24px; }.grh-form-fields { grid-template-columns: 1fr; }.grh-form { max-width: 420px; } }
@media(max-width:820px) {
 .grh { height: 100svh; min-height: 610px; }
 .grh-content { width: calc(100% - 32px); padding: 100px 0 max(14px,env(safe-area-inset-bottom)); }
 .grh-shade { background: linear-gradient(180deg,#061927a6,transparent 43%),linear-gradient(0deg,#061927d9,transparent 46%); }
 .grh-heading > p { font-size: 9px; letter-spacing: .07em; margin-bottom: 9px; }
 .grh-heading h1 { font-size: clamp(38px,10.7vw,52px); line-height: .99; }
 .grh-photo-space { min-height: 150px; }
 .grh-bottom { flex-direction: column; align-items: stretch; gap: 10px; }
 .grh-offer { order: 0; min-width: 0; width: max-content; max-width: 100%; align-self: flex-end; gap: 0; padding: 8px 13px 8px 0; border-radius: 15px; }
 .grh-bear-button { width: 94px; height: 62px; margin-top: -30px; }
 .grh-bear-button img { width: 90px; height: 102px; }
 .grh-offer-copy { gap: 4px; padding-left: 0; }
 .grh-offer-copy > span { font-size: 9px; }
 .grh-offer-copy strong { font-size: 25px; }
 .grh-offer-copy small { font-size: 9px; }
 .grh-form { flex: 0 0 auto; width: 100%; }
 .grh-form > label { font-size: 11px; margin-bottom: 5px; }
 .grh-form-fields { grid-template-columns: 1fr; gap: 7px; }
 .grh-form input { height: 46px; font-size: 17px; border-radius: 11px; }
 .grh-form button { height: 50px; font-size: 16px; border-radius: 11px; }
}
@media(prefers-reduced-motion:reduce) { .grh-photo { transition: none; } }
.home-page .site-header .brand-wordmark::after { content: none !important; display: none !important; }
@media(max-width:600px) {
 .home-page .site-header .brand-wordmark strong { font-size: clamp(17px,5.2vw,23px) !important; }
 .home-page .site-header .brand-icon { width: 32px !important; height: 32px !important; }
 .home-page .site-header .brand { gap: 6px !important; min-width: 0; }
}

@media(max-width:360px) { .grh-heading > p { font-size: 8px; } }
