@font-face {
	font-family: "Lora";
	src: url("../fonts/lora-latin-ext-400-normal.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
		U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
		U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
		U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Lora";
	src: url("../fonts/lora-latin-400-normal.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153,
		U+02BB-02BC, U+02C6, U+02DA, U+02DC,
		U+0304, U+0308, U+0329, U+2000-206F,
		U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Manrope";
	src: url("../fonts/manrope-latin-ext-400-normal.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
		U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
		U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
		U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Manrope";
	src: url("../fonts/manrope-latin-400-normal.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153,
		U+02BB-02BC, U+02C6, U+02DA, U+02DC,
		U+0304, U+0308, U+0329, U+2000-206F,
		U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Manrope";
	src: url("../fonts/manrope-latin-ext-500-normal.woff2") format("woff2");
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
		U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
		U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
		U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Manrope";
	src: url("../fonts/manrope-latin-500-normal.woff2") format("woff2");
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153,
		U+02BB-02BC, U+02C6, U+02DA, U+02DC,
		U+0304, U+0308, U+0329, U+2000-206F,
		U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Manrope";
	src: url("../fonts/manrope-latin-ext-600-normal.woff2") format("woff2");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
		U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
		U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
		U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Manrope";
	src: url("../fonts/manrope-latin-600-normal.woff2") format("woff2");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153,
		U+02BB-02BC, U+02C6, U+02DA, U+02DC,
		U+0304, U+0308, U+0329, U+2000-206F,
		U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
	--color-bg:#F7F4EE;
	--color-green:#0F332B;
	--color-text:#24342F;
	--color-muted:#56645B;
	--color-surface:#E8EDE5;
	--color-border:#CDD3C8;
	--color-white:#FFFEFA;
	--color-gold:#A18750;
	--color-gold-light:#D7C69E;
	--space-1:8px;
	--space-2:16px;
	--space-3:24px;
	--space-4:40px;
	--space-5:64px;
	--radius-sm:6px;
	--radius-md:8px;
	--container:1280px;
	--gutter:20px;
	--header-height:86px;
}

*{
	box-sizing:border-box;
}

html{
	scroll-behavior:smooth;
}

body{
	margin:0;
	background:var(--color-bg);
	color:var(--color-text);
	font-family:Manrope,Arial,sans-serif;
	font-size:17px;
	line-height:1.529;
	-webkit-font-smoothing:antialiased;
}

img{
	max-width:100%;
	height:auto;
}

a{
	color:inherit;
	text-decoration-thickness:1px;
	text-underline-offset:.18em;
}

button,
a{
	touch-action:manipulation;
}

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

.skip-link{
	position:fixed;
	z-index:9999;
	left:16px;
	top:16px;
	transform:translateY(-160%);
	background:var(--color-white);
	padding:12px 16px;
	border-radius:6px;
}

.skip-link:focus{
	transform:none;
}


/* =========================================================
   HEADER / NAVIGATION
   ========================================================= */

.site-header {
	position:relative;
	z-index:100;

	height:var(--header-height);

	background:var(--color-bg);

	border-bottom:
		1px solid rgba(15,51,43,.10);
}


.site-header__inner {
	position:relative;

	height:100%;

	display:flex;
	align-items:center;

	gap:18px;
}


/* LOGO */

.site-brand {
	position:relative;
	z-index:103;

	display:block;

	flex:0 0 154px;

	min-width:0;
}


.site-brand__logo {
	display:block;

	width:100%;
	height:auto;
}


/* DESKTOP HIDDEN ON MOBILE */

.desktop-nav,
.header-contact {
	display:none;
}


/* =========================================================
   MOBILE TOGGLE
   ========================================================= */

.menu-toggle {
	position:relative;
	z-index:103;

	display:grid;
	place-items:center;

	width:48px;
	height:52px;

	margin-left:auto;
	padding:10px;

	border:0;

	background:transparent;
	color:var(--color-green);

	cursor:pointer;
}


.menu-toggle__label {
	position:absolute;

	width:1px;
	height:1px;

	overflow:hidden;

	clip:rect(0,0,0,0);

	white-space:nowrap;
}


.menu-toggle__icon {
	position:relative;

	display:block;

	width:25px;
	height:20px;
}


.menu-toggle__icon i {
	position:absolute;
	left:0;

	display:block;

	width:25px;
	height:1.5px;

	background:currentColor;

	border-radius:2px;

	transition:
		top .22s ease,
		transform .22s ease,
		opacity .16s ease;
}


.menu-toggle__icon i:nth-child(1) {
	top:1px;
}


.menu-toggle__icon i:nth-child(2) {
	top:9px;
}


.menu-toggle__icon i:nth-child(3) {
	top:17px;
}


body.menu-open .menu-toggle__icon i:nth-child(1) {
	top:9px;

	transform:rotate(45deg);
}


body.menu-open .menu-toggle__icon i:nth-child(2) {
	opacity:0;
}


body.menu-open .menu-toggle__icon i:nth-child(3) {
	top:9px;

	transform:rotate(-45deg);
}


/* =========================================================
   MOBILE NAV
   ========================================================= */

.mobile-nav {
	position:fixed;

	z-index:99;

	top:var(--header-height);
	left:0;
	right:0;
	bottom:0;

	overflow-y:auto;

	background:var(--color-bg);

	visibility:hidden;
	opacity:0;

	transform:translateY(-10px);

	pointer-events:none;

	transition:
		opacity .20s ease,
		transform .20s ease,
		visibility .20s ease;

	overscroll-behavior:contain;

	-webkit-overflow-scrolling:touch;
}


.mobile-nav.is-open {
	visibility:visible;
	opacity:1;

	transform:none;

	pointer-events:auto;
}


.mobile-nav__inner {
	padding-top:20px;

	padding-bottom:
		calc(120px + env(safe-area-inset-bottom));
}


.mobile-nav__main {
	border-top:
		1px solid var(--color-border);
}


.mobile-nav__group {
	border-bottom:
		1px solid var(--color-border);
}


.mobile-nav__row {
	display:grid;

	grid-template-columns:
		minmax(0,1fr)
		58px;

	align-items:stretch;
}


.mobile-nav__parent {
	display:flex;
	align-items:center;

	min-height:67px;

	padding:13px 0;

	color:var(--color-green);

	font-family:Lora,Georgia,serif;
	font-size:26px;
	font-weight:400;
	line-height:1.15;

	text-decoration:none;
}


.mobile-nav__toggle {
	position:relative;

	width:58px;

	border:0;

	background:transparent;

	cursor:pointer;
}


.mobile-nav__toggle span::before,
.mobile-nav__toggle span::after {
	content:"";

	position:absolute;

	top:50%;
	left:50%;

	width:17px;
	height:1px;

	background:var(--color-green);

	transform:
		translate(-50%,-50%);
}


.mobile-nav__toggle span::after {
	transform:
		translate(-50%,-50%)
		rotate(90deg);

	transition:
		transform .18s ease;
}


.mobile-nav__toggle[aria-expanded="true"] span::after {
	transform:
		translate(-50%,-50%)
		rotate(0);
}


/* MOBILE SUBMENU */

.mobile-submenu {
	display:none;

	padding:
		5px
		0
		21px
		20px;

	border-top:
		1px solid rgba(205,211,200,.58);
}


.mobile-submenu.is-open {
	display:grid;
}


.mobile-submenu a {
	position:relative;

	display:block;

	padding:
		11px
		28px
		11px
		18px;

	color:var(--color-text);

	font-size:15px;
	line-height:1.4;
	font-weight:500;

	text-decoration:none;
}


.mobile-submenu a::before {
	content:"";

	position:absolute;

	top:50%;
	left:0;

	width:6px;
	height:1px;

	background:var(--color-gold);
}


/* PORADNIK */

.mobile-nav__featured {
	display:grid;

	grid-template-columns:
		minmax(0,1fr)
		auto;

	align-items:center;

	gap:20px;

	padding:23px 0;

	border-bottom:
		1px solid var(--color-border);

	color:var(--color-green);

	text-decoration:none;
}


.mobile-nav__featured > span:first-child {
	display:grid;

	gap:5px;

	max-width:305px;

	font-family:Lora,Georgia,serif;

	font-size:22px;
	line-height:1.27;
	font-weight:400;
}


.mobile-nav__featured small {
	font-family:Manrope,Arial,sans-serif;

	color:var(--color-gold);

	font-size:11px;
	line-height:1.25;
	font-weight:600;

	letter-spacing:.105em;

	text-transform:uppercase;
}


.mobile-nav__featured > span:last-child {
	color:var(--color-gold);

	font-size:24px;
	line-height:1;
}


/* STANDARD LINKS */

.mobile-nav__single {
	display:flex;

	align-items:center;
	justify-content:space-between;

	gap:20px;

	min-height:64px;

	border-bottom:
		1px solid var(--color-border);

	color:var(--color-green);

	font-size:17px;
	font-weight:600;

	text-decoration:none;
}


.mobile-nav__single span:last-child {
	color:var(--color-gold);

	font-size:20px;
}


/* CONTACT */

.mobile-nav__contact {
	margin-top:42px;

	padding-top:30px;

	border-top:
		1px solid var(--color-border);
}


.mobile-nav__contact-label {
	margin:0 0 25px;

	color:var(--color-gold);

	font-size:13px;
	line-height:1.25;
	font-weight:600;

	letter-spacing:.105em;
	text-transform:uppercase;
}


.mobile-nav__contact-location {
	display:grid;

	grid-template-columns:
		100px
		minmax(0,1fr);

	align-items:baseline;

	gap:14px;

	margin-top:15px;
}


.mobile-nav__contact-location span {
	color:var(--color-muted);

	font-size:15px;
	line-height:1.35;
	font-weight:600;
}


.mobile-nav__contact-location a {
	color:var(--color-green);

	font-family:Lora,Georgia,serif;

	font-size:25px;
	line-height:1.2;
	font-weight:400;

	text-decoration:none;
}


/* CONTACT BUTTONS */

.mobile-nav__contact-actions {
	display:grid;

	grid-template-columns:
		1fr
		1fr;

	gap:10px;

	margin-top:28px;
}


.mobile-nav__call,
.mobile-nav__whatsapp {
	display:flex;

	align-items:center;
	justify-content:center;

	min-height:54px;

	padding:10px 12px;

	border-radius:
		var(--radius-md);

	font-size:14px;
	font-weight:600;

	text-decoration:none;
}


.mobile-nav__call {
	background:var(--color-green);

	color:var(--color-white);
}


.mobile-nav__whatsapp {
	border:
		1px solid var(--color-green);

	background:transparent;

	color:var(--color-green);
}


/* ODDZIAŁ BISKUPIEC */

.mobile-nav__branch {
	display:grid;

	grid-template-columns:
		minmax(0,1fr)
		auto;

	align-items:center;

	gap:20px;

	margin-top:28px;
	padding-top:24px;

	border-top:
		1px solid var(--color-border);

	color:var(--color-green);

	text-decoration:none;
}


.mobile-nav__branch-copy {
	display:grid;

	gap:5px;
}


.mobile-nav__branch-copy small {
	color:var(--color-gold);

	font-size:11px;
	line-height:1.25;
	font-weight:600;

	letter-spacing:.105em;

	text-transform:uppercase;
}


.mobile-nav__branch-copy strong {
	font-family:Lora,Georgia,serif;

	font-size:22px;
	line-height:1.3;
	font-weight:400;
}


.mobile-nav__branch-arrow {
	color:var(--color-gold);

	font-size:25px;
	line-height:1;
}


/* BODY LOCK */

body.menu-open {
	overflow:hidden;
}


body.menu-open .sticky-contact {
	visibility:hidden;
	opacity:0;

	pointer-events:none;
}


/* FOCUS */

.menu-toggle:focus-visible,
.mobile-nav a:focus-visible,
.mobile-nav button:focus-visible,
.desktop-nav a:focus-visible,
.desktop-nav button:focus-visible,
.header-contact a:focus-visible {
	outline:
		3px solid var(--color-gold);

	outline-offset:3px;
}


/* SMALL MOBILE */

@media(max-width:370px) {

	.site-brand {
		flex-basis:148px;
	}


	.menu-toggle {
		width:42px;

		padding-inline:8px;
	}


	.mobile-nav__parent {
		font-size:24px;
	}


	.mobile-nav__featured > span:first-child {
		font-size:20px;
	}


	.mobile-nav__contact-location {
		grid-template-columns:
			88px
			minmax(0,1fr);
	}


	.mobile-nav__contact-location a {
		font-size:22px;
	}


	.mobile-nav__branch-copy strong {
		font-size:20px;
	}

}


/* =========================================================
   DESKTOP
   ========================================================= */

@media(min-width:1100px) {

	:root {
		--header-height:108px;
	}


	.site-header__inner {
		gap:25px;
	}


	/* LOGO */

	.site-brand {
		flex:0 0 225px;
	}


	.site-brand__logo {
		max-height:82px;
	}


	/* MOBILE OFF */

	.menu-toggle,
	.mobile-nav {
		display:none;
	}


	/* MAIN NAV */

	.desktop-nav {
		display:block;

		align-self:stretch;

		margin-left:auto;
	}


	.desktop-nav__list {
		height:100%;

		display:flex;
		align-items:stretch;

		gap:2px;

		margin:0;
		padding:0;

		list-style:none;
	}


	.desktop-nav__item {
		position:relative;

		display:flex;
		align-items:center;
	}


	.desktop-nav__item > a,
	.desktop-nav__trigger > a {
		display:flex;
		align-items:center;

		height:100%;

		padding:0 11px;

		color:var(--color-green);

		font-size:15px;
		line-height:1.25;
		font-weight:600;

		text-decoration:none;

		white-space:nowrap;
	}


	.desktop-nav__trigger {
		height:100%;

		display:flex;
		align-items:center;
	}


	/* CHEVRON */

	.desktop-nav__chevron {
		position:relative;

		width:28px;
		height:100%;

		margin-left:-6px;
		padding:0;

		border:0;

		background:transparent;

		cursor:pointer;
	}


	.desktop-nav__chevron span {
		position:absolute;

		top:50%;
		left:50%;

		width:7px;
		height:7px;

		border-right:
			1.5px solid var(--color-green);

		border-bottom:
			1.5px solid var(--color-green);

		transform:
			translate(-50%,-66%)
			rotate(45deg);

		transition:
			transform .18s ease;
	}


	.desktop-nav__item--dropdown:hover
	.desktop-nav__chevron span,

	.desktop-nav__item--dropdown:focus-within
	.desktop-nav__chevron span,

	.desktop-nav__item--dropdown.is-open
	.desktop-nav__chevron span {

		transform:
			translate(-50%,-30%)
			rotate(225deg);
	}


	/* DROPDOWN */

	.desktop-dropdown {
		position:absolute;

		top:calc(100% - 1px);
		left:-18px;

		width:350px;

		padding-top:10px;

		visibility:hidden;
		opacity:0;

		transform:
			translateY(-7px);

		pointer-events:none;

		transition:
			opacity .16s ease,
			transform .16s ease,
			visibility .16s ease;
	}


	.desktop-dropdown--catalog {
		width:280px;
	}


	.desktop-nav__item--dropdown:hover
	.desktop-dropdown,

	.desktop-nav__item--dropdown:focus-within
	.desktop-dropdown,

	.desktop-nav__item--dropdown.is-open
	.desktop-dropdown {

		visibility:visible;
		opacity:1;

		transform:none;

		pointer-events:auto;
	}


	.desktop-dropdown__inner {
		padding:
			27px
			27px
			23px;

		border:
			1px solid rgba(15,51,43,.11);

		background:
			var(--color-white);

		box-shadow:
			0 18px 46px rgba(10,39,33,.10);
	}


	.desktop-dropdown__label {
		margin:0 0 15px;

		color:var(--color-gold);

		font-size:11px;
		line-height:1.3;
		font-weight:600;

		letter-spacing:.11em;

		text-transform:uppercase;
	}


	.desktop-dropdown__links {
		display:grid;
	}


	.desktop-dropdown__links a {
		display:flex;
		align-items:center;

		min-height:39px;

		padding:7px 0;

		border-bottom:
			1px solid rgba(205,211,200,.46);

		color:var(--color-text);

		font-size:14px;
		line-height:1.4;
		font-weight:500;

		text-decoration:none;
	}


	.desktop-dropdown__links a:last-child {
		border-bottom:0;
	}


	/* BISKUPIEC */

	.desktop-dropdown__featured {
		display:flex;

		align-items:center;
		justify-content:space-between;

		gap:20px;

		margin-top:19px;
		padding-top:19px;

		border-top:
			1px solid var(--color-border);

		color:var(--color-green);

		font-family:Lora,Georgia,serif;

		font-size:16px;
		line-height:1.3;

		text-decoration:none;
	}


	.desktop-dropdown__featured span:last-child {
		color:var(--color-gold);

		font-family:Manrope,Arial,sans-serif;

		font-size:19px;
	}


	/* PORADNIK */

	.desktop-nav__guide {
		position:relative;

		display:grid!important;

		grid-template-columns:
			minmax(0,1fr)
			auto;

		align-content:center;

		column-gap:8px;

		height:auto!important;

		margin:15px 6px;

		padding:
			10px
			12px!important;

		border-left:
			1px solid var(--color-gold);

		background:
			rgba(161,135,80,.055);
	}


	.desktop-nav__guide > span:first-child {
		grid-column:1;

		font-size:14px;
	}


	.desktop-nav__guide small {
		grid-column:1;

		margin-top:2px;

		color:var(--color-muted);

		font-size:10px;
		line-height:1.2;
		font-weight:500;

		white-space:nowrap;
	}


	.desktop-nav__guide-arrow {
		grid-column:2;

		grid-row:1 / 3;

		align-self:center;

		color:var(--color-gold);

		font-size:17px;
	}


	/* CONTACT */

	.header-contact {
		flex:0 0 auto;

		display:grid;

		grid-template-columns:
			72px
			auto;

		align-items:baseline;

		column-gap:12px;
		row-gap:4px;

		margin-left:7px;
		padding-left:24px;

		border-left:
			1px solid var(--color-border);
	}


	.header-contact__label {
		grid-column:1 / -1;

		margin-bottom:3px;

		color:var(--color-gold);

		font-size:11px;
		line-height:1.2;
		font-weight:600;

		letter-spacing:.10em;

		text-transform:uppercase;
	}


	.header-contact__row {
		display:contents;

		color:var(--color-green);

		text-decoration:none;
	}


	.header-contact__row span {
		color:var(--color-muted);

		font-size:12px;
		line-height:1.3;
		font-weight:500;
	}


	.header-contact__row strong {
		color:var(--color-green);

		font-size:15px;
		line-height:1.3;
		font-weight:600;

		white-space:nowrap;
	}

}


/* LARGE DESKTOP */

@media(min-width:1200px) {

	.site-brand {
		flex-basis:240px;
	}


	.site-header__inner {
		gap:27px;
	}


	.desktop-nav__item > a,
	.desktop-nav__trigger > a {
		padding-inline:12px;

		font-size:15px;
	}


	.desktop-nav__guide {
		padding-inline:13px!important;
	}


	.header-contact {
		padding-left:25px;
	}


	.header-contact__row strong {
		font-size:15.5px;
	}

}


/* WIDE DESKTOP */

@media(min-width:1360px) {

	.site-brand {
		flex-basis:260px;
	}


	.site-header__inner {
		gap:30px;
	}


	.desktop-nav__item > a,
	.desktop-nav__trigger > a {
		padding-inline:14px;

		font-size:16px;
	}


	.desktop-nav__guide > span:first-child {
		font-size:15px;
	}


	.desktop-nav__guide small {
		font-size:10.5px;
	}


	.header-contact {
		grid-template-columns:
			78px
			auto;

		padding-left:28px;
	}


	.header-contact__label {
		font-size:12px;
	}


	.header-contact__row span {
		font-size:13px;
	}


	.header-contact__row strong {
		font-size:16px;
	}

}


/* HOVER */

@media(hover:hover) {

	.desktop-nav__item > a,
	.desktop-nav__trigger > a,
	.desktop-dropdown__links a,
	.desktop-dropdown__featured,
	.mobile-nav a {

		transition:
			color .15s ease,
			background-color .15s ease;
	}


	.desktop-nav__item > a:hover,
	.desktop-nav__trigger > a:hover {
		color:var(--color-gold);
	}


	.desktop-dropdown__links a:hover {
		color:var(--color-green);

		background:
			linear-gradient(
				to right,
				rgba(161,135,80,.07),
				transparent
			);
	}


	.desktop-dropdown__featured:hover {
		color:var(--color-gold);
	}


	.desktop-nav__guide:hover {
		background:
			rgba(161,135,80,.11);
	}


	.header-contact__row:hover strong {
		color:var(--color-gold);
	}


	.mobile-nav__featured:hover,
	.mobile-nav__branch:hover {
		color:var(--color-gold);
	}

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce) {

	.mobile-nav,
	.menu-toggle__icon i,
	.desktop-dropdown,
	.desktop-nav__chevron span {
		transition:none;
	}

}
/* HERO */

.hero{
	position:relative;
	width:100%;
	height:620px;
	overflow:hidden;
	isolation:isolate;
	background:var(--color-green);
}

.hero__image{
	position:absolute;
	top:calc(-1 * var(--header-height));
	width:100%;
	height:auto;
	z-index:0;
}

.hero__shade{
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(
		180deg,
		rgba(15,51,43,0) 0%,
		rgba(15,51,43,0) 53%,
		rgba(15,51,43,.70) 59%,
		rgba(15,51,43,.80) 62%,
		rgba(15,51,43,1) 66%,
		rgba(15,51,43,1) 100%
	);
	pointer-events:none;
}

.hero__content{
	position:relative;
	z-index:2;
	height:100%;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	padding-top:var(--header-height);
	padding-bottom:24px;
	color:var(--color-white);
}

.hero h1{
	font-family:Lora,Georgia,serif;
	font-weight:400;
	font-size:clamp(31px,8.7vw,39px);
	line-height:1.04;
	letter-spacing:-.025em;
	margin:0;
	max-width:10.8ch;
}

.hero__lead{
	font-size:15px;
	line-height:1.42;
	margin:10px 0 0;
	max-width:31ch;
	color:rgba(255,254,250,.94);
}

.hero__actions{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
	margin-top:16px;
}


/* BUTTONS */

.button{
	min-height:50px;
	border-radius:8px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:10px 12px;
	text-decoration:none;
	font-weight:600;
	font-size:14px;
	transition:
		background-color .15s ease,
		color .15s ease,
		transform .15s ease;
}

.button:hover{
	transform:translateY(-1px);
}

.button--primary{
	background:var(--color-white);
	color:var(--color-green);
}

.button--secondary{
	border:1px solid rgba(255,254,250,.72);
	color:var(--color-white);
	background:rgba(15,51,43,.16);
}

.button:focus-visible,
.menu-toggle:focus-visible,
.header-phone:focus-visible,
.sticky-contact a:focus-visible{
	outline:3px solid var(--color-gold);
	outline-offset:3px;
}


/* GLOBAL */

.build-note{
	padding:64px 0;
}

.build-note__inner{
	max-width:760px;
}

.section-kicker{
	font-size:13px;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--color-green);
	margin:0 0 12px;
}

.build-note h2{
	font-family:Lora,Georgia,serif;
	font-size:clamp(32px,8vw,46px);
	font-weight:400;
	line-height:1.12;
	margin:0 0 20px;
}

.build-note p:last-child{
	color:var(--color-muted);
	max-width:65ch;
}

.content-shell{
	padding-block:64px;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
	background:#0A2721;

	color:rgba(255,254,250,.78);
}


/* =========================================================
   MAIN GRID
   ========================================================= */

.site-footer__grid {
	display:grid;

	gap:46px;

	padding-top:64px;
	padding-bottom:54px;
}


/* =========================================================
   BRAND
   ========================================================= */

.site-footer__brand {
	max-width:340px;
}


.site-footer__logo {
	display:block;

	width:190px;

	margin-bottom:27px;
}


.site-footer__logo img {
	display:block;

	width:100%;
	height:auto;

	/*
	 * Logo SVG jest przygotowane dla jasnego tła.
	 * Jeżeli masz już jego jasną wersję,
	 * usuń poniższy filter.
	 */
	filter:
		brightness(0)
		invert(1);
}


.site-footer__slogan {
	margin:0;

	color:var(--color-white);

	font-family:Lora,Georgia,serif;

	font-size:23px;
	line-height:1.35;
	font-weight:400;
}


.site-footer__intro {
	max-width:290px;

	margin:15px 0 0;

	color:rgba(255,254,250,.67);

	font-size:14px;
	line-height:1.65;
}


.site-footer__email {
	display:inline-block;

	margin-top:21px;

	color:rgba(255,254,250,.88);

	font-size:14px;
	line-height:1.4;

	text-decoration:none;
}


/* =========================================================
   HEADINGS
   ========================================================= */

.site-footer__heading {
	margin:0 0 22px;

	color:var(--color-gold);

	font-size:13px;
	line-height:1.3;
	font-weight:600;

	letter-spacing:.10em;

	text-transform:uppercase;
}


/* =========================================================
   LOCATIONS
   ========================================================= */

.site-footer__locations {
	display:grid;

	align-content:start;

	gap:29px;
}


.site-footer__locations .site-footer__heading {
	margin-bottom:-4px;
}


.site-footer__location {
	display:grid;

	gap:8px;
}


.site-footer__location-name {
	width:max-content;

	color:var(--color-white);

	font-family:Lora,Georgia,serif;

	font-size:20px;
	line-height:1.3;
	font-weight:400;

	text-decoration:none;
}


.site-footer__location address {
	margin:0;

	color:rgba(255,254,250,.63);

	font-size:13px;
	line-height:1.65;
	font-style:normal;
}


.site-footer__phone {
	width:max-content;

	color:var(--color-white);

	font-size:17px;
	line-height:1.35;
	font-weight:600;

	text-decoration:none;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.site-footer__nav {
	display:grid;

	align-content:start;

	gap:0;
}


.site-footer__nav a {
	display:block;

	padding:7px 0;

	color:rgba(255,254,250,.76);

	font-size:14px;
	line-height:1.45;
	font-weight:500;

	text-decoration:none;
}


/* =========================================================
   BOTTOM
   ========================================================= */

.site-footer__bottom {
	border-top:
		1px solid rgba(255,254,250,.12);
}


.site-footer__bottom-inner {
	display:flex;

	flex-direction:column;

	gap:7px;

	padding-top:20px;
	padding-bottom:
		calc(96px + env(safe-area-inset-bottom));
}


.site-footer__bottom p {
	margin:0;

	color:rgba(255,254,250,.44);

	font-size:11px;
	line-height:1.5;
}


.site-footer__bottom-location {
	letter-spacing:.06em;
}


/* =========================================================
   HOVER
   ========================================================= */

@media(hover:hover) {

	.site-footer a {
		transition:color .16s ease;
	}


	.site-footer__nav a:hover,
	.site-footer__email:hover,
	.site-footer__phone:hover,
	.site-footer__location-name:hover {
		color:var(--color-gold);
	}

}


/* =========================================================
   TABLET
   ========================================================= */

@media(min-width:700px) {

	.site-footer__grid {
		grid-template-columns:
			minmax(0,1.3fr)
			minmax(0,1fr);

		column-gap:64px;
		row-gap:54px;

		padding-top:72px;
		padding-bottom:62px;
	}


	.site-footer__bottom-inner {
		flex-direction:row;

		align-items:center;
		justify-content:space-between;

		gap:30px;
	}

}


/* =========================================================
   DESKTOP
   ========================================================= */

@media(min-width:1100px) {

	.site-footer__grid {
		grid-template-columns:
			minmax(260px,1.4fr)
			minmax(190px,1fr)
			minmax(180px,.9fr)
			minmax(180px,.9fr);

		column-gap:68px;

		padding-top:82px;
		padding-bottom:72px;
	}


	.site-footer__logo {
		width:220px;

		margin-bottom:30px;
	}


	.site-footer__slogan {
		font-size:25px;
	}


	.site-footer__intro {
		font-size:15px;
	}


	.site-footer__heading {
		margin-bottom:24px;

		font-size:14px;
	}


	.site-footer__location-name {
		font-size:21px;
	}


	.site-footer__location address {
		font-size:14px;
	}


	.site-footer__phone {
		font-size:18px;
	}


	.site-footer__nav a {
		padding:7px 0;

		font-size:15px;
	}


	.site-footer__bottom-inner {
		padding-top:22px;
		padding-bottom:22px;
	}


	.site-footer__bottom p {
		font-size:12px;
	}

}


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media(min-width:1360px) {

	.site-footer__grid {
		column-gap:86px;

		padding-top:90px;
		padding-bottom:78px;
	}


	.site-footer__logo {
		width:235px;
	}


	.site-footer__slogan {
		font-size:27px;
	}

}


/* STICKY CONTACT */

.sticky-contact{
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	z-index:80;
	display:grid;
	grid-template-columns:1fr 1fr;
	transform:translateY(120%);
	transition:transform .18s ease;
	padding-bottom:env(safe-area-inset-bottom);
	box-shadow:0 -8px 30px rgba(13,34,27,.12);
}

.sticky-contact.is-visible{
	transform:none;
}

.sticky-contact a{
	min-height:58px;
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	font-weight:600;
	font-size:15px;
}

.sticky-contact__phone{
	background:var(--color-green);
	color:var(--color-white);
}

.sticky-contact__whatsapp{
	background:var(--color-white);
	color:var(--color-green);
	border-top:1px solid var(--color-border);
}


@media(max-width:370px){

	.site-brand{
		flex-basis:148px;
	}

	.header-phone{
		font-size:12px;
	}

	.menu-toggle{
		width:42px;
		padding-inline:8px;
	}

	.hero h1{
		font-size:29px;
	}

	.hero__lead{
		font-size:14px;
	}

	.button{
		font-size:13px;
		padding-inline:8px;
	}
}


/* SERVICES */

.services{
	padding:64px 0;
}

.services__header{
	max-width:34rem;
}

.services__lead{
	margin-top:16px;
	max-width:34ch;
}

.services__list{
	margin-top:40px;
}

.service-item{
	position:relative;
	min-height:230px;
	padding:24px 0;
	overflow:hidden;
	border-top:1px solid var(--color-border);
	cursor:pointer;
}

.service-item__content{
	position:relative;
	z-index:2;
	width:100%;
	pointer-events:none;
}

.service-item__number{
	display:block;
	margin-bottom:12px;
	font-size:24px;
	font-weight:600;
	letter-spacing:.08em;
	color:var(--color-gold);
}

.service-item h3{
	margin:0;
	max-width:48%;
	font-size:24px;
}

.service-item p{
	margin:16px 0 0;
	width:100%;
	color:var(--color-muted);
}

.service-item__arrow{
	display:inline-flex;
	align-items:center;
	margin-top:16px;
	color:var(--color-green);
	transition:transform .18s ease;
}

.service-item__media{
	position:absolute;
	z-index:1;
	top:0;
	right:0;
	width:55%;
	height:150px;

	-webkit-mask-image:
		linear-gradient(to right, transparent 0%, black 24%, black 100%),
		linear-gradient(to bottom, black 0%, black 58%, transparent 100%);

	-webkit-mask-composite:source-in;

	mask-image:
		linear-gradient(to right, transparent 0%, black 24%, black 100%),
		linear-gradient(to bottom, black 0%, black 58%, transparent 100%);

	mask-composite:intersect;
}

.service-item__media img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

.service-item__click{
	position:absolute;
	inset:0;
	z-index:4;
	display:block;
}

.service-item:hover .service-item__arrow{
	transform:translateX(5px);
}

.service-item:has(.service-item__click:focus-visible){
	outline:3px solid var(--color-gold);
	outline-offset:4px;
}

.services__cta{
	display:inline-flex;
	align-items:center;
	gap:14px;
	margin-top:36px;

	font-family:Lora,Georgia,serif;
	font-size:21px;
	font-weight:400;
	line-height:1.3;

	color:var(--color-green);
	text-decoration:none;
}

.services__cta span{
	font-family:Manrope,Arial,sans-serif;
	font-size:22px;
	transition:transform .18s ease;
}

.services__cta:hover span{
	transform:translateX(5px);
}


/* IMMEDIATE HELP */

.immediate-help{
	background:var(--color-green);
	color:#F7F4EE;
	padding:56px 0 60px;
}

.immediate-help__content{
	max-width:340px;
}

.immediate-help__eyebrow{
	margin:0 0 16px;
	font-size:14px;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--color-gold);
}

.immediate-help h2{
	margin:0;
	color:#F7F4EE;
}

.immediate-help__lead{
	margin:20px 0 0;
	color:rgba(247,244,238,.82);
}

.immediate-help__actions{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:20px;
	margin-top:32px;
}

.immediate-help__guide-link{
	display:inline-flex;
	align-items:center;
	gap:10px;
	min-height:44px;
	color:#F7F4EE;
	font-weight:600;
	text-decoration:none;
}

.immediate-help__guide-link span{
	transition:transform .18s ease;
}

.immediate-help__guide-link:hover span{
	transform:translateX(4px);
}

.button--light{
	background:#F7F4EE;
	color:var(--color-green);
	border-color:#F7F4EE;
}

.immediate-help__note{
	margin:24px 0 0;
	font-size:14px;
	line-height:1.5;
	color:rgba(247,244,238,.68);
}


/* TRUST */

.trust{
	padding:64px 0 0;
	background:#FFFEFA;
}

.trust__header{
	margin-bottom:40px;
}

.trust__header h2{
	margin:0;
}

.trust__intro{
	margin-bottom:48px;
}

.trust__text h3{
	margin:0;
	font-size:24px;
}

.trust__text > p:last-child{
	margin:20px 0 0;
	color:var(--color-muted);
}

.trust__eyebrow{
	margin:0 0 12px;
	font-size:13px;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--color-gold);
}

.trust__media{
	margin-top:20px;
	width:100vw;
	margin-left:calc(50% - 50vw);
	overflow:hidden;
}

.trust__media img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}


/* PROCESS */

.process{
	padding:64px 0;
	background:#F7F4EE;
}

.process__header{
	margin-bottom:40px;
}

.process__header h2{
	margin:0;
}

.process__lead{
	margin:16px 0 0;
	color:var(--color-muted);
}

.process__steps{
	position:relative;
}

.process__steps::before{
	content:"";
	position:absolute;
	top:10px;
	bottom:10px;
	left:17px;
	width:1px;
	background:var(--color-border);
}

.process-step{
	position:relative;
	display:grid;
	grid-template-columns:36px 1fr;
	column-gap:20px;
	padding-bottom:36px;
}

.process-step:last-child{
	padding-bottom:0;
}

.process-step__number{
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	background:#F7F4EE;
	font-size:16px;
	font-weight:600;
	letter-spacing:.04em;
	color:var(--color-gold);
}

.process-step__content{
	padding-top:5px;
}

.process-step__content h3{
	margin:0;
	font-size:20px;
	line-height:1.25;
}

.process-step__content p{
	margin:10px 0 0;
	color:var(--color-muted);
}

.process__link{
	display:inline-flex;
	align-items:center;
	gap:10px;
	margin-top:40px;
	color:var(--color-green);
	font-weight:600;
	text-decoration:none;
}

.process__link span{
	transition:transform .18s ease;
}

.process__link:hover span{
	transform:translateX(4px);
}


/* FINANCING — zachowuje układ wcześniejszej sekcji formalności */

.formalities{
	padding:56px 0;
	background:#FFFEFA;
}

.formalities h2{
	margin:0;
}

.formalities__lead{
	margin:16px 0 0;
	color:var(--color-muted);
}

.formalities__grid{
	display:grid;
	gap:28px;
}

.formalities__link{
	display:inline-flex;
	align-items:center;
	gap:10px;
	margin-top:24px;
	color:var(--color-green);
	font-weight:600;
	text-decoration:none;
}

.formalities__link span{
	transition:transform .18s ease;
}

.formalities__link:hover span{
	transform:translateX(4px);
}

.formalities__media{
	overflow:hidden;
	border-radius:var(--radius-md);
	background:var(--color-surface);
}

.formalities__media img{
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:4 / 3;
	object-fit:cover;
	object-position:center;
}


/* ADVANTAGES */

.advantages{
	padding:64px 0;
	background:#FFFEFA;
}

.advantages__header{
	margin-bottom:40px;
}

.advantages__header h2{
	margin:0;
}

.advantages__grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	column-gap:24px;
	row-gap:36px;
	padding-top:32px;
	border-top:1px solid var(--color-border);
}

.advantage{
	min-width:0;
}

.advantage__mark{
	display:block;
	width:28px;
	height:2px;
	margin-bottom:14px;
	background:var(--color-gold);
}

.advantage h3{
	margin:0;
	font-size:17px;
	line-height:1.3;
}

.advantage p{
	margin:10px 0 0;
	font-size:14px;
	line-height:1.55;
	color:var(--color-muted);
}


/* =========================================================
   REVIEWS
   ========================================================= */

.reviews{
	padding:64px 0;
	overflow:hidden;
	background:var(--color-green);
	color:var(--color-white);
}

.reviews__header{
	margin-bottom:44px;
}

.reviews__header h2{
	margin:0;
	font-family:Lora,Georgia,serif;
	font-weight:400;
	color:var(--color-white);
}


/* ŚREDNIA OCEN */

.reviews__rating{
	margin-top:28px;
}

.reviews__rating-label{
	margin:0 0 12px;
	font-size:12px;
	font-weight:600;
	line-height:1.2;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:rgba(255,254,250,.58);
}

.reviews__rating-score{
	display:flex;
	align-items:center;
	gap:12px;
}

.reviews__rating-stars{
	color:var(--color-gold);
	font-size:18px;
	line-height:1;
	letter-spacing:.07em;
}

.reviews__rating-value{
	margin:0;
}

.reviews__rating-value strong{
	font-family:Lora,Georgia,serif;
	font-size:28px;
	font-weight:400;
	line-height:1;
	color:var(--color-white);
}


/* KARUZELA */

.reviews__carousel{
	min-width:0;
}

.reviews__viewport{
	min-width:0;
	overflow:hidden;
}

.reviews__track{
	display:flex;
	width:100%;
	overflow-x:auto;
	overflow-y:hidden;
	scroll-snap-type:x mandatory;
	scroll-behavior:smooth;
	overscroll-behavior-x:contain;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:none;
	touch-action:pan-x pan-y;
}

.reviews__track::-webkit-scrollbar{
	display:none;
}


/* POJEDYNCZA OPINIA */

.review{
	flex:0 0 100%;
	width:100%;
	min-width:100%;
	scroll-snap-align:start;
	scroll-snap-stop:always;
	padding:0 1px 30px;
}

/*
 * Mobile: treść opinii ma wielkość zbliżoną
 * do zwykłego tekstu strony, a nie nagłówka.
 */
.review__text{
	margin:0;
	max-width:38ch;

	font-family:Manrope,Arial,sans-serif;
	font-size:17px;
	font-weight:400;
	line-height:1.65;
	letter-spacing:0;

	color:var(--color-white);
}


/* AUTOR */

.review__meta{
	margin-top:28px;
	padding-top:18px;
	border-top:1px solid rgba(255,254,250,.16);
}

.review__author{
	margin:0;
	font-size:15px;
	font-weight:600;
	line-height:1.4;
	color:var(--color-white);
}


/* GOOGLE + OCENA KONKRETNEJ OPINII */

.review__source{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px 11px;

	margin-top:7px;

	font-size:13px;
	line-height:1.3;

	color:rgba(255,254,250,.62);
}

.review__source-name{
	white-space:nowrap;
}

.review__score{
	display:inline-flex;
	align-items:center;
	gap:7px;
}

.review__score-stars{
	color:var(--color-gold);
	font-size:11px;
	line-height:1;
	letter-spacing:.035em;
}

.review__score-value{
	font-size:12px;
	font-weight:600;
	line-height:1;
	color:rgba(255,254,250,.82);
}


/* STEROWANIE */

.reviews__controls{
	display:grid;
	grid-template-columns:48px 1fr 48px;
	align-items:center;
	gap:16px;

	padding-top:20px;

	border-top:1px solid rgba(255,254,250,.18);
}

.reviews__arrow{
	display:flex;
	align-items:center;
	justify-content:center;

	width:48px;
	height:48px;
	padding:0;

	border:1px solid rgba(255,254,250,.32);
	border-radius:50%;

	background:transparent;
	color:var(--color-white);

	font-family:Manrope,Arial,sans-serif;
	font-size:20px;
	line-height:1;

	cursor:pointer;

	transition:
		background-color .18s ease,
		border-color .18s ease,
		opacity .18s ease,
		transform .18s ease;
}

.reviews__arrow:hover{
	background:rgba(255,254,250,.08);
	border-color:rgba(255,254,250,.58);
}

.reviews__arrow:active{
	transform:scale(.96);
}

.reviews__arrow:focus-visible{
	outline:3px solid var(--color-gold);
	outline-offset:3px;
}

.reviews__arrow:disabled{
	opacity:.28;
	cursor:default;
}

.reviews__arrow:disabled:hover{
	background:transparent;
	border-color:rgba(255,254,250,.32);
}


/* LICZNIK */

.reviews__counter{
	justify-self:center;

	display:flex;
	align-items:center;
	gap:7px;

	margin:0;

	font-size:13px;
	font-weight:600;
	line-height:1;
	letter-spacing:.06em;

	color:rgba(255,254,250,.48);
}

.reviews__counter [data-reviews-current]{
	color:var(--color-white);
}

.reviews__counter-separator{
	color:rgba(255,254,250,.3);
}


/* =========================================================
   TABLET / DESKTOP
   ========================================================= */

@media(min-width:768px){

	.reviews{
		padding:96px 0;
	}

	.reviews__layout{
		display:grid;
		grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);
		gap:72px;
		align-items:start;
	}

	.reviews__header{
		margin:0;
	}

	/*
	 * Nagłówek może wykorzystać całą lewą kolumnę.
	 * Nie ograniczamy go już do 9–10 znaków.
	 */
	.reviews__header h2{
		max-width:none;
		white-space:nowrap;
	}

	.reviews__rating{
		margin-top:34px;
	}

	.reviews__rating-label{
		margin-bottom:14px;
		font-size:13px;
	}

	.reviews__rating-score{
		gap:14px;
	}

	.reviews__rating-stars{
		font-size:20px;
	}

	.reviews__rating-value strong{
		font-size:36px;
	}


	/* TREŚĆ OPINII */

	.review{
		padding:0 0 34px;
	}

	.review__text{
		max-width:48ch;

		font-family:Manrope,Arial,sans-serif;
		font-size:19px;
		line-height:1.65;
	}


	/* AUTOR — WIĘKSZY NA DESKTOPIE */

	.review__meta{
		margin-top:32px;
		padding-top:22px;
	}

	.review__author{
		font-size:18px;
		font-weight:600;
	}


	/* GOOGLE + GWIAZDKI — WIĘKSZE NA DESKTOPIE */

	.review__source{
		margin-top:9px;
		gap:12px;

		font-size:15px;
	}

	.review__score{
		gap:8px;
	}

	.review__score-stars{
		font-size:14px;
		letter-spacing:.045em;
	}

	.review__score-value{
		font-size:14px;
	}

}


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media(min-width:1200px){

	.reviews__layout{
		/*
		 * Nieco szersza lewa kolumna pozwala zachować
		 * nagłówek w jednej linii.
		 */
		grid-template-columns:480px minmax(0,1fr);
		gap:90px;
	}

	.reviews__header h2{
		white-space:nowrap;
	}

	/*
	 * Treść jest wyraźnie mniejsza od nagłówków.
	 */
	.review__text{
		max-width:52ch;
		font-size:20px;
		line-height:1.65;
	}

	.review__author{
		font-size:19px;
	}

	.review__source{
		font-size:15px;
	}

	.review__score-stars{
		font-size:15px;
	}

	.review__score-value{
		font-size:14px;
	}

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

	.reviews__track{
		scroll-behavior:auto;
	}

}


/* OBITUARIES */

.obituaries{
	padding:64px 0;
	background:#F7F4EE;
}

.obituaries__header{
	margin-bottom:48px;
}

.obituaries__header h2{
	margin:0;
}

.obituaries__lead{
	margin:16px 0 0;
	color:var(--color-muted);
}

.obituaries__list{
	border-top:1px solid var(--color-border);
}

.obituary{
	padding:32px 0 36px;
	border-bottom:1px solid var(--color-border);
}

.obituary__heading{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:24px;
}

.obituary__name{
	margin:0;
	font-size:29px;
	line-height:1.2;
}

.obituary__number{
	flex:0 0 auto;
	padding-top:5px;
	font-size:13px;
	font-weight:600;
	letter-spacing:.08em;
	color:var(--color-gold);
}

.obituary__details{
	margin:12px 0 0;
	font-size:14px;
	line-height:1.65;
	color:var(--color-muted);
}

.obituary__funeral{
	position:relative;
	margin-top:26px;
	padding:2px 0 2px 20px;
}

.obituary__funeral::before{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	width:2px;
	background:var(--color-gold);
}

.obituary__funeral-label{
	display:block;
	margin-bottom:7px;
	font-size:12px;
	font-weight:600;
	line-height:1.2;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--color-gold);
}

.obituary__funeral time{
	display:block;
	font-family:Lora,Georgia,serif;
	font-size:23px;
	line-height:1.25;
	color:var(--color-green);
}

.obituary__link,
.obituaries__all{
	display:inline-flex;
	align-items:center;
	gap:10px;
	color:var(--color-green);
	font-weight:600;
	text-decoration:none;
}

.obituary__link{
	margin-top:24px;
}

.obituaries__all{
	margin-top:32px;
}

.obituary__link span,
.obituaries__all span{
	transition:transform .18s ease;
}

.obituary__link:hover span,
.obituaries__all:hover span{
	transform:translateX(4px);
}


/* FAQ */

.faq{
	padding:64px 0;
	background:#FFFEFA;
}

.faq__header{
	margin-bottom:40px;
}

.faq__header h2{
	margin:0;
}

.faq__list{
	border-top:1px solid var(--color-border);
}

.faq-item{
	border-bottom:1px solid var(--color-border);
}

.faq-item summary{
	display:grid;
	grid-template-columns:1fr 24px;
	gap:20px;
	align-items:center;
	padding:24px 0;
	cursor:pointer;
	list-style:none;
}

.faq-item summary::-webkit-details-marker{
	display:none;
}

.faq-item summary > span:first-child{
	font-weight:600;
	line-height:1.4;
	color:var(--color-text);
}

.faq-item__icon{
	position:relative;
	width:20px;
	height:20px;
}

.faq-item__icon::before,
.faq-item__icon::after{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:14px;
	height:1px;
	background:var(--color-green);
	transform:translate(-50%,-50%);
	transition:transform .18s ease;
}

.faq-item__icon::after{
	transform:translate(-50%,-50%) rotate(90deg);
}

.faq-item[open] .faq-item__icon::after{
	transform:translate(-50%,-50%) rotate(0);
}

.faq-item__answer{
	padding:0 44px 24px 0;
}

.faq-item__answer p{
	margin:0;
	color:var(--color-muted);
}


/* OFFICES */

.offices{
	padding:64px 0 0;
	background:var(--color-green);
	color:#FFFEFA;
}

.offices__header{
	margin-bottom:48px;
}

.offices__header h2{
	margin:0;
	color:#FFFEFA;
}

.offices__lead{
	margin:16px 0 0;
	color:rgba(255,254,250,.72);
}

.offices__list{
	border-top:1px solid rgba(255,254,250,.2);
}

.office{
	padding:32px 0 36px;
}

.office__city{
	margin:0 0 20px;
	font-family:Lora,Georgia,serif;
	font-size:28px;
	line-height:1.2;
	color:#FFFEFA;
}

.office__address{
	margin:0;
	font-style:normal;
	line-height:1.6;
	color:rgba(255,254,250,.82);
}

.office__phones{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:6px;
	margin-top:20px;
}

.office__phones a{
	color:#FFFEFA;
	font-size:18px;
	font-weight:600;
	text-decoration:none;
}

.office__actions{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
	margin-top:28px;
}

.office__call{
	background:#FFFEFA;
	color:var(--color-green);
}

.office__whatsapp{
	border:1px solid rgba(255,254,250,.6);
	background:transparent;
	color:#FFFEFA;
}

.office__route{
	display:inline-flex;
	align-items:center;
	gap:10px;
	margin-top:24px;
	color:var(--color-gold);
	font-weight:600;
	text-decoration:none;
}

.office__route span{
	transition:transform .18s ease;
}

.office__route:hover span{
	transform:translateX(4px);
}

.office:not(.office--primary){
	position:relative;
	margin-left:-20px;
	margin-right:-20px;
	padding:32px 20px 36px;
	background:#173D34;
	border-bottom:0;
}


/* TABLET / DESKTOP */

@media(min-width:768px){

	.sticky-contact{
		display:none;
	}


	/* HERO */

	.hero{
		height:auto;
		min-height:620px;
		background:var(--color-bg);
		border-bottom:1px solid rgba(15,51,43,.10);
	}

	.hero__shade{
		display:none;
	}

	.hero__image{
		top:50%;
		right:var(--gutter);
		left:auto;
		width:42%;
		height:520px;
		transform:translateY(-50%);
		object-fit:cover;
		object-position:64% 46%;
		border-radius:var(--radius-md);
	}

	.hero__content{
		min-height:620px;
		height:auto;
		justify-content:center;
		padding-top:64px;
		padding-right:50%;
		padding-bottom:64px;
		color:var(--color-text);
	}

	.hero h1{
		font-size:56px;
		line-height:64px;
		max-width:13ch;
		color:var(--color-green);
	}

	.hero__lead{
		font-size:19px;
		line-height:1.5;
		margin-top:18px;
		color:var(--color-muted);
	}

	.hero__actions{
		display:flex;
		gap:12px;
		margin-top:28px;
	}

	.button{
		min-height:54px;
		min-width:178px;
		font-size:15px;
		padding-inline:18px;
	}

	.button--primary{
		min-width:218px;
	}

	.hero .button--primary{
		background:var(--color-green);
		color:var(--color-white);
	}

	.hero .button--secondary{
		border-color:var(--color-green);
		background:transparent;
		color:var(--color-green);
	}


	/* SERVICES */

	.services{
		padding:88px 0;
	}

	.services__header{
		display:grid;
		grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
		gap:64px;
		max-width:none;
		align-items:start;
	}

	.services__header h2,
	.services__lead{
		margin-top:0;
	}

	.services__lead{
		max-width:48ch;
	}

	.services__list{
		display:grid;
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:0 32px;
		margin-top:52px;
	}

	.service-item{
		min-height:360px;
		padding:28px 0 0;
		border-bottom:1px solid var(--color-border);
	}

	.service-item__content{
		min-height:190px;
	}

	.service-item h3{
		max-width:none;
	}

	.service-item p{
		width:100%;
		max-width:31ch;
	}

	.service-item__media{
		position:relative;
		top:auto;
		right:auto;
		width:100%;
		height:150px;
		margin-top:24px;
	}

	.service-item__media img{
		transition:transform .35s ease;
	}

	.service-item:hover .service-item__media img{
		transform:scale(1.025);
	}

	.services__cta{
		margin-top:40px;
	}


	/* IMMEDIATE HELP */

	.immediate-help{
		padding:76px 0 80px;
	}

	.immediate-help__content{
		max-width:560px;
	}


	/* TRUST */

	.trust{
		padding:88px 0;
	}

	.trust__header{
		max-width:640px;
		margin-bottom:56px;
	}

	.trust__intro{
		margin-bottom:0;
	}

	.trust__intro-content{
		display:grid;
		grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
		gap:64px;
		align-items:center;
	}

	.trust__text{
		align-self:center;
	}

	.trust__text h3{
		margin:0;
		font-size:32px;
	}

	.trust__text > p:last-child{
		margin:20px 0 0;
		max-width:36ch;
		color:var(--color-muted);
	}

	.trust__media{
		width:100%;
		height:430px;
		margin:0;
		border-radius:var(--radius-md);
	}


	/* PROCESS */

	.process{
		padding:88px 0;
	}

	.process > .container{
		display:grid;
		grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
		gap:72px;
		align-items:start;
	}

	.process__header{
		margin-bottom:0;
	}

	.process__steps{
		grid-column:2;
		grid-row:1;
	}

	.process__link{
		grid-column:2;
		margin-top:36px;
	}


	/* FINANCING */

	.formalities{
		padding:80px 0;
	}

	.formalities__grid{
		grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
		gap:64px;
		align-items:center;
	}

	.formalities__content{
		align-self:center;
	}

	.formalities__lead{
		max-width:44ch;
	}

	.formalities__media img{
		height:420px;
		aspect-ratio:auto;
		object-position:center;
	}


	/* ADVANTAGES */

	.advantages{
		padding:88px 0;
	}

	.advantages > .container{
		display:grid;
		grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
		gap:72px;
		align-items:start;
	}

	.advantages__header{
		margin-bottom:0;
	}

	.advantages__grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
		padding-top:0;
		border-top:0;
	}


	/* OBITUARIES */

	.obituaries{
		padding:88px 0;
	}

	.obituaries__list{
		display:grid;
		grid-template-columns:repeat(3,minmax(0,1fr));
		border-top:1px solid var(--color-border);
	}

	.obituary{
		padding:32px 28px 36px;
		border-bottom:1px solid var(--color-border);
	}

	.obituary:first-child{
		padding-left:0;
	}

	.obituary + .obituary{
		border-left:1px solid var(--color-border);
	}

	.obituary:last-child{
		padding-right:0;
	}


	/* FAQ */

	.faq{
		padding:88px 0;
	}

	.faq > .container{
		display:grid;
		grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
		gap:72px;
		align-items:start;
	}

	.faq__header{
		margin-bottom:0;
	}


	/* OFFICES */

	.offices{
		padding-top:88px;
	}

	.offices__list{
		display:grid;
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.office{
		padding:36px 36px 42px 0;
	}

	.office:not(.office--primary){
		margin:0;
		padding:36px 0 42px 36px;
		background:#173D34;
	}


	.site-footer{
		padding:72px 0;
	}

	.site-footer__grid{
		grid-template-columns:1.4fr 1fr;
	}
}


/* LARGE DESKTOP */

@media(min-width:1200px){

	:root{
		--gutter:80px;
	}


	/* HERO */

	.hero{
		min-height:700px;
	}

	.hero__content{
		min-height:700px;
		padding-left:0;
		padding-right:610px;
	}

	.hero__image{
		right:max(80px,calc((100vw - 1280px) / 2));
		width:520px;
		height:610px;
	}


	/* SERVICES */

	.services__header{
		grid-template-columns:430px minmax(0,1fr);
		gap:110px;
	}

	.services__list{
		grid-template-columns:repeat(4,minmax(0,1fr));
		gap:0 28px;
	}

	.service-item{
		min-height:430px;
		padding-top:30px;
	}

	.service-item__content{
		min-height:238px;
	}

	.service-item__number{
		font-size:20px;
	}

	.service-item h3{
		font-size:22px;
		line-height:1.25;
	}

	.service-item p{
		font-size:15px;
		line-height:1.6;
	}

	.service-item__media{
		height:165px;
	}


	/* TRUST */

	.trust__intro-content{
		grid-template-columns:430px minmax(0,1fr);
		gap:110px;
	}

	.trust__media{
		height:500px;
	}


	/* EDITORIAL SPLITS */

	.process > .container,
	.advantages > .container,
	.reviews > .container,
	.faq > .container{
		grid-template-columns:430px minmax(0,1fr);
		gap:110px;
	}


	/* FINANCING */

	.formalities__grid{
		grid-template-columns:430px minmax(0,1fr);
		gap:110px;
	}

	.formalities__media img{
		height:500px;
	}


	/* FAQ */

	.faq__header{
		position:sticky;
		top:116px;
	}


	/* OFFICES */

	.office{
		padding-right:64px;
	}

	.office:not(.office--primary){
		padding-left:64px;
	}
}


@media(prefers-reduced-motion:reduce){

	html{
		scroll-behavior:auto;
	}

	*,
	*:before,
	*:after{
		scroll-behavior:auto!important;
		transition-duration:.01ms!important;
		animation-duration:.01ms!important;
		animation-iteration-count:1!important;
	}
}