/* =============================================================================
   Jezeršek Catering International — Custom Styles
   ============================================================================= */

/* Hide focus outline on mouse clicks, keep it for keyboard navigation */
:focus:not(:focus-visible) { outline: none; }
:focus-visible { outline: 2px solid var(--color-gold); outline-offset: 3px; }

/* -----------------------------------------------------------------------------
   Thank You page
   ----------------------------------------------------------------------------- */
.thankyou {
	min-height:      100vh;
	background:      var(--color-off-white);
	display:         flex;
	align-items:     center;
	justify-content: center;
	padding:         120px var(--gutter);
	position:        relative;
	overflow:        hidden;
	text-align:      center;
}

.thankyou__watermark {
	position:        absolute;
	inset:           0;
	display:         flex;
	align-items:     center;
	justify-content: center;
	pointer-events:  none;
}

.thankyou__watermark img {
	width:   70%;
	opacity: 0.4;
}

.thankyou__inner {
	position:       relative;
	z-index:        1;
	max-width:      560px;
	display:        flex;
	flex-direction: column;
	align-items:    center;
}

.thankyou__eyebrow {
	font-size:      var(--text-xs);
	font-weight:    600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color:          var(--color-gold);
	margin-bottom:  18px;
}

.thankyou__title {
	font-family: var(--font-heading);
	font-size:   clamp(2rem, 5vw, 3.2rem);
	font-weight: 400;
	color:       var(--color-dark);
	line-height: 1.1;
}

.thankyou__title em {
	font-style: italic;
	color:      var(--color-gold);
}

.thankyou__rule {
	width:      48px;
	height:     2px;
	background: var(--color-gold);
	margin:     24px 0;
}

.thankyou__body {
	font-size:     1rem;
	color:         rgba(22, 28, 45, 0.6);
	line-height:   1.75;
	margin-bottom: 40px;
}

.thankyou .btn {
	align-self: center;
}

/* -----------------------------------------------------------------------------
   WordPress Studio preview banner — keep it out of document flow
   ----------------------------------------------------------------------------- */
#studio-companion-notice {
	position: fixed !important;
	bottom:   0 !important;
	top:      auto !important;
	z-index:  99999;
}

/* =============================================================================
   LANDING PAGE
   ============================================================================= */

.landing-page {
	min-height:      100vh;
	min-height:      100svh;
	background:      var(--color-dark);
	display:         flex;
	align-items:     center;
	justify-content: center;
	position:        relative;
	overflow:        hidden;
}

.landing-page__watermark {
	position:       absolute;
	top:            50%;
	left:           50%;
	transform:      translate(-50%, -50%);
	width:          160vw;
	max-width:      1600px;
	opacity:        0.04;
	pointer-events: none;
	user-select:    none;
}

.landing-page__watermark img {
	width:   100%;
	height:  auto;
	display: block;
}

.landing-page__inner {
	position:       relative;
	z-index:        1;
	display:        flex;
	flex-direction: column;
	align-items:    center;
	gap:            clamp(5rem, 10vw, 8rem);
	padding:        2rem;
	width:          100%;
	max-width:      1200px;
}

.landing-page__logo {
	height: 320px;
	width:  auto;
}

.landing-page__list {
	display:         flex;
	flex-wrap:       nowrap;
	justify-content: stretch;
	align-items:     stretch;
	list-style:      none;
	margin:          0;
	padding:         0;
	width:           100%;
}

.landing-page__item {
	flex:      1 1 0;
	min-width: 0;
}

.landing-page__item + .landing-page__item {
	border-left: 1.5px solid rgba(201, 144, 42, 0.35);
}

.landing-page__link {
	display:         flex;
	flex-direction:  column;
	align-items:     flex-start;
	justify-content: flex-start;
	height:          100%;
	padding:         1.5rem clamp(1.75rem, 3vw, 3rem);
	font-family:     var(--font-heading);
	font-size:       clamp(1.3rem, 2.2vw, 2rem);
	font-weight:     400;
	letter-spacing:  -0.02em;
	line-height:     1.2;
	color:           var(--color-white);
	text-decoration: none;
	transition:      color var(--transition-base);
}

.landing-page__link:hover {
	color: var(--color-gold);
}

.landing-page__link:focus:not(:focus-visible) {
	outline: none;
}

.landing-page__flag {
	display:       block;
	margin-bottom: 1.25em;
	font-size:     12.8px;
}

.landing-page__flag img {
	display:    block;
	width:      24px;
	height:     24px;
	object-fit: contain;
}

.landing-page__text {
	display: block;
}

.landing-page__arrow {
	display:     flex;
	align-items: center;
	margin-top:  0.6em;
	color:       var(--color-gold);
	flex-shrink: 0;
	transition:  transform var(--transition-base);
}

.landing-page__link:hover .landing-page__arrow {
	transform: translateX(4px);
}

@media (max-width: 768px) {
	.landing-page__list {
		flex-direction: column;
	}

	.landing-page__item {
		width: 100%;
	}

	.landing-page__item + .landing-page__item {
		border-left: none;
		border-top:  1.5px solid rgba(201, 144, 42, 0.35);
	}

	.landing-page__link {
		flex-direction:  row;
		align-items:     center;
		gap:             1rem;
		padding:         1rem 1.75rem;
		font-size:       clamp(1rem, 4vw, 1.3rem);
		white-space:     nowrap;
	}

	.landing-page__flag {
		margin-bottom: 0;
		flex-shrink:   0;
	}

	.landing-page__text br {
		display: none;
	}

	.landing-page__arrow {
		margin-top:  0;
		margin-left: auto;
	}
}

.landing-page__bottom {
	position:        absolute;
	bottom:          0;
	left:            0;
	right:           0;
	display:         flex;
	justify-content: space-between;
	align-items:     center;
	padding:         1.25rem var(--gutter);
	border-top:      1px solid rgba(255, 255, 255, 0.1);
	gap:             1rem;
	flex-wrap:       wrap;
}

.landing-page__copyright {
	font-size: var(--text-xs);
	color:     rgba(255, 255, 255, 0.35);
}

.landing-page__legal {
	display:     flex;
	align-items: center;
	gap:         0.75rem;
}

.landing-page__legal a {
	font-size:       var(--text-xs);
	color:           rgba(255, 255, 255, 0.35);
	text-decoration: none;
	transition:      color var(--transition-base);
}

.landing-page__legal a:hover {
	color: var(--color-gold);
}

.landing-page__legal span {
	font-size: var(--text-xs);
	color:     rgba(255, 255, 255, 0.2);
}


/* -----------------------------------------------------------------------------
   CSS Custom Properties
   ----------------------------------------------------------------------------- */

:root {
	/* Colors */
	--color-dark:      #161C2D;
	--color-off-white: #F5F0E8;
	--color-gold:      #AF9964;
	--color-white:     #FFFFFF;
	--color-muted:     rgba(255, 255, 255, 0.65);

	/* Typography */
	--font-heading: 'Playfair Display', Georgia, serif;
	--font-body:    'Inter', system-ui, sans-serif;

	/* Weights */
	--weight-light:    300;
	--weight-regular:  400;
	--weight-medium:   500;
	--weight-semibold: 600;
	--weight-bold:     700;

	/* Type scale */
	--text-xs:   0.75rem;
	--text-sm:   0.875rem;
	--text-base: 1rem;
	--text-md:   1.125rem;
	--text-lg:   1.25rem;
	--text-xl:   1.5rem;
	--text-2xl:  2rem;
	--text-3xl:  clamp(1.75rem, 3.5vw, 2.5rem);
	--text-4xl:  clamp(2.25rem, 5vw, 3.5rem);
	--text-hero: clamp(3.25rem, 10vw, 8rem);

	/* Line heights */
	--leading-tight:  1.1;
	--leading-snug:   1.3;
	--leading-normal: 1.65;

	/* Letter spacing */
	--tracking-tight:   -0.02em;
	--tracking-normal:   0em;
	--tracking-wide:     0.08em;
	--tracking-wider:    0.14em;
	--tracking-widest:   0.22em;

	/* Layout */
	--max-width:       1440px;
	--section-padding: clamp(100px, 11vw, 140px);
	--gutter:          clamp(1.5rem, 5vw, 3rem);
	--nav-height:      88px;

	/* Transitions */
	--transition-fast: 150ms ease;
	--transition-base: 280ms ease;
	--transition-slow: 560ms ease;
}


/* -----------------------------------------------------------------------------
   Base reset
   ----------------------------------------------------------------------------- */

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

html {
	scroll-behavior:  smooth;
	background-color: var(--color-dark); /* prevents white flash on overscroll at top */
}

body {
	background-color: var(--color-dark);
	font-family: var(--font-body);
	font-size:   var(--text-base);
	line-height: var(--leading-normal);
	color:       var(--color-dark);
	background:  var(--color-white);
	margin:      0;
}

h1, h2, h3, h4, h5, h6 {
	font-family:    var(--font-heading);
	font-weight:    var(--weight-semibold);
	line-height:    var(--leading-tight);
	letter-spacing: var(--tracking-tight);
	color:          inherit;
	margin:         0;
}

h2 { font-weight: var(--weight-regular); text-wrap: balance; }

p  { margin: 0; }
ul { list-style: none; margin: 0; padding: 0; }
a  { text-decoration: none; color: inherit; }

/* WordPress block gap reset — parent theme's :where(.wp-site-blocks) > * rule adds 1.2rem */
.wp-block-html { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* Override the source rule directly */
:where(.wp-site-blocks) > * { margin-block-start: 0 !important; }


/* -----------------------------------------------------------------------------
   Layout
   ----------------------------------------------------------------------------- */

.container {
	width:     100%;
	max-width: var(--max-width);
	margin:    0 auto;
	padding:   0 var(--gutter);
}

.section {
	padding-top:    var(--section-padding);
	padding-bottom: var(--section-padding);
}

.section--dark  { background-color: var(--color-dark);      color: var(--color-off-white); }
.section--light { background-color: var(--color-off-white); color: var(--color-dark); }
.section--white { background-color: var(--color-white);     color: var(--color-dark); }


/* -----------------------------------------------------------------------------
   Diagonal section transitions
   ----------------------------------------------------------------------------- */

.clip-bottom {
	clip-path:      polygon(0 0, 100% 0, 100% calc(100% - 4vw), 0 100%);
	padding-bottom: calc(var(--section-padding) + 4vw);
}

.clip-top {
	clip-path:     polygon(0 4vw, 100% 0, 100% 100%, 0 100%);
	padding-top:   calc(var(--section-padding) + 4vw);
	position:      relative;
	top:           -4vw;
	margin-bottom: -4vw;
	z-index:       1;
}

/* Compensate for clip-top's -4vw top shift on the footer so no gap appears at page bottom */
.site-footer {
	position: relative;
	z-index:  1;
}


/* -----------------------------------------------------------------------------
   Utilities
   ----------------------------------------------------------------------------- */

.accent-line {
	display:          block;
	width:            48px;
	height:           1.5px;
	background-color: var(--color-gold);
	margin-bottom:    2rem;
}

/* Section geometric header — numbered tag + flex title/intro row + gold bottom line */
.section-geo-header {
	display:         flex;
	align-items:     flex-end;
	justify-content: space-between;
	margin-bottom:   56px;
	padding-bottom:  28px;
	position:        relative;
	text-align:      left;
}

.section-geo-header::after {
	content:          '';
	position:         absolute;
	bottom:           0;
	left:             0;
	width:            100%;
	height:           2px;
	background:       var(--color-gold);
	transform:        scaleX(0);
	transform-origin: left center;
	transition:       transform 800ms cubic-bezier(0.4, 0, 0.2, 1);
}

.section-geo-header.is-visible::after {
	transform: scaleX(1);
}

.section-tag {
	font-family:    var(--font-body);
	font-size:      var(--text-xs);
	font-weight:    var(--weight-bold);
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color:          var(--color-gold);
	display:        inline-block;
	margin-bottom:  14px;
}

.section-geo-header__intro {
	max-width:   340px;
	text-align:  right;
	flex-shrink: 0;
}

.section-geo-header__intro p {
	font-size:   13px;
	line-height: 1.75;
	color:       rgba(22, 28, 45, 0.48);
}

.section--dark .section-geo-header__intro p {
	color: rgba(255, 255, 255, 0.38);
}


/* -----------------------------------------------------------------------------
   Buttons
   ----------------------------------------------------------------------------- */

.btn {
	display:         inline-block;
	font-family:     var(--font-body);
	font-size:       var(--text-xs);
	font-weight:     var(--weight-medium);
	letter-spacing:  var(--tracking-widest);
	text-transform:  uppercase;
	text-decoration: none;
	white-space:     nowrap;
	cursor:          pointer;
	border:          1px solid transparent;
	transition:      background-color var(--transition-base),
	                 color            var(--transition-base),
	                 border-color     var(--transition-base);
}

/* Hero CTA — filled gold */
.btn--hero-cta {
	align-self:       flex-start;
	padding:          1rem 2.75rem;
	background-color: var(--color-gold);
	border-color:     var(--color-gold);
	color:            var(--color-white);
}

.btn--hero-cta:hover,
.btn--hero-cta:focus-visible {
	background-color: transparent;
	border-color:     var(--color-gold);
	color:            var(--color-gold);
	outline:          none;
}

/* Outline white — dark sections */
.btn--outline-white {
	padding:     1rem 2.75rem;
	border-color: var(--color-white);
	color:        var(--color-white);
}

.btn--outline-white:hover,
.btn--outline-white:focus-visible {
	background-color: var(--color-white);
	color:            var(--color-dark);
	outline:          none;
}

/* Nav CTA — ghost gold */
.btn--nav-cta {
	padding:     0.6rem 1.5rem;
	border-color: var(--color-gold);
	color:        var(--color-gold);
}

.btn--nav-cta:hover,
.btn--nav-cta:focus-visible {
	background-color: var(--color-gold);
	color:            var(--color-white);
	outline:          none;
}


/* =============================================================================
   SITE NAV
   ============================================================================= */

.site-nav {
	position:         fixed;
	top:              0;
	left:             0;
	right:            0;
	z-index:          200;
	height:           var(--nav-height);
	background-color: var(--color-dark);
	border-bottom:    2px solid var(--color-gold);
	transition: backdrop-filter 400ms ease,
	            box-shadow      400ms ease;
}

.admin-bar .site-nav { top: 32px; }
@media screen and (max-width: 782px) {
	.admin-bar .site-nav { top: 46px; }
}

.site-nav.is-scrolled {
	transform:               translateY(0);
	height:                  88px;
	background-color:        var(--color-dark);
	backdrop-filter:         blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow:              0 1px 0 rgba(175, 153, 100, 0.25);
}

.site-nav__inner {
	display:     flex;
	align-items: center;
	height:      100%;
	max-width:   var(--max-width);
	margin:      0 auto;
	padding:     0 var(--gutter);
	width:       100%;
}

/* Wordmark / logo */
.site-nav__wordmark {
	display:      flex;
	align-items:  center;
	flex-shrink:  0;
	margin-right: auto;
	opacity:      0;
	transition:   opacity 400ms ease;
}

.site-nav.logo-visible .site-nav__wordmark {
	opacity: 1;
}

.site-nav__wordmark img {
	height:  48px;
	width:   auto;
	display: block;
}

.site-nav__wordmark:hover { opacity: 0.8; }

/* Nav links */
.site-nav__links {
	display:     flex;
	align-items: center;
	gap:         1rem;
	margin-right: 2.5rem;
}

.site-nav__links > li > a {
	display:          inline-flex;
	align-items:      center;
	padding:          0.6rem 1rem;
	border:           1px solid transparent;
	background-color: transparent;
}

.site-nav__links a {
	font-size:      var(--text-xs);
	font-weight:    var(--weight-medium);
	letter-spacing: var(--tracking-widest);
	text-transform: uppercase;
	color:          var(--color-muted);
	transition:     color var(--transition-fast);
}

.site-nav__links a:hover,
.site-nav__links a:focus-visible {
	color:   var(--color-white);
	outline: none;
}

/* Dropdown */
.site-nav__item--dropdown {
	position: relative;
}

.site-nav__chevron {
	display:       inline-block;
	width:         0;
	height:        0;
	border-left:   3px solid transparent;
	border-right:  3px solid transparent;
	border-top:    4px solid currentColor;
	vertical-align: middle;
	margin-left:   5px;
	transition:    transform 200ms ease;
}

.site-nav__item--dropdown:hover .site-nav__chevron {
	transform: rotate(180deg);
}

.site-nav__dropdown {
	position:         absolute;
	top:              100%;
	left:             0;
	transform:        translateY(-4px);
	min-width:        100%;
	white-space:      nowrap;
	background:       var(--color-gold);
	padding:          0.25rem 0 0.5rem;
	opacity:          0;
	pointer-events:   none;
	transition:       opacity 200ms ease, transform 200ms ease;
	z-index:          100;
}

.site-nav__item--dropdown:hover .site-nav__dropdown,
.site-nav__item--dropdown:focus-within .site-nav__dropdown {
	opacity:        1;
	pointer-events: auto;
	transform:      translateY(0);
}

.site-nav__dropdown li {
	list-style: none;
}

.site-nav__dropdown a {
	display:        block;
	padding:        0.75rem 1.5rem;
	font-size:      var(--text-xs);
	font-weight:    var(--weight-medium);
	letter-spacing: 0.06em;
	color:          var(--color-white);
	text-transform: none;
	transition:     color 150ms ease, padding-left 150ms ease;
}

.site-nav__dropdown a:hover {
	color:        var(--color-dark);
	padding-left: 1.9rem;
}

/* =============================================================================
   MOBILE MENU
   ============================================================================= */

.mobile-menu {
	position:         fixed;
	inset:            0;
	z-index:          200;
	background-color: var(--color-dark);
	display:          flex;
	flex-direction:   column;
	padding:          0 var(--gutter) 3rem;
	opacity:          0;
	transform:        translateX(100%);
	transition:       opacity 350ms ease, transform 350ms cubic-bezier(0.4, 0, 0.2, 1);
	pointer-events:   none;
	overflow-y:       auto;
}

.mobile-menu.is-open {
	opacity:        1;
	transform:      translateX(0);
	pointer-events: auto;
}

.mobile-menu__header {
	display:         flex;
	align-items:     center;
	justify-content: flex-end;
	height:          var(--nav-height);
	flex-shrink:     0;
}

.mobile-menu__watermark {
	position:   absolute;
	right:      -20%;
	bottom:     -5%;
	width:      160vw;
	max-width:  1000px;
	opacity:    0.04;
	pointer-events: none;
	user-select: none;
}

.mobile-menu__watermark img {
	width:  100%;
	height: auto;
	display: block;
}

.mobile-menu__nav {
	border-top:  2px solid var(--color-gold);
	padding-top: 2rem;
}

.mobile-menu__close {
	background:  transparent;
	border:      none;
	cursor:      pointer;
	color:       var(--color-white);
	padding:     0.5rem;
	line-height: 1;
	transition:  color var(--transition-fast);
}

.mobile-menu__close:hover { color: var(--color-gold); }

.mobile-menu__nav {
	flex: 1;
}

.mobile-menu__nav > ul {
	list-style: none;
	padding:    0;
	margin:     0;
}

.mobile-menu__nav > ul > li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.mobile-menu__link {
	display:         block;
	padding:         1.25rem 0;
	font-family:     var(--font-heading);
	font-size:       clamp(1.4rem, 5vw, 2rem);
	font-weight:     var(--weight-regular);
	color:           var(--color-white);
	text-decoration: none;
	transition:      color var(--transition-fast);
}

.mobile-menu__link:hover { color: var(--color-gold); }

.mobile-menu__group-label {
	display:        block;
	padding:        1.25rem 0 0.5rem;
	font-family:    var(--font-heading);
	font-size:      clamp(1.4rem, 5vw, 2rem);
	font-weight:    var(--weight-regular);
	color:          var(--color-white);
}

.mobile-menu__sub {
	list-style: none;
	padding:    0 0 1.25rem 0;
	margin:     0;
}

.mobile-menu__sub li { list-style: none; }

.mobile-menu__sub a {
	display:     block;
	padding:     0.6rem 0;
	font-size:   1rem;
	color:       var(--color-muted);
	transition:  color var(--transition-fast);
}

.mobile-menu__sub a:hover { color: var(--color-gold); }

.mobile-menu__footer {
	padding-top:  2.5rem;
	border-top:   1px solid rgba(175, 153, 100, 0.3);
	flex-shrink:  0;
}

.mobile-menu__footer .btn {
	width:           100%;
	text-align:      center;
	justify-content: center;
}

/* Mobile burger */
.site-nav__burger {
	display:         none;
	flex-direction:  column;
	justify-content: center;
	gap:             5px;
	background:      transparent;
	border:          none;
	cursor:          pointer;
	padding:         0.5rem;
	margin-left:     1rem;
}

.site-nav__burger span {
	display:          block;
	width:            22px;
	height:           1.5px;
	background-color: var(--color-white);
	transition:       transform var(--transition-base),
	                  opacity   var(--transition-base);
}


/* =============================================================================
   HERO
   ============================================================================= */

.hero {
	position:              relative;
	width:                 100%;
	height:                100vh;
	height:                100svh;
	min-height:            600px;
	display:               grid;
	grid-template-columns: 0.9fr 1.1fr;
	overflow:              hidden;
	padding-top:           var(--nav-height);
	background-color:      var(--color-dark);
}

/* — Left: dark text panel — */
.hero__text-block {
	background:      var(--color-dark);
	display:         flex;
	flex-direction:  column;
	justify-content: center;
	padding:         80px var(--gutter) 80px max(var(--gutter), calc((100vw - var(--max-width)) / 2 + var(--gutter)));
	position:        relative;
	z-index:         2;
}


/* Hero watermark */
.hero__watermark {
	position:       absolute;
	top:            -2%;
	left:           max(calc(var(--gutter) * -0.5), calc((100vw - var(--max-width)) / 2 - 15%));
	width:          140%;
	max-width:      1040px;
	opacity:        0.05;
	pointer-events: none;
	user-select:    none;
}

.hero__watermark img {
	width:   100%;
	height:  auto;
	display: block;
}

/* Hero logo */
.hero__logo {
	height:        240px;
	width:         auto;
	display:       block;
	align-self:    flex-start;
	margin-bottom: 3rem;
}

/* Eyebrow label */
.hero__eyebrow {
	font-size:      var(--text-xs);
	font-weight:    var(--weight-bold);
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color:          var(--color-gold);
	margin-bottom:  28px;
}

/* Title */
.hero__title {
	font-family:    var(--font-heading);
	font-size:      clamp(38px, 4.2vw, 68px);
	font-weight:    var(--weight-regular);
	letter-spacing: var(--tracking-tight);
	line-height:    1.08;
	color:          var(--color-white);
	max-width:      640px;
	margin-bottom:  2.5rem;
}

/* Rotating italic subtitle */
.hero__title-rotate {
	display:  block;
	position: relative;
	height:   1.15em;
}

.hero__rotate-item {
	position:   absolute;
	left:       0;
	top:        0;
	display:    block;
	font-style: italic;
	opacity:    0;
	transform:  translateY(10px);
	animation:  heroRotate 12s ease-in-out infinite;
}

.hero__rotate-item:nth-child(1) { animation-delay:  0s; }
.hero__rotate-item:nth-child(2) { animation-delay:  3s; }
.hero__rotate-item:nth-child(3) { animation-delay:  6s; }
.hero__rotate-item:nth-child(4) { animation-delay:  9s; }

@keyframes heroRotate {
	0%   { opacity: 0; transform: translateY(10px); }
	4%   { opacity: 1; transform: translateY(0);    }
	21%  { opacity: 1; transform: translateY(0);    }
	25%  { opacity: 0; transform: translateY(-6px); }
	100% { opacity: 0; transform: translateY(-6px); }
}

/* — Right: image panel with diagonal cut — */
.hero__img-block {
	position:  relative;
	overflow:  hidden;
	clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 0% 100%);
}


/* — Slideshow — */
.hero__slides {
	position:    absolute;
	inset:       0;
	will-change: transform;
}

.hero__slide {
	position:    absolute;
	inset:       0;
	opacity:     0;
	transition:  opacity 1.6s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: opacity;
}

.hero__slide.is-active { opacity: 1; }

/* hero slide images set via ACF inline style */

.hero__slide--1,
.hero__slide--2,
.hero__slide--3 {
	background-color:    var(--color-dark);
	background-size:     cover;
	background-position: center;
	background-repeat:   no-repeat;
}

/* — Dot indicators — */
.hero__dots {
	position:    absolute;
	bottom:      2.25rem;
	right:       2rem;
	z-index:     4;
	display:     flex;
	align-items: center;
	gap:         0.75rem;
}

.hero__dot {
	width:        8px;
	height:       8px;
	border-radius: 50%;
	border:       1.5px solid rgba(255, 255, 255, 0.45);
	background:   transparent;
	cursor:       pointer;
	padding:      0;
	transition:   background-color var(--transition-base),
	              border-color     var(--transition-base),
	              transform        var(--transition-base);
}

.hero__dot:hover {
	border-color: rgba(255, 255, 255, 0.85);
	transform:    scale(1.2);
}

.hero__dot.is-active {
	background-color: var(--color-gold);
	border-color:     var(--color-gold);
	transform:        scale(1.15);
}



/* =============================================================================
   KEYWORDS
   ============================================================================= */

.keywords__header {
	text-align:    center;
	margin-bottom: clamp(2.5rem, 4vw, 4rem);
}

.keywords__header .accent-line {
	margin-left:  auto;
	margin-right: auto;
}

.keywords__heading {
	font-size:      var(--text-4xl);
	font-weight:    var(--weight-regular);
	letter-spacing: var(--tracking-tight);
	line-height:    var(--leading-snug);
	color:          var(--color-dark);
	max-width:      960px;
	margin:         0 auto;
}

/* — Four-column grid — */
.keywords__grid {
	display:               grid;
	grid-template-columns: repeat(4, 1fr);
	gap:                   1px;
	background-color:      rgba(17, 17, 17, 0.08); /* gap color */
}

.keywords__item {
	background:  var(--color-off-white);
	padding:     clamp(2.5rem, 4vw, 3.75rem) clamp(1.75rem, 3vw, 2.75rem);
	position:    relative;
	text-align:  center;
	transition:  background-color var(--transition-base);
}

.keywords__item:first-child { border-left:  1px solid rgba(17, 17, 17, 0.08); }
.keywords__item:last-child  { border-right: 1px solid rgba(17, 17, 17, 0.08); }

/* Gold top-border on hover */
.keywords__item::before {
	content:          '';
	position:         absolute;
	top:              0;
	left:             0;
	right:            0;
	height:           2px;
	background-color: transparent;
	transition:       background-color var(--transition-base);
}

.keywords__item:hover { background-color: #f0ebe0; }
.keywords__item:hover::before { background-color: var(--color-gold); }

/* Icon */
.keywords__icon {
	width:           64px;
	height:          64px;
	margin:          0 auto 1.75rem;
}

.keywords__icon svg {
	display:    block;
	width:      100%;
	height:     100%;
	transition: transform var(--transition-base);
}

.keywords__item:hover .keywords__icon svg {
	transform: translateY(-4px);
}

/* Label */
.keywords__label {
	font-family:    var(--font-body);
	font-size:      0.8rem;
	font-weight:    var(--weight-medium);
	letter-spacing: var(--tracking-wider);
	text-transform: uppercase;
	line-height:    var(--leading-snug);
	color:          var(--color-dark);
	margin:         0;
	text-align:     center;
}


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

.locations {
	position: relative;
	overflow: hidden;
}

/* Globe — faint absolute background */
.locations__globe {
	position:       absolute;
	top:            5%;
	right:          -5%;
	transform:      translateY(0);
	width:          min(1080px, 108vw);
	height:         min(1080px, 108vw);
	opacity:        0.055;
	pointer-events: none;
}

.locations__globe svg {
	width:  100%;
	height: 100%;
}

/* Section tag spacing */
.locations .section-tag {
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

/* Two-column grid: heading left, content right */
.locations__content {
	display:               grid;
	grid-template-columns: 1.1fr 1fr;
	gap:                   clamp(3rem, 6vw, 8rem);
	align-items:           center;
	position:              relative;
	z-index:               1;
}

/* Left: big heading */
.locations__heading {
	font-size:      clamp(3rem, 5.5vw, 6rem);
	font-weight:    var(--weight-regular);
	font-style:     italic;
	letter-spacing: -0.03em;
	line-height:    1.0;
	color:          var(--color-white);
}

.locations__heading strong {
	display:     block;
	font-style:  normal;
	font-weight: var(--weight-semibold);
	color:       var(--color-gold);
}

/* Right: body, stats, CTA */
.locations__subtext {
	font-size:     clamp(0.9rem, 1.4vw, 1.05rem);
	font-weight:   var(--weight-light);
	line-height:   var(--leading-normal);
	color:         var(--color-muted);
	margin-bottom: 2.5rem;
}

.locations__stats {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   1.5rem;
	margin-bottom:         3rem;
}

.locations__stat-num {
	display:        block;
	font-family:    var(--font-heading);
	font-size:      clamp(2rem, 3vw, 3rem);
	font-weight:    var(--weight-regular);
	letter-spacing: -0.04em;
	line-height:    1;
	color:          var(--color-gold);
	margin-bottom:  0.4rem;
}

.locations__stat-key {
	display:        block;
	font-family:    var(--font-body);
	font-size:      0.62rem;
	font-weight:    var(--weight-medium);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color:          rgba(255, 255, 255, 0.35);
}

/* Gold divider at bottom */
.locations__divider {
	border:           none;
	border-top:       2px solid var(--color-gold);
	margin:           clamp(3rem, 5vw, 5rem) 0 0;
	transform:        scaleX(0);
	transform-origin: left center;
	transition:       transform 800ms cubic-bezier(0.4, 0, 0.2, 1);
}

.locations__divider.is-visible,
.why-jhg__divider.is-visible {
	transform: scaleX(1);
}

@media (max-width: 1024px) {
	.locations__content {
		grid-template-columns: 1fr;
		gap: clamp(2rem, 4vw, 3rem);
	}

	.locations__heading {
		font-size: clamp(2.5rem, 7vw, 4.5rem);
	}
}

@media (max-width: 768px) {
	.locations__stats {
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}
}


/* =============================================================================
   CATERING TYPES — editorial horizontal nav
   ============================================================================= */

.catering-types {
	text-align:     left;
	padding-bottom: calc(var(--section-padding) + 4vw);
}

/* "Our Services" overline label */
.catering-types__overline {
	display:        block;
	font-family:    var(--font-body);
	font-size:      0.7rem;
	font-weight:    var(--weight-medium);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color:          rgba(17, 17, 17, 0.4);
	margin-bottom:  clamp(3rem, 5vw, 5rem);
}

/* Horizontal nav row — single row, 5 equal columns */
.catering-types__list {
	display:         flex;
	flex-wrap:       nowrap;
	justify-content: stretch;
	align-items:     stretch;
	list-style:      none;
	margin:          0 calc(-1 * clamp(1.75rem, 3vw, 3rem));
	padding:         0;
}

.catering-types__item {
	flex:    1 1 0;
	width:   20%;
	min-width: 0;
}

/* Gold vertical divider between items */
.catering-types__item + .catering-types__item {
	border-left: 1.5px solid rgba(201, 144, 42, 0.35);
}

/* Link — column layout so arrow sits below text */
.catering-types__link {
	display:         flex;
	flex-direction:  column;
	align-items:     flex-start;
	justify-content: flex-start;
	height:          100%;
	padding:         1.5rem clamp(1.75rem, 3vw, 3rem);
	font-family:     var(--font-heading);
	font-size:       clamp(1.3rem, 2.2vw, 2rem);
	font-weight:     400;
	letter-spacing:  -0.02em;
	line-height:     1.2;
	color:           var(--color-dark);
	text-decoration: none;
	transition:      color var(--transition-base);
	white-space:     normal;
}

/* Numeric index above each service label */
.catering-types__num {
	display:        block;
	font-family:    var(--font-heading);
	font-size:      12.8px;
	font-weight:    var(--weight-regular);
	letter-spacing: 0.18em;
	color:          var(--color-gold);
	margin-bottom:  1.25em;
}

/* Arrow — sits on its own line below the label text */
.catering-types__arrow {
	display:    flex;
	align-items: center;
	margin-top: 0.6em;
	color:      var(--color-gold);
	flex-shrink: 0;
	transition: transform var(--transition-base);
}

.catering-types__arrow svg {
	width:  22px;
	height: 17px;
}

.catering-types__link:hover {
	color: var(--color-gold);
}

.catering-types__link:focus:not(:focus-visible) {
	outline: none;
}

.catering-types__link:hover .catering-types__arrow {
	transform: translateX(4px);
}


/* =============================================================================
   REFERENCES PART 1
   ============================================================================= */

/* Reduce bottom padding so 5A→5B and 8A→8B read as one continuous section */
.references {
	padding-bottom: clamp(2rem, 3vw, 3rem);
}

.subpage-refs .references {
	padding-bottom: calc(var(--section-padding) + 4vw);
}

.references__header {
	margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

.references__heading {
	font-size:      var(--text-4xl);
	font-weight:    var(--weight-regular);
	letter-spacing: var(--tracking-tight);
	line-height:    var(--leading-snug);
	color:          var(--color-dark);
	max-width:      960px;
}

/* — Grid — */
.references__grid {
	display:               grid;
	grid-template-columns: repeat(4, 1fr);
	gap:                   1.25rem;
	list-style:            none;
	margin:                0;
	padding:               0;
}

/* — Card — */
.references__card {
	position:      relative;
	overflow:      hidden;
	border-radius: 3px;
	cursor:        pointer;
}

/* Portrait aspect ratio */
.references__card::after {
	content:     '';
	display:     block;
	padding-top: 130%;
}

/* Gold top border — slides in on hover */
.references__card::before {
	content:          '';
	position:         absolute;
	top:              0;
	left:             0;
	right:            0;
	height:           2.5px;
	background-color: var(--color-gold);
	transform:        scaleX(0);
	transform-origin: left;
	transition:       transform 0.4s ease;
	z-index:          3;
}

.references__card:hover::before {
	transform: scaleX(1);
}

/* Placeholder image area */
.references__image {
	position:            absolute;
	inset:               0;
	background-color:    #808080;
	background-size:     cover;
	background-position: center;
	transition:          transform 0.4s ease;
	will-change:         transform;
}

.references__card:hover .references__image {
	transform: scale(1.05);
}

/* Dark overlay */
.references__overlay {
	position:   absolute;
	inset:      0;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.80) 0%,
		rgba(0, 0, 0, 0.40) 45%,
		rgba(0, 0, 0, 0.10) 100%
	);
	z-index: 1;
}

/* Content body */
.references__body {
	position:       absolute;
	bottom:         0;
	left:           0;
	right:          0;
	z-index:        2;
	padding:        1.75rem 1.5rem;
	display:        flex;
	flex-direction: column;
	gap:            0.625rem;
}

/* Event name */
.references__name {
	font-family:    var(--font-heading);
	font-size:      clamp(1rem, 1.3vw, 1.25rem);
	font-weight:    var(--weight-semibold);
	letter-spacing: -0.01em;
	line-height:    var(--leading-snug);
	color:          var(--color-white);
	margin:         0;
	transition:     transform 0.4s ease;
}

.references__card:hover .references__name {
	transform: translateY(-6px);
}

/* Meta block */
.references__meta {
	display:        flex;
	flex-direction: column;
	gap:            0.2rem;
	transition:     transform 0.4s ease;
}

.references__card:hover .references__meta {
	transform: translateY(-6px);
}

.references__guests {
	font-family:    var(--font-body);
	font-size:      var(--text-xs);
	font-weight:    var(--weight-medium);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
	color:          var(--color-gold);
}

.references__location {
	font-family:    var(--font-body);
	font-size:      var(--text-xs);
	font-weight:    var(--weight-light);
	letter-spacing: 0.03em;
	color:          var(--color-muted);
}

/* Arrow — hidden until hover */
.references__arrow {
	display:     flex;
	align-items: center;
	color:       var(--color-gold);
	opacity:     0;
	transform:   translateX(-8px);
	transition:  opacity   0.4s ease,
	             transform 0.4s ease;
}

.references__card:hover .references__arrow {
	opacity:   1;
	transform: translateX(0);
}


/* Dark-background heading variant (Section 8A) */
.references__heading--light {
	color: var(--color-off-white);
}


/* =============================================================================
   LOGO REFERENCES GRID (5B)
   ============================================================================= */

.logo-refs {
	padding-top:    clamp(2.5rem, 4vw, 4rem);
	padding-bottom: calc(var(--section-padding) + 4vw);
}

/* — Grid — */
.logo-refs__grid {
	display:               grid;
	grid-template-columns: repeat(4, 1fr);
	gap:                   1.25rem;
	list-style:            none;
	margin:                0;
	padding:               0;
}

/* — Card — */
.logo-card {
	position:      relative;
	background:    var(--color-white);
	border:        1px solid rgba(17, 17, 17, 0.08);
	border-radius: 4px;
	padding:       1.75rem;
	display:       flex;
	flex-direction: column;
	gap:           1.25rem;
	transition:    transform        var(--transition-base),
	               box-shadow       var(--transition-base),
	               border-color     var(--transition-base);
}

/* Gold top border — slides in on hover */
.logo-card::before {
	content:          '';
	position:         absolute;
	top:              0;
	left:             0;
	right:            0;
	height:           2.5px;
	background-color: var(--color-gold);
	transform:        scaleX(0);
	transform-origin: left;
	transition:       transform 0.4s ease;
	z-index:          3;
}

.logo-card:hover::before {
	transform: scaleX(1);
}

.logo-card:hover {
	transform:  translateY(-4px);
	box-shadow: 0 8px 32px rgba(17, 17, 17, 0.08);
}

/* Logo placeholder */
.logo-card__logo {
	width:           100%;
	height:          72px;
	background:      #D0C9BC;
	border-radius:   3px;
	display:         flex;
	align-items:     center;
	justify-content: center;
	padding:         0.5rem 1rem;
	flex-shrink:     0;
}

/* Image logo variant — left-aligned, 60% width */
.logo-card__logo--image {
	background:      none;
	justify-content: flex-start;
	padding:         0;
	height:          auto;
}

.logo-card__logo--image img {
	max-width:    60%;
	max-height:   72px;
	width:        auto;
	height:       auto;
	display:      block;
	border-radius: 2px;
}

.logo-card__logo span {
	font-family:    var(--font-body);
	font-size:      0.65rem;
	font-weight:    var(--weight-medium);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
	text-align:     center;
	color:          rgba(17, 17, 17, 0.5);
	line-height:    var(--leading-snug);
}

/* Card text */
.logo-card__body {
	display:        flex;
	flex-direction: column;
	gap:            0.5rem;
}

.logo-card__company {
	font-family:    var(--font-heading);
	font-size:      clamp(0.9rem, 1.1vw, 1.05rem);
	font-weight:    var(--weight-semibold);
	letter-spacing: -0.01em;
	line-height:    var(--leading-snug);
	color:          var(--color-dark);
	margin:         0;
}

.logo-card__event {
	font-family:    var(--font-body);
	font-size:      var(--text-xs);
	font-weight:    var(--weight-medium);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
	color:          var(--color-gold);
	margin:         0;
}

.logo-card__meta {
	font-family:    var(--font-body);
	font-size:      var(--text-xs);
	font-weight:    var(--weight-light);
	letter-spacing: 0.03em;
	color:          rgba(17, 17, 17, 0.5);
	margin:         0;
}

/* — CTA — */
.logo-refs__cta {
	text-align: center;
	margin-top: clamp(3.5rem, 6vw, 5.5rem);
}

/* — "More references" section divider — */
.refs-divider {
	display:       flex;
	align-items:   center;
	gap:           1.5rem;
	margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

.refs-divider__line {
	flex:       1;
	height:     1px;
	background: rgba(17, 17, 17, 0.1);
}

.refs-divider__label {
	font-family:    var(--font-body);
	font-size:      var(--text-xs);
	font-weight:    var(--weight-medium);
	letter-spacing: var(--tracking-widest);
	text-transform: uppercase;
	color:          rgba(17, 17, 17, 0.35);
	white-space:    nowrap;
}


.logo-card--dark {
	background:   rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.08);
}

.logo-card--dark:hover {
	background:  rgba(255, 255, 255, 0.07);
	box-shadow:  0 8px 32px rgba(0, 0, 0, 0.3);
}

.logo-card__logo--dark {
	background: rgba(255, 255, 255, 0.06);
}

.logo-card__logo--dark span {
	color: rgba(255, 255, 255, 0.35);
}

.logo-card__company--dark {
	color: var(--color-off-white);
}

.logo-card__meta--dark {
	color: rgba(255, 255, 255, 0.4);
}


/* =============================================================================
   VIDEO (SECTION 7)
   ============================================================================= */

.video-section {
	position:         relative;
	width:            100%;
	height:           100vh;
	height:           100svh;
	min-height:       500px;
	background-color: var(--color-dark);
	display:          flex;
	align-items:      center;
	justify-content:  center;
	overflow:         hidden;
}

.video-section__frame {
	position: absolute;
	inset:    0;
}

.video-section__video {
	width:      100%;
	height:     100%;
	object-fit: cover;
	display:    block;
}

.video-section__play {
	width:            72px;
	height:           72px;
	border:           1.2px solid var(--color-gold);
	border-radius:    50%;
	background:       transparent;
	display:          flex;
	align-items:      center;
	justify-content:  center;
	color:            var(--color-gold);
	cursor:           pointer;
	padding:          0;
	transition:       background-color var(--transition-base),
	                  color            var(--transition-base),
	                  transform        var(--transition-base);
}

.video-section__play:hover {
	background-color: var(--color-gold);
	color:            var(--color-dark);
	transform:        scale(1.08);
}


/* =============================================================================
   WHY JEZERŠEK (SECTION 6)
   ============================================================================= */

.why-jhg {
	background-color: var(--color-dark);
	position:         relative;
	overflow:         hidden;
}

/* Background video */
.why-jhg__bg-video {
	position:   absolute;
	inset:      0;
	width:      100%;
	height:     100%;
	object-fit: cover;
	z-index:    0;
}

/* Dark overlay — keeps text and icons legible */
.why-jhg__overlay {
	position:   absolute;
	inset:      0;
	background: linear-gradient(
		to bottom,
		rgba(22, 28, 45, 0.88) 0%,
		rgba(22, 28, 45, 0.82) 100%
	);
	z-index:    1;
}

/* Content sits above video and overlay */
.why-jhg .container {
	position: relative;
	z-index:  2;
}

/* — Header — */
.why-jhg__header {
	margin-bottom: clamp(4rem, 6vw, 5.5rem);
}

.why-stat-row {
	display:     flex;
	align-items: flex-start;
	gap:         3rem;
	overflow:    hidden;
}

.why-stat-text {
	padding-top: 2rem;
}

/* Big cropped number */
.why-stat {
	flex-shrink: 0;
}

.why-stat__number {
	font-family:          var(--font-heading);
	font-size:            clamp(5rem, 11.25vw, 12.5rem);
	font-weight:          var(--weight-regular);
	letter-spacing:       -0.06em;
	line-height:          0.82;
	color:                var(--color-gold);
	display:              inline-block;
	font-variant-numeric: tabular-nums;
	min-width:            1.6ch;  /* reserves space for 2 digits — prevents layout jump during count-up */
	text-align:           left;
}

.why-stat__plus {
	font-family:    var(--font-heading);
	font-size:      clamp(5rem, 11.25vw, 12.5rem);
	font-weight:    var(--weight-regular);
	letter-spacing: -0.06em;
	line-height:    0.82;
	color:          var(--color-gold);
}

.why-jhg__subheading {
	display:        block;
	font-family:    var(--font-heading);
	font-size:      var(--text-4xl);
	font-weight:    var(--weight-regular);
	font-style:     italic;
	line-height:    var(--leading-snug);
	color:          var(--color-white);
	margin-bottom:  1rem;
}

.why-jhg__body {
	display:     block;
	font-size:   clamp(0.85rem, 1.2vw, 0.95rem);
	font-weight: var(--weight-light);
	line-height: var(--leading-normal);
	color:       var(--color-muted);
	max-width:   380px;
}

/* — Icons grid — */
.why-grid {
	display:               grid;
	grid-template-columns: repeat(4, 1fr);
	gap:                   clamp(2rem, 4vw, 3.5rem) clamp(1.25rem, 2vw, 2rem);
	list-style:            none;
	margin:                0;
	padding:               0;
}

.why-item {
	display:        flex;
	flex-direction: column;
	align-items:    center;
	text-align:     center;
	gap:            1.5rem;
	padding:        1rem 0.5rem;
}

.why-item__icon {
	display:         flex;
	align-items:     center;
	justify-content: center;
	flex-shrink:     0;
	transition:      transform var(--transition-base);
}

.why-item__icon svg {
	width:  68px;
	height: 68px;
}

.why-item:hover .why-item__icon {
	transform: translateY(-6px);
}

.why-item__label {
	font-family:    var(--font-body);
	font-size:      0.8rem;
	font-weight:    var(--weight-medium);
	letter-spacing: var(--tracking-wider);
	text-transform: uppercase;
	line-height:    var(--leading-snug);
	color:          var(--color-muted);
	margin:         0;
	transition:     color var(--transition-base);
}

.why-item:hover .why-item__label {
	color: var(--color-white);
}

/* — CTA — */
.why-cta {
	display:        flex;
	flex-direction: column;
	align-items:    center;
	margin-top:     clamp(4rem, 7vw, 6rem);
}

.why-jhg__divider {
	border:           none;
	border-top:       2px solid var(--color-gold);
	margin:           0 0 clamp(3rem, 5vw, 4.5rem);
	transform:        scaleX(0);
	transform-origin: left center;
	transition:       transform 800ms cubic-bezier(0.4, 0, 0.2, 1);
}


/* =============================================================================
   RESPONSIVE
   ============================================================================= */

@media (max-width: 1024px) {

	/* Hero — tablet */
	.hero {
		height:     100vh;
		height:     100svh;
		min-height: 600px;
	}

	.hero__logo {
		height:        160px;
		margin-bottom: 2rem;
	}

	.hero__title {
		font-size: clamp(32px, 4.5vw, 52px);
	}

	.hero__text-block {
		padding-top:    60px;
		padding-bottom: 60px;
	}

	/* Keywords — tablet */
	.keywords__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.keywords__item:first-child { border-left:  none; }
	.keywords__item:last-child  { border-right: none; }

	.references__grid,
	.logo-refs__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.why-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Catering types: tighter padding on tablet, text scales with vw */
	.catering-types__link {
		font-size: clamp(1rem, 1.8vw, 1.4rem);
		padding:   1.25rem clamp(1rem, 2vw, 1.75rem);
	}
}

@media (max-width: 768px) {

	/* Hero — mobile: stack text above image */
	.hero {
		grid-template-columns: 1fr;
		grid-template-rows:    1fr 40vh;
		height:                100vh;
		height:                100svh;
		min-height:            560px;
		padding-top:           var(--nav-height);
	}

	.hero__text-block {
		clip-path:      polygon(0 0, 100% 0, 100% calc(100% - 4vw), 0 100%);
		padding:        2.5rem var(--gutter) calc(2.5rem + 4vw);
		margin-bottom:  -4vw;
		order:          1;
	}

	.hero__img-block {
		clip-path: none;
		order:     2;
	}

	.hero__logo {
		height:        100px;
		margin-bottom: 1.5rem;
	}

	.hero__eyebrow {
		margin-bottom: 1rem;
	}

	.hero__title {
		font-size:     clamp(28px, 7vw, 42px);
		margin-bottom: 1.75rem;
	}

	.hero__dots {
		bottom: 0.75rem;
		right:  0.75rem;
	}

	/* Hide nav links and CTA on mobile */
	.site-nav__links,
	.btn--nav-cta {
		display: none;
	}

	.site-nav__burger {
		display: flex;
	}

	/* Keywords full-width on mobile */
	.keywords__grid {
		grid-template-columns: 1fr;
	}

	.references__grid,
	.logo-refs__grid {
		grid-template-columns: 1fr;
	}

	/* Why grid stays 2-col on mobile */
	.why-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Catering types: stack vertically on mobile */
	.catering-types__list {
		flex-direction: column;
	}

	.catering-types__item {
		width: 100%;
	}

	.catering-types__item + .catering-types__item {
		border-left: none;
		border-top:  1.5px solid rgba(201, 144, 42, 0.35);
	}

	.catering-types__link {
		padding:   1rem 1.75rem;
		font-size: clamp(1.1rem, 4vw, 1.4rem);
	}
}


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

.site-footer {
	background-color: var(--color-dark);
	color:            var(--color-muted);
}

/* Gold rule at very top */
.site-footer__top-rule {
	height:           1px;
	background-color: var(--color-gold);
	opacity:          0.5;
}

/* Three-column grid */
.site-footer__inner {
	display:               grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap:                   clamp(2rem, 5vw, 5rem);
	max-width:             var(--max-width);
	margin:                0 auto;
	padding:               clamp(3.5rem, 6vw, 5rem) var(--gutter);
}

/* Column label — "Navigation", "Contact" */
.site-footer__label {
	display:        block;
	font-family:    var(--font-body);
	font-size:      0.7rem;
	font-weight:    var(--weight-medium);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color:          var(--color-gold);
	margin-bottom:  1.5rem;
}

/* — Brand column — */
.site-footer__wordmark {
	display:         block;
	text-decoration: none;
	margin-bottom:   1.25rem;
}

.site-footer__wordmark img {
	height:  48px;
	width:   auto;
	display: block;
}

.site-footer__tagline {
	font-size:   var(--text-sm);
	line-height: var(--leading-normal);
	color:       var(--color-muted);
	margin:      0 0 2rem;
	max-width:   28ch;
}

.site-footer__social {
	display: flex;
	gap:     1.25rem;
}

.site-footer__social-link {
	color:      var(--color-muted);
	transition: color var(--transition-base);
}

.site-footer__social-link:hover {
	color: var(--color-gold);
}

/* — Navigation column — */
.site-footer__nav {
	list-style: none;
	margin:     0;
	padding:    0;
	display:    flex;
	flex-direction: column;
	gap:        0.65rem;
}

.site-footer__nav a {
	font-size:       var(--text-sm);
	color:           var(--color-muted);
	text-decoration: none;
	transition:      color var(--transition-base);
}

.site-footer__nav a:hover {
	color: var(--color-gold);
}

/* — Contact column — */
.site-footer__address {
	font-style:   normal;
	font-size:    var(--text-sm);
	line-height:  var(--leading-normal);
	color:        var(--color-muted);
	margin-bottom: 1rem;
}

.site-footer__contact-link {
	display:         block;
	font-size:       var(--text-sm);
	color:           var(--color-muted);
	text-decoration: none;
	margin-bottom:   0.4rem;
	transition:      color var(--transition-base);
}

.site-footer__contact-link:hover {
	color: var(--color-gold);
}

.site-footer__enquiry {
	margin-top: 2rem;
}

/* — Bottom bar — */
.site-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer__bottom-inner {
	display:         flex;
	justify-content: space-between;
	align-items:     center;
	max-width:       var(--max-width);
	margin:          0 auto;
	padding:         1.5rem var(--gutter);
}

.site-footer__copyright {
	font-size: var(--text-xs);
	color:     rgba(255, 255, 255, 0.35);
}

.site-footer__privacy {
	font-size:       var(--text-xs);
	color:           rgba(255, 255, 255, 0.35);
	text-decoration: none;
	transition:      color var(--transition-base);
}

.site-footer__privacy:hover {
	color: var(--color-gold);
}


/* =============================================================================
   SUBPAGE — shared
   ============================================================================= */

/* Page hero — dark section with background image */
.page-hero {
	position:    relative;
	min-height:  70vh;
	display:     flex;
	align-items: center;
	padding-top: calc(var(--nav-height) + var(--section-padding));
	padding-bottom: var(--section-padding);
	background-color: var(--color-dark);
	overflow:    hidden;
}

.page-hero__bg {
	position:            absolute;
	inset:               0;
	background-color:    var(--color-dark);
	background-size:     cover;
	background-position: center;
	/* background-image set per-page via ACF inline style */
}

.page-hero__overlay {
	position:   absolute;
	inset:      0;
	background: linear-gradient(to right, rgba(22, 28, 45, 0.92) 40%, rgba(22, 28, 45, 0.15) 72%);
}

.page-hero__inner {
	position: relative;
	z-index:  1;
}

.page-hero__eyebrow {
	font-size:      var(--text-xs);
	font-weight:    var(--weight-bold);
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color:          var(--color-gold);
	margin-bottom:  1.5rem;
}

.page-hero__title {
	font-family:    var(--font-heading);
	font-size:      clamp(2.5rem, 5vw, 6rem);
	font-weight:    var(--weight-regular);
	letter-spacing: var(--tracking-tight);
	line-height:    1.05;
	color:          var(--color-white);
	max-width:      820px;
	margin-bottom:  1.5rem;
	text-wrap:      balance;
}

.page-hero__title em { font-style: italic; }

.page-hero__subtitle {
	font-size:   clamp(1rem, 1.5vw, 1.2rem);
	line-height: var(--leading-normal);
	color:       var(--color-muted);
	max-width:   540px;
}

/* Media grid — 3 columns of equal aspect-ratio cells */
.media-section { overflow: hidden; }

.media-grid {
	display:               grid;
	grid-template-columns: repeat(3, 1fr);
	gap:                   1rem;
}

.media-grid__item {
	aspect-ratio:        16 / 10;
	background-color:    rgba(0, 0, 0, 0.08);
	background-size:     cover;
	background-position: center;
	overflow:            hidden;
}

.section--dark .media-grid__item {
	background-color: rgba(255, 255, 255, 0.06);
}

/* Features section — header block */
.page-features__header {
	margin-bottom: 0;
}

.page-features__heading {
	font-family:    var(--font-heading);
	font-size:      clamp(2rem, 3.5vw, 3.5rem);
	font-weight:    var(--weight-regular);
	line-height:    1.1;
	letter-spacing: var(--tracking-tight);
	color:          var(--color-white);
	margin-top:     0.75rem;
	margin-bottom:  2rem;
	text-wrap:      balance;
}

.page-features__heading em { font-style: italic; }

.page-features__divider {
	height:           2px;
	background:       var(--color-gold);
	transform:        scaleX(0);
	transform-origin: left center;
	transition:       transform 800ms cubic-bezier(0.4, 0, 0.2, 1);
	margin-bottom:    3rem;
}

.page-features__divider.is-visible {
	transform: scaleX(1);
}

/* Features grid — 3×2 grid, variation-6 style */
.features-grid {
	display:               grid;
	grid-template-columns: repeat(3, 1fr);
	gap:                   3rem 6rem;
}

.features-grid__item {
	padding:  0;
	position: relative;
}

.features-grid__item:hover .features-grid__title {
	color: var(--color-white);
}

.features-grid__item:hover .features-grid__icon {
	transform: translateY(-6px);
}

.features-grid__icon {
	color:         var(--color-gold);
	display:       block;
	margin-bottom: 1.25rem;
	line-height:   1;
	transition:    transform var(--transition-base);
}

.features-grid__title {
	font-family:    var(--font-heading);
	font-size:      clamp(1.05rem, 1.5vw, 1.4rem);
	font-weight:    var(--weight-regular);
	line-height:    1.25;
	color:          var(--color-muted);
	margin:         0;
	text-wrap:      balance;
	transition:     color var(--transition-base);
}

/* =============================================================================
   CONTACT / ENQUIRY FORM
   ============================================================================= */


.contact-section {
	padding-top:    calc(var(--nav-height) + clamp(3rem, 6vw, 5rem));
	padding-bottom: clamp(3rem, 6vw, 6rem);
}

.contact-layout {
	display:               grid;
	grid-template-columns: 1fr 2fr;
	gap:                   4rem;
	align-items:           start;
}

/* Sticky info column */
.contact-info {
	position: sticky;
	top:      calc(var(--nav-height) + 2rem);
}

.contact-info__inner {
	padding-top: 0.5rem;
}

.contact-info__title {
	font-family:    var(--font-heading);
	font-size:      clamp(2rem, 3.5vw, 3.5rem);
	font-weight:    var(--weight-regular);
	line-height:    1.08;
	letter-spacing: var(--tracking-tight);
	color:          var(--color-dark);
	margin-bottom:  0.75rem;
}

.contact-info__title em {
	font-style: italic;
}

.contact-info__divider {
	display:        block;
	padding-bottom: 1.25rem;
	margin-bottom:  0;
}

.contact-info__subtitle {
	font-size:   clamp(0.9rem, 1.4vw, 1.05rem);
	font-weight: var(--weight-light);
	line-height: var(--leading-normal);
	color:       rgba(17, 17, 17, 0.55);
	padding-top: 1rem;
}

.contact-form-wrap {
	min-width: 0;
}

.contact-form {
	display:        flex;
	flex-direction: column;
	gap:            2rem;
}

@media (max-width: 768px) {
	.contact-layout {
		grid-template-columns: 1fr;
		gap:                   2rem;
	}

	.contact-info {
		position: static;
	}
}

/* Fields */
.form-field {
	display:        flex;
	flex-direction: column;
	gap:            0.5rem;
}

.form-field--inline {
	gap: 0.4rem;
}

.form-label {
	font-family:    var(--font-body);
	font-size:      11px;
	font-weight:    600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color:          var(--color-dark);
}

.form-label--required::after {
	content: ' *';
	color:   var(--color-gold);
}

.form-label--heading {
	font-size:     11px;
	margin-bottom: 0.5rem;
}

.form-input,
.form-textarea,
.form-select {
	width:              100%;
	padding:            14px 16px;
	background:         var(--color-white);
	border:             1px solid rgba(17, 17, 17, 0.15);
	border-radius:      0;
	font-family:        var(--font-body);
	font-size:          15px;
	color:              var(--color-dark);
	transition:         border-color 200ms ease;
	appearance:         none;
	-webkit-appearance: none;
}

.form-input::placeholder,
.form-textarea::placeholder {
	color: rgba(17, 17, 17, 0.35);
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
	outline:      none;
	border-color: var(--color-gold);
}

.form-input:disabled,
.form-textarea:disabled {
	background:   rgba(17, 17, 17, 0.04);
	border-color: rgba(17, 17, 17, 0.08);
	color:        rgba(17, 17, 17, 0.3);
	cursor:       not-allowed;
}

.form-textarea {
	resize:     vertical;
	min-height: 120px;
}

/* Select */
.form-select-wrap {
	position: relative;
}

.form-select-wrap .form-select {
	cursor:        pointer;
	padding-right: 2.5rem;
}

.form-select-arrow {
	position:       absolute;
	right:          1rem;
	top:            50%;
	transform:      translateY(-50%);
	color:          rgba(17, 17, 17, 0.5);
	pointer-events: none;
}

/* 2-col grid for personal details */
.form-grid-2 {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   1.5rem 1.5rem;
}

/* Field checkboxes (date / location not confirmed) */
.form-checkbox-label {
	display:     inline-flex;
	align-items: center;
	gap:         0.5rem;
	font-family: var(--font-body);
	font-size:   12px;
	font-weight: 400;
	letter-spacing: 0.02em;
	text-transform: none;
	color:       rgba(17, 17, 17, 0.45);
	cursor:      pointer;
	margin-top:  0.4rem;
}

.form-checkbox-label--block {
	display:     flex;
	align-items: flex-start;
	font-size:   13px;
	color:       rgba(17, 17, 17, 0.6);
	margin-top:  0.75rem;
	letter-spacing: 0;
	text-transform: none;
	font-weight: 400;
}

.form-checkbox {
	flex-shrink:        0;
	width:              16px;
	height:             16px;
	cursor:             pointer;
	margin-top:         2px;
	appearance:         none;
	-webkit-appearance: none;
	border:             1px solid rgba(17, 17, 17, 0.25);
	background:         var(--color-white);
	border-radius:      2px;
	transition:         background-color 150ms ease, border-color 150ms ease;
}

.form-checkbox:checked {
	background-color: var(--color-gold);
	border-color:     var(--color-gold);
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:   no-repeat;
	background-position: center;
}

.form-checkbox:focus {
	outline:     none;
	border-color: var(--color-gold);
	box-shadow:  0 0 0 3px rgba(175, 153, 100, 0.15);
}

/* GDPR */
.form-gdpr {
	padding-top: 1.5rem;
	border-top:  1px solid rgba(17, 17, 17, 0.1);
	gap:         0;
}

.form-gdpr__note {
	font-size:      13px;
	font-weight:    400;
	letter-spacing: 0;
	text-transform: none;
	color:          rgba(17, 17, 17, 0.45);
	margin-top:     1rem;
}

.form-link {
	color:                 var(--color-gold);
	text-decoration:       underline;
	text-underline-offset: 2px;
	transition:            opacity var(--transition-fast);
}

.form-link:hover { opacity: 0.75; }

/* Submit */
.form-submit {
	padding-top: 0.5rem;
}

.form-btn-submit {
	width:           100%;
	text-align:      center;
	justify-content: center;
}

@media (max-width: 768px) {
	.form-grid-2 {
		grid-template-columns: 1fr;
	}
}

/* CF7 compatibility — match custom form styles */
.wpcf7-form {
	display:        flex;
	flex-direction: column;
	gap:            2rem;
}

/* CF7 validation messages */
.wpcf7-not-valid-tip {
	font-size:   11px;
	color:       #c0392b;
	margin-top:  0.25rem;
	font-family: var(--font-body);
}

.wpcf7-response-output {
	margin:       1rem 0 0;
	padding:      0.75rem 1rem;
	border:       1px solid currentColor;
	font-size:    13px;
	font-family:  var(--font-body);
}

/* GDPR acceptance (CF7 [acceptance] tag) */
.wpcf7-acceptance .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item label {
	display:     flex;
	align-items: flex-start;
	gap:         0.5rem;
	font-size:   13px;
	color:       rgba(17, 17, 17, 0.6);
	margin-top:  0.75rem;
	cursor:      pointer;
	font-family: var(--font-body);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.5;
}

.wpcf7-acceptance .wpcf7-list-item input[type="checkbox"],
.wpcf7-checkbox .wpcf7-list-item input[type="checkbox"] {
	flex-shrink:        0;
	width:              16px;
	height:             16px;
	min-width:          16px;
	cursor:             pointer;
	margin-top:         2px;
	appearance:         none;
	-webkit-appearance: none;
	border:             1px solid rgba(17, 17, 17, 0.25);
	background:         var(--color-white);
	border-radius:      2px;
	transition:         background-color 150ms ease, border-color 150ms ease;
}

.wpcf7-acceptance .wpcf7-list-item input[type="checkbox"]:checked,
.wpcf7-checkbox .wpcf7-list-item input[type="checkbox"]:checked {
	background-color:    var(--color-gold);
	border-color:        var(--color-gold);
	background-image:    url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:   no-repeat;
	background-position: center;
}

/* CF7 marketing checkbox */
.wpcf7-checkbox .wpcf7-list-item {
	display:     flex;
	align-items: flex-start;
	gap:         0.5rem;
	margin-top:  0.75rem;
}

.wpcf7-checkbox .wpcf7-list-item label {
	display:     flex;
	align-items: flex-start;
	gap:         0.5rem;
	font-size:   13px;
	color:       rgba(17, 17, 17, 0.6);
	cursor:      pointer;
	font-family: var(--font-body);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.5;
}

/* Embassy grid */
.embassy-section { padding-top: var(--section-padding); padding-bottom: var(--section-padding); }

.embassy-grid {
	display:               grid;
	grid-template-columns: repeat(4, 1fr);
	gap:                   0;
	list-style:            none;
	padding:               0;
	margin:                3rem 0 0;
}

.embassy-grid__item {
	display:     flex;
	align-items: center;
	gap:         0.75rem;
	padding:     1.25rem 1rem;
	font-size:   var(--text-sm);
	color:       var(--color-dark);
	line-height: 1.4;
}

.embassy-grid__flag {
	font-size: 1.5rem;
	flex-shrink: 0;
	line-height: 1;
}

@media (max-width: 1024px) {
	.embassy-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
	.embassy-grid { grid-template-columns: 1fr; }
}

/* CTA section */
.page-cta__inner {
	max-width:   680px;
	margin:      0 auto;
	text-align:  center;
}

.page-cta__eyebrow {
	font-size:      var(--text-xs);
	font-weight:    var(--weight-bold);
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color:          var(--color-gold);
	margin-bottom:  1rem;
}

.page-cta__heading {
	font-family:    var(--font-heading);
	font-size:      clamp(2rem, 3.5vw, 3.5rem);
	font-weight:    var(--weight-regular);
	line-height:    1.1;
	letter-spacing: var(--tracking-tight);
	color:          var(--color-dark);
	margin-bottom:  2.5rem;
	text-wrap:      balance;
}

.page-cta__heading em { font-style: italic; }

@media (max-width: 768px) {
	.features-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.media-grid {
		grid-template-columns: 1fr;
	}
}

/* — Responsive — */
@media (max-width: 1024px) {
	.site-footer__inner {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__col--brand {
		grid-column: span 2;
	}
}

@media (max-width: 768px) {
	.site-footer__inner {
		grid-template-columns: 1fr;
	}

	.site-footer__col--brand {
		grid-column: span 1;
	}

	.site-footer__tagline {
		max-width: none;
	}

	.site-footer__bottom-inner {
		flex-direction: column;
		gap:            0.75rem;
		text-align:     center;
	}
}


/* =============================================================================
   JEZERŠEK PAGE — About Us
   ============================================================================= */

/* Hero — light variant */
.page-hero--light {
	background-color: var(--color-off-white);
	min-height:       50vh;
}

.page-hero--light .page-hero__title {
	color: var(--color-dark);
}

.page-hero--light .page-hero__subtitle {
	color: rgba(22, 28, 45, 0.55);
}

.page-hero--white {
	background-color: var(--color-white);
	min-height:       50vh;
}

.page-hero--white .page-hero__title {
	color: var(--color-dark);
}

.page-hero--white .page-hero__subtitle {
	color: rgba(22, 28, 45, 0.55);
}

.page-hero__inner--jezersek {
	display:        flex;
	flex-direction: column;
	align-items:    flex-start;
	gap:            1.5rem;
}

.jezersek-hero__logo {
	height:  80px;
	width:   auto;
	display: block;
}

.jezersek-hero__title {
	font-family:    var(--font-heading);
	font-size:      clamp(2.5rem, 5vw, 6rem);
	font-weight:    var(--weight-regular);
	font-style:     normal;
	letter-spacing: var(--tracking-tight);
	line-height:    1.05;
	color:          var(--color-dark);
	margin:         0;
}

/* Section 2 — Intro */
.about-intro__grid {
	display:               grid;
	grid-template-columns: 2fr 3fr;
	gap:                   clamp(3rem, 6vw, 7rem);
	align-items:           center;
}

.about-intro__text .section-tag {
	margin-bottom: 1.25rem;
}

.about-intro__heading {
	font-family:    var(--font-heading);
	font-size:      clamp(1.5rem, 2.5vw, 2.25rem);
	font-weight:    var(--weight-regular);
	letter-spacing: var(--tracking-tight);
	line-height:    1.2;
	color:          var(--color-dark);
	margin-bottom:  1.75rem;
	text-wrap:      balance;
}

.about-intro__body {
	font-size:   clamp(0.9rem, 1.3vw, 1rem);
	line-height: var(--leading-normal);
	color:       rgba(22, 28, 45, 0.6);
}

.about-intro__image {
	aspect-ratio: 4 / 3;
	overflow:     hidden;
}

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

/* Section 3 — Mission Statement */
.about-mission__inner {
	max-width:  820px;
	margin:     0 auto;
	text-align: center;
}

.about-mission__inner .section-tag {
	margin-bottom: 1.5rem;
}

.about-mission__heading {
	font-family:    var(--font-heading);
	font-size:      clamp(2rem, 4vw, 4rem);
	font-weight:    var(--weight-regular);
	font-style:     normal;
	letter-spacing: var(--tracking-tight);
	line-height:    1.1;
	color:          var(--color-white);
	margin-bottom:  3rem;
	text-wrap:      balance;
}

.about-mission__heading em { font-style: italic; }

.about-mission__pillars {
	display:     flex;
	flex-wrap:   wrap;
	align-items: center;
	justify-content: center;
	gap:         0.75rem 1.5rem;
	margin-bottom: 2.5rem;
}

.about-mission__pillar {
	font-family:    var(--font-heading);
	font-size:      clamp(1rem, 1.6vw, 1.35rem);
	font-weight:    var(--weight-regular);
	letter-spacing: -0.01em;
	color:          var(--color-white);
}

.about-mission__sep {
	font-size:  1.5rem;
	color:      var(--color-gold);
	line-height: 1;
}

.about-mission__link-line {
	font-size:  clamp(0.85rem, 1.2vw, 0.95rem);
	color:      rgba(255, 255, 255, 0.45);
	margin-top: 0.5rem;
}

.about-mission__link {
	color:           var(--color-gold);
	text-decoration: none;
	border-bottom:   1px solid rgba(175, 153, 100, 0.4);
	transition:      border-color var(--transition-fast);
}

.about-mission__link:hover {
	border-color: var(--color-gold);
}

/* Section 4 — Why Choose Us */
.about-why__heading {
	font-family:    var(--font-heading);
	font-size:      clamp(1.5rem, 2.5vw, 2.25rem);
	font-weight:    var(--weight-regular);
	letter-spacing: var(--tracking-tight);
	line-height:    1.2;
	color:          var(--color-dark);
	margin-top:     0.5rem;
	text-wrap:      balance;
}

.about-why__grid {
	display:               grid;
	grid-template-columns: 3fr 2fr;
	gap:                   clamp(3rem, 6vw, 7rem);
	align-items:           start;
}

.about-why__list {
	list-style: none;
	padding:    0;
	margin:     0;
	display:    flex;
	flex-direction: column;
	gap:        1.25rem;
}

.about-why__list li {
	display:     flex;
	align-items: flex-start;
	gap:         1rem;
	font-size:   clamp(0.9rem, 1.3vw, 1rem);
	line-height: 1.5;
	color:       rgba(22, 28, 45, 0.75);
}

.about-why__list li::before {
	content:    '';
	display:    inline-block;
	flex-shrink: 0;
	width:       18px;
	height:      18px;
	margin-top:  0.1em;
	background-image: url("data:image/svg+xml,%3Csvg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6L6 11L15 1' stroke='%23AF9964' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 12px;
}

.about-why__image {
	aspect-ratio: 4 / 3;
	overflow:     hidden;
}

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

/* Section 5 — Photo Strip */
.about-photo-strip {
	display: block;
	width:   100%;
}

.about-photo-strip__grid {
	display:               grid;
	grid-template-columns: repeat(3, 1fr);
}

.about-photo-strip__item {
	aspect-ratio:     16 / 10;
	background-color: rgba(22, 28, 45, 0.1);
}

/* Full-width image section */
.about-full-image {
	display:     block;
	width:       100%;
	overflow:    hidden;
	line-height: 0;
	padding:     0;
	background:  var(--color-white);
}

.about-full-image img {
	width:      100%;
	height:     35vh;
	object-fit: cover;
	display:    block;
}

/* CTA — light heading override for dark section */
.page-cta__heading--light {
	color: var(--color-white);
}

/* Responsive */
@media (max-width: 1024px) {
	.about-intro__grid,
	.about-why__grid {
		grid-template-columns: 1fr;
	}

	.about-why__image {
		aspect-ratio: 16 / 9;
	}
}

@media (max-width: 768px) {
	.about-mission__pillars {
		flex-direction: column;
		gap:            1rem;
	}

	.about-mission__sep {
		display: none;
	}

	.about-photo-strip__grid {
		grid-template-columns: 1fr;
	}
}


/* =============================================================================
   OUR PROCESS PAGE
   ============================================================================= */

.process-steps {
	padding-top:    var(--section-padding);
	padding-bottom: calc(var(--section-padding) * 2);
}

.process-steps__grid {
	display:        flex;
	flex-direction: column;
	align-items:    center;
	max-width:      720px;
	margin:         0 auto;
}

.process-steps__item {
	width:      100%;
	text-align: center;
	padding:    clamp(2rem, 4vw, 3.5rem) 0 0;
}

.process-steps__num {
	display:        block;
	font-family:    var(--font-heading);
	font-size:      clamp(100px, 14vw, 200px);
	font-weight:    400;
	line-height:    1;
	color:          var(--color-gold);
	opacity:        0.2;
	margin-bottom:  -0.25em;
	letter-spacing: -0.04em;
}

.process-steps__title {
	font-family:    var(--font-heading);
	font-size:      clamp(28px, 3.5vw, 52px);
	font-weight:    400;
	line-height:    1.15;
	color:          var(--color-dark);
	margin-bottom:  1rem;
	text-wrap:      balance;
}

.process-steps__body {
	font-family: var(--font-body);
	font-size:   14px;
	line-height: 1.7;
	color:       rgba(22, 28, 45, 0.55);
}

.process-steps__arrow--right {
	display: none;
}

.process-steps__arrow--down {
	display:    block;
	text-align: center;
	font-size:  32px;
	color:      var(--color-gold);
	opacity:    0.4;
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

.process-steps__item--last .process-steps__arrow--down {
	display: none;
}

/* Step scroll-in animation */
.process-steps__num,
.process-steps__title,
.process-steps__body,
.process-steps__arrow--down {
	opacity:    0;
	transform:  translateY(56px);
	transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.process-steps__item.is-visible .process-steps__num   { opacity: 0.2; transform: none; transition-delay: 0ms; }
.process-steps__item.is-visible .process-steps__title { opacity: 1;   transform: none; transition-delay: 160ms; }
.process-steps__item.is-visible .process-steps__body  { opacity: 1;   transform: none; transition-delay: 280ms; }
.process-steps__item.is-visible .process-steps__arrow--down { opacity: 0.4; transform: none; transition-delay: 440ms; }


/* =============================================================================
   CLIENTS PAGE
   ============================================================================= */

.clients-logos {
	padding-top:    calc(var(--section-padding) + 4vw);
	padding-bottom: var(--section-padding);
}

.clients-quote {
	max-width:   760px;
	margin:      0 auto clamp(3rem, 5vw, 5rem);
	text-align:  center;
	border:      none;
	padding:     0;
}

.clients-quote p {
	font-family:   var(--font-heading);
	font-size:     clamp(1.25rem, 2.5vw, 2rem);
	font-weight:   400;
	font-style:    italic;
	line-height:   1.5;
	color:         var(--color-dark);
}

.clients-logos__grid {
	grid-template-columns: repeat(4, 1fr);
}

.clients-logos__grid .logo-card {
	display:         flex;
	align-items:     center;
	justify-content: center;
	padding:         1.5rem;
	aspect-ratio:    3 / 2;
}

.logo-card__img {
	display:    block;
	max-width:  65%;
	max-height: 55%;
	width:      auto;
	height:     auto;
	object-fit: contain;
}

@media (max-width: 768px) {
	.clients-logos__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* -----------------------------------------------------------------------------
   Reference cards — gallery lightbox
   ----------------------------------------------------------------------------- */

.references__card.has-gallery {
	cursor: pointer;
}

.references__card.has-gallery:focus {
	outline: none;
}

.references__card.has-gallery:focus-visible {
	outline: 2px solid var(--color-gold, #C9902A);
	outline-offset: 3px;
}

/* Default page template (e.g. Privacy Policy) — push content below fixed nav */
.page-template-default main.wp-block-group {
	padding-top: var(--nav-height);
}


/* =============================================================================
   404 PAGE
   ============================================================================= */

.error-404 {
	min-height:      100vh;
	min-height:      100svh;
	background:      var(--color-dark);
	display:         flex;
	align-items:     center;
	justify-content: center;
	text-align:      center;
	position:        relative;
	overflow:        hidden;
	padding:         calc(var(--nav-height) + 4rem) var(--gutter) 5rem;
}

.error-404__bg {
	position:       absolute;
	top:            50%;
	left:           50%;
	transform:      translate(-50%, -75%);
	font-family:    var(--font-heading);
	font-size:      clamp(21rem, 52.5vw, 42rem);
	font-weight:    700;
	line-height:    1;
	color:          var(--color-gold);
	opacity:        0.055;
	pointer-events: none;
	user-select:    none;
	white-space:    nowrap;
}

.error-404__inner {
	position:        relative;
	z-index:         1;
	display:         flex;
	flex-direction:  column;
	align-items:     center;
	gap:             1.75rem;
	max-width:       600px;
}

.error-404__eyebrow {
	font-family:    var(--font-body);
	font-size:      var(--text-xs);
	font-weight:    500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color:          var(--color-gold);
	margin:         0;
}

.error-404__title {
	font-family: var(--font-heading);
	font-size:   clamp(2.75rem, 7vw, 5rem);
	font-weight: 400;
	line-height: 1.15;
	color:       var(--color-white);
	margin:      0;
}

.error-404__title em {
	font-style: italic;
	color:      inherit;
}

.error-404__message {
	font-family: var(--font-body);
	font-size:   1.0625rem;
	line-height: 1.6;
	color:       var(--color-muted);
	max-width:   38ch;
	margin:      0;
}

.error-404__inner .btn {
	align-self: center;
}


/* =============================================================================
   REDUCED MOTION
   ============================================================================= */

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

	/* Kill all transitions and animations globally */
	*,
	*::before,
	*::after {
		animation-duration:       0.01ms !important;
		animation-iteration-count: 1     !important;
		transition-duration:      0.01ms !important;
	}

	/* Hero rotating sub-headline — show only the first item statically */
	.hero__rotate-item         { animation: none; opacity: 0; transform: none; }
	.hero__rotate-item:first-child { opacity: 1; }

	/* Divider lines — skip scaleX reveal, show at full width immediately */
	.section-geo-header::after,
	.locations__divider,
	.why-jhg__divider,
	.page-features__divider {
		transform:  scaleX(1);
		transition: none;
	}

	/* Process steps — start fully visible, no translateY */
	.process-steps__num,
	.process-steps__title,
	.process-steps__body,
	.process-steps__arrow--down {
		opacity:    1;
		transform:  none;
		transition: none;
	}
}
