/*
|--------------------------------------------------------------------------
| wearesenti — base.css
|--------------------------------------------------------------------------
| Foundation layer
| Minimal reset + structural tokens
|--------------------------------------------------------------------------
*/

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

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	min-height: 100vh;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	* { opacity:0; transition: var(--transition-base); }
	&.loaded * { opacity: 1;}
}

/*
|--------------------------------------------------------------------------
| Media
|--------------------------------------------------------------------------
*/

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
}

/*
|--------------------------------------------------------------------------
| Forms
|--------------------------------------------------------------------------
*/

input,
button,
textarea,
select {
	font: inherit;
	color: inherit;
	background: none;
	border: none;
	outline: none;
}

button {
	cursor: pointer;
}

/*
|--------------------------------------------------------------------------
| Links
|--------------------------------------------------------------------------
*/

a {
	color: inherit;
	text-decoration: none;
}

.btn-cta a,
.wp-block-button a,
button.contact-tab,
button[type=submit] {
    background-color: var(--color-back);
    padding: 1rem 2rem;
    color: var(--color-text);
    text-decoration: none;
    border-radius: 5rem;
    text-transform: uppercase;
    font-size: .875rem;
	letter-spacing: .5px;
	font-variation-settings:
		"wght" 650,
		"wdth" 147.22,
		"opsz" 144,
		"GRAD" 0,
		"slnt" 0,
		"XTRA" 468,
		"XOPQ" 96,
		"YOPQ" 79,
		"YTLC" 514,
		"YTUC" 712,
		"YTAS" 750,
		"YTDE" -203,
		"YTFI" 738;	
	transition: var(--transition-base);
	border: 2px solid var(--color-text);
	&:hover, &.active {
		background-color: var(--color-text);
		color: var(--color-back);		
	}
}

button[type=submit] {
	font-size: 1.5rem;
}

/*
|--------------------------------------------------------------------------
| Lists
|--------------------------------------------------------------------------
*/

ul,
ol {
	list-style: none;
}

/*
|--------------------------------------------------------------------------
| Tables
|--------------------------------------------------------------------------
*/

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*
|--------------------------------------------------------------------------
| Typography
|--------------------------------------------------------------------------
*/

body {
	font-family: var(--font-base);
	font-size: 16px;
	line-height: 1.4;
	font-weight: 500;
	font-variation-settings: var(--font-settings-base);
	color: #000;
	background: #fff;
}

/*
|--------------------------------------------------------------------------
| Layout tokens
|--------------------------------------------------------------------------
*/

:root {

	/* Widths */
	--container-width: 1440px;
	--content-width: 760px;

	/* Gutters */
	--gutter: 24px;

	/* Spacing scale */
	--space-xxs: 0.25rem;
	--space-xs: 0.5rem;
	--space-sm: 1rem;
	--space-md: 2rem;
	--space-lg: 4rem;
	--space-xl: 8rem;

	/* Radius */
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 16px;

	/* Timing */
	--transition-fast: 120ms ease;
	--transition-base: 240ms ease;

    /* Type */
	--font-base: "Roboto Flex", sans-serif;

	--font-settings-base:
		"wght" 500,
		"wdth" 147.22,
		"opsz" 144,
		"GRAD" 0,
		"slnt" 0,
		"XTRA" 468,
		"XOPQ" 96,
		"YOPQ" 79,
		"YTLC" 514,
		"YTUC" 712,
		"YTAS" 750,
		"YTDE" -203,
		"YTFI" 738;

	/* colours */
	--bg: #111111;
	--surface: #111111;
	--border: rgba(255,255,255,0.2);
	--accent: #E20722;
	--accent-dim: rgba(200,240,74,0.12);
	--text: #f0ede6;
	--muted: rgba(240,237,230,0.45);
	--section-w: 100vw;
	--section-h: 100vh;
	--logo-color: var(--accent);
}

/*
|--------------------------------------------------------------------------
| Structural containers
|--------------------------------------------------------------------------
*/

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

.content {
	width: 100%;
	max-width: var(--content-width);
}

/*
|--------------------------------------------------------------------------
| Header
|--------------------------------------------------------------------------
*/

header {
	position: fixed;
	top: 0px; 
	left: 0px;
	width: 100%;
	padding: var(--gutter);
	z-index: 1000;
	--color: var(--text);
	--overlay-color: (0 0 0);
	background: rgb(var(--overlay-color) / 0);

	.site-header__inner {
		display: flex;
		justify-content: space-between;
		position: relative;
	}

	#burger-menu {
		width: 1rem;
		height: 1rem;
		border: 0; background: none; padding:0; 
		position: relative;
		&:hover {
			span { width: 100%; }
		}

		span {
			display:block;
			background-color: var(--color);
			width: 4px;
			height: 4px;
			border-radius: 2px;
			position: absolute;
            top: calc(.5rem - 3px);
			right: 0px;
			transition: var(--transition-base);
			transition-delay: var(--delay);
			--delay: 50ms;

			&:first-child {
				top: 0px;
				--delay: 0ms;
			}
			&:last-child {
				top: initial;
				bottom: 2px;
				--delay: 100ms;				
			}
		}
	}
	#site-nav {
		display: block;
        position: absolute;
        right: 0;
        top: calc(var(--gutter) * 2);
        color: var(--color);
        overflow: hidden;

		ul {
			display: flex;
			flex-direction: column;
			gap: 1.5rem;

			li { 
				text-align: end; 
				transform: translateX(100%);
				transition: var(--transition-base);
				transition-delay: var(--delay);
			}

		}

	}
	
	&.show {
		height: 100dvh;
		background: rgb(var(--overlay-color) / 0.75);
		transition: var(--transition-base);
		
		#burger-menu {
			span { width: 100%; }
			&:hover span {	width: 2px; }
		}
		#site-nav ul li {
			transform: translateX(0%);
		}
	}
}

footer {
    background: var(--bg);
    color: var(--text);
    padding: var(--gutter);
	font-size: .75rem;
	scroll-snap-align: end;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--gutter);
	.site-footer__claim {
		display: flex;
		gap: 1rem;
		color: white;
	}
	.menu {
		list-style: none;
		display: flex;
		gap: 1rem;
	}
	@media (max-width: 992px) {
		flex-direction: column;
		align-items: start;
		.site-footer__claim {
			flex-direction: column;
		}
		.menu {
			flex-direction: column;
		}
	}
}

#cmplz-manage-consent { display: none; }

/*
|--------------------------------------------------------------------------
| Section rhythm
|--------------------------------------------------------------------------
*/
/*
.senti-section__inner {
	display: grid;
    grid-template-columns: 1fr 2fr 3fr;
    max-width: 1320px;
	.senti-section__context { grid-column: 1 / 2 }
	.senti-section__title { grid-column: 2 / 4 }
	.senti-section__subtitle  { grid-column: 2 }
	.senti-section__body { grid-column: 3 / 5 }
}
*/
.senti-section__inner {
	display: grid;
    grid-template-columns: 1fr 2fr 3fr;
    max-width: 1320px;
	padding: var(--gutter);

	.senti-section__context { grid-column: 1 / 3; font-size: .66rem; }
	.senti-section__title { grid-column: 1 / 3 }
	.senti-section__subtitle { grid-column: 1 / 4 }  
	.senti-section__body { 
		grid-column: 1 / 4; 
		p { max-width: 50ch; } 
	}

	@media (max-width: 992px) {
		grid-template-columns : 1fr;
		> * {
			grid-column: 1 !important;
		}
	}

}

.senti-section__title {
	font-size: clamp(2rem, 5vw, 3rem);
	font-variation-settings:		
		"wght" 550,
		"wdth" 147.22,
		"opsz" 144,
		"GRAD" 0,
		"slnt" 0,
		"XTRA" 468,
		"XOPQ" 96,
		"YOPQ" 79,
		"YTLC" 514,
		"YTUC" 712,
		"YTAS" 750,
		"YTDE" -203,
		"YTFI" 738;	
}

.has-side-image .senti-section__inner { column-gap: 4rem; }
.has-side-image .senti-section__inner .senti-section__body,
.has-side-image .senti-section__inner .senti-section__subtitle { grid-column: 1 / 3; }
.has-side-image .senti-section__image {
    grid-column: 3 / 5;
    grid-row: 1 / 5;
	opacity: 0;
	transform: translateX(-2%);
	transition: all 1000ms ease;
}
.on-view.has-side-image .senti-section__image {
	opacity: 1;
	transform: translateX(0px);
}

.has-side-image:nth-child(even){
	.senti-section__context { grid-column: 3 / 5; }
	.senti-section__title { grid-column: 3 / 5 }
	.senti-section__subtitle { grid-column: 3 / 5 }  
	.senti-section__body { grid-column: 3 / 5; 	}
	.senti-section__image { grid-column: 1 / 3; }
}

/*
|--------------------------------------------------------------------------
| Clones
|--------------------------------------------------------------------------
*/

html {
    scroll-snap-type: y mandatory;
}

.section-wrapper {
    scroll-snap-align: start;
    height: 100dvh;
	color: var(--color-text, var(--text));
    background-color: var(--color-back, var(--bg));
}

.clone {
	transition: transform 1000ms ease;
}


.clone { transform: translateX(0); }

.loaded .on-view {
	.clone-1 { transform: translateX(-2%) scaleX(1); }
	.clone-2 { transform: translateX(2%) scaleX(1); }	
}

.viewport {
	position: absolute;
	top: 0;
    left: 0;
    width: 100%;	
    height: 100%;		
	z-index: 10;
	pointer-events: none;	
	overflow:hidden;
	background-color: inherit;
	color: inherit;
}

.viewport1 { clip-path: inset(0% 85% 0% 0%); }
.viewport2 { clip-path: inset(0% 0% 0% 50%); }

/*
|--------------------------------------------------------------------------
| Selection
|--------------------------------------------------------------------------
*/

::selection {
	background: #000;
	color: #fff;
}

:where(.wp-block-columns.is-layout-flex) {
    gap: 2rem 4rem;
}