/*
 * Scholarly-Ink public foundation.
 *
 * Sole owner of shared typography, containers, header, navigation, buttons,
 * mobile drawer and footer. Page styles compose inside this system.
 */

:root {
	--si-canvas: #fcfdfd;
	--si-paper: #ffffff;
	--si-ink: #073a3d;
	--si-forest: #073a3d;
	--si-forest-soft: #184f52;
	--si-terra: #7777c8;
	--si-terra-dark: #6563a6;
	--si-muted: #687080;
	--si-rule: #dfe7ec;
	--si-shadow-soft: 0 18px 55px rgba(42, 72, 84, .08);
	--si-container-max: 1400px;
	--si-gutter: clamp(1.15rem, 4vw, 4rem);
	--si-header-height: 82px;
	--si-font-serif: "Newsreader", Georgia, "Times New Roman", serif;
	--si-font-sans: "Alegreya Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

html {
	box-sizing: border-box;
	min-width: 320px;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--si-header-height) + 1rem);
}

*, *::before, *::after { box-sizing: inherit; }

body {
	min-width: 320px;
	min-height: 100%;
	margin: 0;
	background: var(--si-canvas);
	color: var(--si-ink);
	font-family: var(--si-font-sans);
	font-size: clamp(16px, .16vw + 15.5px, 18px);
	line-height: 1.62;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.admin-bar { --si-header-offset: 32px; }

img, svg, video, canvas { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }

h1, h2, h3, h4, p { text-wrap: pretty; }
h1, h2, h3, h4 {
	margin-block: 0;
	font-family: var(--si-font-serif);
	font-weight: 500;
	line-height: 1.04;
	letter-spacing: -.025em;
}

h1 { font-size: clamp(3.25rem, 7vw, 7.25rem); }
h2 { font-size: clamp(2.4rem, 4.8vw, 5.1rem); }
h3 { font-size: clamp(1.45rem, 2vw, 2rem); line-height: 1.15; }
p { margin-block: 0 1em; }

::selection { background: #c6dbef; color: #073a3d; }

:focus-visible {
	outline: 3px solid #6563a6;
	outline-offset: 4px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.screen-reader-text:focus {
	top: 1rem;
	left: 1rem;
	z-index: 100000;
	width: auto !important;
	height: auto !important;
	clip: auto !important;
	margin: 0 !important;
	padding: .75rem 1rem !important;
	background: #fff;
	color: var(--si-ink);
}

.si-container {
	width: min(calc(100% - (2 * var(--si-gutter))), var(--si-container-max));
	margin-inline: auto;
}

.si-main { min-height: 64vh; }

.si-header {
	position: sticky;
	top: var(--si-header-offset, 0);
	z-index: 100;
	width: 100%;
	min-height: var(--si-header-height);
	background: color-mix(in srgb, #fcfdfd 92%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--si-rule) 82%, transparent);
	backdrop-filter: blur(20px) saturate(1.08);
	-webkit-backdrop-filter: blur(20px) saturate(1.08);
	transition: box-shadow 180ms ease, background 180ms ease;
}

.si-header.is-scrolled { box-shadow: 0 12px 35px rgba(50, 74, 85, .07); }

.si-header__inner {
	width: calc(100% - (2 * clamp(1rem, 2vw, 2.5rem)));
	display: grid;
	grid-template-columns: minmax(210px, 1fr) auto minmax(330px, 1fr);
	align-items: center;
	gap: clamp(1rem, 2vw, 2.25rem);
	min-height: var(--si-header-height);
}

.si-header__logo { justify-self: start; }
.si-header__nav { justify-self: center; }
.si-header__actions { justify-self: end; }

.si-logo--image {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.si-header .custom-logo-link {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.si-header .si-logo__img,
.si-header .custom-logo {
	width: auto;
	height: clamp(42px, 3.2vw, 54px);
	max-width: min(265px, 30vw);
	object-fit: contain;
}

.si-logo__img--light,
.si-logo__img--mobile { display: none; }
.si-logo__img--dark { display: block; }

.si-menu {
	display: flex;
	align-items: center;
	gap: clamp(.95rem, 1.5vw, 1.75rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.si-menu a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: #39595b;
	font-size: .86rem;
	font-weight: 650;
	text-decoration: none;
	white-space: nowrap;
}

.si-menu--primary a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 4px;
	height: 2px;
	border-radius: 2px;
	background: #7777c8;
	transition: right 180ms ease;
}

.si-menu--primary a:hover,
.si-menu--primary .current-menu-item > a,
.si-menu--primary .current-menu-ancestor > a { color: var(--si-ink); }
.si-menu--primary a:hover::after,
.si-menu--primary .current-menu-item > a::after,
.si-menu--primary .current-menu-ancestor > a::after { right: 0; }

.si-header__actions {
	display: flex;
	align-items: center;
	gap: .6rem;
}

.si-header-cta,
.si-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .65rem;
	min-height: 50px;
	padding: .8rem 1.35rem;
	border: 1px solid transparent;
	border-radius: 16px;
	background: linear-gradient(100deg, #c8f4ea 0%, #c7e5ee 51%, #c7d8f5 100%);
	color: #073a3d;
	font-size: .9rem;
	font-weight: 750;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	box-shadow: 0 12px 28px rgba(85, 123, 145, .12);
	transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.si-header-cta:hover,
.si-button:hover {
	color: #073a3d;
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(85, 123, 145, .18);
	filter: saturate(1.08);
}

.si-button--secondary,
.si-account-link {
	background: rgba(255, 255, 255, .76);
	border-color: var(--si-rule);
	color: var(--si-ink);
	box-shadow: none;
}

.si-header-cart,
.si-account-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	border: 1px solid var(--si-rule);
	border-radius: 14px;
	color: var(--si-ink);
	background: rgba(255, 255, 255, .76);
	text-decoration: none;
}

.si-header-cart {
	position: relative;
	width: 44px;
	padding: 0;
	font-size: .8rem;
	font-weight: 720;
}

.si-header-cart:hover,
.si-account-trigger:hover { color: var(--si-ink); background: #effbfa; border-color: #b9deda; }
.si-header-cart b { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; border-radius: 999px; color: #fff; background: var(--si-ink); font-size: 10px; line-height: 1; }
.si-header-cart b[hidden] { display: none !important; }
.si-public-account { position: relative; }
.si-account-trigger { width: 44px; padding: 0; }
.si-account-trigger > span { width: 32px; height: 32px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; color: #073a3d; background: linear-gradient(135deg, #d8f3ef, #e3e3f6); font-size: .72rem; font-weight: 800; }
.si-account-trigger img { width: 100%; height: 100%; object-fit: cover; }
.si-account-menu { position: absolute; z-index: 100; right: 0; top: calc(100% + 10px); width: 210px; padding: .55rem; border: 1px solid var(--si-rule); border-radius: 14px; background: rgba(255,255,255,.98); box-shadow: 0 18px 45px rgba(28,57,64,.16); }
.si-account-menu strong { display: block; padding: .55rem .65rem .7rem; overflow: hidden; color: var(--si-ink); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.si-account-menu a,
.si-account-menu button { width: 100%; min-height: 40px; display: flex; align-items: center; padding: .5rem .65rem; border: 0; border-radius: 9px; color: var(--si-ink); background: transparent; font: inherit; font-size: .78rem; font-weight: 680; text-align: left; text-decoration: none; }
.si-account-menu a:hover,
.si-account-menu button:hover { color: var(--si-ink); background: #effbfa; }
.si-account-menu button:disabled { opacity: .55; cursor: wait; }

/* Author display rules must never override the semantic hidden state. */
.si-account-link[hidden],
.si-account-trigger[hidden],
.si-account-menu[hidden] { display: none !important; }

.si-button--secondary:hover,
.si-account-link:hover {
	background: #effbfa;
	border-color: #b9deda;
	color: var(--si-ink);
}

.si-account-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: .7rem 1rem;
	border: 1px solid var(--si-rule);
	border-radius: 14px;
	font-size: .84rem;
	font-weight: 720;
	text-decoration: none;
	white-space: nowrap;
	transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.si-burger {
	position: relative;
	display: none;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 4px;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid var(--si-rule);
	border-radius: 14px;
	background: #fff;
	color: var(--si-ink);
	box-shadow: 0 8px 24px rgba(42, 72, 84, .07);
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.si-burger span {
	width: 19px;
	height: 2.25px;
	margin: 0;
	border-radius: 2px;
	background: currentColor;
	transition: transform .25s ease, opacity .2s ease;
}
.si-burger:hover { border-color: #9c9ad1; transform: translateY(-1px); }
.si-burger[aria-expanded="true"] {
	border: 1.5px solid transparent;
	border-radius: 50%;
	background:
		linear-gradient(145deg, #f7fdfc, #eeeffb) padding-box,
		linear-gradient(135deg, #61c9c1, #7775ba) border-box;
	box-shadow:
		inset 0 0 0 4px rgba(255, 255, 255, .7),
		0 12px 28px rgba(87, 84, 145, .2);
}
.si-burger[aria-expanded="true"] span {
	width: 18px;
	height: 2px;
	box-shadow: 0 1px 4px rgba(62, 69, 117, .18);
}
.si-burger[aria-expanded="true"] span:nth-child(1) {
	background: linear-gradient(90deg, #0b6968, #7775ba);
	transform: translateY(6px) rotate(42deg);
}
.si-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.si-burger[aria-expanded="true"] span:nth-child(3) {
	background: linear-gradient(90deg, #7775ba, #0b6968);
	transform: translateY(-6px) rotate(-48deg);
}

.si-mobile-drawer__backdrop {
	position: fixed;
	top: calc(var(--si-header-height) + var(--si-header-offset, 0px));
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 94;
	padding: 0;
	border: 0;
	background: rgba(10, 34, 38, .22);
	-webkit-backdrop-filter: blur(9px) saturate(.86);
	backdrop-filter: blur(9px) saturate(.86);
	opacity: 0;
	pointer-events: none;
	transition: opacity .24s ease;
}

.si-mobile-drawer__backdrop[hidden] { display: none; }
.si-mobile-drawer__backdrop.is-open { opacity: 1; pointer-events: auto; }

.si-mobile-drawer {
	position: fixed;
	top: calc(var(--si-header-height) + var(--si-header-offset, 0px));
	right: 0;
	bottom: 0;
	left: auto;
	z-index: 95;
	width: min(82vw, 360px);
	overflow-y: auto;
	padding: 1.75rem clamp(1.2rem, 4vw, 2rem) 2rem;
	background-color: #f8fbfb;
	background-image:
		radial-gradient(circle at 90% 10%, rgba(198, 219, 239, .7), transparent 42%),
		linear-gradient(145deg, #fcfdfd, #effbfa 62%, #f3f2fb);
	border-left: 1px solid rgba(125, 151, 166, .24);
	box-shadow: -24px 0 60px rgba(42, 72, 84, .2);
	transform: translateX(102%);
	opacity: 0;
	pointer-events: none;
	transition: transform .32s cubic-bezier(.22, 1, .36, 1), opacity .2s ease;
}

.si-mobile-drawer[hidden] { display: none; }
.si-mobile-drawer.is-open { transform: translateX(0); opacity: 1; pointer-events: auto; }
.si-mobile-drawer__inner { width: 100%; margin-inline: auto; }
.si-menu--mobile { align-items: stretch; flex-direction: column; gap: 0; }
.si-menu--mobile li { border-bottom: 1px solid var(--si-rule); }
.si-menu--mobile a {
	width: 100%;
	min-height: 60px;
	font-family: var(--si-font-serif);
	font-size: clamp(1.45rem, 6vw, 2rem);
	font-weight: 500;
}

.si-mobile-drawer__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .75rem;
	margin-top: 1.5rem;
}

.si-footer {
	position: relative;
	overflow: hidden;
	font-family: var(--si-font-sans);
	background:
		radial-gradient(circle at 9% 5%, rgba(204, 242, 239, .7), transparent 27%),
		radial-gradient(circle at 92% 9%, rgba(198, 219, 239, .62), transparent 29%),
		linear-gradient(145deg, #fcfdfd 0%, #f7fafc 57%, #f5f3fb 100%);
	color: #53666c;
	border-top: 1px solid var(--si-rule);
}

.si-footer__top {
	display: grid;
	grid-template-columns: minmax(205px, .72fr) minmax(590px, 1.65fr) minmax(270px, .82fr);
	align-items: start;
	gap: clamp(1.25rem, 2.4vw, 2.5rem);
	padding-block: clamp(1.4rem, 2.2vw, 2rem) clamp(1.15rem, 1.8vw, 1.6rem);
}

.si-footer .si-logo__img--dark { display: block; }
.si-footer .si-logo__img--light,
.si-footer .si-logo__img--mobile { display: none; }
.si-footer .si-logo__img,
.si-footer .custom-logo {
	width: auto;
	height: clamp(32px, 2.35vw, 40px);
	max-width: min(100%, 190px);
	object-fit: contain;
}
.si-footer__tagline {
	max-width: 20rem;
	margin-block: .55rem .7rem;
	color: #5f7078;
	font-size: .72rem;
	line-height: 1.45;
}

.si-footer__feats,
.si-footer__social,
.si-footer__menu,
.si-footer__legal {
	margin: 0;
	padding: 0;
	list-style: none;
}

.si-footer__feats { display: grid; gap: .32rem; }
.si-footer__feats li,
.si-footer__social,
.si-footer__social a,
.si-footer__social-placeholder { display: flex; align-items: center; }
.si-footer__feats li {
	gap: .4rem;
	color: #23484a;
	font-size: .71rem;
	font-weight: 650;
}
.si-footer__feat-ic {
	display: grid;
	place-items: center;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	background: rgba(204, 242, 239, .92);
	color: #073a3d;
	border: 1px solid rgba(7, 58, 61, .08);
	flex: 0 0 auto;
}
.si-footer__feat-ic svg {
	width: 12px;
	height: 12px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.si-footer__social { gap: .38rem; margin-top: .65rem; }
.si-footer__social a,
.si-footer__social-placeholder {
	justify-content: center;
	width: 29px;
	height: 29px;
	border: 1px solid #cfdae0;
	border-radius: 50%;
	background: rgba(255,255,255,.75);
	color: #073a3d;
	transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.si-footer__social-placeholder {
	cursor: default;
	opacity: .68;
}
.si-footer__social a:hover,
.si-footer__social a:focus-visible {
	transform: translateY(-2px);
	border-color: #9c9ad1;
	background: #fff;
}
.si-footer__social svg {
	width: 13px;
	height: 13px;
	fill: currentColor;
}

.si-footer__cols {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(.7rem, 1.3vw, 1.25rem);
}

.si-footer__col h2,
.si-footer__enquiry h2 {
	margin: 0 0 .48rem;
	color: #073a3d;
	font-family: var(--si-font-sans);
	font-size: .6rem;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.si-footer__menu { display: grid; gap: .32rem; }
.si-footer__menu li {
	color: #617077;
	font-size: .71rem;
	line-height: 1.3;
}
.si-footer__hours {
	display: flex;
	align-items: center;
	gap: .4rem;
	white-space: nowrap;
}
.si-footer__hours svg {
	width: 12px;
	height: 12px;
	flex: 0 0 auto;
	fill: none;
	stroke: #7775ba;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}
.si-footer__menu a,
.si-footer__legal a {
	color: #526a6e;
	text-decoration: none;
	text-underline-offset: .22em;
}
.si-footer__menu a:hover,
.si-footer__legal a:hover {
	color: #6563a6;
	text-decoration: underline;
}

.si-footer__enquiry {
	padding: clamp(.72rem, 1.25vw, .9rem);
	border: 1px solid rgba(164, 184, 193, .52);
	border-radius: 14px;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 20px 55px rgba(47, 71, 82, .08);
	backdrop-filter: blur(16px);
}
.si-footer__enquiry > p {
	margin: -.14rem 0 .42rem;
	color: #66747c;
	font-size: .67rem;
	line-height: 1.35;
}
.si-footer__form {
	display: grid;
	gap: .2rem;
}
.si-footer__form label {
	margin-top: .12rem;
	color: #123f42;
	font-size: .6rem;
	font-weight: 750;
}
.si-footer__form input,
.si-footer__form select,
.si-footer__form textarea {
	width: 100%;
	min-height: 32px;
	padding: .4rem .55rem;
	border: 1px solid #d6e1e6;
	border-radius: 10px;
	background: rgba(252, 253, 253, .9);
	color: #073a3d;
	font: inherit;
	font-size: .69rem;
	outline: none;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.si-footer__form textarea {
	min-height: 50px;
	resize: vertical;
}

.si-branded-select {
	position: relative;
	min-width: 0;
}

.si-branded-select.is-enhanced > select {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	border: 0;
	opacity: 0;
	pointer-events: none;
}

.si-branded-select__button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 32px;
	padding: .4rem 2rem .4rem .6rem;
	border: 1px solid #cbdadd;
	border-radius: 10px;
	background:
		radial-gradient(circle at 94% 20%, rgba(198, 219, 239, .38), transparent 34%),
		linear-gradient(120deg, rgba(251, 254, 253, .98), rgba(242, 249, 248, .98));
	color: #163f42;
	font-size: .66rem;
	line-height: 1.25;
	text-align: left;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.si-branded-select__button::after {
	position: absolute;
	top: 50%;
	right: .75rem;
	width: 7px;
	height: 7px;
	border-right: 1.5px solid #315f61;
	border-bottom: 1.5px solid #315f61;
	content: "";
	transform: translateY(-68%) rotate(45deg);
	transition: transform .18s ease;
}

.si-branded-select.is-open .si-branded-select__button {
	border-color: #83aaa8;
	background:
		radial-gradient(circle at 94% 20%, rgba(204, 242, 239, .52), transparent 36%),
		linear-gradient(120deg, #fff, #f1faf8);
	box-shadow: 0 0 0 3px rgba(117, 181, 177, .14);
}

.si-branded-select.is-open .si-branded-select__button::after {
	transform: translateY(-28%) rotate(225deg);
}

.si-branded-select.is-invalid .si-branded-select__button {
	border-color: #b96a5c;
	box-shadow: 0 0 0 3px rgba(185, 106, 92, .12);
}

.si-branded-select__list {
	position: absolute;
	top: calc(100% + 5px);
	right: 0;
	left: 0;
	z-index: 20;
	display: grid;
	gap: 2px;
	max-height: min(174px, var(--si-select-list-max-height, 174px));
	padding: .25rem;
	overflow-y: auto;
	border: 1px solid #c9dcda;
	border-radius: 12px;
	background:
		radial-gradient(circle at 100% 0, rgba(204, 242, 239, .72), transparent 38%),
		linear-gradient(145deg, #ffffff, #f5faf9 64%, #f3f1fa);
	box-shadow: 0 18px 42px rgba(38, 68, 75, .18);
}

.si-branded-select.opens-up .si-branded-select__list {
	top: auto;
	bottom: calc(100% + 5px);
	box-shadow: 0 -18px 42px rgba(38, 68, 75, .16);
}

.si-branded-select__list[hidden] {
	display: none;
}

.si-branded-select__option {
	position: relative;
	width: 100%;
	min-height: 26px;
	padding: .28rem 1.7rem .28rem .52rem;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #33575a;
	font-size: .64rem;
	line-height: 1.25;
	text-align: left;
	cursor: pointer;
}

.si-branded-select__option:hover,
.si-branded-select__option:focus-visible {
	outline: 0;
	background: rgba(220, 244, 240, .72);
	color: #073a3d;
}

.si-branded-select__option[aria-selected="true"] {
	background: linear-gradient(100deg, #d8f5ef, #e5f0f4 58%, #eceafa);
	color: #073a3d;
	font-weight: 750;
}

.si-branded-select__option[aria-selected="true"]::after {
	position: absolute;
	top: 50%;
	right: .68rem;
	width: 6px;
	height: 10px;
	border-right: 1.5px solid #406d70;
	border-bottom: 1.5px solid #406d70;
	content: "";
	transform: translateY(-62%) rotate(42deg);
}

.si-branded-select__error {
	margin: .22rem 0 0 !important;
	color: #93473b !important;
	font-size: .6rem !important;
	line-height: 1.3;
}

.si-footer__form input:focus,
.si-footer__form select:focus,
.si-footer__form textarea:focus {
	border-color: #7775ba;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(156, 154, 209, .2);
}
.si-footer__form .si-button {
	width: 100%;
	min-height: 34px;
	margin-top: .24rem;
	padding: .5rem .7rem;
	font-size: .7rem;
	border: 0;
	background: linear-gradient(100deg, #bdf0e9 0%, #c6dbef 52%, #c8c9ed 100%);
	color: #073a3d;
	box-shadow: 0 14px 30px rgba(84, 111, 135, .15);
}
.si-footer__form .si-button:hover,
.si-footer__form .si-button:focus-visible {
	background: linear-gradient(100deg, #ace8df 0%, #b8d3ec 52%, #bcbee8 100%);
	transform: translateY(-1px);
}
.si-footer__form .si-button[disabled] {
	cursor: wait;
	opacity: .68;
	transform: none;
}
.si-footer__submit-loading { display: none; }
.si-footer__form.is-submitting .si-footer__submit-ready { display: none; }
.si-footer__form.is-submitting .si-footer__submit-loading { display: inline; }
.si-footer__notice {
	margin: 0 0 .9rem !important;
	padding: .75rem .8rem;
	border-radius: 10px;
	font-weight: 650;
}
.si-footer__notice--success {
	background: #e3f8f2;
	color: #145c52 !important;
}
.si-footer__notice--error {
	background: #fff0ed;
	color: #9b3a2b !important;
}
.si-footer__trap {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.si-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding-block: .68rem;
	border-top: 1px solid #dfe7ec;
	color: #687080;
	font-size: .65rem;
}

.si-footer__copy { margin: 0; }
.si-footer__legal { display: flex; flex-wrap: wrap; gap: 1.35rem; }
.si-footer__cookie-link {
	padding: 0;
	border: 0;
	background: transparent;
	color: #526a6e;
	font: inherit;
	cursor: pointer;
}
.si-footer__cookie-link:hover { color: #6563a6; }

@media (min-width: 1181px) {
	:root {
		--si-header-height: 72px;
	}

	html {
		font-size: 15px;
	}

	body {
		font-size: 15px;
	}

	h1 { font-size: clamp(3rem, 5.4vw, 6rem); }
	h2 { font-size: clamp(2.2rem, 3.8vw, 4.35rem); }
	h3 { font-size: clamp(1.35rem, 1.65vw, 1.8rem); }

	.si-header__inner {
		grid-template-columns: minmax(195px, 1fr) auto minmax(300px, 1fr);
		gap: clamp(.85rem, 1.6vw, 1.75rem);
	}

	.si-header .si-logo__img,
	.si-header .custom-logo {
		height: clamp(38px, 2.6vw, 46px);
		max-width: min(235px, 28vw);
	}

	.si-menu {
		gap: clamp(.8rem, 1.25vw, 1.4rem);
	}

	.si-menu a {
		min-height: 38px;
		font-size: .8rem;
	}

	.si-header-cta,
	.si-account-link {
		min-height: 43px;
		padding: .7rem 1.08rem;
		border-radius: 14px;
		font-size: .8rem;
	}
}

@media (max-width: 1180px) {
	.si-header__inner { grid-template-columns: auto 1fr auto; }
	.si-header__nav { display: none; }
	.si-burger { display: inline-flex; }
	.si-footer__top { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	:root {
		--si-header-height: 54px;
		--si-gutter: clamp(1rem, 5vw, 1.5rem);
	}
	body { font-size: 15px; }
	body.admin-bar { --si-header-offset: 46px; }
	.si-header-cta,
	.si-account-link { display: none; }
	.si-header-cart { width: 36px; min-height: 36px; padding: 0; border-radius: 11px; }
	.si-header-cart > span { display: none; }
	.si-account-trigger { width: 36px; min-height: 36px; border-radius: 11px; }
	.si-account-trigger > span { width: 28px; height: 28px; }
	.si-header .si-logo__img,
	.si-header .custom-logo { height: 30px; max-width: 148px; }
	.si-footer__cols { grid-template-columns: 1fr 1fr; gap: 1.35rem 1rem; }
	.si-footer__bottom { align-items: flex-start; flex-direction: column; }
	.si-footer__legal {
		width: 100%;
		flex-wrap: nowrap;
		gap: .65rem;
		padding-bottom: .25rem;
		overflow-x: auto;
		font-size: .62rem;
		white-space: nowrap;
		scrollbar-width: none;
	}
	.si-footer__legal::-webkit-scrollbar { display: none; }
}

@media (max-width: 520px) {
	.si-header__inner { gap: .65rem; }
	.si-header__actions { gap: .4rem; }
	.si-header .si-logo__img,
	.si-header .custom-logo { height: 27px; max-width: 134px; }
	.si-burger { width: 36px; height: 36px; border-radius: 11px; }
	.si-burger span { width: 16px; height: 2px; }
	.si-mobile-drawer { width: min(84vw, 360px); }
	.si-mobile-drawer__actions { grid-template-columns: 1fr; }
	.si-footer__cols { grid-template-columns: 1fr 1fr; }
	.si-footer__top { gap: 1.5rem; padding-block: 1.65rem 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
