/* ==========================================================================
   shell.css — header, navigation, mobile menu, search overlay, banner,
   breadcrumbs, CTA band and footer. Loaded on every view.
   ========================================================================== */

/* ---- Top bar ---- */
.shp-topbar{
	background:rgba(var(--shp-dark-rgb), .85);
	border-block-end:var(--shp-hair);
	font-size:.78rem;
}
.shp-topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-block-size:42px;flex-wrap:wrap;}
.shp-topbar__text{color:var(--shp-muted);font-family:var(--shp-font-m);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;}
.shp-topbar__meta{display:flex;align-items:center;gap:22px;}
.shp-topbar__link{display:inline-flex;align-items:center;gap:8px;color:var(--shp-body);transition:color .3s ease;}
.shp-topbar__link:hover{color:var(--shp-primary);}

/* ---- Header shell ---- */
.shp-header{position:relative;z-index:80;inline-size:100%;}
.shp-header__wrap{padding-block:18px;transition:padding .45s var(--shp-ease), background .45s var(--shp-ease);}

.shp-header-sticky .shp-header{position:sticky;inset-block-start:0;}
.shp-header-over .shp-header{position:absolute;inset-block-start:0;inset-inline:0;}
.shp-header-over.shp-header-sticky .shp-header{position:fixed;}

.shp-header__bar{
	position:relative;
	display:flex;
	align-items:center;
	gap:clamp(12px, 2vw, 28px);
	min-block-size:var(--shp-header-h);
	padding-inline:clamp(16px, 2vw, 26px);
	transition:min-block-size .45s var(--shp-ease), background .45s var(--shp-ease), box-shadow .45s var(--shp-ease), border-color .45s var(--shp-ease);
}

/* Capsule layout (design default).
   The pill is narrower than the container and the logo disc is deliberately
   taller than the pill, so it overhangs the rounded start exactly as drawn. */
.shp-header--capsule .shp-header__bar{
	inline-size:min(100%, 1140px);
	margin-inline:auto;
	min-block-size:clamp(62px, calc(var(--shp-logo-h) * .8), 92px);
	border-radius:999px;
	background:linear-gradient(120deg, rgba(var(--shp-card-rgb), .86), rgba(var(--shp-dark-rgb), .74));
	border:1px solid rgba(var(--shp-ink-rgb), .1);
	box-shadow:0 22px 54px rgba(var(--shp-dark-rgb), .55), inset 0 1px 0 rgba(var(--shp-ink-rgb), .08);
	-webkit-backdrop-filter:blur(18px) saturate(140%);
	backdrop-filter:blur(18px) saturate(140%);
	padding-inline-start:calc(var(--shp-logo-h) + 26px);
	padding-inline-end:10px;
}
.shp-header--capsule .shp-header__brand{
	position:absolute;
	inset-inline-start:-6px;
	inset-block-start:50%;
	transform:translateY(-50%);
	z-index:2;
}
.shp-header--capsule .shp-logo__mark{
	box-shadow:
		0 0 0 1px rgba(var(--shp-primary-rgb), .22),
		0 14px 34px rgba(var(--shp-dark-rgb), .7),
		0 0 30px rgba(var(--shp-primary-rgb), .26);
}
.shp-header--classic .shp-header__bar{border-block-end:var(--shp-hair);}
.shp-header--centered .shp-header__bar{flex-direction:column;gap:14px;padding-block:18px;}
.shp-header--centered .shp-nav__list{justify-content:center;}

/* Scrolled state */
.shp-header.is-stuck .shp-header__wrap{padding-block:10px;}
.shp-header.is-stuck .shp-header__bar{
	min-block-size:clamp(56px, calc(var(--shp-logo-h) * .68), 76px);
	background:linear-gradient(120deg, rgba(var(--shp-card-rgb), .95), rgba(var(--shp-dark-rgb), .92));
	box-shadow:0 18px 44px rgba(var(--shp-dark-rgb), .62);
}
.shp-header.is-hidden{transform:translateY(-120%);}
.shp-header{transition:transform .5s var(--shp-ease);}

/* ---- Logo ---- */
.shp-logo{display:inline-flex;align-items:center;gap:12px;}
.shp-logo__mark{
	display:grid;
	place-items:center;
	block-size:var(--shp-logo-h);
	inline-size:var(--shp-logo-h);
	border-radius:50%;
	background:radial-gradient(circle at 30% 25%, rgba(var(--shp-primary-rgb), .3), rgba(var(--shp-dark-rgb), .9));
	border:1px solid rgba(var(--shp-primary-rgb), .35);
	box-shadow:0 10px 30px rgba(var(--shp-dark-rgb), .6), 0 0 26px rgba(var(--shp-primary-rgb), .22);
	overflow:hidden;
	transition:transform .5s var(--shp-ease), box-shadow .5s var(--shp-ease);
}
.shp-logo:hover .shp-logo__mark{transform:scale(1.04) rotate(-2deg);box-shadow:0 14px 40px rgba(var(--shp-primary-rgb), .38);}
.shp-logo__mark img{inline-size:100%;block-size:100%;object-fit:contain;padding:6px;}
.shp-logo__text{
	font-family:var(--shp-font-h);
	font-size:1.25rem;
	color:var(--shp-ink);
	letter-spacing:.04em;
	text-transform:uppercase;
}
.shp-logo--footer .shp-logo__mark{block-size:var(--shp-logo-h);inline-size:var(--shp-logo-h);}

/* ---- Desktop navigation ---- */
.shp-nav{margin-inline:auto;}
.shp-nav__list{display:flex;align-items:center;gap:clamp(6px, 1.4vw, 20px);}
.shp-nav__link{
	position:relative;
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:10px 4px;
	font-size:.95rem;
	font-weight:500;
	color:var(--shp-body);
	transition:color .35s ease;
}
.shp-nav__link::after{
	content:"";
	position:absolute;
	inset-block-end:2px;
	inset-inline-start:4px;
	inline-size:0;
	block-size:2px;
	border-radius:2px;
	background:var(--shp-grad);
	transition:inline-size .45s var(--shp-ease);
}
.shp-nav__link:hover,.shp-nav__link.is-current{color:var(--shp-ink);}
.shp-nav__link:hover::after,.shp-nav__link.is-current::after{inline-size:calc(100% - 8px);}
.shp-nav__item--depth-0 > .shp-nav__link.is-current{color:var(--shp-primary);}
.shp-nav__caret{transition:transform .35s var(--shp-ease);}
.shp-nav__item--parent:hover > .shp-nav__link .shp-nav__caret{transform:rotate(180deg);}
.shp-nav__toggle{display:none;}

.shp-nav__item{position:relative;}
.shp-nav__sub{
	position:absolute;
	inset-block-start:calc(100% + 14px);
	inset-inline-start:0;
	min-inline-size:230px;
	padding:10px;
	border-radius:calc(var(--shp-radius) + 2px);
	background:linear-gradient(160deg, rgba(var(--shp-card-rgb), .98), rgba(var(--shp-dark-rgb), .98));
	border:var(--shp-hair);
	box-shadow:var(--shp-shadow-l);
	opacity:0;
	visibility:hidden;
	transform:translateY(12px);
	transition:opacity .35s var(--shp-ease), transform .35s var(--shp-ease), visibility .35s;
	z-index:10;
}
.shp-nav__sub::before{content:"";position:absolute;inset-block-start:-14px;inset-inline:0;block-size:14px;}
.shp-nav__item:hover > .shp-nav__sub,.shp-nav__item:focus-within > .shp-nav__sub{opacity:1;visibility:visible;transform:none;}
.shp-nav__sub .shp-nav__link{
	inline-size:100%;
	padding:10px 14px;
	border-radius:calc(var(--shp-radius) - 6px);
	font-size:.9rem;
	transition:background .3s ease, color .3s ease, padding-inline-start .3s var(--shp-ease);
}
.shp-nav__sub .shp-nav__link::after{display:none;}
.shp-nav__sub .shp-nav__link:hover{background:rgba(var(--shp-primary-rgb), .12);color:var(--shp-primary);padding-inline-start:20px;}
.shp-nav__sub--depth-2{inset-block-start:-10px;inset-inline-start:100%;}

/* ---- Header actions ---- */
.shp-header__actions{display:flex;align-items:center;gap:10px;margin-inline-start:auto;}
.shp-header--centered .shp-header__actions{margin-inline:auto;}
.shp-header__cta{margin-inline-start:4px;}

/* Language switcher */
.shp-lang{position:relative;}
.shp-lang__toggle{
	display:inline-flex;
	align-items:center;
	gap:7px;
	padding:9px 14px;
	border-radius:999px;
	border:1px solid rgba(var(--shp-ink-rgb), .1);
	background:rgba(var(--shp-ink-rgb), .04);
	color:var(--shp-ink);
	font-family:var(--shp-font-m);
	font-size:.72rem;
	letter-spacing:.1em;
	transition:border-color .3s ease, background .3s ease, color .3s ease;
}
.shp-lang__toggle:hover{border-color:rgba(var(--shp-primary-rgb), .5);color:var(--shp-primary);}
.shp-lang__caret{transition:transform .35s var(--shp-ease);}
.shp-lang.is-open .shp-lang__caret{transform:rotate(180deg);}
.shp-lang__menu{
	position:absolute;
	inset-block-start:calc(100% + 10px);
	inset-inline-end:0;
	min-inline-size:170px;
	padding:8px;
	border-radius:var(--shp-radius);
	background:rgba(var(--shp-card-rgb), .98);
	border:var(--shp-hair);
	box-shadow:var(--shp-shadow-l);
	opacity:0;
	visibility:hidden;
	transform:translateY(10px);
	transition:opacity .3s var(--shp-ease), transform .3s var(--shp-ease), visibility .3s;
	z-index:20;
}
.shp-lang.is-open .shp-lang__menu{opacity:1;visibility:visible;transform:none;}
.shp-lang__menu .shp-lang__link{display:block;padding:9px 14px;border-radius:8px;font-size:.9rem;transition:background .25s ease, color .25s ease;}
.shp-lang__menu .shp-lang__link:hover{background:rgba(var(--shp-primary-rgb), .12);color:var(--shp-primary);}
.shp-lang__link.is-active{color:var(--shp-primary);}
.shp-lang--inline{display:flex;gap:8px;}
.shp-lang--inline .shp-lang__link{
	padding:8px 14px;
	border-radius:999px;
	border:1px solid rgba(var(--shp-ink-rgb), .1);
	font-family:var(--shp-font-m);
	font-size:.72rem;
}
.shp-lang--inline .shp-lang__link.is-active{background:var(--shp-primary-soft);border-color:rgba(var(--shp-primary-rgb), .5);color:var(--shp-primary);}

/* Burger */
.shp-burger{
	display:none;
	flex-direction:column;
	justify-content:center;
	gap:5px;
	inline-size:44px;
	block-size:44px;
	border-radius:12px;
	border:1px solid rgba(var(--shp-ink-rgb), .1);
	background:rgba(var(--shp-ink-rgb), .04);
	padding-inline:11px;
}
.shp-burger span{display:block;block-size:2px;inline-size:100%;border-radius:2px;background:var(--shp-ink);transition:transform .4s var(--shp-ease), opacity .3s ease, width .4s var(--shp-ease);}
.shp-burger span:nth-child(2){inline-size:70%;}
.shp-burger:hover span:nth-child(2){inline-size:100%;}

@media (max-width:1080px){
	/* Only the horizontal bar — the drawer menu is also a .shp-nav. */
	.shp-nav--desktop{display:none;}
	.shp-burger{display:flex;}
	.shp-header--capsule .shp-header__bar{inline-size:100%;}
	.shp-header__cta{display:none;}
}
@media (max-width:640px){
	.shp-logo__mark{block-size:var(--shp-logo-h-m);inline-size:var(--shp-logo-h-m);}
	.shp-header--capsule .shp-header__bar{
		min-block-size:clamp(54px, calc(var(--shp-logo-h-m) * .84), 70px);
		padding-inline-start:calc(var(--shp-logo-h-m) + 18px);
		border-radius:calc(var(--shp-radius) + 12px);
	}
	.shp-header__wrap{padding-block:12px;}
	.shp-lang--dropdown{display:none;}
	.shp-topbar__inner{justify-content:center;}
	.shp-topbar__text{display:none;}
}

/* ---- Mobile drawer ---- */
.shp-mobile{position:fixed;inset:0;z-index:200;visibility:hidden;}
.shp-mobile.is-open{visibility:visible;}
.shp-mobile__backdrop{position:absolute;inset:0;background:rgba(var(--shp-dark-rgb), .75);opacity:0;transition:opacity .45s var(--shp-ease);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.shp-mobile.is-open .shp-mobile__backdrop{opacity:1;}
.shp-mobile__panel{
	position:absolute;
	inset-block:0;
	inset-inline-end:0;
	inline-size:min(88vw, 400px);
	display:flex;
	flex-direction:column;
	background:linear-gradient(180deg, var(--shp-card), var(--shp-dark));
	border-inline-start:var(--shp-hair);
	box-shadow:var(--shp-shadow-l);
	transform:translateX(100%);
	transition:transform .55s var(--shp-ease);
	overflow-y:auto;
}
.shp-rtl .shp-mobile__panel{transform:translateX(-100%);}
.shp-mobile.is-open .shp-mobile__panel{transform:none;}
.shp-mobile__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-block-end:var(--shp-hair);}
.shp-mobile__body{flex:1;padding:22px;}
.shp-mobile__foot{padding:22px;border-block-start:var(--shp-hair);display:grid;gap:18px;}
.shp-mobile__foot .shp-social{justify-content:center;}

.shp-nav--mobile{margin-inline:0;}
.shp-nav--mobile .shp-nav__list{flex-direction:column;align-items:stretch;gap:2px;counter-reset:shp-mnav;}
.shp-nav--mobile .shp-nav__item--depth-0{counter-increment:shp-mnav;}
/* A quiet index before each top-level item: 01, 02, 03… */
.shp-nav--mobile .shp-nav__item--depth-0 > .shp-nav__link{display:flex;align-items:baseline;gap:14px;}
.shp-nav--mobile .shp-nav__item--depth-0 > .shp-nav__link::before{
	content:counter(shp-mnav, decimal-leading-zero);
	font-family:var(--shp-font-m);
	font-size:.62rem;
	letter-spacing:.1em;
	color:var(--shp-muted);
	transition:color .3s ease;
}
.shp-nav--mobile .shp-nav__item--depth-0 > .shp-nav__link:hover::before,
.shp-nav--mobile .shp-nav__item--depth-0 > .shp-nav__link.is-current::before{color:var(--shp-primary);}
.shp-nav--mobile .shp-nav__link:hover{color:var(--shp-primary);}
.shp-nav--mobile .shp-nav__item--depth-0 > .shp-nav__link.is-current{color:var(--shp-primary);}
.shp-nav--mobile .shp-nav__item--depth-0 > .shp-nav__link{transition:color .3s ease, padding .4s var(--shp-ease);}
.shp-nav--mobile .shp-nav__item--depth-0 > .shp-nav__link:hover{padding-inline-start:8px;}

/* Items rise into place one after another as the drawer opens. */
.shp-mobile .shp-nav--mobile .shp-nav__item--depth-0{opacity:0;transform:translate3d(0, 14px, 0);}
.shp-mobile.is-open .shp-nav--mobile .shp-nav__item--depth-0{
	opacity:1;
	transform:none;
	transition:opacity .5s ease, transform .6s var(--shp-ease);
}
.shp-mobile.is-open .shp-nav--mobile .shp-nav__item--depth-0:nth-child(1){transition-delay:.12s;}
.shp-mobile.is-open .shp-nav--mobile .shp-nav__item--depth-0:nth-child(2){transition-delay:.17s;}
.shp-mobile.is-open .shp-nav--mobile .shp-nav__item--depth-0:nth-child(3){transition-delay:.22s;}
.shp-mobile.is-open .shp-nav--mobile .shp-nav__item--depth-0:nth-child(4){transition-delay:.27s;}
.shp-mobile.is-open .shp-nav--mobile .shp-nav__item--depth-0:nth-child(5){transition-delay:.32s;}
.shp-mobile.is-open .shp-nav--mobile .shp-nav__item--depth-0:nth-child(6){transition-delay:.37s;}
.shp-mobile.is-open .shp-nav--mobile .shp-nav__item--depth-0:nth-child(7){transition-delay:.42s;}
.shp-mobile.is-open .shp-nav--mobile .shp-nav__item--depth-0:nth-child(n+8){transition-delay:.47s;}
html.no-js .shp-nav--mobile .shp-nav__item--depth-0{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
	.shp-mobile .shp-nav--mobile .shp-nav__item--depth-0{opacity:1;transform:none;transition:none;}
}
.shp-nav--mobile .shp-nav__item{border-block-end:1px solid rgba(var(--shp-ink-rgb), .05);}
.shp-nav--mobile .shp-nav__link{padding:14px 2px;font-size:1.05rem;font-family:var(--shp-font-h);letter-spacing:.03em;text-transform:uppercase;color:var(--shp-ink);}
.shp-nav--mobile .shp-nav__link::after{display:none;}
.shp-nav--mobile .shp-nav__caret{display:none;}
.shp-nav--mobile .shp-nav__item--parent{position:relative;}
.shp-nav--mobile .shp-nav__toggle{
	display:grid;
	place-items:center;
	position:absolute;
	inset-block-start:6px;
	inset-inline-end:0;
	inline-size:38px;
	block-size:38px;
	border-radius:10px;
	color:var(--shp-body);
	transition:transform .4s var(--shp-ease), color .3s ease;
}
.shp-nav--mobile .shp-nav__toggle[aria-expanded="true"]{transform:rotate(180deg);color:var(--shp-primary);}
.shp-nav--mobile .shp-nav__sub{
	position:static;
	opacity:1;
	visibility:visible;
	transform:none;
	box-shadow:none;
	border:0;
	background:none;
	padding:0 0 10px 0;
	display:none;
}
.shp-nav--mobile .shp-nav__sub.is-open{display:block;}
.shp-nav--mobile .shp-nav__sub .shp-nav__link{font-family:var(--shp-font-b);font-size:.95rem;text-transform:none;color:var(--shp-body);padding-inline-start:16px;}
.shp-mobile .shp-searchForm{margin-block-start:24px;}

/* ---- Search form + overlay ---- */
.shp-searchForm{position:relative;display:flex;align-items:center;gap:10px;}
.shp-searchForm__icon{position:absolute;inset-inline-start:16px;color:var(--shp-muted);pointer-events:none;display:flex;}
.shp-searchForm__input{padding-inline-start:46px;}
.shp-searchForm__submit{
	position:absolute;
	inset-inline-end:6px;
	padding:10px 18px;
	border-radius:calc(var(--shp-radius) - 6px);
	background:var(--shp-grad);
	color:#04121C;
	font-family:var(--shp-font-m);
	font-size:.7rem;
	letter-spacing:.12em;
	text-transform:uppercase;
	transition:filter .3s ease, transform .3s var(--shp-ease);
}
.shp-searchForm__submit:hover{filter:brightness(1.1);transform:translateY(-1px);}

.shp-searchOverlay{position:fixed;inset:0;z-index:210;visibility:hidden;}
.shp-searchOverlay.is-open{visibility:visible;}
.shp-searchOverlay__backdrop{position:absolute;inset:0;background:rgba(var(--shp-dark-rgb), .92);opacity:0;transition:opacity .45s var(--shp-ease);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.shp-searchOverlay.is-open .shp-searchOverlay__backdrop{opacity:1;}
.shp-searchOverlay__inner{
	position:relative;
	inline-size:min(92vw, 720px);
	margin:0 auto;
	inset-block-start:18vh;
	opacity:0;
	transform:translateY(24px);
	transition:opacity .5s var(--shp-ease), transform .5s var(--shp-ease);
}
.shp-searchOverlay.is-open .shp-searchOverlay__inner{opacity:1;transform:none;}
.shp-searchOverlay__close{position:absolute;inset-block-start:-58px;inset-inline-end:0;}
.shp-searchOverlay__title{font-size:var(--shp-h3);margin-block-end:22px;}
.shp-searchOverlay__results{margin-block-start:22px;display:grid;gap:8px;max-block-size:46vh;overflow-y:auto;}
.shp-searchResult{
	display:flex;
	align-items:center;
	gap:14px;
	padding:12px 14px;
	border-radius:var(--shp-radius);
	border:var(--shp-hair);
	background:rgba(var(--shp-ink-rgb), .03);
	transition:background .3s ease, transform .35s var(--shp-ease), border-color .3s ease;
}
.shp-searchResult:hover{background:rgba(var(--shp-primary-rgb), .1);border-color:rgba(var(--shp-primary-rgb), .35);transform:translateX(4px);}
.shp-searchResult img{inline-size:52px;block-size:52px;border-radius:10px;object-fit:cover;}
.shp-searchResult__title{color:var(--shp-ink);font-weight:600;}
.shp-searchResult__type{font-family:var(--shp-font-m);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--shp-primary);}
.shp-searchOverlay__empty{color:var(--shp-muted);text-align:center;padding-block:20px;}

/* ---- Page banner ---- */
.shp-banner{
	position:relative;
	display:flex;
	align-items:flex-end;
	min-block-size:var(--shp-banner-h);
	padding-block:clamp(44px, 5vw, 72px) clamp(48px, 6vw, 84px);
	overflow:hidden;
	isolation:isolate;
}
/* Only clear the header when it actually floats on top. */
.shp-header-over .shp-banner{padding-block-start:calc(var(--shp-header-h) + 60px);}
.shp-banner--center{align-items:center;text-align:center;}
.shp-banner--center .shp-crumbs__list{justify-content:center;}
.shp-banner__media{
	position:absolute;
	inset:-8% 0;
	background-size:cover;
	background-position:center;
	z-index:-2;
	transform:scale(1.06);
	animation:shp-banner-in 1.6s var(--shp-ease) both;
}
@keyframes shp-banner-in{from{transform:scale(1.16);opacity:0;}to{transform:scale(1.06);opacity:1;}}
.shp-banner__veil{
	position:absolute;
	inset:0;
	z-index:-1;
	background:
		linear-gradient(to top, var(--shp-bg) 2%, rgba(var(--shp-bg-rgb), var(--shp-banner-overlay)) 55%, rgba(var(--shp-bg-rgb), .55) 100%),
		linear-gradient(to right, rgba(var(--shp-bg-rgb), .92), transparent 70%);
}
.shp-banner__glow{
	position:absolute;
	inset-block-start:-20%;
	inset-inline-end:-10%;
	inline-size:55%;
	block-size:120%;
	z-index:-1;
	background:radial-gradient(circle, rgba(var(--shp-primary-rgb), .22), transparent 62%);
	pointer-events:none;
}
.shp-banner__inner{position:relative;max-inline-size:820px;}
.shp-banner__title{
	margin-block:16px 0;
	font-weight:700;
	letter-spacing:.005em;
	color:var(--shp-ink);
}
/* Painted on the heading itself, so it survives with or without the
   split-line wrapper. Guarded: without background-clip support the title
   simply stays white instead of disappearing. */
@supports (-webkit-background-clip:text) or (background-clip:text){
	.shp-banner__title{
		background-image:var(--shp-title-grad);
		background-size:100% 100%;
		-webkit-background-clip:text;
		background-clip:text;
		color:transparent;
	}
}
.shp-banner__sub{margin-block-start:18px;font-size:1.05rem;max-inline-size:620px;}
.shp-banner--center .shp-banner__inner{margin-inline:auto;}
.shp-banner--center .shp-banner__sub{margin-inline:auto;}

@media (max-width:768px){
	.shp-banner{min-block-size:var(--shp-banner-h-m);padding-block:34px 40px;}
	.shp-header-over .shp-banner{padding-block-start:calc(var(--shp-header-h) + 20px);}
}

/* ---- Breadcrumbs ---- */
.shp-crumbs{margin-block-start:22px;}
.shp-crumbs__list{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-family:var(--shp-font-m);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;}
.shp-crumbs__item{display:inline-flex;align-items:center;gap:8px;color:var(--shp-muted);}
.shp-crumbs__item a{color:var(--shp-body);transition:color .3s ease;}
.shp-crumbs__item a:hover{color:var(--shp-primary);}
.shp-crumbs__item [aria-current]{color:var(--shp-primary);}
.shp-crumbs__sep{display:inline-flex;color:rgba(var(--shp-ink-rgb), .25);transform:rotate(-90deg);}
.shp-rtl .shp-crumbs__sep{transform:rotate(90deg);}

/* ---- CTA band ---- */
.shp-cta{position:relative;padding-block:var(--shp-space-section);text-align:center;overflow:hidden;}
.shp-cta__glow{
	position:absolute;
	inset-block-start:50%;
	inset-inline-start:50%;
	inline-size:min(900px, 90vw);
	block-size:min(900px, 90vw);
	transform:translate(-50%, -50%);
	background:radial-gradient(circle, rgba(var(--shp-primary-rgb), .14), transparent 60%);
	pointer-events:none;
}
.shp-cta__inner{position:relative;max-inline-size:900px;margin-inline:auto;}
.shp-cta__title{margin-block:18px 0;font-size:var(--shp-h1);}
.shp-cta__text{margin-block-start:20px;font-size:1.05rem;}
.shp-cta__actions{margin-block-start:34px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}

/* ---- Footer ----
   Four columns: Overview · Quick Links · Contact Info · Map.
   The grid adapts to however many columns are switched on. */
.shp-footer{position:relative;background:var(--shp-dark);border-block-start:var(--shp-hair);overflow:hidden;}
.shp-footer__glow{
	position:absolute;
	inset-block-start:-40%;
	inset-inline-start:-10%;
	inline-size:60%;
	block-size:160%;
	background:radial-gradient(circle, rgba(var(--shp-primary-rgb), .08), transparent 60%);
	pointer-events:none;
}
.shp-footer__inner{
	position:relative;
	display:grid;
	grid-template-columns:minmax(0, 1.25fr) minmax(0, .85fr) minmax(0, 1fr) minmax(0, 1.05fr);
	gap:clamp(28px, 3.4vw, 56px);
	padding-block:clamp(48px, 6vw, 82px);
	align-items:start;
}
.shp-footer--cols-1 .shp-footer__inner{grid-template-columns:minmax(0,1fr);}
.shp-footer--cols-2 .shp-footer__inner{grid-template-columns:repeat(2, minmax(0,1fr));}
.shp-footer--cols-3 .shp-footer__inner{grid-template-columns:minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr);}

.shp-footer__colTitle{
	font-family:var(--shp-font-m);
	font-size:.74rem;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:var(--shp-ink);
	margin-block-end:20px;
}
.shp-footer__col--overview .shp-logo{margin-block-end:18px;}
.shp-footer__about{margin-block-start:0;max-inline-size:340px;font-size:.92rem;color:var(--shp-muted);}

/* Quick links */
.shp-footer__menu li{margin-block-end:11px;}
.shp-footer__menu a{
	position:relative;
	display:inline-flex;
	align-items:center;
	gap:9px;
	font-size:.92rem;
	color:var(--shp-muted);
	transition:color .3s ease, transform .35s var(--shp-ease);
}
.shp-footer__menu a::before{
	content:"";
	inline-size:6px;
	block-size:6px;
	border-radius:2px;
	background:var(--shp-grad);
	opacity:0;
	transform:rotate(45deg) scale(.4);
	transition:opacity .3s ease, transform .4s var(--shp-ease);
}
.shp-footer__menu a:hover{color:var(--shp-primary);transform:translateX(4px);}
.shp-footer__menu a:hover::before{opacity:1;transform:rotate(45deg) scale(1);}
.shp-rtl .shp-footer__menu a:hover{transform:translateX(-4px);}

/* Contact column */
.shp-footer__contact{display:grid;gap:15px;}
.shp-footer__contactItem{display:flex;align-items:flex-start;gap:12px;font-size:.92rem;color:var(--shp-muted);}
.shp-footer__contactIcon{
	display:grid;
	place-items:center;
	flex:0 0 auto;
	inline-size:32px;
	block-size:32px;
	border-radius:9px;
	color:var(--shp-primary);
	background:var(--shp-primary-soft);
	border:1px solid rgba(var(--shp-primary-rgb), .22);
	transition:background .3s ease, color .3s ease;
}
.shp-footer__contactItem a{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap;transition:color .3s ease;}
.shp-footer__contactItem a:hover{color:var(--shp-primary);}
.shp-footer__contactItem a:hover + .shp-footer__contactIcon,
.shp-footer__contactItem:hover .shp-footer__contactIcon{background:var(--shp-primary);color:#04121C;}
.shp-footer__contactItem em{font-style:normal;font-size:.76rem;color:rgba(var(--shp-ink-rgb), .38);}

/* Map column */
.shp-footer__map{
	position:relative;
	block-size:var(--shp-map-h, 210px);
	border-radius:var(--shp-radius);
	overflow:hidden;
	border:var(--shp-hair);
	background:rgba(var(--shp-ink-rgb), .03);
	box-shadow:var(--shp-shadow-s);
}
.shp-footer__map iframe,
.shp-footer__map img{
	inline-size:100%;
	block-size:100%;
	border:0;
	display:block;
	object-fit:cover;
	filter:grayscale(.35) brightness(.85) contrast(1.05);
	transition:filter .5s ease, transform .8s var(--shp-ease);
}
.shp-footer__map:hover iframe,
.shp-footer__map:hover img{filter:none;}
.shp-footer__mapLink{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-block-start:14px;
	font-family:var(--shp-font-m);
	font-size:.7rem;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--shp-primary);
	transition:gap .35s var(--shp-ease);
}
.shp-footer__mapLink:hover{gap:14px;}
.shp-rtl .shp-footer__mapLink .shp-icon{transform:scaleX(-1);}

/* Bottom bar */
.shp-footer__bottom{position:relative;border-block-start:var(--shp-hair);}
.shp-footer__bottomInner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	flex-wrap:wrap;
	padding-block:22px;
	font-family:var(--shp-font-m);
	font-size:.7rem;
	letter-spacing:.1em;
	color:var(--shp-muted);
}
.shp-footer__legal{display:flex;gap:26px;flex-wrap:wrap;}
.shp-footer__legal a{transition:color .3s ease;}
.shp-footer__legal a:hover{color:var(--shp-primary);}

@media (max-width:1100px){
	.shp-footer__inner,
	.shp-footer--cols-3 .shp-footer__inner{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width:620px){
	.shp-footer__inner,
	.shp-footer--cols-2 .shp-footer__inner,
	.shp-footer--cols-3 .shp-footer__inner{grid-template-columns:minmax(0,1fr);gap:34px;}
	.shp-footer__about{max-inline-size:none;}
	.shp-footer__bottomInner{flex-direction:column;text-align:center;}
	.shp-footer__legal{justify-content:center;gap:18px;}
}

/* ---- Social ---- */
.shp-social{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.shp-social--footer{margin-block-start:26px;}
.shp-social__link{
	display:grid;
	place-items:center;
	inline-size:40px;
	block-size:40px;
	border-radius:50%;
	color:var(--shp-body);
	border:1px solid rgba(var(--shp-ink-rgb), .1);
	background:rgba(var(--shp-ink-rgb), .03);
	transition:color .3s ease, border-color .3s ease, transform .45s var(--shp-ease), box-shadow .45s var(--shp-ease);
}
.shp-social__link:hover{
	color:var(--shp-primary);
	border-color:rgba(var(--shp-primary-rgb), .55);
	transform:translateY(-4px);
	box-shadow:0 12px 26px rgba(var(--shp-primary-rgb), .25);
}

/* ---- Mobile drawer: small-screen tuning ---- */
@media (max-width:480px){
	.shp-mobile__panel{inline-size:100%;}
	.shp-mobile__head{padding:16px 18px;}
	.shp-mobile__body{padding:18px;}
	.shp-mobile__foot{padding:18px;gap:14px;}
	.shp-nav--mobile .shp-nav__link{padding:12px 2px;font-size:1rem;}
}
@media (max-height:520px){
	/* Landscape phones: the drawer must scroll, not clip. */
	.shp-mobile__panel{overflow-y:auto;}
	.shp-mobile__body{padding-block:12px;}
}

/* The map only loads when the footer comes into view. */
.shp-footer__map iframe[data-shp-map-src]{opacity:0;}
.shp-footer__mapPlaceholder{
	position:absolute;
	inset:0;
	display:grid;
	place-items:center;
	color:rgba(var(--shp-primary-rgb), .5);
	background:linear-gradient(160deg, rgba(var(--shp-ink-rgb), .05), rgba(var(--shp-ink-rgb), .015));
	transition:opacity .5s var(--shp-ease);
}
.shp-footer__map.is-loaded .shp-footer__mapPlaceholder{opacity:0;}
