@charset "UTF-8";
/* CSS Document */
/* ©pascale moise v1 juillet 2025 */
/*     pascalemoise.com       */


/*------------------------- HOMEPAGE  ---------------------*/

body.homepage section {
	border-top-left-radius: var(--radius);
	border-top-right-radius: var(--radius);
	position: relative;
}
body.homepage section.overlap {
	margin-top: -40px;
	z-index: 1;
}
body.homepage section h3{
	margin-bottom:0;
}
body.homepage section h4 {
	font-size: 1.25rem;
	font-weight: normal;
	margin-top: .25rem;
}


body.homepage main {
	padding-top: 80px;
}


/*---------------------- baseline -----------*/

body.homepage main div.title {
	display: flex;
	height: calc(23vh - 70px - var(--radius)) ;
	align-items:flex-end;
}
body.homepage main div.title {
	padding: 0 20px 20px 20px
}
body.homepage main div.title h2 {
	display: block;
	margin: 0;
	font-size: 30px;
	font-weight: normal;
}
body.homepage main div.title h3 {
	display: block;
	line-height: 1.25rem;
	font-size: 16px;
	font-weight: normal;
	margin: 7px 0;
}

/* CTA links with arrow (history, team, etc.) */
a.arrow {
    display: inline-flex;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #000;
    text-decoration: none;
    transition: all 0.3s ease;
}
a.arrow::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 12px;
    background: url(../img/arrow_v3.svg) no-repeat center center;
    background-size: contain;
    margin-right: 10px;
    transition: transform 0.3s ease;
}
a.arrow:hover {
    color: #666;
}
a.arrow:hover::before {
    transform: translateX(5px);
}

/* CTA buttons to product page (black rounded, like nav) */
a.cta-btn {
    display: inline-block;
    font-size: .75em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    background: #000;
    color: #fff;
    padding: 12px 28px;
    border-radius: 30px;
    transition: background 0.3s ease;
}
a.cta-btn:hover {
    background: #333;
}
/*------------------------- section Hero  ---------------------*/
section#hero {
	display: block;
	border-radius:var(--radius) var(--radius) 0 0;
	overflow: hidden;
	background: #000;
	height: calc( 77vh + var(--radius));
	width: 100%;
	will-change: transform;
}

section#hero #hero-poster {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
section#hero #hero-poster img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
section#hero.playing #hero-poster {
	display: none;
}

section#hero video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}


@media (max-width:900px) {
	section#hero video {
	  height: 100%;
	  transform: translate(-50%,  -50%);
	}
}
section#hero button.sound {
	right: 3vw;
	top: 3vw;
}
section#hero div.infosound {
	position: absolute;
	right: 4vw;
	top: 10vw;
	width: 180px;
	text-align: right;
	padding-right: 30px;
}
section#hero div.infosound span {
	color: #fff;
	line-height:1.25rem;
}

@keyframes wiggle-arrow {
  0%   { transform: rotate(-0deg) translateY(0px); }
  50%  { transform: rotate(-0deg) translateY(10px); }
  100% { transform: rotate(-0deg) translateY(0px); }
}

section#hero div.infosound::before {
	content: ' ';
	position: absolute;
	right: -10px;
	top: 10px;
	display: inline-block;
	width: 40px;
	height: 20px;
	background: url(../img/arrow_v3.svg)no-repeat center center;
	background-size: contain;
	animation: wiggle-arrow 1s ease-in-out infinite;
}

/*----------mobile en landscape -----*/
@media (orientation:landscape) and (max-width: 900px) {
  	section#hero div.infosound {
  		right: 2vw;
  		top: 7vw;
  		width: 150px;
	}
	section#hero div.infosound::before {
		right: 7px;
		top: 10px;
		width: 20px;
		height: 10px;
	}
	section#hero div.infosound span {
		font-size: .85rem;
		line-height: 1rem;
	}
}

/*------------------------- section HOW  ---------------------*/


/* On force le conteneur de chaque bloc à être en flex pour aligner picto et texte */
section#how div.wrapper div.col-1x2 {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 2vh;
}

/* On s'assure que le picto ne rétrécit pas */
section#how figure {
    flex-shrink: 0;
    width: 80px;             /* Largeur fixe pour vos pictos sur desktop */
    height: 80px;            /* Hauteur fixe */
    margin: 0;               /* On retire les anciennes marges */
}

/* On ajuste le bloc qui contient le titre h5 et le paragraphe p */
section#how div.wrapper div.col-1x2 > div {
    width: auto;             /* On laisse le texte prendre la place restante */
    text-align: left;        /* On s'assure que le texte est aligné à gauche */
}

/* Optionnel : Ajustement pour mobile */
@media (max-width: 600px) {
    section#how div.wrapper div.col-1x2 {
        gap: 15px;
    }
    section#how figure {
        width: 60px;
        height: 60px;
    }
}


section#how {
	background: var(--jaune);
}
section#how div.flex {
	margin: 4vh 0;
}
section#how div.wrapper div.col-1x2 > div{
	width: 75%;
}
section#how div.wrapper > div > div p {
	margin-top: .5rem;
}
section#how figure {
	display: inline-block;
	aspect-ratio:1/1;
	object-fit:contain;
	margin: 0 5% 0 0;
	width: 10vw;
	background: url('../img/how_bomb.svg') no-repeat left center;
	margin: 1vh 0;
	background-size: 90% 90%;
}
section#how div.switch figure {
	background-image: url('../img/logo_button.svg');
	background-size: 100% 100%;
}
section#how div.remember figure {
	background-image: url('../img/how_eye.svg');
}
section#how div.purposeless figure {
	background-image: url('../img/how_cat.svg');
}
section#how h5 {
	margin: 0;
	font-weight: normal;
	font-size: 1.25rem;
}

@media (orientation:portrait) {
	section#how div.wrapper div.col-1x2 {
		/*display: flex;*/
	}
	section#how figure {
		width: 15vh;
		margin-right: 2vw;
	}
}


/*------------------------- section JOYFUL  ---------------------*/
section#joyful {
	background: #4fc477;
	padding-bottom: 0;
}
section#joyful div.longtext {
	margin-bottom: 2vh;
}

section#joyful a.arrow {
	margin-top: 2vh;
}

@media (min-width: 901px) {
	section#joyful div.flex-joyful {
		display: flex;
		gap: 30px;
		align-items: flex-start;
		margin-top: -60px;
	}
	section#joyful div.flex-joyful div.content {
		width: 55%;
		padding-top: 60px;
	}
	section#joyful div.flex-joyful div.images {
		width: 45%;
		display: flex;
		flex-direction: column;
		align-self: stretch;
	}
}

section#joyful  div.images  {
	height: 520px;
	text-align: center;
	margin-top: auto;
}
section#joyful  div.images div.container  {
	aspect-ratio:1/1;
	height: 100%;
	margin: auto;
}


section#joyful  div.images img {
	position: absolute;
	width: auto;
	display: inline-block;
	max-height: 100%;
}
section#joyful  div.images img#fist {
	bottom: 0;
	height: 50%;
	left: 40%;
}
section#joyful  div.images img#machine {
	position: absolute;
	top: 0%;
	left: 38%;
	height: 32%;
}
section#joyful  div.images img#yellow {
	width: 30%;
	left: 0;
	top: 15%;
}
section#joyful  div.images img#pink {
	height: 25%;
	right: 12%;
	top: 5%;
}
section#joyful  div.images img#blue {
	    height: 25%;
	    right: 0%;
	    top: 28%;
	    transform:rotate(5deg);
}

/*------------------------- section SOULFUL  ---------------------*/
section#soulful {
	background: #f64358;
}
section#soulful .gallery {
	margin: 5vh 0;
	display: grid;
	gap: 10px;
}
section#soulful .gallery picture {
	overflow: hidden;
	border-radius: var(--radius);
}
section#soulful .gallery picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* One big on top, two small below */
section#soulful .gallery picture:first-child {
	grid-column: 1 / -1;
	aspect-ratio: 16 / 9;
}
section#soulful .gallery picture:nth-child(2),
section#soulful .gallery picture:nth-child(3) {
	aspect-ratio: 4 / 3;
}
@media (min-width: 601px) {
	section#soulful .gallery {
		grid-template-columns: 1fr 1fr;
	}
}


/*------------------------- section history  ---------------------*/
section#history {
	background: #8a8b8d;
}
section#history h3 {
	display: block;
	width: 100%;
	padding-bottom: 3vh;
}
section#history > div.wrapper > picture {
	display: block;
	border-radius: var(--radius);
	overflow: hidden;
	margin-bottom: 30px;
}
section#history img.minsky {
	display: block;
	width: 100%;
	object-fit: cover;
}
section#history div.date {
	display: flex;
}
section#history div.date > div:nth-child(1) {
	width: 40px;
}
section#history div.date img{
	width: 20px;
	margin-right: 20px;
}
section#history div.date p {
	display: inline-block;
	width: 80%;
	font-size: 1.15em;
	line-height: 1.25em;
}
section#history a.arrow {
	margin: 8vh 0 0 0 ;
	display: block;
	width: 100%;
}
@media (min-width: 901px) {
	section#history > div.wrapper {
		display: flex;
		flex-wrap: wrap;
	}
	section#history > div.wrapper > picture {
		width: 50%;
		flex-shrink: 0;
		margin-bottom: 0;
	}
	section#history div.wrapper > div.container {
		width: 50%;
		padding-left: 30px;
	}
	section#history div.dates {
		width: 50%;
	}
}
@media (max-width: 900px) and (min-width: 768px) {
	section#history div.dates div.date p {
		font-size: 1rem;
	}
}
@media (min-width:601px)and (max-width: 900px){
	section#history div.dates {
		display: flex;
	}
	section#history div.dates div.date {
		width: calc(100% / 3);
	}
	section#history div.dates div.date p {
		padding-right: 20px;
	}
}
@media (max-width:600px) {
	section#history div.date  {
		margin: 15px 0;
	}
	section#history div.date img {
		width: 15px;
	}
}

/*------------------------- section caracteristics  ---------------------*/

/* On transforme chaque bloc en conteneur flex */
section#caracteristics div.col-1x2 {
    display: flex;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 3vh;
}

/* On gère la taille de l'icône */
section#caracteristics figure {
    flex-shrink: 0;          /* Empêche l'icône de s'écraser */
    width: 80px;             /* Taille fixe de l'icône */
    height: 80px;
    margin: 0;               /* Reset des marges */
}

section#caracteristics figure img {
    width: 100%;
    height: auto;
}

/* On force le texte à rester groupé à droite */
section#caracteristics div.col-1x2 > h5, 
section#caracteristics div.col-1x2 > p {
    /* Ces éléments vont maintenant se placer à droite de la figure 
       mais pour plus de propreté, il est conseillé de les wrapper 
       (voir étape 2) */
}

section#caracteristics {
	background: #ff7900;
	padding-bottom: 6vh;
}
section#caracteristics div.flex {
	margin: 4vh 0;
}
section#caracteristics figure {
	height: 15vh;
	width: 15vh;
}
section#caracteristics figure img {
	height: 100%;
	width: auto;
}
section#caracteristics h5 {
	margin: 0;
	font-weight: normal;
	font-size: 1.25rem;
}

section#caracteristics div.wrapper div p {
margin-top: .5rem;
}

/*------------------------- section MEDIAS  ---------------------*/
section#media {
	background: var(--gris);
	padding: 0 0 3vh 0;
	margin: -5vh 0 15vh 0;
}
section#media a  {
	text-decoration:none !important;
	text-decoration-line: none !important;
}
section#media div.link a.arrow::before {
	filter: invert(1);
}
section#media div.link {
	margin-top: 3vh;
}
.logo-slider {
	overflow: hidden;
	position: relative;
	padding: 2vw 0;
	-webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
	mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.logo-track {
	display: flex;
	gap: 50px;
	align-items: center;
	width: max-content;
	animation: logo-scroll 25s linear infinite;
}

.logo-track a,
.logo-track span {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.logo-track img {
	max-height: 70px;
	width: auto;
	max-width: 100px;
	object-fit: contain;
	opacity: 0.5;
	transition: opacity 0.3s;
	filter: grayscale(100%);
}

.logo-track img.invert {
	filter: grayscale(100%) invert(1);
}

.logo-track a:hover img {
	opacity: 1;
}

.logo-slider:hover .logo-track {
	animation-play-state: paused;
}

@keyframes logo-scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

p.media-verbatim {
	text-align: center;
	font-style: italic;
	font-size: 1.8em;
	font-weight: 600;
	margin: 4vh 0 4vh 0;
}


/*------------------------- section medias  ---------------------*/
section#medias {
	background: #e9e9e6;
}
section#medias ul {
	list-style:none;
}
section#medias ul img {
	max-height: 80px;
	width: auto;
	max-width: 100px;
	object-fit: contain;
	opacity: 0.6;
	transition: opacity 0.3s;
	filter: grayscale(100%);
}

/*------------------------- section team  ---------------------*/
section#team {
	height: auto;
	padding: 5vh 0 20vh 0vw;
}
section#team div.teammate {
	padding-bottom: 2vw;
}
section#team div.teammate h4 {
	margin: 1vh 0 0 0;
	font-weight: bold;
}
section#team div.teammate h5 {
	margin: .25em 0 0 0 ;
	font-weight: normal;
	font-size: 1.25rem;
}
section#team div.teammate p {
	margin: .25em 0 0 0 ;

}
section#team div.image {
	border-radius: var(--radius);
	display: flex;
	justify-content:center;
	align-items: center;
	overflow: hidden;
	aspect-ratio:4/2;
}
section#team div.image img{
	min-width: 100%;
	filter: grayscale(100%);
}
section#team a.arrow { 
	margin-top: 3vh;
}
section#team a.arrow::before {
	filter: invert(1);
}
/* RESPONSIVE MOBILE */
@media (max-width: 768px) {
	
	section#team div.teammate {
		padding-top: 3vh;
	}
}
/*------------------------- section live  ---------------------*/
section#live {
	background: #ec1c24;
}
section#live div.flex {
	margin: 8vh 0 0 0;
}
section#live div.col-1x2 {
	text-align: center;
	display:flex;
	flex-wrap: wrap;
	background: #ff788c;
	padding: 2vh;
}
section#live div.col-1x2 span {
	display: block;
	font-size: 2rem;
	width: 100%;
}
section#live div.col-1x2 p {
	display: block;
	text-align: center;
	width: 100%;
	margin: 0;
}



/*------------------------- section community  ---------------------*/
section#community {
	background: #ff788c;
}
section#community div#machinauts, section#community div#smiles {
	padding-top: 8vh;
}
section#community h4 {
	margin-bottom: 20px;
}
section#community div#machinauts ul  {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
section#community div#machinauts ul li   {
	flex: 1 1 250px;
	background: rgba(255,255,255,0.2);
	border-radius: var(--radius);
	padding: 25px;
	text-align: left;
}
section#community div#machinauts ul li i  {
	display: block;
	font-size: 1.3rem;
	line-height: 1.6rem;
	font-style: italic;
	margin-bottom: 10px;
}

section#community div#smiles .gallery {
	margin: 5vh -20px;
	display: flex;
	flex-wrap: wrap;
	 align-items: flex-start;
}
section#community div#smiles .gallery div.video {
	display: inline-block;
	height: auto;
	width: 100%;
	border-radius: var(--radius);
	overflow: hidden;
}

section#community div#smiles .gallery img{
	display: inline-block;
	width: calc(50% - 10px);
	height: auto;
	object-fit:contain;
}
section#community div#smiles .gallery img.img1 {
	margin-left: -20px;
}
section#community div#smiles .gallery img.img2 {
	width: 30%;
	height: auto;
}


section#community div#sourirometre div.container {
	height: 20px;
}
section#community div#sourirometre div.container div.back {
	height: 15px;
	width: 100%;
	background: #000;
}
section#community div#sourirometre div.container div.front {
	position: absolute;
	top: 0;
	height: 15px;
	width: 87%;
	background: #fff;
}
section#community div#sourirometre div.container div.button {
	position: absolute;
	height: 40px;
	width: 40px;
	left: calc(87% - 20px);
	background: red;
	border-radius: 50%;
	top: -13px;
}
section#community div#sourirometre div.container p {
	margin: 0;
}


section#community div.emoji {
	text-align: center;
	font-size: 8vh;
	margin-top: 5vh;
}


/*------------------------- section FAQ  ---------------------*/
section#faq {
	background: #fff;
	border-radius:var(--radius) var(--radius) 0 0;
	padding: 5vh 0;
}
section#faq .accordion {
	border-bottom: 1px solid #ddd;
	cursor: pointer;
	padding: 10px 0;
}
section#faq .accordion:last-child {
	border: none;
}
section#faq .accordion h4 {
	padding-right: 50px;
	line-height: 1.25em;
	font-size: 1em;
	margin: 0;
}
section#faq .accordion h4::after {
	position: absolute;
	right: 0;
	top: 5px;
	font-family: 'Material Icons';
	content: '\e313';
	display: inline-block;
	width: 30px;
	height: 30px;
	line-height:32px;
	color: #000;
	font-weight: 400;
	border-radius: 50%;
	text-align: center;
	transition: all .25s ease-in-out 0s;
}
section#faq .accordion p {
	display: none;
	padding-bottom: 3vh;
	margin: 10px 0;
	color: #888;
}
section#faq .accordion.active h4::after {
	transform: rotate(180deg);
}
/*------------------------- section FAQ  ---------------------*/
section#loveit {
	 padding: 0;
	 background: none;
}
section#loveit video {
	 width: 101%;
	 margin: -1% 0;
}
section#loveit div.wrapper {
	position: absolute;
	width: 100%;
	bottom: 5%;
	text-align: right;
}
section#loveit div.wrapper h3 {
	color: #fff;
}


