/* ==========================================================================
   Upper Reach — Site Header
   ========================================================================== */

:root{
	--urh-cream:#FEF7ED;
	--urh-peach:#E9E2D8;
	--urh-text:#2d2d2d;
	--urh-light-green:#7A8858;
	--urh-dark-green:#304E1B;
	--urh-serif:"Vollkorn",Georgia,serif;
	--urh-sans:"Quicksand","Open Sans",Helvetica,Arial,sans-serif;
	--urh-ease:cubic-bezier(.4,0,.2,1);
	--urh-h:96px;
}

/* --- spacer keeps page content clear of the fixed bar ------------------- */
.urh-spacer{height:var(--urh-h);transition:height .35s var(--urh-ease)}

/* --- bar ---------------------------------------------------------------- */
.urh{
	position:fixed;top:0;left:0;right:0;z-index:9000;
	background:var(--urh-cream);
	box-shadow:inset 0 -1px 0 rgba(45,45,45,.09);
	transition:background-color .35s var(--urh-ease),box-shadow .35s var(--urh-ease),backdrop-filter .35s var(--urh-ease);
	font-family:var(--urh-sans);
}
.admin-bar .urh{top:32px}
@media (max-width:782px){.admin-bar .urh{top:46px}}

.urh__bar{
	display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
	gap:24px;padding:22px clamp(18px,3.6vw,52px);
	transition:padding .35s var(--urh-ease);
}
.urh.is-stuck{
	background:rgba(254,247,237,.93);
	-webkit-backdrop-filter:saturate(150%) blur(14px);
	backdrop-filter:saturate(150%) blur(14px);
	box-shadow:inset 0 -1px 0 rgba(45,45,45,.08),0 18px 34px -30px rgba(26,26,26,.65);
}
.urh.is-stuck .urh__bar{padding-top:8px;padding-bottom:8px}

/* non-sticky variant */
.urh--static{position:relative}
.urh--static + .urh-spacer,.urh--static ~ .urh-spacer{display:none}

/* --- menu trigger ------------------------------------------------------- */
/* the theme skins every <button>, so reset ours hard */
.urh .urh__bar .urh__trigger,
.urh-overlay .urh-close{
	background:none!important;background-color:transparent!important;
	border:0!important;border-radius:0!important;box-shadow:none!important;
	-webkit-appearance:none!important;appearance:none!important;
	min-height:0!important;height:auto!important;text-shadow:none!important;
}
/* the global button colour is white and lands on the children too,
   which made the label and the icon bars invisible on cream */
.urh .urh__bar .urh__trigger,
.urh .urh__bar .urh__trigger *{color:var(--urh-text)!important}
.urh .urh__bar .urh__trigger .urh__bun i{background:var(--urh-text)!important}
.urh .urh__bar .urh__trigger:hover,
.urh .urh__bar .urh__trigger:hover *,
.urh .urh__bar .urh__trigger:focus-visible,
.urh .urh__bar .urh__trigger:focus-visible *{color:var(--urh-light-green)!important}
.urh .urh__bar .urh__trigger:hover .urh__bun i,
.urh .urh__bar .urh__trigger:focus-visible .urh__bun i{background:var(--urh-light-green)!important}
.urh-overlay .urh-close,
.urh-overlay .urh-close span{color:rgba(255,255,255,.72)!important}
.urh-overlay .urh-close:hover,
.urh-overlay .urh-close:hover span,
.urh-overlay .urh-close:focus-visible,
.urh-overlay .urh-close:focus-visible span{color:#fff!important}
.urh__trigger{
	display:inline-flex;align-items:center;gap:12px;
	background:none;border:0;padding:6px 2px;margin:0;cursor:pointer;
	color:var(--urh-text);font-family:var(--urh-sans);font-size:11px;font-weight:600;
	letter-spacing:.2em;text-transform:uppercase;line-height:1;
	transition:color .28s var(--urh-ease);justify-self:start;
}
.urh__trigger:focus{outline:none}
.urh__trigger:focus-visible{outline:1px solid var(--urh-light-green);outline-offset:6px}
.urh__bun{display:block;width:26px;height:11px;position:relative;flex:0 0 auto}
.urh__bun i{
	position:absolute;left:0;height:1.5px;width:100%;background:currentColor;
	transition:width .35s var(--urh-ease),transform .35s var(--urh-ease),background-color .28s var(--urh-ease);
}
.urh__bun i:nth-child(1){top:0}
.urh__bun i:nth-child(2){bottom:0;width:62%}
.urh__trigger:hover .urh__bun i:nth-child(2){width:100%}
.urh__trigger:hover .urh__bun i:nth-child(1){width:62%}
.urh__trigger-label{display:inline-block}
@media (max-width:600px){.urh__trigger-label{display:none}}

/* --- logo ---------------------------------------------------------------
   The full logo stays in the flow and sets the bar height; the small
   wordmark is absolutely centred over it and cross-fades in once stuck. */
.urh__logo{display:block;line-height:0;justify-self:center;position:relative}
.urh__logo img{display:block;width:auto;transition:height .35s var(--urh-ease),opacity .3s var(--urh-ease)}
.urh__logo-full{height:62px}
.urh__logo-mark{
	height:26px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
	opacity:0;pointer-events:none;
}
.urh.is-stuck .urh__logo-full{opacity:0;height:26px}
.urh.is-stuck .urh__logo-mark{opacity:1}
@media (max-width:900px){
	.urh__logo-full{height:46px}
	.urh__logo-mark{height:21px}
	.urh.is-stuck .urh__logo-full{height:21px}
	.urh.is-stuck .urh__bar{padding-top:7px;padding-bottom:7px}
}
@media (max-width:480px){.urh__logo-full{height:40px}}

/* --- commerce7 utilities ------------------------------------------------ */
.urh__utils{display:flex;align-items:center;justify-content:flex-end;gap:22px;justify-self:end}

.urh .c7wp-wrap,
.urh .c7wp-wrap[data-c7-type="login"],
.urh .c7wp-wrap[data-c7-type="cart"]{
	display:inline-flex!important;align-items:center!important;
	width:auto!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;
}
.urh #c7-account,.urh #c7-cart{display:inline-flex!important;align-items:center!important}

/* strip the pill styling the old snippet applies, keep it quiet + upmarket */
.urh .c7-user-nav__account__login,
.urh .c7-user-nav__account a,
.urh .c7-user-nav__account__name,
.urh .c7-user-nav__account>button,
.urh .c7-user-nav__cart .c7-link{
	font-family:var(--urh-sans)!important;font-size:11px!important;font-weight:600!important;
	letter-spacing:.2em!important;text-transform:uppercase!important;
	color:var(--urh-text)!important;background:transparent!important;
	border:0!important;border-radius:0!important;padding:6px 0!important;
	display:inline-flex!important;align-items:center!important;gap:9px!important;
	line-height:1!important;white-space:nowrap!important;cursor:pointer!important;
	text-decoration:none!important;position:relative!important;
	transition:color .28s var(--urh-ease)!important;
}
.urh .c7-user-nav__account__login:hover,
.urh .c7-user-nav__account a:hover,
.urh .c7-user-nav__account__name:hover,
.urh .c7-user-nav__account>button:hover,
.urh .c7-user-nav__cart .c7-link:hover{
	color:var(--urh-light-green)!important;background:transparent!important;border:0!important;
}
.urh .c7-user-nav__cart .c7-link svg{
	width:19px!important;height:19px!important;fill:none!important;
	transition:stroke .28s var(--urh-ease)!important;
}
/* Commerce7's own CDN css paints the cart glyph white, so name the colour */
.urh .urh__utils .urh__cart .c7-user-nav__cart .c7-link svg,
.urh .urh__utils .urh__cart .c7-user-nav__cart .c7-link svg g,
.urh .urh__utils .urh__cart .c7-user-nav__cart .c7-link svg path{
	stroke:var(--urh-text)!important;fill:none!important;
}
.urh .urh__utils .urh__cart .c7-user-nav__cart .c7-link:hover svg,
.urh .urh__utils .urh__cart .c7-user-nav__cart .c7-link:hover svg g,
.urh .urh__utils .urh__cart .c7-user-nav__cart .c7-link:hover svg path{
	stroke:var(--urh-light-green)!important;
}
.urh .c7-user-nav__cart__count{
	background:var(--urh-light-green)!important;color:#fff!important;border-radius:50%!important;
	min-width:17px!important;height:17px!important;font-size:9px!important;letter-spacing:0!important;
	display:inline-flex!important;align-items:center!important;justify-content:center!important;
	padding:0 4px!important;font-style:normal!important;line-height:1!important;
}
.urh__utils .urh-divider{width:1px;height:16px;background:rgba(45,45,45,.18)}

/* mobile: the account block moves into the overlay, cart stays in the bar */
@media (max-width:900px){
	.urh__utils{gap:14px}
	.urh__utils .urh-divider{display:none}
	.urh .c7-user-nav__cart .c7-link{gap:7px!important}
}

/* ==========================================================================
   Full-screen menu
   ========================================================================== */
.urh-overlay{
	position:fixed;inset:0;z-index:9500;
	background:
		radial-gradient(110% 85% at 84% 0%,rgba(122,136,88,.38) 0%,rgba(122,136,88,0) 60%),
		radial-gradient(90% 70% at 0% 100%,rgba(16,32,10,.55) 0%,rgba(16,32,10,0) 62%),
		linear-gradient(168deg,#365621 0%,#2b471a 52%,#1f3512 100%);
	color:#fff;font-family:var(--urh-sans);
	opacity:0;visibility:hidden;pointer-events:none;
	transition:opacity .45s var(--urh-ease),visibility 0s linear .45s;
	overflow-y:auto;overscroll-behavior:contain;
}
.admin-bar .urh-overlay{top:32px}
@media (max-width:782px){.admin-bar .urh-overlay{top:46px}}
.urh-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .45s var(--urh-ease),visibility 0s}
.urh-overlay__fish{
	position:absolute;left:-10%;bottom:-16%;width:min(62vw,860px);
	opacity:.06;pointer-events:none;user-select:none;
	filter:brightness(0) invert(1);
}
.urh-overlay__inner{position:relative;min-height:100%;display:flex;flex-direction:column;padding:22px clamp(18px,3.6vw,52px) 48px}

.urh-overlay__top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:clamp(24px,4vw,54px)}
.urh-overlay__logo img{display:block;height:clamp(34px,3.4vw,46px);width:auto}

/* close */
.urh-close{
	display:inline-flex;align-items:center;gap:14px;background:none;border:0;padding:0;margin:0;cursor:pointer;
	color:rgba(255,255,255,.72);font-family:var(--urh-sans);font-size:11px;font-weight:600;
	letter-spacing:.2em;text-transform:uppercase;line-height:1;
	transition:color .28s var(--urh-ease);
}
.urh-close:focus{outline:none}
.urh-close__ring{
	width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);
	display:inline-flex;align-items:center;justify-content:center;position:relative;
	transition:border-color .35s var(--urh-ease),background-color .35s var(--urh-ease),transform .45s var(--urh-ease);
}
.urh-close:hover .urh-close__ring,.urh-close:focus-visible .urh-close__ring{
	border-color:#fff;background:rgba(255,255,255,.09);transform:rotate(90deg);
}
.urh-close__ring i{position:absolute;width:17px;height:1.5px;background:#fff}
.urh-close__ring i:first-child{transform:rotate(45deg)}
.urh-close__ring i:last-child{transform:rotate(-45deg)}

/* body grid */
.urh-overlay__body{
	flex:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
	gap:clamp(32px,5vw,88px);align-items:start;
}

/* ---- nav: three levels -------------------------------------------------
   L1 .urh-nav__top   large serif heading
   L2 .urh-nav__mid   section heading inside the branch
   L3 .urh-nav__sub2  small uppercase links
   A level-2 item with the CSS class "urh-cta" renders as .urh-nav__btn. */
.urh-nav{columns:2;column-gap:clamp(24px,4vw,64px);list-style:none;margin:0;padding:0}
.urh-nav>li{break-inside:avoid;margin:0 0 clamp(18px,2vw,30px);padding:0 0 clamp(16px,1.8vw,24px);border-bottom:1px solid rgba(255,255,255,.14)}
.urh-nav>li:last-child{border-bottom:0}
.urh-nav__top{
	display:inline-block;font-family:var(--urh-serif);font-weight:400;
	font-size:clamp(21px,2.05vw,30px);line-height:1.15;color:#fff;text-decoration:none;
	position:relative;transition:color .3s var(--urh-ease),transform .4s var(--urh-ease);
}
.urh-nav__top::after{
	content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:currentColor;
	transition:right .45s var(--urh-ease);
}
.urh-nav__top:hover,.urh-nav__top:focus-visible{color:#fff}
.urh-nav__top:hover::after,.urh-nav__top:focus-visible::after{right:0}
.urh-nav .is-current>.urh-nav__top{color:#fff}
.urh-nav .is-current>.urh-nav__top::after{right:0;background:var(--urh-light-green)}

/* level 2 */
.urh-nav__sub{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:11px}
.urh-nav__group{margin:0;padding:0}
.urh-nav__sub>li>.urh-nav__mid{
	display:inline-block;font-family:var(--urh-sans);
	font-size:clamp(13px,1.05vw,15px);font-weight:600;letter-spacing:.03em;
	text-transform:none;line-height:1.25;color:rgba(255,255,255,.95);text-decoration:none;
	transition:color .26s var(--urh-ease);
}
.urh-nav__sub>li>.urh-nav__mid:hover,
.urh-nav__sub>li>.urh-nav__mid:focus-visible{color:var(--urh-light-green)}

/* level 3 */
.urh-nav__sub2{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.urh-nav__sub2 a{
	font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
	color:rgba(255,255,255,.62);text-decoration:none;transition:color .26s var(--urh-ease);
}
.urh-nav__sub2 a:hover,.urh-nav__sub2 a:focus-visible{color:#fff}

/* level-2 item flagged "urh-cta" — a button at the foot of the branch */
.urh-nav__group.is-cta{margin-top:3px}
.urh-nav__sub>li>.urh-nav__btn{
	display:inline-flex;align-items:center;justify-content:center;
	font-family:"Open Sans",var(--urh-sans);font-size:10.5px;font-weight:600;
	letter-spacing:.16em;text-transform:uppercase;
	padding:11px 18px;border:1px solid rgba(255,255,255,.34);color:#fff;text-decoration:none;
	transition:background-color .3s var(--urh-ease),border-color .3s var(--urh-ease),color .3s var(--urh-ease);
}
.urh-nav__sub>li>.urh-nav__btn:hover,
.urh-nav__sub>li>.urh-nav__btn:focus-visible{background:#fff;border-color:#fff;color:var(--urh-dark-green)}

/* feature panel */
.urh-panel{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,30px)}
.urh-panel__media{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:16/10;background:rgba(0,0,0,.2)}
.urh-panel__media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform 1.2s var(--urh-ease)}
.urh-overlay.is-open .urh-panel__media img{transform:scale(1)}
.urh-panel__ctas{display:flex;flex-wrap:wrap;gap:10px}
.urh-btn{
	display:inline-flex;align-items:center;justify-content:center;
	font-family:"Open Sans",var(--urh-sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
	padding:12px 20px;border:1px solid rgba(255,255,255,.34);color:#fff;text-decoration:none;
	transition:background-color .3s var(--urh-ease),border-color .3s var(--urh-ease),color .3s var(--urh-ease);
}
.urh-btn:hover,.urh-btn:focus-visible{background:#fff;border-color:#fff;color:var(--urh-dark-green)}
.urh-btn--solid{background:var(--urh-cream);border-color:var(--urh-cream);color:var(--urh-dark-green)}
.urh-btn--solid:hover,.urh-btn--solid:focus-visible{background:var(--urh-light-green);border-color:var(--urh-light-green);color:#fff}

.urh-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px 28px}
.urh-contact h4{
	margin:0 0 7px;font-family:var(--urh-sans);font-size:10px;font-weight:700;
	letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5);
}
.urh-contact p{margin:0;font-size:13px;line-height:1.65;color:rgba(255,255,255,.86);overflow-wrap:anywhere}
.urh-contact a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.22);transition:border-color .26s var(--urh-ease),color .26s var(--urh-ease)}
.urh-contact a:hover{color:#fff;border-color:#fff}

.urh-social{display:flex;gap:10px}
.urh-social a{
	width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.28);
	display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:14px;
	transition:background-color .3s var(--urh-ease),border-color .3s var(--urh-ease),color .3s var(--urh-ease);
}
.urh-social a:hover,.urh-social a:focus-visible{background:#fff;border-color:#fff;color:var(--urh-dark-green)}

.urh-overlay__account{display:flex;align-items:center;gap:18px}
.urh-overlay__account:empty{display:none}
.urh-overlay__account .c7-user-nav__account__login,
.urh-overlay__account .c7-user-nav__account a,
.urh-overlay__account .c7-user-nav__account__name,
.urh-overlay__account .c7-user-nav__account>button{
	font-family:"Open Sans",var(--urh-sans)!important;font-size:11px!important;font-weight:600!important;
	letter-spacing:.16em!important;text-transform:uppercase!important;text-decoration:none!important;
	color:#fff!important;background:transparent!important;
	border:1px solid rgba(255,255,255,.34)!important;border-radius:0!important;padding:12px 20px!important;
	display:inline-flex!important;align-items:center!important;line-height:1!important;
	transition:background-color .3s var(--urh-ease),border-color .3s var(--urh-ease),color .3s var(--urh-ease)!important;
}
.urh-overlay__account .c7-user-nav__account__login:hover,
.urh-overlay__account .c7-user-nav__account a:hover,
.urh-overlay__account .c7-user-nav__account>button:hover{
	color:var(--urh-dark-green)!important;background:#fff!important;border-color:#fff!important;
}

/* staggered reveal */
.urh-overlay [data-urh-stagger]{opacity:0;transform:translateY(16px)}
.urh-overlay.is-open [data-urh-stagger]{
	opacity:1;transform:none;
	transition:opacity .55s var(--urh-ease),transform .55s var(--urh-ease);
	transition-delay:calc(70ms + var(--i,0) * 45ms);
}

@media (max-width:1000px){
	.urh-overlay__body{grid-template-columns:1fr;gap:38px;align-items:start}
	.urh-nav{columns:2}
	.urh-panel__media{display:none}
}
@media (max-width:640px){
	.urh-nav{columns:1}
	.urh-nav__sub2 a{font-size:10.5px;letter-spacing:.12em}
	.urh-nav__sub2{gap:5px 14px}
	.urh-nav__sub{gap:10px}
	.urh-overlay__inner{padding-bottom:56px}
	.urh-nav>li{margin-bottom:16px;padding-bottom:14px}
}

body.urh-locked{overflow:hidden}

@media (prefers-reduced-motion:reduce){
	.urh,.urh__bar,.urh__logo img,.urh-overlay,.urh-overlay [data-urh-stagger],
	.urh-close__ring,.urh-panel__media img{transition-duration:.01ms!important}
	.urh-overlay [data-urh-stagger]{transform:none}
}
