:root{
  --ink:#18224d;
  --teal:#635bff;
  --deep:#111a42;
  --orange:#ff6d67;
  --cream:#f8f7ff;
  --sage:#dff8f4;
  --line:#dcdcf0;
  --shadow:0 28px 80px rgba(39,39,101,.15);
}

body{
  background-color:#f8f7ff;
  background-image:
    radial-gradient(circle at 5% 12%,rgba(255,109,103,.14),transparent 24rem),
    radial-gradient(circle at 94% 35%,rgba(44,211,190,.14),transparent 28rem),
    linear-gradient(180deg,#fbfaff 0%,#f4f3ff 100%);
  font-family:"Segoe UI Variable",Inter,"Avenir Next","Segoe UI",sans-serif;
}

body:after{
  background-image:radial-gradient(rgba(99,91,255,.11) 1.2px,transparent 1.2px);
  background-size:25px 25px;
  mask-image:linear-gradient(to bottom,black,transparent 66%);
}

.site-header{
  background:rgba(250,249,255,.8);
  border-color:rgba(255,255,255,.9);
  box-shadow:0 14px 45px rgba(55,50,130,.1);
}

.brand-mark{border-radius:15px;border-color:rgba(99,91,255,.18)}
.brand small,.eyebrow{color:#635bff}
.site-header nav>a:not(.button):after{background:linear-gradient(90deg,#635bff,#2cd3be)}

.button,.site-header .button{
  background:linear-gradient(115deg,#635bff 0%,#7c67ee 52%,#ff6d67 130%);
  box-shadow:0 12px 28px rgba(99,91,255,.24);
}

.button:hover{box-shadow:0 17px 38px rgba(99,91,255,.34)}

.hero h1,.section h2,.visit h2{
  font-family:"Segoe UI Variable",Inter,"Avenir Next",sans-serif;
  font-weight:780;
  letter-spacing:-.055em;
}

.hero h1 em{
  font-style:normal;
  font-weight:780;
  background:linear-gradient(100deg,#635bff,#16bca9 62%,#ff6d67);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.hero:before{
  content:"CRÉER • GRANDIR";
  color:transparent;
  -webkit-text-stroke:1px rgba(99,91,255,.1);
  letter-spacing:-.06em;
}

.hero-orbit{border-style:dashed;border-color:rgba(99,91,255,.28)}
.hero-orbit:before{background:#2cd3be;box-shadow:0 0 0 8px rgba(44,211,190,.13)}
.hero-orbit:after{background:#ff6d67}
.hero-logo{border-radius:24px;box-shadow:0 20px 50px rgba(71,62,163,.2)}
.portrait-card{border-radius:34px;box-shadow:0 38px 95px rgba(42,40,110,.24)}
.portrait-card figcaption{font-family:inherit;font-weight:750}
.portrait-card figcaption span{background:linear-gradient(100deg,#2cd3be,#635bff)}
.floating-note{border-radius:18px;box-shadow:0 20px 50px rgba(45,43,118,.16)}
.homepage-poster-card{width:min(100%,550px);height:auto;aspect-ratio:1/1;border-radius:30px;background:#f7f2e9;transform:rotate(.5deg)}.homepage-poster-card img{object-fit:contain;object-position:center}.homepage-poster-card:after,.homepage-poster-card figcaption,.homepage-poster-card+.hero-logo,.homepage-poster-card~.floating-note{display:none}

.intro-band{
  background:linear-gradient(90deg,#111a42,#3d347f,#176f78,#111a42);
  background-size:240% 100%;
}

.section-heading>p:last-child,.lead{color:#566080}

.service-card{
  border:1px solid rgba(99,91,255,.13);
  border-radius:28px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 30px rgba(49,46,113,.05);
}

.service-card:hover{box-shadow:0 28px 70px rgba(57,52,130,.16)}
.service-card.featured{background:linear-gradient(145deg,#635bff,#342d79 78%)}
.service-card .icon{color:#ff6d67;box-shadow:0 10px 24px rgba(35,32,95,.12)}
.service-card h3,.tab-panel h3{font-family:inherit;font-weight:750;letter-spacing:-.035em}
.service-card:before{background:radial-gradient(circle,rgba(44,211,190,.28),transparent 68%)}

.spaces{
  background:
    radial-gradient(circle at 90% 12%,rgba(44,211,190,.16),transparent 24rem),
    linear-gradient(135deg,#eeecff 0%,#faf9ff 52%,#e6fbf7 100%);
}

.spaces:before{border-color:rgba(99,91,255,.22)}
.space-tab.active{color:#635bff;border-bottom-color:#ff6d67}
.space-visual:before{border-color:rgba(99,91,255,.28)}
.space-visual-tag{background:rgba(25,27,74,.82)}
.space-stats b{color:#635bff;font-family:inherit;font-weight:800}

.centre{background:rgba(252,251,255,.75)}
.gallery-photo,.wide-photo{box-shadow:0 25px 70px rgba(43,40,103,.15)}
.gallery-photo figcaption strong,.wide-photo figcaption strong{font-family:inherit;font-weight:750;letter-spacing:-.03em}
.gallery-photo figcaption span{color:#67ead8;font-family:inherit;font-weight:800}

.video-section{
  background:
    radial-gradient(circle at 86% 24%,rgba(44,211,190,.28),transparent 27rem),
    radial-gradient(circle at 8% 90%,rgba(99,91,255,.34),transparent 32rem),
    #111a42;
}

.video-heading h2 em{color:#63e2d0;font-style:normal}
.play-button{color:#635bff}
.video-formats span{background:rgba(255,255,255,.06)}

.booking{
  background:
    radial-gradient(circle at 12% 22%,rgba(255,109,103,.15),transparent 22rem),
    linear-gradient(135deg,#e9e7ff,#e6faf7);
}

.booking-form{border-radius:30px;box-shadow:0 30px 80px rgba(47,43,118,.16)}
input,select,textarea{border-color:#dcdcf0;background:#fbfaff}
input:focus,select:focus,textarea:focus{border-color:#635bff;box-shadow:0 0 0 3px rgba(99,91,255,.12)}
.contact-card{border-left-color:#ff6d67}
.reservio-link{background:linear-gradient(115deg,#635bff,#2bbaa8)}

.visit{background:linear-gradient(125deg,#111a42,#253068 62%,#126a72)}
.visit .eyebrow{color:#6ce4d5}
.button-light{background:#fff;color:#3b347e}

footer{background:#faf9ff}

/* Avis Google */
.reviews-section{position:relative;overflow:hidden;background:linear-gradient(145deg,#111a42 0%,#20295d 58%,#155f68 100%);color:#fff}.reviews-section:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-180px;top:-230px;border:1px solid rgba(106,230,214,.18);box-shadow:0 0 0 70px rgba(106,230,214,.035),0 0 0 140px rgba(106,230,214,.025)}.reviews-heading{position:relative;display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end;margin-bottom:52px}.reviews-heading h2{font-size:clamp(42px,5vw,70px)}.reviews-section .eyebrow{color:#6ce4d5}.google-score{display:flex;align-items:center;gap:18px;padding:20px 24px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(255,255,255,.08);backdrop-filter:blur(18px)}.google-score>div{display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:center}.google-score strong{font-size:36px;line-height:1}.google-score small{grid-column:1/-1;color:#cbd6ec}.google-g{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 42%,#fbbc05 0 66%,#ea4335 0 83%,#4285f4 0);color:#fff;font-size:23px;font-weight:900;box-shadow:inset 0 0 0 11px #fff}.google-g-small{display:inline-grid;width:27px;height:27px;font-size:12px;box-shadow:inset 0 0 0 6px #fff}.stars{color:#fbbc05;letter-spacing:.08em}.reviews-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{padding:28px;min-height:285px;border:1px solid rgba(255,255,255,.13);border-radius:26px;background:rgba(255,255,255,.08);backdrop-filter:blur(14px);display:flex;flex-direction:column;transition:transform .25s,background .25s}.review-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.12)}.review-card-featured{background:linear-gradient(145deg,rgba(99,91,255,.55),rgba(99,91,255,.22))}.review-top{display:flex;justify-content:space-between;align-items:flex-start}.quote-mark{font:60px/1 Georgia,serif;color:#6ce4d5}.review-card blockquote{margin:25px 0 30px;font-size:clamp(20px,1.7vw,26px);font-weight:700;line-height:1.35;letter-spacing:-.025em}.review-card footer{margin-top:auto;padding:0;display:flex;align-items:center;gap:12px;background:none}.review-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#6ce4d5,#635bff);font-weight:850}.review-card footer div{display:flex;flex-direction:column}.review-card footer strong{font-size:13px}.review-card footer small{color:#bac6dd}.reviews-actions{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px}.reviews-actions p{color:#b9c6dc;font-size:12px}.google-button{gap:10px;white-space:nowrap;background:#fff;color:#20295d;box-shadow:none}

@media(max-width:850px){.reviews-heading{grid-template-columns:1fr}.google-score{width:max-content}.reviews-grid{grid-template-columns:1fr}.review-card{min-height:230px}.reviews-actions{align-items:flex-start;flex-direction:column}}
.review-card footer>div{display:flex;flex-direction:column;gap:0;justify-content:flex-start}

.theme-label{position:fixed;z-index:19;left:28px;bottom:22px;padding:9px 14px;border-radius:999px;background:rgba(17,26,66,.9);backdrop-filter:blur(14px);color:#fff;box-shadow:0 12px 32px rgba(17,26,66,.2);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.theme-label span{margin-left:7px;color:#68e7d6}

@media(max-width:600px){
  .hero h1{font-size:42px}
  .service-card{border-radius:23px}
  .theme-label{left:12px;bottom:12px}.theme-label span{display:none}
  .homepage-poster-card{height:auto;aspect-ratio:1/1}
}
