SPB Git

Repository Public

Commit

[ka2] fix connecteur solaris: refonte du site — Wix /plans remplacé par un site custom, granularité unité. Le run du 2026-10-15 11:54 rapportait found=0 « ok » (missed=3) : l'ancien site Wix (www.solarisboisbriand.com/plans, cartes typologie « n ½ … à partir de NNNN$/mois ») redirige désormais vers solarisboisbriand.com/appartements/ — nouveau site rendu serveur (Tailwind, Cloudflare) qui liste les UNITÉS réellement libres (section data-live="units", <li data-unit>, « 6 unités libres sur 133 »). Réécriture du parseur : lecture des <li data-unit> (n°, typologie, chambres, pi², prix exact, date de libération — plus riche que l'ancien « à partir de »), external_id par unité (solaris-702…), images = plans/webp dont le nom contient le n° d'unité + photos -md du projet. Piège réel rencontré : le serveur n'annonce AUCUN charset → requests décodait en latin-1 (« 4½ ») et le regex ne matchait rien — décodage UTF-8 forcé sur resp.content. Garde-fous anti zéro silencieux (pattern sotramont bcdf125) : erreur FRANCHE si la section data-live="units" disparaît (gabarit remanié) ou si 0 unité parsée alors que data-count>0 ; data-count=0 explicite = vrai zéro accepté. Fixture enregistrée pour la première fois (1 requête, 6 annonces), pytest solaris 2 passed. Testé : fetch() venv → 6 unités (3½ 1 870–1 888 $, 4½ 2 110–2 730 $, pi² et dates ISO complets), run.py sync solaris → found=6 ok (added=6, removed=3 : les fiches typologie 3.5/4.5/5.5 désactivées, 0,1 s), pm2 restart lou-ka-sync, site :8095 → 200.

Simon-Pierre Boucher committed · Oct 15, 2026 parent 51f5af5
4 changed files +951 −53 Browse files
modified louka/connectors/solaris.py +74 −53
@@ -3,10 +3,11 @@
3 3 # Auteur : Simon-Pierre Boucher — contact@spboucher.ai
4 4 # connectors/solaris.py : connecteur Solaris Boisbriand (solarisboisbriand.com)
5 5 # Condos locatifs neufs au 1030, rue des Francs-Bourgeois, Boisbriand
6 −# (Faubourg Boisbriand). Site Wix mais rendu SERVEUR : la page /plans contient
7 −# dans son HTML statique les cartes « n ½ (x chambres) … à partir de NNNN$/mois »
8 −# (texte riche wixui, entités &frac12; / &agrave;). Aucune liste d'unités —
9 −# granularité : TYPOLOGIE (3 fiches : 3½ / 4½ / 5½, prix « à partir de »).
6 +# (Faubourg Boisbriand). Refonte 2026-10 : l'ancien site Wix (/plans,
7 +# 3 cartes par TYPOLOGIE) a été remplacé par un site custom rendu serveur.
8 +# La page /appartements/ expose maintenant les UNITÉS réellement libres
9 +# (section data-live="units", <li data-unit="702">…) avec n°, typologie,
10 +# chambres, pi², prix exact et date de libération — granularité : UNITÉ.
10 11 # -----------------------------------------------------------------------------
11 12 from __future__ import annotations
12 13
@@ -16,21 +17,28 @@ import re
16 17 from ..schema import Listing
17 18 from .base import BaseConnector
18 19
19 −BASE = "https://www.solarisboisbriand.com"
20 −PLANS_URL = f"{BASE}/plans"
20 +BASE = "https://solarisboisbriand.com"
21 +PLANS_URL = f"{BASE}/appartements/"
21 22
22 23 ADDRESS = "1030, rue des Francs-Bourgeois, Boisbriand"
23 24 CITY = "Boisbriand"
24 25
25 −# « 3 ½ (1 chambre) … à partir de 1800$/mois » (texte décodé, balises retirées)
26 −CARD_RE = re.compile(
27 − r"(\d)\s*½\s*\((\d)\s*chambres?\)" # typologie (n ½ (x chambres))
28 − r".{0,400}?à\s*partir\s*de\s*" # libellé
29 − r"(\d[\d\s,]*)\s*\$\s*/\s*mois", re.S)
30 −IMG_RE = re.compile(
31 − r"https://static\.wixstatic\.com/media/[^\"'\s\\)]+"
32 − r"\.(?:jpe?g|png|webp)", re.I)
33 −SKIP_IMG_RE = re.compile(r"logo|favicon|icon|blur|~mv2\.png", re.I)
26 +SECTION_RE = re.compile(r'data-live="units".*?</ul>', re.S)
27 +COUNT_RE = re.compile(r'data-count="(\d+)"')
28 +UNIT_LI_RE = re.compile(r'<li[^>]*\bdata-unit="(\d+)"(.*?)</li>', re.S)
29 +# « 4½ · 2 chambres 875 pi² 2 140 $ /mois Libre maintenant Plan » (texte plat)
30 +ROW_RE = re.compile(
31 + r"(\d)\s*½\s*·\s*(\d)\s*chambres?"
32 + r"\s*([\d\s]*?)\s*pi²"
33 + r"\s*([\d\s]+?)\s*\$\s*/\s*mois"
34 + r"\s*(Libre.*?)\s*Plan\b", re.S)
35 +IMG_RE = re.compile(r'<img[^>]+src="([^"]+\.webp)"', re.I)
36 +
37 +
38 +def _flat(fragment: str) -> str:
39 + text = _html.unescape(fragment)
40 + text = re.sub(r"<[^>]+>", " ", text)
41 + return re.sub(r"\s+", " ", text).strip()
34 42
35 43
36 44 class SolarisConnector(BaseConnector):
@@ -38,59 +46,72 @@ class SolarisConnector(BaseConnector):
38 46 request_delay = 0.6
39 47 max_images = 10
40 48
41 − def _images(self) -> list[str]:
42 − """Photos du projet (page d'accueil Wix, media wixstatic)."""
43 − try:
44 − html = self.get(f"{BASE}/").text
45 − except Exception:
46 − return []
47 − out: list[str] = []
48 − for u in dict.fromkeys(IMG_RE.findall(html)):
49 − u = u.split("/v1/")[0] # version pleine taille
50 − if not SKIP_IMG_RE.search(u) and u not in out:
51 − out.append(u)
52 − return out[: self.max_images]
53 −
54 49 def fetch(self) -> list[Listing]:
55 − raw = self.get(PLANS_URL).text
56 − # entités (&frac12;, &agrave;…) puis balises -> texte plat
57 − text = _html.unescape(raw)
58 − text = re.sub(r"<script.*?</script>", " ", text, flags=re.S)
59 − text = re.sub(r"<style.*?</style>", " ", text, flags=re.S)
60 − text = re.sub(r"<[^>]+>", " ", text)
61 − text = re.sub(r"\s+", " ", text)
50 + # le serveur n'annonce pas de charset → requests décoderait en
51 + # latin-1 et casserait « ½ », « ² » et les espaces insécables des prix.
52 + raw = self.get(PLANS_URL).content.decode("utf-8", "replace")
53 +
54 + m = SECTION_RE.search(raw)
55 + if not m:
56 + # gabarit remanié ≠ vrai zéro (pattern sotramont) : jamais de
57 + # zéro silencieux quand la section des unités a disparu.
58 + raise RuntimeError(
59 + "solaris: section data-live=\"units\" introuvable sur "
60 + f"{PLANS_URL} — gabarit du site modifié ?")
61 + section = m.group(0)
62 +
63 + cm = COUNT_RE.search(section)
64 + count = int(cm.group(1)) if cm else None
65 +
66 + # images : plans/photos des unités (le n° d'unité figure dans le nom
67 + # de fichier des plans) + photos génériques du projet (variante -md).
68 + all_imgs = [u if u.startswith("http") else BASE + u
69 + for u in dict.fromkeys(IMG_RE.findall(raw))]
70 + plan_imgs = [u for u in all_imgs if "/plans/unites-" in u]
71 + building_imgs = [u for u in all_imgs
72 + if "/photos/" in u and "-md.webp" in u]
62 73
63 − images = self._images()
64 74 listings: list[Listing] = []
65 − seen: set[str] = set()
66 − for n, beds, amount in CARD_RE.findall(text):
67 − unit_type = f"{n}½"
68 − if unit_type in seen:
75 + for num, body in UNIT_LI_RE.findall(section):
76 + row = ROW_RE.search(_flat(body))
77 + if not row:
69 78 continue
70 − seen.add(unit_type)
71 − amount = amount.strip().replace(" ", "").replace(",", "")
79 + n, beds, sqft, amount, avail = row.groups()
72 80 try:
73 − price = float(amount)
81 + price = float(re.sub(r"\s", "", amount))
74 82 except ValueError:
75 83 continue
76 84 if not 300 <= price <= 20000:
77 85 continue
86 + unit_type = f"{n}½"
87 + area = None
88 + sqft = re.sub(r"\s", "", sqft)
89 + if sqft.isdigit():
90 + area = float(sqft)
91 + imgs = [u for u in plan_imgs
92 + if num in re.findall(r"\d{3}", u.rsplit("/", 1)[-1])]
93 + imgs += building_imgs
78 94 listings.append(Listing(
79 95 source=self.source_id,
80 − external_id=f"solaris-{n}.5",
81 − url=PLANS_URL,
82 − title=f"Solaris Boisbriand — {unit_type}"
83 − f" ({beds} chambre{'s' if beds != '1' else ''})",
96 + external_id=f"solaris-{num}",
97 + url=f"{PLANS_URL}#dispo-liste",
98 + title=f"Solaris Boisbriand — {unit_type} (unité {num})",
84 99 address=ADDRESS,
85 100 city=CITY,
86 101 unit_type=unit_type,
87 102 bedrooms=float(beds),
88 103 price=price,
89 − price_label=f"à partir de {int(price)}$/mois",
90 − availability="Disponible",
91 − description=f"Condo locatif neuf {unit_type}"
92 − f" ({beds} chambre(s)) au Faubourg Boisbriand"
93 − " — prix « à partir de », selon l'unité.",
94 − images=list(images),
104 + price_label=f"{int(price)} $/mois",
105 + availability=avail,
106 + area_sqft=area,
107 + description=f"Appartement {unit_type} ({beds} chambre(s)),"
108 + f" unité {num}, au Solaris, Faubourg Boisbriand.",
109 + details={"unit": num},
110 + images=list(dict.fromkeys(imgs))[: self.max_images],
95 111 ))
112 +
113 + if not listings and (count is None or count > 0):
114 + raise RuntimeError(
115 + "solaris: aucune unité parsée alors que la page annonce "
116 + f"data-count={count!r} — parsing cassé ?")
96 117 return listings
added tests/fixtures/solaris/expected.json +89 −0
@@ -0,0 +1,89 @@
1 +{
2 + "count": 6,
3 + "listings": [
4 + {
5 + "uid": "solaris:solaris-601",
6 + "url": "https://solarisboisbriand.com/appartements/#dispo-liste",
7 + "title": "Solaris Boisbriand — 4½ (unité 601)",
8 + "address": "1030, rue des Francs-Bourgeois, Boisbriand",
9 + "sector": "",
10 + "city": "Boisbriand",
11 + "unit_type": "4½",
12 + "price": 2542.0,
13 + "availability": "Libre le 1er juillet 2027",
14 + "area_sqft": 1017.0,
15 + "n_images": 10,
16 + "n_amenities": 0
17 + },
18 + {
19 + "uid": "solaris:solaris-702",
20 + "url": "https://solarisboisbriand.com/appartements/#dispo-liste",
21 + "title": "Solaris Boisbriand — 4½ (unité 702)",
22 + "address": "1030, rue des Francs-Bourgeois, Boisbriand",
23 + "sector": "",
24 + "city": "Boisbriand",
25 + "unit_type": "4½",
26 + "price": 2140.0,
27 + "availability": "Libre maintenant",
28 + "area_sqft": 875.0,
29 + "n_images": 10,
30 + "n_amenities": 0
31 + },
32 + {
33 + "uid": "solaris:solaris-705",
34 + "url": "https://solarisboisbriand.com/appartements/#dispo-liste",
35 + "title": "Solaris Boisbriand — 4½ (unité 705)",
36 + "address": "1030, rue des Francs-Bourgeois, Boisbriand",
37 + "sector": "",
38 + "city": "Boisbriand",
39 + "unit_type": "4½",
40 + "price": 2110.0,
41 + "availability": "Libre le 1er décembre 2026",
42 + "area_sqft": 831.0,
43 + "n_images": 10,
44 + "n_amenities": 0
45 + },
46 + {
47 + "uid": "solaris:solaris-806",
48 + "url": "https://solarisboisbriand.com/appartements/#dispo-liste",
49 + "title": "Solaris Boisbriand — 3½ (unité 806)",
50 + "address": "1030, rue des Francs-Bourgeois, Boisbriand",
51 + "sector": "",
52 + "city": "Boisbriand",
53 + "unit_type": "3½",
54 + "price": 1870.0,
55 + "availability": "Libre le 1er janvier 2027",
56 + "area_sqft": 667.0,
57 + "n_images": 7,
58 + "n_amenities": 0
59 + },
60 + {
61 + "uid": "solaris:solaris-814",
62 + "url": "https://solarisboisbriand.com/appartements/#dispo-liste",
63 + "title": "Solaris Boisbriand — 3½ (unité 814)",
64 + "address": "1030, rue des Francs-Bourgeois, Boisbriand",
65 + "sector": "",
66 + "city": "Boisbriand",
67 + "unit_type": "3½",
68 + "price": 1888.0,
69 + "availability": "Libre le 1er novembre 2026",
70 + "area_sqft": 671.0,
71 + "n_images": 10,
72 + "n_amenities": 0
73 + },
74 + {
75 + "uid": "solaris:solaris-902",
76 + "url": "https://solarisboisbriand.com/appartements/#dispo-liste",
77 + "title": "Solaris Boisbriand — 4½ (unité 902)",
78 + "address": "1030, rue des Francs-Bourgeois, Boisbriand",
79 + "sector": "",
80 + "city": "Boisbriand",
81 + "unit_type": "4½",
82 + "price": 2730.0,
83 + "availability": "Libre le 1er janvier 2027",
84 + "area_sqft": 974.0,
85 + "n_images": 5,
86 + "n_amenities": 0
87 + }
88 + ]
89 +}
\ No newline at end of file
added tests/fixtures/solaris/ff9b34ea1bb0197148b2.html +779 −0
@@ -0,0 +1,779 @@
1 +<!DOCTYPE html><html lang="fr-CA"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>3½, 4½ et 5½ à louer à Boisbriand : prix et disponibilités · Solaris</title><meta name="description" content="3½, 4½ et 5½ à louer au Solaris, Boisbriand : unités disponibles, prix, superficies et inclusions (internet et électroménagers)."><link rel="canonical" href="https://solarisboisbriand.com/appartements/"><link rel="icon" href="/favicon.png" type="image/png"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><meta name="theme-color" content="#f5efe6"><link rel="preload" href="/_astro/fraunces-latin-opsz-normal.DihXLNYH.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/_astro/inter-latin-opsz-normal.BwkfbSeq.woff2" as="font" type="font/woff2" crossorigin><meta property="og:type" content="website"><meta property="og:title" content="3½, 4½ et 5½ à louer à Boisbriand : prix et disponibilités · Solaris"><meta property="og:description" content="3½, 4½ et 5½ à louer au Solaris, Boisbriand : unités disponibles, prix, superficies et inclusions (internet et électroménagers)."><meta property="og:image" content="https://solarisboisbriand.com/og/solaris.jpg"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt" content="Solaris au crépuscule, au cœur du Faubourg Boisbriand"><meta property="og:locale" content="fr_CA"><meta name="twitter:card" content="summary_large_image"><meta name="facebook-domain-verification" content="5kkahcfg3w354qt3g26uxmrt5j3g72"><script type="application/ld+json">{"@context":"https://schema.org","@type":"ApartmentComplex","name":"Solaris","url":"https://solarisboisbriand.com/","image":"https://solarisboisbriand.com/photos/0013.webp","telephone":"+1-581-989-4457","email":"info@solarisboisbriand.com","numberOfAccommodationUnits":133,"address":{"@type":"PostalAddress","streetAddress":"1030 rue des Francs-Bourgeois","addressLocality":"Boisbriand","addressRegion":"QC","postalCode":"J7H 0H8","addressCountry":"CA"},"geo":{"@type":"GeoCoordinates","latitude":45.62723,"longitude":-73.85286},"containedInPlace":{"@type":"Place","name":"Faubourg Boisbriand"},"petsAllowed":true,"tourBookingPage":"https://solarisboisbriand.com/visiter/","amenityFeature":[{"@type":"LocationFeatureSpecification","name":"Piscine sur le toit","value":true},{"@type":"LocationFeatureSpecification","name":"Spa","value":true},{"@type":"LocationFeatureSpecification","name":"Salle d'entraînement","value":true},{"@type":"LocationFeatureSpecification","name":"Cotravail","value":true},{"@type":"LocationFeatureSpecification","name":"Chalet urbain (cuisine partagée)","value":true},{"@type":"LocationFeatureSpecification","name":"Stationnement intérieur","value":true},{"@type":"LocationFeatureSpecification","name":"Ascenseur","value":true},{"@type":"LocationFeatureSpecification","name":"Internet inclus","value":true},{"@type":"LocationFeatureSpecification","name":"Électroménagers inclus","value":true},{"@type":"LocationFeatureSpecification","name":"Thermopompe","value":true},{"@type":"LocationFeatureSpecification","name":"Équipe sur place 24 h sur 24, 7 jours sur 7","value":true}]}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Solaris","item":"https://solarisboisbriand.com/"},{"@type":"ListItem","position":2,"name":"3½, 4½ et 5½ à louer à Boisbriand","item":"https://solarisboisbriand.com/appartements/"}]}</script><style>@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-opsz-normal.Czevyj-6.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-opsz-normal.CJcjJNj7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-opsz-normal.DihXLNYH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-opsz-normal.CfYZpDVp.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-opsz-normal.BFQXbQ-f.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-opsz-normal.BmPQvyvo.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-opsz-normal.BM0NlUE_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-opsz-normal.Ci9T9ieq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-opsz-normal.DpK-iCPk.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-opsz-normal.BwkfbSeq.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:"Inter Variable", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:oklch(93.6% .032 17.717);--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-paper:#f5efe6;--color-sand:#efe6d8;--color-line:#e3d8c6;--color-ink:#1f2b47;--color-night:#16203a;--color-muted:#434a5b;--color-gold:#c9934e;--color-gold-ink:#7f561e;--font-display:"Fraunces Variable", Georgia, serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-2{top:calc(var(--spacing) * 2)}.bottom-0{bottom:0}.bottom-2{bottom:calc(var(--spacing) * 2)}.-left-\[7px\]{left:-7px}.left-2{left:calc(var(--spacing) * 2)}.z-40{z-index:40}.z-\[2\]{z-index:2}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-2{grid-row-start:2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-3\.5{margin-inline:calc(var(--spacing) * -3.5)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-14{margin-block:calc(var(--spacing) * 14)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[3\/2\]{aspect-ratio:3/2}.aspect-\[4\/3\.3\]{aspect-ratio:4/3.3}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[5\/6\]{aspect-ratio:5/6}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[16\/10\]{aspect-ratio:16/10}.\!h-5{height:calc(var(--spacing) * 5)!important}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-20{height:calc(var(--spacing) * 20)}.h-\[18px\]{height:18px}.h-\[68px\]{height:68px}.h-\[78vh\]{height:78vh}.h-\[calc\(100svh-170px\)\]{height:calc(100svh - 170px)}.h-auto{height:auto}.h-full{height:100%}.max-h-\[860px\]{max-height:860px}.\!min-h-\[44px\]{min-height:44px!important}.min-h-0{min-height:0}.min-h-\[560px\]{min-height:560px}.min-h-\[600px\]{min-height:600px}.min-h-screen{min-height:100vh}.\!w-5{width:calc(var(--spacing) * 5)!important}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-36{width:calc(var(--spacing) * 36)}.w-\[18px\]{width:18px}.w-auto{width:auto}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[16ch\]{max-width:16ch}.max-w-\[18ch\]{max-width:18ch}.max-w-\[20ch\]{max-width:20ch}.max-w-\[22ch\]{max-width:22ch}.max-w-\[34ch\]{max-width:34ch}.max-w-\[36ch\]{max-width:36ch}.max-w-\[40ch\]{max-width:40ch}.max-w-\[42ch\]{max-width:42ch}.max-w-\[44ch\]{max-width:44ch}.max-w-\[46ch\]{max-width:46ch}.max-w-\[52ch\]{max-width:52ch}.max-w-\[56ch\]{max-width:56ch}.max-w-\[58ch\]{max-width:58ch}.max-w-\[60ch\]{max-width:60ch}.max-w-\[62ch\]{max-width:62ch}.max-w-\[90ch\]{max-width:90ch}.max-w-\[440px\]{max-width:440px}.max-w-\[460px\]{max-width:460px}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-\[640px\]{max-width:640px}.max-w-\[1240px\]{max-width:1240px}.max-w-full{max-width:100%}.flex-1{flex:1}.flex-\[1\.6\]{flex:1.6}.shrink-0{flex-shrink:0}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-6{scroll-margin-top:calc(var(--spacing) * 6)}.scroll-mt-8{scroll-margin-top:calc(var(--spacing) * 8)}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[56px_1fr_auto\]{grid-template-columns:56px 1fr auto}.grid-cols-\[120px_1fr\]{grid-template-columns:120px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-14>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-16>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-x-10{column-gap:calc(var(--spacing) * 10)}.gap-x-12{column-gap:calc(var(--spacing) * 12)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}.gap-y-8{row-gap:calc(var(--spacing) * 8)}.gap-y-10{row-gap:calc(var(--spacing) * 10)}.gap-y-12{row-gap:calc(var(--spacing) * 12)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-line>:not(:last-child)){border-color:var(--color-line)}:where(.divide-paper\/15>:not(:last-child)){border-color:#f5efe626}@supports (color:color-mix(in lab,red,red)){:where(.divide-paper\/15>:not(:last-child)){border-color:color-mix(in oklab,var(--color-paper) 15%,transparent)}}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-center{justify-self:center}.justify-self-end{justify-self:flex-end}.justify-self-start{justify-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[14px\]{border-radius:14px}.rounded-\[18px\]{border-radius:18px}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[\#e7b66e\]{border-color:#e7b66e}.border-gold{border-color:var(--color-gold)}.border-ink\/80{border-color:#1f2b47cc}@supports (color:color-mix(in lab,red,red)){.border-ink\/80{border-color:color-mix(in oklab,var(--color-ink) 80%,transparent)}}.border-line{border-color:var(--color-line)}.border-paper\/15{border-color:#f5efe626}@supports (color:color-mix(in lab,red,red)){.border-paper\/15{border-color:color-mix(in oklab,var(--color-paper) 15%,transparent)}}.border-paper\/20{border-color:#f5efe633}@supports (color:color-mix(in lab,red,red)){.border-paper\/20{border-color:color-mix(in oklab,var(--color-paper) 20%,transparent)}}.bg-gold{background-color:var(--color-gold)}.bg-gold\/25{background-color:#c9934e40}@supports (color:color-mix(in lab,red,red)){.bg-gold\/25{background-color:color-mix(in oklab,var(--color-gold) 25%,transparent)}}.bg-ink{background-color:var(--color-ink)}.bg-night{background-color:var(--color-night)}.bg-paper{background-color:var(--color-paper)}.bg-paper\/95{background-color:#f5efe6f2}@supports (color:color-mix(in lab,red,red)){.bg-paper\/95{background-color:color-mix(in oklab,var(--color-paper) 95%,transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-sand{background-color:var(--color-sand)}.bg-white{background-color:var(--color-white)}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-night{--tw-gradient-from:var(--color-night);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-night\/75{--tw-gradient-from:#16203abf}@supports (color:color-mix(in lab,red,red)){.from-night\/75{--tw-gradient-from:color-mix(in oklab, var(--color-night) 75%, transparent)}}.from-night\/75{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-night\/80{--tw-gradient-from:#16203acc}@supports (color:color-mix(in lab,red,red)){.from-night\/80{--tw-gradient-from:color-mix(in oklab, var(--color-night) 80%, transparent)}}.from-night\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-night\/30{--tw-gradient-via:#16203a4d}@supports (color:color-mix(in lab,red,red)){.via-night\/30{--tw-gradient-via:color-mix(in oklab, var(--color-night) 30%, transparent)}}.via-night\/30{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-night\/80{--tw-gradient-via:#16203acc}@supports (color:color-mix(in lab,red,red)){.via-night\/80{--tw-gradient-via:color-mix(in oklab, var(--color-night) 80%, transparent)}}.via-night\/80{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-night\/10{--tw-gradient-to:#16203a1a}@supports (color:color-mix(in lab,red,red)){.to-night\/10{--tw-gradient-to:color-mix(in oklab, var(--color-night) 10%, transparent)}}.to-night\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.\!px-5{padding-inline:calc(var(--spacing) * 5)!important}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.\!py-0{padding-block:0!important}.\!py-2\.5{padding-block:calc(var(--spacing) * 2.5)!important}.\!py-3{padding-block:calc(var(--spacing) * 3)!important}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pb-1{padding-bottom:var(--spacing)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-\[76px\]{padding-bottom:76px}.pb-\[max\(12px\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(12px,env(safe-area-inset-bottom))}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-sans{font-family:var(--font-sans)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.\!text-\[10px\]{font-size:10px!important}.\!text-\[18px\]{font-size:18px!important}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[23px\]{font-size:23px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.text-\[30px\]{font-size:30px}.text-\[32px\]{font-size:32px}.text-\[34px\]{font-size:34px}.text-\[36px\]{font-size:36px}.text-\[40px\]{font-size:40px}.text-\[44px\]{font-size:44px}.text-\[46px\]{font-size:46px}.text-\[48px\]{font-size:48px}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[0\.98\]{--tw-leading:.98;line-height:.98}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.leading-\[1\],.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[\#c4001a\]{color:#c4001a}.text-\[\#e7b66e\]{color:#e7b66e}.text-\[\#f3d49e\]{color:#f3d49e}.text-gold-ink{color:var(--color-gold-ink)}.text-ink{color:var(--color-ink)}.text-ink\/85{color:#1f2b47d9}@supports (color:color-mix(in lab,red,red)){.text-ink\/85{color:color-mix(in oklab,var(--color-ink) 85%,transparent)}}.text-muted{color:var(--color-muted)}.text-paper{color:var(--color-paper)}.text-paper\/60{color:#f5efe699}@supports (color:color-mix(in lab,red,red)){.text-paper\/60{color:color-mix(in oklab,var(--color-paper) 60%,transparent)}}.text-paper\/70{color:#f5efe6b3}@supports (color:color-mix(in lab,red,red)){.text-paper\/70{color:color-mix(in oklab,var(--color-paper) 70%,transparent)}}.text-paper\/75{color:#f5efe6bf}@supports (color:color-mix(in lab,red,red)){.text-paper\/75{color:color-mix(in oklab,var(--color-paper) 75%,transparent)}}.text-paper\/80{color:#f5efe6cc}@supports (color:color-mix(in lab,red,red)){.text-paper\/80{color:color-mix(in oklab,var(--color-paper) 80%,transparent)}}.text-paper\/85{color:#f5efe6d9}@supports (color:color-mix(in lab,red,red)){.text-paper\/85{color:color-mix(in oklab,var(--color-paper) 85%,transparent)}}.text-paper\/90{color:#f5efe6e6}@supports (color:color-mix(in lab,red,red)){.text-paper\/90{color:color-mix(in oklab,var(--color-paper) 90%,transparent)}}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-\[\#f3d49e\]\/60{text-decoration-color:#f3d49e99}.decoration-gold{-webkit-text-decoration-color:var(--color-gold);text-decoration-color:var(--color-gold)}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--color-gold\)\]{accent-color:var(--color-gold)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-paper{--tw-ring-color:var(--color-paper)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\]{transition-property:translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.group-open\:rotate-45:is(:where(.group):is([open],:popover-open,:open) *){rotate:45deg}@media(hover:hover){.group-hover\:scale-\[1\.03\]:is(:where(.group):hover *){scale:1.03}.group-hover\:scale-\[1\.04\]:is(:where(.group):hover *){scale:1.04}.group-hover\:underline:is(:where(.group):hover *){text-decoration-line:underline}.hover\:border-gold:hover{border-color:var(--color-gold)}.hover\:bg-sand:hover{background-color:var(--color-sand)}.hover\:text-\[\#e7b66e\]:hover{color:#e7b66e}.hover\:text-gold:hover{color:var(--color-gold)}.hover\:text-gold-ink:hover{color:var(--color-gold-ink)}.hover\:decoration-\[\#f3d49e\]:hover{text-decoration-color:#f3d49e}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:top-3:focus{top:calc(var(--spacing) * 3)}.focus\:left-3:focus{left:calc(var(--spacing) * 3)}.focus\:z-50:focus{z-index:50}.focus\:border-gold:focus{border-color:var(--color-gold)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}@media not all and (min-width:48rem){.max-md\:hidden{display:none}}@media(min-width:40rem){.sm\:bottom-3{bottom:calc(var(--spacing) * 3)}.sm\:left-3{left:calc(var(--spacing) * 3)}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:aspect-\[16\/9\]{aspect-ratio:16/9}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.sm\:py-2{padding-block:calc(var(--spacing) * 2)}.sm\:text-\[15px\]{font-size:15px}.sm\:text-\[16px\]{font-size:16px}}@media(min-width:48rem){.md\:sticky{position:sticky}.md\:top-8{top:calc(var(--spacing) * 8)}.md\:order-2{order:2}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-start-auto{grid-column-start:auto}.md\:row-start-auto{grid-row-start:auto}.md\:mx-8{margin-inline:calc(var(--spacing) * 8)}.md\:my-20{margin-block:calc(var(--spacing) * 20)}.md\:mt-8{margin-top:calc(var(--spacing) * 8)}.md\:mt-12{margin-top:calc(var(--spacing) * 12)}.md\:mt-24{margin-top:calc(var(--spacing) * 24)}.md\:ml-auto{margin-left:auto}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:aspect-\[4\/5\]{aspect-ratio:4/5}.md\:aspect-\[5\/4\]{aspect-ratio:5/4}.md\:aspect-auto{aspect-ratio:auto}.md\:h-11{height:calc(var(--spacing) * 11)}.md\:h-14{height:calc(var(--spacing) * 14)}.md\:h-\[84px\]{height:84px}.md\:h-auto{height:auto}.md\:max-h-none{max-height:none}.md\:min-h-\[inherit\]{min-height:inherit}.md\:min-h-\[min\(860px\,calc\(100vh-40px\)\)\]{min-height:min(860px,100vh - 40px)}.md\:w-14{width:calc(var(--spacing) * 14)}.md\:w-auto{width:auto}.md\:flex-1{flex:1}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.md\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}.md\:grid-cols-\[0\.75fr_1\.25fr\]{grid-template-columns:.75fr 1.25fr}.md\:grid-cols-\[0\.85fr_1\.15fr\]{grid-template-columns:.85fr 1.15fr}.md\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.md\:grid-cols-\[1\.1fr_1fr\]{grid-template-columns:1.1fr 1fr}.md\:grid-cols-\[1\.2fr_0\.8fr\]{grid-template-columns:1.2fr .8fr}.md\:grid-cols-\[1\.2fr_1fr\]{grid-template-columns:1.2fr 1fr}.md\:grid-cols-\[1\.4fr_1fr_1fr\]{grid-template-columns:1.4fr 1fr 1fr}.md\:grid-cols-\[1\.5fr_1fr_1fr\]{grid-template-columns:1.5fr 1fr 1fr}.md\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}.md\:grid-cols-\[1\.35fr_1fr\]{grid-template-columns:1.35fr 1fr}.md\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:grid-cols-\[90px_1fr_150px_170px_140px\]{grid-template-columns:90px 1fr 150px 170px 140px}.md\:grid-cols-\[150px_1fr\]{grid-template-columns:150px 1fr}.md\:grid-cols-\[640px_1fr\]{grid-template-columns:640px 1fr}.md\:items-center{align-items:center}.md\:gap-5{gap:calc(var(--spacing) * 5)}.md\:gap-8{gap:calc(var(--spacing) * 8)}.md\:gap-12{gap:calc(var(--spacing) * 12)}.md\:gap-14{gap:calc(var(--spacing) * 14)}.md\:gap-16{gap:calc(var(--spacing) * 16)}.md\:gap-20{gap:calc(var(--spacing) * 20)}:where(.md\:space-y-20>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 20) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 20) * calc(1 - var(--tw-space-y-reverse)))}:where(.md\:space-y-24>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 24) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 24) * calc(1 - var(--tw-space-y-reverse)))}.md\:gap-x-16{column-gap:calc(var(--spacing) * 16)}.md\:gap-y-12{row-gap:calc(var(--spacing) * 12)}.md\:justify-self-end{justify-self:flex-end}.md\:bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.md\:from-night\/85{--tw-gradient-from:#16203ad9}@supports (color:color-mix(in lab,red,red)){.md\:from-night\/85{--tw-gradient-from:color-mix(in oklab, var(--color-night) 85%, transparent)}}.md\:from-night\/85{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.md\:via-night\/55{--tw-gradient-via:#16203a8c}@supports (color:color-mix(in lab,red,red)){.md\:via-night\/55{--tw-gradient-via:color-mix(in oklab, var(--color-night) 55%, transparent)}}.md\:via-night\/55{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.md\:via-38\%{--tw-gradient-via-position:38%}.md\:to-night\/0{--tw-gradient-to:#0000}@supports (color:color-mix(in lab,red,red)){.md\:to-night\/0{--tw-gradient-to:color-mix(in oklab, var(--color-night) 0%, transparent)}}.md\:to-night\/0{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.md\:to-58\%{--tw-gradient-to-position:58%}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:p-10{padding:calc(var(--spacing) * 10)}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:p-14{padding:calc(var(--spacing) * 14)}.md\:px-7{padding-inline:calc(var(--spacing) * 7)}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:py-5{padding-block:calc(var(--spacing) * 5)}.md\:py-10{padding-block:calc(var(--spacing) * 10)}.md\:py-16{padding-block:calc(var(--spacing) * 16)}.md\:py-20{padding-block:calc(var(--spacing) * 20)}.md\:py-24{padding-block:calc(var(--spacing) * 24)}.md\:py-28{padding-block:calc(var(--spacing) * 28)}.md\:py-32{padding-block:calc(var(--spacing) * 32)}.md\:pt-12{padding-top:calc(var(--spacing) * 12)}.md\:pt-14{padding-top:calc(var(--spacing) * 14)}.md\:pt-24{padding-top:calc(var(--spacing) * 24)}.md\:pt-28{padding-top:calc(var(--spacing) * 28)}.md\:pt-\[150px\]{padding-top:150px}.md\:pb-0{padding-bottom:0}.md\:pb-9{padding-bottom:calc(var(--spacing) * 9)}.md\:pb-12{padding-bottom:calc(var(--spacing) * 12)}.md\:pb-14{padding-bottom:calc(var(--spacing) * 14)}.md\:pb-16{padding-bottom:calc(var(--spacing) * 16)}.md\:pb-20{padding-bottom:calc(var(--spacing) * 20)}.md\:pb-24{padding-bottom:calc(var(--spacing) * 24)}.md\:pl-0{padding-left:0}.md\:pl-\[1\.4em\]{padding-left:1.4em}.md\:text-left{text-align:left}.md\:text-right{text-align:right}.md\:text-\[17px\]{font-size:17px}.md\:text-\[18px\]{font-size:18px}.md\:text-\[19px\]{font-size:19px}.md\:text-\[20px\]{font-size:20px}.md\:text-\[24px\]{font-size:24px}.md\:text-\[26px\]{font-size:26px}.md\:text-\[27px\]{font-size:27px}.md\:text-\[28px\]{font-size:28px}.md\:text-\[30px\]{font-size:30px}.md\:text-\[32px\]{font-size:32px}.md\:text-\[34px\]{font-size:34px}.md\:text-\[38px\]{font-size:38px}.md\:text-\[40px\]{font-size:40px}.md\:text-\[42px\]{font-size:42px}.md\:text-\[44px\]{font-size:44px}.md\:text-\[48px\]{font-size:48px}.md\:text-\[52px\]{font-size:52px}.md\:text-\[54px\]{font-size:54px}.md\:text-\[56px\]{font-size:56px}.md\:text-\[64px\]{font-size:64px}.md\:text-\[68px\]{font-size:68px}.md\:text-\[72px\]{font-size:72px}.md\:text-\[76px\]{font-size:76px}.md\:text-\[80px\]{font-size:80px}.md\:leading-\[0\.95\]{--tw-leading:.95;line-height:.95}}@media(min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-6{top:calc(var(--spacing) * 6)}.lg\:top-32{top:calc(var(--spacing) * 32)}.lg\:inline-flex{display:inline-flex}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[0\.62fr_1\.38fr\]{grid-template-columns:.62fr 1.38fr}.lg\:grid-cols-\[1\.25fr_1fr\]{grid-template-columns:1.25fr 1fr}.lg\:gap-9{gap:calc(var(--spacing) * 9)}.lg\:gap-14{gap:calc(var(--spacing) * 14)}.lg\:pt-24{padding-top:calc(var(--spacing) * 24)}}@media(min-width:80rem){.xl\:text-\[88px\]{font-size:88px}}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_h2\]\:pt-4 h2{padding-top:calc(var(--spacing) * 4)}.\[\&_h2\]\:text-\[26px\] h2{font-size:26px}@media(min-width:48rem){.md\:\[\&\>\*\:first-child\]\:order-2>:first-child{order:2}}}html{background:var(--color-paper);color:var(--color-ink);scroll-behavior:smooth;scroll-padding-top:16px}@media(min-width:768px){html{scroll-padding-top:120px}}body{font-feature-settings:"ss01","cv11"}.title{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.006em;text-wrap:balance;font-weight:360;line-height:1.06}em{font-style:normal}.eyebrow{letter-spacing:.01em;color:var(--color-gold-ink);font-size:15px;font-weight:600}.on-dark .eyebrow{color:#e7b66e}.eyebrow:before{content:"";border:1.5px solid var(--color-gold);vertical-align:-.12em;border-right-color:#0000;border-radius:999px;width:.9em;height:.9em;margin-right:.6em;display:inline-block;transform:rotate(-35deg)}.btn{border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.95rem 1.5rem;font-size:15px;font-weight:600;line-height:1;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.btn-gold{background:var(--color-ink);color:var(--color-paper)}.btn-gold:hover{background:#2d3d63}.on-dark .btn-gold{color:var(--color-night,#10172b);background:#e0b46e}.on-dark .btn-gold:hover{background:#ebc68a}.btn-line{border:1px solid}.btn-line:hover{background:currentColor}@supports (color:color-mix(in lab,red,red)){.btn-line:hover{background:color-mix(in srgb,currentColor 8%,transparent)}}.photo{background:var(--color-sand);object-fit:cover;width:100%;height:100%}.card-r{border-radius:18px;overflow:hidden}:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px;border-radius:6px}.map-pin{background:var(--color-ink);color:#fff;z-index:2;border-radius:999px;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;transition:transform .2s,background .2s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #fff,0 2px 6px #16203a40}.map-pin.is-on,.map-pin:hover{background:var(--color-gold);color:var(--color-ink);z-index:5;transform:translate(-50%,-50%)scale(1.2)}.map-tip{white-space:nowrap;background:var(--color-ink);color:#fff;opacity:0;pointer-events:none;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:600;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.map-pin.is-on .map-tip,.map-pin:hover .map-tip{opacity:1}.map-home{background:var(--color-ink);color:#fff;font-family:var(--font-display);letter-spacing:.01em;z-index:4;white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:5px 14px 5px 6px;font-size:16px;font-weight:500;display:inline-flex;position:absolute;transform:translate(-50%,calc(-100% - 18px));box-shadow:0 6px 18px #16203a47}.map-home:after{content:"";background:var(--color-ink);width:2px;height:14px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.map-home:before{content:"";background:var(--color-gold);border-radius:999px;width:11px;height:11px;position:absolute;top:calc(100% + 13px);left:50%;transform:translate(-50%);box-shadow:0 0 0 2.5px #fff,0 1px 4px #16203a4d}.map-mark{filter:brightness(1.25)saturate(1.2);width:24px;height:24px}.wm-dot{background:var(--color-ink);z-index:3;border-radius:999px;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2.5px #fff,0 1px 3px #16203a59}.wm-label{z-index:3;white-space:nowrap;color:var(--color-ink);background:#fff;border-radius:10px;padding:6px 10px;line-height:1.2;position:absolute;box-shadow:0 1px 2px #16203a1f,0 4px 12px #16203a1a}.wm-label:before{content:"";background:#fff;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.wm-right{transform:translate(16px,-50%)}.wm-right:before{top:calc(50% - 5px);left:-4px}.wm-above{transform:translate(calc(22px - 100%),calc(-100% - 15px))}.wm-above:before{bottom:-4px;right:17px}.wm-street{letter-spacing:.02em;color:#6f6556;white-space:nowrap;pointer-events:none;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 2px #fff;z-index:1;font-size:12.5px;font-weight:600;position:absolute}a.map-home{cursor:pointer;transition:transform .2s,box-shadow .2s}a.map-home:hover,a.map-home:focus-visible{background:var(--color-night);box-shadow:0 8px 22px #16203a61}@media(max-width:639px){.wm-street{font-size:9.5px}.wm-label{padding:5px 8px}.wm-dot{width:10px;height:10px}}.wg{--wg-ink:var(--color-ink,#1f2b47);--wg-accent:var(--color-gold,#c9934e);--wg-accent-ink:var(--color-gold-ink,#7f561e);--wg-muted:var(--color-muted,#4f5668);--wg-line:var(--color-line,#e3d8c6);--wg-hover:var(--color-sand,#efe6d8);--wg-ground:#ece4d6;--wg-street:#7b705f;--wg-radius:18px}.wg-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""map""list";gap:40px;display:grid}@media(min-width:900px){.wg-grid{grid-template:"head map""list map"1fr/minmax(0,5fr) minmax(0,7fr);align-items:start;gap:32px 56px}.wg-flip.wg-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"map head""map list"}.wg-map{position:sticky;top:24px}}.wg-head{grid-area:head}.wg-map{grid-area:map}.wg-list{grid-area:list}.wg-canvas{background:var(--wg-ground);border-radius:var(--wg-radius);container-type:inline-size}.wg-street{letter-spacing:.03em;color:var(--wg-street);white-space:nowrap;pointer-events:none;text-shadow:0 0 3px var(--wg-ground),0 0 3px var(--wg-ground),0 0 2px var(--wg-ground);font-size:clamp(8.5px,1.75cqw,12.5px);font-weight:600;position:absolute}@container (max-width:480px){.wg-street[data-rank="3"],.wg-street[data-rank="4"],.wg-street[data-rank="5"]{display:none}}.wg-shield{color:var(--wg-ink);background:#fff;border:1.5px solid #cfb98f;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:700;line-height:1.4;position:absolute;transform:translate(-50%,-50%)}.wg-pin{background:var(--wg-ink);color:#fff;z-index:3;border-radius:999px;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;transition:transform .2s,background .2s,color .2s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2.5px #fff,0 2px 6px #16203a40}.wg-pin.on{background:var(--wg-accent);color:var(--wg-ink);z-index:5;transform:translate(-50%,-50%)scale(1.18)}.wg-route{transition:opacity .25s}.wg[data-on] .wg-route:not(.on){opacity:.18}.wg-home{background:var(--wg-ink);color:#fff;font-family:var(--font-display,Georgia, serif);z-index:4;white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:5px 14px 5px 6px;font-size:16px;font-weight:500;transition:box-shadow .2s;display:inline-flex;position:absolute;transform:translate(-50%,calc(-100% - 18px));box-shadow:0 6px 18px #16203a47}.wg-home img{filter:brightness(1.25)saturate(1.2);width:24px;height:24px}.wg-home:after{content:"";background:var(--wg-ink);width:2px;height:14px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.wg-home:before{content:"";background:var(--wg-accent);border-radius:999px;width:11px;height:11px;position:absolute;top:calc(100% + 13px);left:50%;transform:translate(-50%);box-shadow:0 0 0 2.5px #fff,0 1px 4px #16203a4d}a.wg-home:hover,a.wg-home:focus-visible{box-shadow:0 8px 22px #16203a66}.wg-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--wg-accent-ink);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.wg-kicker svg,.wg-min svg{fill:currentColor;flex:none;width:16px;height:16px}.wg-list ol{border-top:1px solid var(--wg-line);margin-top:12px}.wg-row{border-bottom:1px solid var(--wg-line);border-radius:6px;outline:none;align-items:center;gap:16px;padding:14px;transition:background .2s;display:flex}.wg-row.on,.wg-row:focus-visible{background:var(--wg-hover)}.wg-num{background:var(--wg-ink);color:#fff;border-radius:999px;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;transition:background .2s,color .2s;display:grid}.wg-row.on .wg-num{background:var(--wg-accent);color:var(--wg-ink)}.wg-name{flex:1;min-width:0}.wg-logo{align-items:center;gap:6px;display:flex}.wg-logo img{width:auto}.wg-text{font-size:17px;font-weight:600;line-height:1.25;display:block}.wg-what{color:var(--wg-muted);margin-top:2px;font-size:15px;display:block}.wg-min{white-space:nowrap;align-items:center;gap:4px;font-size:16px;font-weight:500;display:flex}.wg-min svg{color:var(--wg-accent-ink)}.wg-note{color:var(--wg-muted);margin-top:16px;font-size:15px}@media(max-width:639px){.wg-pin{width:22px;height:22px;font-size:11.5px}.wg-home{padding:4px 11px 4px 5px;font-size:14px}.wg-home img{width:20px;height:20px}}.map-shield{color:var(--color-ink);background:#fff;border:1.5px solid #cfa368;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:700;line-height:1.4;position:absolute;transform:translate(-50%,-50%)}.map-street{letter-spacing:.04em;color:#8a7f6e;white-space:nowrap;pointer-events:none;font-size:11px;font-weight:600;position:absolute}.map-edge{color:var(--color-ink);white-space:nowrap;z-index:3;background:#fffffff0;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;box-shadow:0 1px 4px #16203a26}.map-num{background:var(--color-ink);color:#fff;border-radius:999px;flex:none;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;transition:background .2s,color .2s;display:grid}.map-row.is-on .map-num,.map-row:hover .map-num{background:var(--color-gold);color:var(--color-ink)}@media(max-width:639px){.map-pin,.map-num{width:22px;height:22px;font-size:11px}.map-home{padding:4px 11px 4px 5px;font-size:14px}.map-mark{width:20px;height:20px}.map-street{font-size:9.5px}.map-edge{padding:4px 8px;font-size:11px}}.plan-dialog{background:var(--color-paper);width:min(1100px,100vw - 24px);max-height:calc(100vh - 24px);color:var(--color-ink);border:0;border-radius:18px;margin:auto;padding:0;overflow:auto}.plan-dialog[open]{flex-direction:column;height:auto;max-height:min(100dvh - 24px,1000px);display:flex;overflow:hidden}.plan-dialog::backdrop{background:#16203a99}.title em{font-style:normal}.statement{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;font-weight:300;line-height:1.22}.link-line{align-items:center;gap:.75rem;font-size:15px;font-weight:500;display:inline-flex}.link-line:after{content:"";transform-origin:0;background:currentColor;width:64px;height:1px;transition:transform .35s;transform:scaleX(.56)}.link-line:hover:after{transform:scaleX(1)}.ring-mark{border:1.5px solid var(--color-gold);vertical-align:-.1em;border-right-color:#0000;border-radius:999px;width:.9em;height:.9em;margin-right:.55em;display:inline-block;transform:rotate(-35deg)}.reveal{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(14px)}.reveal:nth-child(2){transition-delay:90ms}.reveal:nth-child(3){transition-delay:.18s}.reveal:nth-child(4){transition-delay:.27s}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.strike{display:inline-block;position:relative}.strike:after{content:"";background:var(--color-gold);width:0;height:2px;transition:width .8s cubic-bezier(.6,0,.2,1);position:absolute;top:55%;left:-2%}.in .strike:after,.strike.in:after{width:104%}.in .strike{color:var(--color-muted);transition:color .8s .3s}@media(prefers-reduced-motion:reduce){.strike:after{width:104%;transition:none}}.day{transition:background-color 1.2s,color 1.2s}.day .text-muted,.day .day-hour,.day .eyebrow{transition:color 1.2s}.day[data-time=matin]{background:#f8efe1}.day[data-time=midi]{background:#f3e7d3}.day[data-time=apres-midi]{background:#ecd9bb}.day[data-time=soir]{color:var(--color-paper);background:#2a3352}.day[data-time=nuit]{background:var(--color-night);color:var(--color-paper)}.day[data-time=soir] .text-muted,.day[data-time=nuit] .text-muted{color:#f5efe6c7}.day[data-time=soir] .eyebrow,.day[data-time=nuit] .eyebrow{color:#e7b66e}.day-step{align-items:center;min-height:62vh;padding:3rem 0;display:flex}@media(max-width:767px){.day-step{min-height:auto;padding:2.5rem 0}}.halo{position:relative}.halo:before{content:"";border:2px solid var(--color-gold);border-bottom-color:#c9934e66;border-left-color:#0000;border-radius:999px;position:absolute;inset:-14px}@supports (color:color-mix(in lab,red,red)){.halo:before{border-bottom-color:color-mix(in srgb,var(--color-gold) 40%,transparent)}}.halo:before{pointer-events:none;transform:rotate(20deg)}.day-hour{font-family:var(--font-display);color:var(--color-gold-ink);font-weight:300;transition:color 1.2s}.day[data-time=soir] .day-hour,.day[data-time=nuit] .day-hour{color:#e7b66e}@media(max-width:767px){.link-line{text-decoration:underline;-webkit-text-decoration-color:var(--color-gold);text-decoration-color:var(--color-gold);text-underline-offset:5px}.link-line:after{display:none}}.arch{background:var(--color-sand);border-radius:999px 999px 18px 18px;overflow:hidden}.idx{font-family:var(--font-display);letter-spacing:.12em;font-feature-settings:"lnum";font-size:15px}.stars{color:#c9934e;letter-spacing:.18em;font-size:16px;line-height:1}.sunring{pointer-events:none;outline-offset:26px;border:1px solid #c9934e52;border-radius:999px;outline:1px solid #c9934e29;width:900px;height:900px;position:absolute;bottom:-420px;left:-330px}@media(max-width:767px){.sunring{width:520px;height:520px;top:-120px;bottom:auto;left:-260px}}.sunring.sunring-head{border-color:#c9934e61;outline-color:#c9934e33;width:760px;height:760px;inset:-420px -240px auto auto}@media(max-width:767px){.sunring.sunring-head{width:480px;height:480px;top:-360px;right:-330px}}.btn{min-height:48px;font-size:16px;transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .2s cubic-bezier(.2,.7,.2,1)}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px -12px #16203a80}.btn:active{box-shadow:none;transition-duration:80ms;transform:translateY(0)scale(.97)}.btn-line{border-width:1.5px}.btn-line:hover{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.on-dark .btn-line:hover{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-paper)}.navlink{padding-block:6px;position:relative}.navlink:after{content:"";background:var(--color-gold);transform-origin:0;height:1.5px;transition:transform .35s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.navlink:hover:after,.navlink.is-here:after{transform:scaleX(1)}main a.underline,footer a.underline{text-decoration-color:#c9934eb3}@supports (color:color-mix(in lab,red,red)){main a.underline,footer a.underline{-webkit-text-decoration-color:color-mix(in srgb,var(--color-gold) 70%,transparent);text-decoration-color:color-mix(in srgb,var(--color-gold) 70%,transparent)}}main a.underline,footer a.underline{transition:color .2s,text-decoration-color .2s}main a.underline:hover,footer a.underline:hover{color:var(--color-gold-ink);-webkit-text-decoration-color:var(--color-gold);text-decoration-color:var(--color-gold)}.on-dark a.underline:hover{color:#e7b66e}.link-line{transition:color .25s}.link-line:hover{color:var(--color-gold-ink)}.on-dark .link-line:hover{color:#e7b66e}li[data-unit]{border-radius:12px;margin-inline:-14px;padding-inline:14px;transition:background .25s}li[data-unit]:hover{background:#f5efe6b3}@supports (color:color-mix(in lab,red,red)){li[data-unit]:hover{background:color-mix(in srgb,var(--color-paper) 70%,transparent)}}li[data-unit]{cursor:pointer}li[data-unit] a:hover,li[data-unit] button:hover{color:var(--color-ink);text-decoration-thickness:2px}a.group .arch,a.group .card-r{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}a.group:hover .arch,a.group:hover .card-r{transform:translateY(-4px);box-shadow:0 18px 36px -24px #16203a8c}a.group:active .arch,a.group:active .card-r{transition-duration:.1s;transform:translateY(-1px)scale(.99)}details>summary{transition:color .2s}details>summary:hover{color:var(--color-gold-ink)}@media(prefers-reduced-motion:reduce){.btn,.btn:hover,.btn:active,a.group:hover .arch,a.group:hover .card-r{transition:background .2s,color .2s;transform:none}.navlink:after{transition:none}}.plan-dialog[open] .plan-img{overflow:auto}.pp-grid{gap:28px;display:grid}@media(min-width:1024px){.pp-grid{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:40px}}.pp-list{border-top:1px solid var(--color-line);max-height:640px;overflow:auto}.pp-tab{text-align:left;border-bottom:1px solid var(--color-line);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:baseline;gap:12px;width:100%;padding:13px 14px;font-size:17px;transition:background .2s,color .2s;display:flex}.pp-tab:hover{background:var(--color-sand)}.pp-tab[aria-selected=true]{background:var(--color-ink);color:var(--color-paper)}.pp-tab[aria-selected=true] .pp-meta{color:#f5efe6bf}.pp-meta{color:var(--color-muted);white-space:nowrap;font-size:15px}.fp{gap:28px;display:grid}.fp-plan{background:var(--color-paper);border:1px solid var(--color-line);border-radius:20px;padding:16px}@media(min-width:768px){.fp-plan{padding:22px}}.fp-switch{background:var(--color-sand);border-radius:14px;gap:6px;max-width:520px;margin-bottom:16px;padding:5px;display:flex}.fp-switch button{white-space:nowrap;min-height:48px;color:var(--color-ink);cursor:pointer;border-radius:10px;flex:1;padding:0 10px;font-size:17px;font-weight:600;transition:background .2s,color .2s,box-shadow .2s}.fp-switch button:hover{background:#fff9}.fp-switch button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper);box-shadow:0 2px 8px #1f2b472e}.fp-switch button:focus-visible{outline:3px solid var(--color-gold);outline-offset:2px}.fp-draw{width:100%;max-width:calc(72dvh * var(--ar,1));margin-inline:auto;position:relative;container-type:inline-size}.plan-dialog .fp-draw{max-width:calc(58dvh * var(--ar,1))}.fp-draw img{width:100%;height:100%;position:absolute;inset:0}.fp-tag{white-space:nowrap;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--color-ink);letter-spacing:.005em;background:#ffffffeb;border-radius:8px;padding:clamp(3px,.7cqw,5px) clamp(7px,1.3cqw,10px);font-size:clamp(11px,1.55cqw,14px);font-weight:600;line-height:1.25;transition:background-color .25s,color .25s,box-shadow .25s;display:block;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 2px #1f2b471a,0 0 0 1px #1f2b470f}.fp-tag-d{opacity:0;pointer-events:none;background:var(--color-ink);color:var(--color-paper);font-variant-numeric:tabular-nums;border-radius:6px;padding:3px 8px;font-size:.9em;font-weight:500;transition:opacity .22s,transform .22s;position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%,-4px);box-shadow:0 4px 12px #1f2b4738}.fp-tag:hover,.fp-tag:focus-visible,.fp-tag.is-on{background:var(--color-ink);color:var(--color-paper);z-index:2;outline:none;box-shadow:0 4px 14px #1f2b4742}.fp-tag:hover .fp-tag-d,.fp-tag:focus-visible .fp-tag-d,.fp-tag.is-on .fp-tag-d{opacity:1;transform:translate(-50%)}@media(prefers-reduced-motion:reduce){.fp-tag,.fp-tag-d{transition:none}}.fp-caption{color:var(--color-muted);margin-top:12px;font-size:15px}.fp-plan{position:relative}.fp-card{z-index:5;border-radius:inherit;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f5efe6b8;place-items:center;padding:14px;display:grid;position:absolute;inset:0}.fp-card[hidden]{display:none}.fp-card-in{background:#fff;border-radius:16px;width:min(560px,100%);max-height:100%;animation:.18s ease-out fp-pop;position:relative;overflow:auto;box-shadow:0 18px 50px #1f2b4740}@keyframes fp-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}}@media(prefers-reduced-motion:reduce){.fp-card-in{animation:none}}.fp-card-img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;display:block}.fp-card-body{padding:18px 20px 20px}.fp-card-name{font-family:var(--font-display);font-size:24px;line-height:1.2}.fp-card-dims{font-variant-numeric:tabular-nums;margin-top:2px;font-size:18px}.fp-card-fit{margin-top:10px;font-size:16px}.fp-card-cap{color:var(--color-muted);margin-top:10px;font-size:14px}.fp-card-tour{color:var(--color-gold-ink);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--color-gold);text-decoration-color:var(--color-gold);margin-top:12px;font-size:16px;font-weight:600;display:inline-block}.fp-card-x{z-index:1;width:44px;height:44px;color:var(--color-ink);background:#ffffffeb;border-radius:999px;font-size:26px;line-height:1;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #1f2b472e}.fp-card-x:hover{background:var(--color-sand)}.fp-info{gap:36px;display:grid}@media(min-width:768px){.fp-info{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px}}.fp-title{font-family:var(--font-display);margin-bottom:18px;font-size:26px;line-height:1.2}.fp-h{font-family:var(--font-display);margin-bottom:10px;font-size:22px;line-height:1.2}.fp-rooms{border-top:1px solid var(--color-line)}.fp-rooms li{border-bottom:1px solid var(--color-line)}.fp-row{text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:14px;width:100%;padding:13px 12px;transition:background .18s;display:grid}.fp-row:hover,.fp-row.is-on,.fp-row:focus-visible{background:var(--color-sand);outline:none}.fp-row-main{flex-direction:column;min-width:0;display:flex}.fp-name{font-size:17px}.fp-fit{color:var(--color-muted);margin-top:1px;font-size:14px}.fp-dims{color:var(--color-ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px}.fp-ico{width:20px;height:20px;color:var(--color-gold-ink)}.fp-note{color:var(--color-muted);margin-top:12px;padding-inline:12px;font-size:14px}.fp-sub{color:var(--color-muted);align-items:flex-start;gap:8px;margin-top:8px;font-size:15px;display:flex}.fp-swatch{background:var(--color-gold);border-radius:3px;flex:none;width:14px;height:14px;margin-top:4px}.fp-keywrap{padding:26px 0 0 24px;position:relative}.fp-key{width:100%;height:auto;display:block}.fp-street-top{letter-spacing:.04em;color:var(--color-muted);white-space:nowrap;font-size:13px;position:absolute;top:0;transform:translate(-50%)}.fp-street-left{writing-mode:vertical-rl;text-align:center;letter-spacing:.04em;color:var(--color-muted);white-space:nowrap;font-size:13px;position:absolute;top:26px;bottom:0;left:0;transform:rotate(180deg)}.pd-head{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px;display:flex}@media(min-width:768px){.pd-head{padding:18px 28px}}.pd-unit{font-family:var(--font-display);flex-wrap:wrap;align-items:center;gap:10px;font-size:28px;line-height:1.15;display:flex}.pd-promo{font-family:var(--font-sans,inherit);background:var(--color-ink);color:#f3d49e;letter-spacing:.01em;border-radius:999px;padding:5px 12px;font-size:14px;font-weight:700}.pd-line{margin-top:4px;font-size:17px}.pd-close{border-radius:10px;padding:4px 10px;font-size:30px;line-height:1}.pd-close:hover{background:var(--color-sand)}.pd-photos{margin-top:32px}.pd-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.pd-strip img{aspect-ratio:3/2;object-fit:cover;border-radius:12px;width:100%;height:auto}.pd-links{border-top:1px solid var(--color-line);flex-wrap:wrap;gap:12px 28px;margin-top:28px;padding-top:20px;display:flex}.pd-tour{color:var(--color-gold-ink);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--color-gold);text-decoration-color:var(--color-gold);font-size:17px;font-weight:600;display:inline-block}.pd-foot{border-top:1px solid var(--color-line);flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 20px;display:flex}@media(min-width:768px){.pd-foot{padding:16px 28px}}.pd-pdf{text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--color-gold);text-decoration-color:var(--color-gold);font-size:16px}@media(max-width:767px){.pd-foot{flex-wrap:nowrap;padding:10px 12px}.pd-foot .btn{flex:1;padding-inline:10px}.plan-dialog .plan-img{padding-inline:12px}.fp-plan{padding:10px}.pd-unit{font-size:24px}}@view-transition{navigation:auto}header{view-transition-name:site-header}::view-transition-old(root){animation-duration:.35s;animation-timing-function:ease}::view-transition-new(root){animation-duration:.35s;animation-timing-function:ease}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.hero-in>*{animation:.9s cubic-bezier(.2,.7,.2,1) both rise}.hero-in>:nth-child(2){animation-delay:80ms}.hero-in>:nth-child(3){animation-delay:.16s}.hero-in>:nth-child(4){animation-delay:.24s}.hero-in>:nth-child(5){animation-delay:.32s}.reveal img.photo{transition:transform 1.4s cubic-bezier(.2,.7,.2,1);transform:scale(1.04)}.reveal.in img.photo{transform:none}@keyframes head-shadow{to{box-shadow:0 8px 24px -14px #16203a47}}@supports (animation-timeline:scroll()){header{animation:linear both head-shadow;animation-timeline:scroll();animation-range:0 140px}}@keyframes dlg-in{0%{opacity:0;transform:translateY(10px)scale(.985)}}@keyframes fade-in{0%{opacity:0}}.plan-dialog[open]{animation:.28s cubic-bezier(.2,.7,.2,1) dlg-in}.plan-dialog[open]::backdrop{animation:.28s fade-in}:root{interpolate-size:allow-keywords}details::details-content{block-size:0;transition:block-size .3s ease,content-visibility .3s allow-discrete;overflow:hidden}details[open]::details-content{block-size:auto}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}.hero-in>*,.plan-dialog[open],.plan-dialog[open]::backdrop{animation:none}.reveal img.photo{transition:none;transform:none}details::details-content{transition:none}}.site-header{z-index:30;background:var(--color-paper);border-bottom:1px solid var(--color-line);color:var(--color-ink);transition:background-color .3s,border-color .3s,color .3s;position:relative}.site-header .navlink{color:var(--color-muted);transition:color .25s}.site-header .navlink:hover,.site-header .navlink.is-here{color:var(--color-ink)}.hdr-phone{transition:color .25s}.hdr-phone:hover{color:var(--color-gold-ink)}.logo-light{display:none}.nav-scroll{scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 86%,#0000);mask-image:linear-gradient(90deg,#000 86%,#0000)}.nav-scroll::-webkit-scrollbar{display:none}@media(min-width:768px){.site-top{z-index:30;transition:transform .45s cubic-bezier(.2,.7,.2,1);position:sticky;top:0}.site-top.promo-hide{transform:translateY(calc(-1 * var(--promo-h,0px)))}.site-header.is-over{color:#fff;background:0 0;border-color:#0000;margin-bottom:-85px}.site-header.is-over .navlink{color:#ffffffdb}.site-header.is-over .navlink:hover,.site-header.is-over .navlink.is-here{color:#fff}.site-header.is-over .hdr-phone:hover{color:#f3d49e}.site-header.is-over .logo-dark{display:none}.site-header.is-over .logo-light{display:block}.site-header.is-over .btn-gold{color:var(--color-night);background:#e0b46e}.site-header.is-over .btn-gold:hover{background:#ebc68a}.site-header.is-over.is-solid{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:var(--color-line);color:var(--color-ink);background:#f5efe6f5}.site-header.is-over.is-solid .navlink{color:var(--color-muted)}.site-header.is-over.is-solid .navlink:hover,.site-header.is-over.is-solid .navlink.is-here{color:var(--color-ink)}.site-header.is-over.is-solid .logo-dark{display:block}.site-header.is-over.is-solid .logo-light{display:none}.site-header.is-over.is-solid .btn-gold{background:var(--color-ink);color:var(--color-paper)}[data-hero]:after{content:"";pointer-events:none;background:linear-gradient(#16203ac7,#16203a59 55%,#0000);height:200px;position:absolute;inset:0 0 auto}}[data-hero] .hero-in h1,[data-hero] .hero-in p{text-shadow:0 1px 2px #0a102059,0 2px 22px #0a10208c}[data-hero] .hero-in>.eyebrow{color:#f3d49e;text-shadow:0 1px 2px #0a102080,0 2px 16px #0a102099}.fp-stage{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.fp-stage>*{min-width:0}@media(min-width:900px){.fp-stage.has-photos{grid-template-columns:minmax(0,1fr) 176px;align-items:start;gap:22px}}.fp-photos-h{margin-bottom:8px;font-size:15px;font-weight:600}.fp-photos-row{scrollbar-width:thin;gap:10px;margin:-3px;padding:3px;display:flex;overflow-x:auto}@media(min-width:900px){.fp-photos-row{flex-direction:column;overflow:visible}}.fp-thumb{text-align:left;cursor:pointer;border-radius:12px;flex:0 0 150px;display:block}.fp-thumb img{aspect-ratio:3/2;object-fit:cover;border-radius:10px;width:100%;transition:box-shadow .2s;display:block}.fp-thumb span{margin-top:5px;font-size:14px;font-weight:500;display:block}.fp-thumb:hover img,.fp-thumb.is-on img,.fp-thumb:focus-visible img{box-shadow:0 0 0 2px var(--color-paper),0 0 0 4px var(--color-gold)}@media(prefers-reduced-motion:reduce){.site-top{transition:none}}.consent{z-index:60;background:var(--color-paper);max-width:420px;color:var(--color-ink);border:1px solid var(--color-line);border-radius:16px;padding:16px 18px;position:fixed;bottom:88px;left:12px;right:12px;box-shadow:0 12px 36px #16203a2e}@media(min-width:768px){.consent{bottom:24px;left:auto;right:24px}}.consent[hidden]{display:none}.consent-btn{border:1.5px solid var(--color-ink);border-radius:999px;flex:1;min-height:44px;font-size:15px;font-weight:600}.consent-yes{background:var(--color-ink);color:var(--color-paper)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
2 +</style></head> <body class="min-h-screen flex flex-col font-sans antialiased text-[17px] leading-relaxed pb-[76px] md:pb-0"> <a href="#main" class="sr-only focus:not-sr-only focus:absolute focus:top-3 focus:left-3 focus:z-50 bg-paper px-4 py-3">Aller au contenu</a> <div class="site-top" data-top> <div class="promo-bar bg-ink text-paper" data-promo><div class="mx-auto max-w-[1240px] px-5 md:px-8 py-2 flex flex-wrap items-baseline justify-center gap-x-3 gap-y-0.5 text-center"><strong class="text-[15px]">Promotion : <span class="text-[#f3d49e]">1 mois gratuit*</span></strong><span class="text-[13px] text-paper/85">*Certaines conditions s'appliquent.</span><a href="/appartements/#dispo-liste" class="promo-link text-[15px] font-semibold text-[#f3d49e] underline underline-offset-4 decoration-[#f3d49e]/60 hover:decoration-[#f3d49e]">Voir les unités libres</a></div></div><script>
3 + (function () {
4 + var top = document.querySelector("[data-top]"), bar = top && top.querySelector("[data-promo]"); if (!bar) return;
5 + var t = 0;
6 + function set() { t = 0; top.style.setProperty("--promo-h", bar.offsetHeight + "px"); top.classList.toggle("promo-hide", scrollY > Math.max(600, innerHeight * 0.85)); }
7 + addEventListener("scroll", function () { if (!t) t = requestAnimationFrame(set); }, { passive: true });
8 + addEventListener("resize", set); set();
9 + })();
10 + </script> <header class="site-header" data-header> <div class="mx-auto max-w-[1240px] px-5 md:px-8 h-[68px] md:h-[84px] flex items-center justify-between gap-6"> <a href="/" aria-label="Solaris, accueil" class="shrink-0 flex items-center"> <img src="/logo/logo-navy-h.webp" alt="Solaris" width="529" height="132" class="logo-dark h-9 md:h-11 w-auto"> <img src="/logo/logo-white-h.webp" alt="" aria-hidden="true" width="529" height="132" class="logo-light h-9 md:h-11 w-auto"> </a> <nav aria-label="Navigation principale" class="hidden md:flex items-center gap-7 lg:gap-9 text-[16px]"> <a href="/appartements/" class="navlink is-here">Appartements</a><a href="/espaces-communs/" class="navlink">Espaces communs</a><a href="/quartier/" class="navlink">Quartier</a><a href="/developpeurs/" class="navlink">Développeurs</a> </nav> <div class="flex items-center gap-5"> <a href="tel:+15819894457" class="hdr-phone hidden lg:inline-flex items-center gap-2 text-[16px] font-medium"> <svg viewBox="0 0 24 24" class="h-[18px] w-[18px]" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"></path></svg> 581-989-4457 </a> <a href="/visiter/" class="btn btn-gold hdr-cta !min-h-[44px] !py-0 !px-5 text-[15px]"><span class="md:hidden">Visiter</span><span class="hidden md:inline">Réserver une visite</span></a> </div> </div> <nav aria-label="Navigation mobile" class="nav-scroll md:hidden px-5 pb-2.5 flex gap-5 overflow-x-auto text-[16px]"> <a href="/appartements/" class="whitespace-nowrap pb-1 text-muted text-ink border-b-2 border-gold">Appartements</a><a href="/espaces-communs/" class="whitespace-nowrap pb-1 text-muted">Espaces</a><a href="/quartier/" class="whitespace-nowrap pb-1 text-muted">Quartier</a><a href="/developpeurs/" class="whitespace-nowrap pb-1 text-muted">Développeurs</a> </nav> </header> </div> <main id="main" class="flex-1"> <div class="relative overflow-hidden"> <span class="sunring sunring-head" aria-hidden="true"></span> <section class="relative mx-auto max-w-[1240px] px-5 md:px-8 pt-6 md:pt-12 pb-10 md:pb-14 hero-in"> <p class="eyebrow mb-4">Appartements</p> <h1 class="title text-[44px] md:text-[68px] max-w-[16ch]">D'une à trois chambres, d'une luminosité exceptionnelle.</h1> <p class="mt-5 text-[17px] md:text-[19px] text-muted max-w-[52ch]">133 appartements de 656 à 1 135 pi² : cuisine ouverte avec îlot, grandes fenêtres, grands balcons, finitions modernes. Internet et électroménagers inclus. Salle à vélos verrouillée, avec rangement pour vélos électriques.</p> </section> </div> <section class="mx-auto max-w-[1240px] px-5 md:px-8 pb-16 md:pb-24 grid gap-8 lg:grid-cols-[0.62fr_1.38fr] lg:gap-14 items-start"> <div class="lg:sticky lg:top-32 lg:pt-24"> <p class="eyebrow mb-3">En 3D</p> <h2 class="title text-[34px] md:text-[48px] leading-[1.02]">Entrez avant <em>même de visiter</em>.</h2> <p class="mt-4 text-[17px] md:text-[18px] text-muted max-w-[40ch]">Le 4½ de 875 pi², en 3D. Cliquez sur une pièce pour voir ses dimensions et ses photos, ou passez au plan coté.</p> <a href="/appartements/4-et-demi/" class="link-line mt-6">Tous les plans de 4½</a> </div> <div><div class="fp">
11 + <div class="fp-plan fp-two">
12 + <div class="fp-switch" role="group" aria-label="Affichage du plan"><button type="button" data-fp-view="3d" aria-pressed="true">Vue 3D</button><button type="button" data-fp-view="2d" aria-pressed="false">Plan et dimensions</button></div>
13 + <div class="fp-stage has-photos"><div class="fp-views"><div class="fp-view" data-v="3d"><div class="fp-draw" style="aspect-ratio:1600/1343;--ar:1.1914"><img src="/plans/unites-202-302-402-502-602-702-802-3d.webp" srcset="/plans/unites-202-302-402-502-602-702-802-3d-sm.webp 800w, /plans/unites-202-302-402-502-602-702-802-3d.webp 1600w" sizes="(min-width: 1024px) 760px, 100vw" width="1600" height="1343" alt="Vue 3D de l'appartement, 4½, meublé à titre d'exemple" loading="eager" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:63.96%;top:74.94%" aria-label="Chambre principale, 10′ × 11′7″"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">10′ × 11′7″</span></button><button type="button" class="fp-tag" data-room="2" style="left:18.48%;top:51.56%" aria-label="Chambre 2, 10′ × 11′7″"><span class="fp-tag-n">Chambre 2</span><span class="fp-tag-d">10′ × 11′7″</span></button><button type="button" class="fp-tag" data-room="3" style="left:51.86%;top:27.06%" aria-label="Cuisine, 9′4″ × 8′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">9′4″ × 8′8″</span></button><button type="button" class="fp-tag" data-room="4" style="left:49.77%;top:60.52%" aria-label="Séjour et salle à manger, 12′8″ × 19′5″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">12′8″ × 19′5″</span></button><button type="button" class="fp-tag" data-room="5" style="left:67.66%;top:53.56%" aria-label="Salle de bain, 10′1″ × 7′4″"><span class="fp-tag-n">Salle de bain</span><span class="fp-tag-d">10′1″ × 7′4″</span></button><button type="button" class="fp-tag" data-room="6" style="left:25.83%;top:30.14%" aria-label="Buanderie, 5′6″ × 3′4″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">5′6″ × 3′4″</span></button><button type="button" class="fp-tag" data-room="7" style="left:33.11%;top:80.99%" aria-label="Balcon, 13′3″ × 7′"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">13′3″ × 7′</span></button></div>
14 + <p class="fp-caption">Illustration : mobilier et décor à titre d'exemple, non inclus. Touchez une pièce pour la voir.</p></div>
15 + <div class="fp-view" data-v="2d" hidden><div class="fp-draw" style="aspect-ratio:1401/1457;--ar:0.9616"><img src="/plans/unites-202-302-402-502-602-702-802.webp" srcset="/plans/unites-202-302-402-502-602-702-802-sm.webp 700w, /plans/unites-202-302-402-502-602-702-802.webp 1400w" sizes="(min-width: 1024px) 760px, 100vw" width="1401" height="1457" alt="Plan de l'appartement, 4½, avec les dimensions des pièces" loading="eager" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:16.32%;top:38.36%" aria-label="Chambre principale, 10′ × 11′7″"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">10′ × 11′7″</span></button><button type="button" class="fp-tag" data-room="2" style="left:83.87%;top:38.45%" aria-label="Chambre 2, 10′ × 11′7″"><span class="fp-tag-n">Chambre 2</span><span class="fp-tag-d">10′ × 11′7″</span></button><button type="button" class="fp-tag" data-room="3" style="left:60.9%;top:86.45%" aria-label="Cuisine, 9′4″ × 8′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">9′4″ × 8′8″</span></button><button type="button" class="fp-tag" data-room="4" style="left:41.95%;top:46.6%" aria-label="Séjour et salle à manger, 12′8″ × 19′5″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">12′8″ × 19′5″</span></button><button type="button" class="fp-tag" data-room="5" style="left:25.7%;top:65.21%" aria-label="Salle de bain, 10′1″ × 7′4″"><span class="fp-tag-n">Salle de bain</span><span class="fp-tag-d">10′1″ × 7′4″</span></button><button type="button" class="fp-tag" data-room="6" style="left:89.04%;top:67.51%" aria-label="Buanderie, 5′6″ × 3′4″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">5′6″ × 3′4″</span></button><button type="button" class="fp-tag" data-room="7" style="left:48.16%;top:13.14%" aria-label="Balcon, 13′3″ × 7′"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">13′3″ × 7′</span></button></div></div></div><div class="fp-photos"><p class="fp-photos-h">Photos réelles</p><div class="fp-photos-row"><button type="button" class="fp-thumb" data-room="3"><img src="/photos/0009-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Cuisine</span></button><button type="button" class="fp-thumb" data-room="4"><img src="/photos/0010-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Séjour</span></button><button type="button" class="fp-thumb" data-room="5"><img src="/photos/0012-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Salle de bain</span></button></div></div></div><div class="fp-card" data-card="1" hidden><div class="fp-card-in" role="dialog" aria-label="Chambre principale">
16 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
17 + <img class="fp-card-img" src="/plans/unites-202-302-402-502-602-702-802-room-1.webp" srcset="/plans/unites-202-302-402-502-602-702-802-room-1-sm.webp 600w, /plans/unites-202-302-402-502-602-702-802-room-1.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Chambre principale, vue 3D" loading="lazy" decoding="async" />
18 +
19 + <div class="fp-card-body"><p class="fp-card-name">Chambre principale</p><p class="fp-card-dims">10′ × 11′7″</p>
20 + <p class="fp-card-fit">Lit queen et deux tables de chevet, dessinés à l'échelle sur le plan.</p>
21 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
22 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
23 + </div></div><div class="fp-card" data-card="2" hidden><div class="fp-card-in" role="dialog" aria-label="Chambre 2">
24 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
25 + <img class="fp-card-img" src="/plans/unites-202-302-402-502-602-702-802-room-2.webp" srcset="/plans/unites-202-302-402-502-602-702-802-room-2-sm.webp 600w, /plans/unites-202-302-402-502-602-702-802-room-2.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Chambre 2, vue 3D" loading="lazy" decoding="async" />
26 +
27 + <div class="fp-card-body"><p class="fp-card-name">Chambre 2</p><p class="fp-card-dims">10′ × 11′7″</p>
28 + <p class="fp-card-fit">Lit queen et deux tables de chevet, dessinés à l'échelle sur le plan.</p>
29 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
30 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
31 + </div></div><div class="fp-card" data-card="3" hidden><div class="fp-card-in" role="dialog" aria-label="Cuisine">
32 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
33 +
34 + <img class="fp-card-img" src="/photos/0009-md.webp" srcset="/photos/0009-sm.webp 640w, /photos/0009-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Cuisine, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
35 + <div class="fp-card-body"><p class="fp-card-name">Cuisine</p><p class="fp-card-dims">9′4″ × 8′8″</p>
36 +
37 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
38 + </div>
39 + </div></div><div class="fp-card" data-card="4" hidden><div class="fp-card-in" role="dialog" aria-label="Séjour et salle à manger">
40 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
41 +
42 + <img class="fp-card-img" src="/photos/0010-md.webp" srcset="/photos/0010-sm.webp 640w, /photos/0010-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Séjour et salle à manger, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
43 + <div class="fp-card-body"><p class="fp-card-name">Séjour et salle à manger</p><p class="fp-card-dims">12′8″ × 19′5″</p>
44 + <p class="fp-card-fit">Table pour 4, sofa sectionnel et coin bureau, dessinés à l'échelle sur le plan.</p>
45 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
46 + </div>
47 + </div></div><div class="fp-card" data-card="5" hidden><div class="fp-card-in" role="dialog" aria-label="Salle de bain">
48 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
49 +
50 + <img class="fp-card-img" src="/photos/0012-md.webp" srcset="/photos/0012-sm.webp 640w, /photos/0012-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Salle de bain, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
51 + <div class="fp-card-body"><p class="fp-card-name">Salle de bain</p><p class="fp-card-dims">10′1″ × 7′4″</p>
52 +
53 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
54 + </div>
55 + </div></div><div class="fp-card" data-card="6" hidden><div class="fp-card-in" role="dialog" aria-label="Buanderie">
56 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
57 + <img class="fp-card-img" src="/plans/unites-202-302-402-502-602-702-802-room-6.webp" srcset="/plans/unites-202-302-402-502-602-702-802-room-6-sm.webp 600w, /plans/unites-202-302-402-502-602-702-802-room-6.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Buanderie, vue 3D" loading="lazy" decoding="async" />
58 +
59 + <div class="fp-card-body"><p class="fp-card-name">Buanderie</p><p class="fp-card-dims">5′6″ × 3′4″</p>
60 +
61 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
62 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
63 + </div></div><div class="fp-card" data-card="7" hidden><div class="fp-card-in" role="dialog" aria-label="Balcon">
64 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
65 + <img class="fp-card-img" src="/plans/unites-202-302-402-502-602-702-802-room-7.webp" srcset="/plans/unites-202-302-402-502-602-702-802-room-7-sm.webp 600w, /plans/unites-202-302-402-502-602-702-802-room-7.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Balcon, vue 3D" loading="lazy" decoding="async" />
66 +
67 + <div class="fp-card-body"><p class="fp-card-name">Balcon</p><p class="fp-card-dims">13′3″ × 7′</p>
68 +
69 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
70 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
71 + </div></div></div>
72 + <div class="fp-info">
73 + <div class="fp-side"><p class="fp-title">4½ · 2 chambres · 875 pi²</p><p class="fp-h">Les pièces</p><ul class="fp-rooms"><li><button type="button" class="fp-row" data-room="1"><span class="fp-name">Chambre principale</span><span class="fp-dims">10′ × 11′7″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="2"><span class="fp-name">Chambre 2</span><span class="fp-dims">10′ × 11′7″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="3"><span class="fp-name">Cuisine</span><span class="fp-dims">9′4″ × 8′8″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="4"><span class="fp-name">Séjour et salle à manger</span><span class="fp-dims">12′8″ × 19′5″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="5"><span class="fp-name">Salle de bain</span><span class="fp-dims">10′1″ × 7′4″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="6"><span class="fp-name">Buanderie</span><span class="fp-dims">5′6″ × 3′4″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="7"><span class="fp-name">Balcon</span><span class="fp-dims">13′3″ × 7′</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li></ul><p class="fp-note">Dimensions en pieds et pouces, selon le plan de vente (préliminaire) · plan 4A-INV.</p></div>
74 + <div class="fp-block"><p class="fp-h">Sur l'étage</p>
75 + <img class="fp-key" src="/plans/unites-202-302-402-502-602-702-802-etage-3.webp" width="1357" height="449" alt="Plan de l'étage, l'appartement en or" loading="lazy" decoding="async" />
76 + <p class="fp-sub"><span class="fp-swatch" aria-hidden="true"></span>L'emplacement de ces unités sur l'étage</p></div>
77 + </div>
78 + </div></div> </section> <section id="dispo-liste" class="bg-sand py-14 md:py-20 scroll-mt-24"><div class="mx-auto max-w-[1240px] px-5 md:px-8"> <p class="mb-8 rounded-2xl bg-ink px-5 py-3 text-[16px] text-paper"><strong>Promotion en cours : <span class="text-[#f3d49e]">1 mois gratuit*</span></strong> <span class="text-paper/85">*Certaines conditions s&#39;appliquent. Détails lors de la visite.</span></p> <div data-live="units" data-limit data-title="Disponibles" data-type>
79 + <div class="flex flex-wrap items-end justify-between gap-3 mb-6">
80 + <div>
81 + <h2 class="title text-[34px] md:text-[42px]">Disponibles</h2>
82 + <p class="text-muted text-[15px] mt-1" data-count="6">6 unités libres sur 133 · à jour avec notre outil de location</p>
83 + </div>
84 + </div>
85 + <ul class="divide-y divide-line border-y border-line">
86 + <li class="grid grid-cols-[56px_1fr_auto] md:grid-cols-[90px_1fr_150px_170px_140px] items-center gap-x-4 gap-y-2 py-4 md:py-5" data-unit="702">
87 + <span class="title text-[26px] md:text-[30px]">702</span>
88 + <span class="text-[16px]">4½ · 2 chambres<span class="block text-[15px] text-muted">875 pi²</span></span>
89 + <span class="text-right md:text-left font-semibold text-[17px]">2 140 $<span class="font-normal text-muted text-[14px]"> /mois</span></span>
90 + <span class="col-start-2 md:col-start-auto justify-self-start md:justify-self-end md:text-right leading-tight"><span class="inline-flex items-center gap-2 text-[16px] font-semibold text-gold-ink"><span class="h-2.5 w-2.5 rounded-full bg-gold" aria-hidden="true"></span>Libre maintenant</span></span>
91 + <span class="col-start-3 row-start-2 md:col-start-auto md:row-start-auto justify-self-end flex items-center gap-1">
92 + <button type="button" data-plan="702" aria-label="Voir le plan de l'unité 702" class="-my-2 px-2 py-2.5 text-[15px] font-medium underline underline-offset-4 decoration-gold">Plan</button>
93 + <a href="/visiter/?unite=702#form" aria-label="Visiter l'unité 702" class="-my-2 px-2 py-2.5 text-[15px] font-semibold text-gold-ink underline underline-offset-4 decoration-gold">Visiter</a>
94 + </span>
95 + </li>
96 + <li class="grid grid-cols-[56px_1fr_auto] md:grid-cols-[90px_1fr_150px_170px_140px] items-center gap-x-4 gap-y-2 py-4 md:py-5" data-unit="814">
97 + <span class="title text-[26px] md:text-[30px]">814</span>
98 + <span class="text-[16px]">3½ · 1 chambre<span class="block text-[15px] text-muted">671 pi²</span></span>
99 + <span class="text-right md:text-left font-semibold text-[17px]">1 888 $<span class="font-normal text-muted text-[14px]"> /mois</span></span>
100 + <span class="col-start-2 md:col-start-auto justify-self-start md:justify-self-end md:text-right leading-tight"><span class="block text-[15px] text-muted">Libre le</span><span class="block text-[16px]">1er novembre 2026</span></span>
101 + <span class="col-start-3 row-start-2 md:col-start-auto md:row-start-auto justify-self-end flex items-center gap-1">
102 + <button type="button" data-plan="814" aria-label="Voir le plan de l'unité 814" class="-my-2 px-2 py-2.5 text-[15px] font-medium underline underline-offset-4 decoration-gold">Plan</button>
103 + <a href="/visiter/?unite=814#form" aria-label="Visiter l'unité 814" class="-my-2 px-2 py-2.5 text-[15px] font-semibold text-gold-ink underline underline-offset-4 decoration-gold">Visiter</a>
104 + </span>
105 + </li>
106 + <li class="grid grid-cols-[56px_1fr_auto] md:grid-cols-[90px_1fr_150px_170px_140px] items-center gap-x-4 gap-y-2 py-4 md:py-5" data-unit="705">
107 + <span class="title text-[26px] md:text-[30px]">705</span>
108 + <span class="text-[16px]">4½ · 2 chambres<span class="block text-[15px] text-muted">831 pi²</span></span>
109 + <span class="text-right md:text-left font-semibold text-[17px]">2 110 $<span class="font-normal text-muted text-[14px]"> /mois</span></span>
110 + <span class="col-start-2 md:col-start-auto justify-self-start md:justify-self-end md:text-right leading-tight"><span class="block text-[15px] text-muted">Libre le</span><span class="block text-[16px]">1er décembre 2026</span></span>
111 + <span class="col-start-3 row-start-2 md:col-start-auto md:row-start-auto justify-self-end flex items-center gap-1">
112 + <button type="button" data-plan="705" aria-label="Voir le plan de l'unité 705" class="-my-2 px-2 py-2.5 text-[15px] font-medium underline underline-offset-4 decoration-gold">Plan</button>
113 + <a href="/visiter/?unite=705#form" aria-label="Visiter l'unité 705" class="-my-2 px-2 py-2.5 text-[15px] font-semibold text-gold-ink underline underline-offset-4 decoration-gold">Visiter</a>
114 + </span>
115 + </li>
116 + <li class="grid grid-cols-[56px_1fr_auto] md:grid-cols-[90px_1fr_150px_170px_140px] items-center gap-x-4 gap-y-2 py-4 md:py-5" data-unit="806">
117 + <span class="title text-[26px] md:text-[30px]">806</span>
118 + <span class="text-[16px]">3½ · 1 chambre<span class="block text-[15px] text-muted">667 pi²</span></span>
119 + <span class="text-right md:text-left font-semibold text-[17px]">1 870 $<span class="font-normal text-muted text-[14px]"> /mois</span></span>
120 + <span class="col-start-2 md:col-start-auto justify-self-start md:justify-self-end md:text-right leading-tight"><span class="block text-[15px] text-muted">Libre le</span><span class="block text-[16px]">1er janvier 2027</span></span>
121 + <span class="col-start-3 row-start-2 md:col-start-auto md:row-start-auto justify-self-end flex items-center gap-1">
122 + <button type="button" data-plan="806" aria-label="Voir le plan de l'unité 806" class="-my-2 px-2 py-2.5 text-[15px] font-medium underline underline-offset-4 decoration-gold">Plan</button>
123 + <a href="/visiter/?unite=806#form" aria-label="Visiter l'unité 806" class="-my-2 px-2 py-2.5 text-[15px] font-semibold text-gold-ink underline underline-offset-4 decoration-gold">Visiter</a>
124 + </span>
125 + </li>
126 + <li class="grid grid-cols-[56px_1fr_auto] md:grid-cols-[90px_1fr_150px_170px_140px] items-center gap-x-4 gap-y-2 py-4 md:py-5" data-unit="902">
127 + <span class="title text-[26px] md:text-[30px]">902</span>
128 + <span class="text-[16px]">4½ · 2 chambres<span class="block text-[15px] text-muted">974 pi²</span></span>
129 + <span class="text-right md:text-left font-semibold text-[17px]">2 730 $<span class="font-normal text-muted text-[14px]"> /mois</span></span>
130 + <span class="col-start-2 md:col-start-auto justify-self-start md:justify-self-end md:text-right leading-tight"><span class="block text-[15px] text-muted">Libre le</span><span class="block text-[16px]">1er janvier 2027</span></span>
131 + <span class="col-start-3 row-start-2 md:col-start-auto md:row-start-auto justify-self-end flex items-center gap-1">
132 + <button type="button" data-plan="902" aria-label="Voir le plan de l'unité 902" class="-my-2 px-2 py-2.5 text-[15px] font-medium underline underline-offset-4 decoration-gold">Plan</button>
133 + <a href="/visiter/?unite=902#form" aria-label="Visiter l'unité 902" class="-my-2 px-2 py-2.5 text-[15px] font-semibold text-gold-ink underline underline-offset-4 decoration-gold">Visiter</a>
134 + </span>
135 + </li>
136 + <li class="grid grid-cols-[56px_1fr_auto] md:grid-cols-[90px_1fr_150px_170px_140px] items-center gap-x-4 gap-y-2 py-4 md:py-5" data-unit="601">
137 + <span class="title text-[26px] md:text-[30px]">601</span>
138 + <span class="text-[16px]">4½ · 2 chambres<span class="block text-[15px] text-muted">1017 pi²</span></span>
139 + <span class="text-right md:text-left font-semibold text-[17px]">2 542 $<span class="font-normal text-muted text-[14px]"> /mois</span></span>
140 + <span class="col-start-2 md:col-start-auto justify-self-start md:justify-self-end md:text-right leading-tight"><span class="block text-[15px] text-muted">Libre le</span><span class="block text-[16px]">1er juillet 2027</span></span>
141 + <span class="col-start-3 row-start-2 md:col-start-auto md:row-start-auto justify-self-end flex items-center gap-1">
142 + <button type="button" data-plan="601" aria-label="Voir le plan de l'unité 601" class="-my-2 px-2 py-2.5 text-[15px] font-medium underline underline-offset-4 decoration-gold">Plan</button>
143 + <a href="/visiter/?unite=601#form" aria-label="Visiter l'unité 601" class="-my-2 px-2 py-2.5 text-[15px] font-semibold text-gold-ink underline underline-offset-4 decoration-gold">Visiter</a>
144 + </span>
145 + </li></ul>
146 + <dialog id="plan-702" class="plan-dialog" aria-label="Plan de l'unité 702">
147 + <div class="pd-head">
148 + <div><p class="pd-unit">Unité 702 <span class="pd-promo">1 mois gratuit*</span></p><p class="pd-line">4½ · 875 pi² · 2 140 $ /mois · <strong class="text-gold-ink">Libre maintenant</strong></p></div>
149 + <form method="dialog"><button class="pd-close" aria-label="Fermer">×</button></form>
150 + </div>
151 + <div class="plan-img min-h-0 flex-1 px-5 py-5 md:px-7"><div class="fp">
152 + <div class="fp-plan fp-two">
153 + <div class="fp-switch" role="group" aria-label="Affichage du plan"><button type="button" data-fp-view="3d" aria-pressed="true">Vue 3D</button><button type="button" data-fp-view="2d" aria-pressed="false">Plan et dimensions</button></div>
154 + <div class="fp-stage has-photos"><div class="fp-views"><div class="fp-view" data-v="3d"><div class="fp-draw" style="aspect-ratio:1600/1343;--ar:1.1914"><img src="/plans/unites-202-302-402-502-602-702-802-3d.webp" srcset="/plans/unites-202-302-402-502-602-702-802-3d-sm.webp 800w, /plans/unites-202-302-402-502-602-702-802-3d.webp 1600w" sizes="(min-width: 1100px) 1000px, 92vw" width="1600" height="1343" alt="Vue 3D de l'appartement, 4½, meublé à titre d'exemple" loading="lazy" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:63.96%;top:74.94%" aria-label="Chambre principale, 10′ × 11′7″"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">10′ × 11′7″</span></button><button type="button" class="fp-tag" data-room="2" style="left:18.48%;top:51.56%" aria-label="Chambre 2, 10′ × 11′7″"><span class="fp-tag-n">Chambre 2</span><span class="fp-tag-d">10′ × 11′7″</span></button><button type="button" class="fp-tag" data-room="3" style="left:51.86%;top:27.06%" aria-label="Cuisine, 9′4″ × 8′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">9′4″ × 8′8″</span></button><button type="button" class="fp-tag" data-room="4" style="left:49.77%;top:60.52%" aria-label="Séjour et salle à manger, 12′8″ × 19′5″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">12′8″ × 19′5″</span></button><button type="button" class="fp-tag" data-room="5" style="left:67.66%;top:53.56%" aria-label="Salle de bain, 10′1″ × 7′4″"><span class="fp-tag-n">Salle de bain</span><span class="fp-tag-d">10′1″ × 7′4″</span></button><button type="button" class="fp-tag" data-room="6" style="left:25.83%;top:30.14%" aria-label="Buanderie, 5′6″ × 3′4″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">5′6″ × 3′4″</span></button><button type="button" class="fp-tag" data-room="7" style="left:33.11%;top:80.99%" aria-label="Balcon, 13′3″ × 7′"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">13′3″ × 7′</span></button></div>
155 + <p class="fp-caption">Illustration : mobilier et décor à titre d'exemple, non inclus. Touchez une pièce pour la voir.</p></div>
156 + <div class="fp-view" data-v="2d" hidden><div class="fp-draw" style="aspect-ratio:1401/1457;--ar:0.9616"><img src="/plans/unites-202-302-402-502-602-702-802.webp" srcset="/plans/unites-202-302-402-502-602-702-802-sm.webp 700w, /plans/unites-202-302-402-502-602-702-802.webp 1400w" sizes="(min-width: 1100px) 1000px, 92vw" width="1401" height="1457" alt="Plan de l'appartement, 4½, avec les dimensions des pièces" loading="lazy" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:16.32%;top:38.36%" aria-label="Chambre principale, 10′ × 11′7″"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">10′ × 11′7″</span></button><button type="button" class="fp-tag" data-room="2" style="left:83.87%;top:38.45%" aria-label="Chambre 2, 10′ × 11′7″"><span class="fp-tag-n">Chambre 2</span><span class="fp-tag-d">10′ × 11′7″</span></button><button type="button" class="fp-tag" data-room="3" style="left:60.9%;top:86.45%" aria-label="Cuisine, 9′4″ × 8′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">9′4″ × 8′8″</span></button><button type="button" class="fp-tag" data-room="4" style="left:41.95%;top:46.6%" aria-label="Séjour et salle à manger, 12′8″ × 19′5″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">12′8″ × 19′5″</span></button><button type="button" class="fp-tag" data-room="5" style="left:25.7%;top:65.21%" aria-label="Salle de bain, 10′1″ × 7′4″"><span class="fp-tag-n">Salle de bain</span><span class="fp-tag-d">10′1″ × 7′4″</span></button><button type="button" class="fp-tag" data-room="6" style="left:89.04%;top:67.51%" aria-label="Buanderie, 5′6″ × 3′4″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">5′6″ × 3′4″</span></button><button type="button" class="fp-tag" data-room="7" style="left:48.16%;top:13.14%" aria-label="Balcon, 13′3″ × 7′"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">13′3″ × 7′</span></button></div></div></div><div class="fp-photos"><p class="fp-photos-h">Photos réelles</p><div class="fp-photos-row"><button type="button" class="fp-thumb" data-room="3"><img src="/photos/0009-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Cuisine</span></button><button type="button" class="fp-thumb" data-room="4"><img src="/photos/0010-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Séjour</span></button><button type="button" class="fp-thumb" data-room="5"><img src="/photos/0012-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Salle de bain</span></button></div></div></div><div class="fp-card" data-card="1" hidden><div class="fp-card-in" role="dialog" aria-label="Chambre principale">
157 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
158 + <img class="fp-card-img" src="/plans/unites-202-302-402-502-602-702-802-room-1.webp" srcset="/plans/unites-202-302-402-502-602-702-802-room-1-sm.webp 600w, /plans/unites-202-302-402-502-602-702-802-room-1.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Chambre principale, vue 3D" loading="lazy" decoding="async" />
159 +
160 + <div class="fp-card-body"><p class="fp-card-name">Chambre principale</p><p class="fp-card-dims">10′ × 11′7″</p>
161 + <p class="fp-card-fit">Lit queen et deux tables de chevet, dessinés à l'échelle sur le plan.</p>
162 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
163 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
164 + </div></div><div class="fp-card" data-card="2" hidden><div class="fp-card-in" role="dialog" aria-label="Chambre 2">
165 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
166 + <img class="fp-card-img" src="/plans/unites-202-302-402-502-602-702-802-room-2.webp" srcset="/plans/unites-202-302-402-502-602-702-802-room-2-sm.webp 600w, /plans/unites-202-302-402-502-602-702-802-room-2.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Chambre 2, vue 3D" loading="lazy" decoding="async" />
167 +
168 + <div class="fp-card-body"><p class="fp-card-name">Chambre 2</p><p class="fp-card-dims">10′ × 11′7″</p>
169 + <p class="fp-card-fit">Lit queen et deux tables de chevet, dessinés à l'échelle sur le plan.</p>
170 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
171 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
172 + </div></div><div class="fp-card" data-card="3" hidden><div class="fp-card-in" role="dialog" aria-label="Cuisine">
173 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
174 +
175 + <img class="fp-card-img" src="/photos/0009-md.webp" srcset="/photos/0009-sm.webp 640w, /photos/0009-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Cuisine, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
176 + <div class="fp-card-body"><p class="fp-card-name">Cuisine</p><p class="fp-card-dims">9′4″ × 8′8″</p>
177 +
178 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
179 + </div>
180 + </div></div><div class="fp-card" data-card="4" hidden><div class="fp-card-in" role="dialog" aria-label="Séjour et salle à manger">
181 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
182 +
183 + <img class="fp-card-img" src="/photos/0010-md.webp" srcset="/photos/0010-sm.webp 640w, /photos/0010-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Séjour et salle à manger, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
184 + <div class="fp-card-body"><p class="fp-card-name">Séjour et salle à manger</p><p class="fp-card-dims">12′8″ × 19′5″</p>
185 + <p class="fp-card-fit">Table pour 4, sofa sectionnel et coin bureau, dessinés à l'échelle sur le plan.</p>
186 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
187 + </div>
188 + </div></div><div class="fp-card" data-card="5" hidden><div class="fp-card-in" role="dialog" aria-label="Salle de bain">
189 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
190 +
191 + <img class="fp-card-img" src="/photos/0012-md.webp" srcset="/photos/0012-sm.webp 640w, /photos/0012-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Salle de bain, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
192 + <div class="fp-card-body"><p class="fp-card-name">Salle de bain</p><p class="fp-card-dims">10′1″ × 7′4″</p>
193 +
194 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
195 + </div>
196 + </div></div><div class="fp-card" data-card="6" hidden><div class="fp-card-in" role="dialog" aria-label="Buanderie">
197 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
198 + <img class="fp-card-img" src="/plans/unites-202-302-402-502-602-702-802-room-6.webp" srcset="/plans/unites-202-302-402-502-602-702-802-room-6-sm.webp 600w, /plans/unites-202-302-402-502-602-702-802-room-6.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Buanderie, vue 3D" loading="lazy" decoding="async" />
199 +
200 + <div class="fp-card-body"><p class="fp-card-name">Buanderie</p><p class="fp-card-dims">5′6″ × 3′4″</p>
201 +
202 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
203 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
204 + </div></div><div class="fp-card" data-card="7" hidden><div class="fp-card-in" role="dialog" aria-label="Balcon">
205 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
206 + <img class="fp-card-img" src="/plans/unites-202-302-402-502-602-702-802-room-7.webp" srcset="/plans/unites-202-302-402-502-602-702-802-room-7-sm.webp 600w, /plans/unites-202-302-402-502-602-702-802-room-7.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Balcon, vue 3D" loading="lazy" decoding="async" />
207 +
208 + <div class="fp-card-body"><p class="fp-card-name">Balcon</p><p class="fp-card-dims">13′3″ × 7′</p>
209 +
210 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
211 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
212 + </div></div></div>
213 + <div class="fp-info">
214 + <div class="fp-side"><p class="fp-h">Les pièces</p><ul class="fp-rooms"><li><button type="button" class="fp-row" data-room="1"><span class="fp-name">Chambre principale</span><span class="fp-dims">10′ × 11′7″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="2"><span class="fp-name">Chambre 2</span><span class="fp-dims">10′ × 11′7″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="3"><span class="fp-name">Cuisine</span><span class="fp-dims">9′4″ × 8′8″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="4"><span class="fp-name">Séjour et salle à manger</span><span class="fp-dims">12′8″ × 19′5″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="5"><span class="fp-name">Salle de bain</span><span class="fp-dims">10′1″ × 7′4″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="6"><span class="fp-name">Buanderie</span><span class="fp-dims">5′6″ × 3′4″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="7"><span class="fp-name">Balcon</span><span class="fp-dims">13′3″ × 7′</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li></ul><p class="fp-note">Dimensions en pieds et pouces, selon le plan de vente (préliminaire) · plan 4A-INV.</p></div>
215 + <div class="fp-block"><p class="fp-h">Sur l'étage</p>
216 + <img class="fp-key" src="/plans/unites-202-302-402-502-602-702-802-etage-3.webp" width="1357" height="449" alt="Plan de l'étage, l'appartement en or" loading="lazy" decoding="async" />
217 + <p class="fp-sub"><span class="fp-swatch" aria-hidden="true"></span>L'unité 702, au 7e étage, côté ruelle Saint-Jacques</p></div>
218 + </div>
219 + </div>
220 + <div class="pd-links"><a class="pd-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a><a href="https://storage.googleapis.com/planpoint-bucket/Plans-Solaris_Oct2022_Unites_202-302-402-502-602-702-802-1669914136588.pdf" class="pd-pdf md:hidden" rel="noopener" target="_blank">Plan à imprimer (PDF)</a></div></div>
221 + <div class="pd-foot">
222 + <a href="/visiter/?unite=702#form" class="btn btn-gold"><span class="md:hidden">Visiter</span><span class="max-md:hidden">Visiter cette unité</span></a>
223 + <a href="tel:+15819894457" class="btn btn-line"><span class="md:hidden">Appeler</span><span class="max-md:hidden">Appeler 581-989-4457</span></a>
224 + <a href="https://storage.googleapis.com/planpoint-bucket/Plans-Solaris_Oct2022_Unites_202-302-402-502-602-702-802-1669914136588.pdf" class="pd-pdf max-md:hidden" rel="noopener" target="_blank">Plan à imprimer (PDF)</a>
225 + </div>
226 + </dialog>
227 + <dialog id="plan-814" class="plan-dialog" aria-label="Plan de l'unité 814">
228 + <div class="pd-head">
229 + <div><p class="pd-unit">Unité 814 <span class="pd-promo">1 mois gratuit*</span></p><p class="pd-line">3½ · 671 pi² · 1 888 $ /mois · libre le 1er novembre 2026</p></div>
230 + <form method="dialog"><button class="pd-close" aria-label="Fermer">×</button></form>
231 + </div>
232 + <div class="plan-img min-h-0 flex-1 px-5 py-5 md:px-7"><div class="fp">
233 + <div class="fp-plan fp-two">
234 + <div class="fp-switch" role="group" aria-label="Affichage du plan"><button type="button" data-fp-view="3d" aria-pressed="true">Vue 3D</button><button type="button" data-fp-view="2d" aria-pressed="false">Plan et dimensions</button></div>
235 + <div class="fp-stage has-photos"><div class="fp-views"><div class="fp-view" data-v="3d"><div class="fp-draw" style="aspect-ratio:1600/1461;--ar:1.0951"><img src="/plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-3d.webp" srcset="/plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-3d-sm.webp 800w, /plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-3d.webp 1600w" sizes="(min-width: 1100px) 1000px, 92vw" width="1600" height="1461" alt="Vue 3D de l'appartement, 3½, meublé à titre d'exemple" loading="lazy" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:20.52%;top:54.6%" aria-label="Chambre principale, 10′ × 10′3″"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">10′ × 10′3″</span></button><button type="button" class="fp-tag" data-room="2" style="left:69.27%;top:33.74%" aria-label="Cuisine, 8′4″ × 8′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">8′4″ × 8′8″</span></button><button type="button" class="fp-tag" data-room="3" style="left:46.85%;top:57.92%" aria-label="Séjour et salle à manger, 11′7″ × 18′10″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">11′7″ × 18′10″</span></button><button type="button" class="fp-tag" data-room="4" style="left:37.5%;top:26.3%" aria-label="Salle de bain, 7′5″ × 10′7″"><span class="fp-tag-n">Salle de bain</span><span class="fp-tag-d">7′5″ × 10′7″</span></button><button type="button" class="fp-tag" data-room="5" style="left:31.44%;top:36.4%" aria-label="Buanderie, 7′1″ × 3′4″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">7′1″ × 3′4″</span></button><button type="button" class="fp-tag" data-room="6" style="left:35.6%;top:84.59%" aria-label="Balcon, 13′3″ × 6′8″"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">13′3″ × 6′8″</span></button></div>
236 + <p class="fp-caption">Illustration : mobilier et décor à titre d'exemple, non inclus. Touchez une pièce pour la voir.</p></div>
237 + <div class="fp-view" data-v="2d" hidden><div class="fp-draw" style="aspect-ratio:1401/2062;--ar:0.6794"><img src="/plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814.webp" srcset="/plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-sm.webp 700w, /plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814.webp 1400w" sizes="(min-width: 1100px) 1000px, 92vw" width="1401" height="2062" alt="Plan de l'appartement, 3½, avec les dimensions des pièces" loading="lazy" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:77.32%;top:37.23%" aria-label="Chambre principale, 10′ × 10′3″"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">10′ × 10′3″</span></button><button type="button" class="fp-tag" data-room="2" style="left:25.03%;top:85.72%" aria-label="Cuisine, 8′4″ × 8′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">8′4″ × 8′8″</span></button><button type="button" class="fp-tag" data-room="3" style="left:36.44%;top:47.28%" aria-label="Séjour et salle à manger, 11′7″ × 18′10″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">11′7″ × 18′10″</span></button><button type="button" class="fp-tag" data-room="4" style="left:77.32%;top:77.4%" aria-label="Salle de bain, 7′5″ × 10′7″"><span class="fp-tag-n">Salle de bain</span><span class="fp-tag-d">7′5″ × 10′7″</span></button><button type="button" class="fp-tag" data-room="5" style="left:77.32%;top:63.06%" aria-label="Buanderie, 7′1″ × 3′4″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">7′1″ × 3′4″</span></button><button type="button" class="fp-tag" data-room="6" style="left:29.57%;top:11.9%" aria-label="Balcon, 13′3″ × 6′8″"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">13′3″ × 6′8″</span></button></div></div></div><div class="fp-photos"><p class="fp-photos-h">Photos réelles</p><div class="fp-photos-row"><button type="button" class="fp-thumb" data-room="2"><img src="/photos/0009-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Cuisine</span></button><button type="button" class="fp-thumb" data-room="3"><img src="/photos/0010-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Séjour</span></button><button type="button" class="fp-thumb" data-room="4"><img src="/photos/0012-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Salle de bain</span></button></div></div></div><div class="fp-card" data-card="1" hidden><div class="fp-card-in" role="dialog" aria-label="Chambre principale">
238 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
239 + <img class="fp-card-img" src="/plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-room-1.webp" srcset="/plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-room-1-sm.webp 600w, /plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-room-1.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Chambre principale, vue 3D" loading="lazy" decoding="async" />
240 +
241 + <div class="fp-card-body"><p class="fp-card-name">Chambre principale</p><p class="fp-card-dims">10′ × 10′3″</p>
242 + <p class="fp-card-fit">Lit queen et deux tables de chevet, dessinés à l'échelle sur le plan.</p>
243 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
244 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=XHM7VTJzYPB" target="_blank" rel="noopener">Voir un 3½ en visite virtuelle 3D</a></div>
245 + </div></div><div class="fp-card" data-card="2" hidden><div class="fp-card-in" role="dialog" aria-label="Cuisine">
246 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
247 +
248 + <img class="fp-card-img" src="/photos/0009-md.webp" srcset="/photos/0009-sm.webp 640w, /photos/0009-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Cuisine, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
249 + <div class="fp-card-body"><p class="fp-card-name">Cuisine</p><p class="fp-card-dims">8′4″ × 8′8″</p>
250 +
251 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
252 + </div>
253 + </div></div><div class="fp-card" data-card="3" hidden><div class="fp-card-in" role="dialog" aria-label="Séjour et salle à manger">
254 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
255 +
256 + <img class="fp-card-img" src="/photos/0010-md.webp" srcset="/photos/0010-sm.webp 640w, /photos/0010-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Séjour et salle à manger, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
257 + <div class="fp-card-body"><p class="fp-card-name">Séjour et salle à manger</p><p class="fp-card-dims">11′7″ × 18′10″</p>
258 + <p class="fp-card-fit">Table pour 4, sofa sectionnel et coin bureau, dessinés à l'échelle sur le plan.</p>
259 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
260 + </div>
261 + </div></div><div class="fp-card" data-card="4" hidden><div class="fp-card-in" role="dialog" aria-label="Salle de bain">
262 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
263 +
264 + <img class="fp-card-img" src="/photos/0012-md.webp" srcset="/photos/0012-sm.webp 640w, /photos/0012-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Salle de bain, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
265 + <div class="fp-card-body"><p class="fp-card-name">Salle de bain</p><p class="fp-card-dims">7′5″ × 10′7″</p>
266 +
267 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
268 + </div>
269 + </div></div><div class="fp-card" data-card="5" hidden><div class="fp-card-in" role="dialog" aria-label="Buanderie">
270 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
271 + <img class="fp-card-img" src="/plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-room-5.webp" srcset="/plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-room-5-sm.webp 600w, /plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-room-5.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Buanderie, vue 3D" loading="lazy" decoding="async" />
272 +
273 + <div class="fp-card-body"><p class="fp-card-name">Buanderie</p><p class="fp-card-dims">7′1″ × 3′4″</p>
274 +
275 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
276 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=XHM7VTJzYPB" target="_blank" rel="noopener">Voir un 3½ en visite virtuelle 3D</a></div>
277 + </div></div><div class="fp-card" data-card="6" hidden><div class="fp-card-in" role="dialog" aria-label="Balcon">
278 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
279 + <img class="fp-card-img" src="/plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-room-6.webp" srcset="/plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-room-6-sm.webp 600w, /plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-room-6.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Balcon, vue 3D" loading="lazy" decoding="async" />
280 +
281 + <div class="fp-card-body"><p class="fp-card-name">Balcon</p><p class="fp-card-dims">13′3″ × 6′8″</p>
282 +
283 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
284 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=XHM7VTJzYPB" target="_blank" rel="noopener">Voir un 3½ en visite virtuelle 3D</a></div>
285 + </div></div></div>
286 + <div class="fp-info">
287 + <div class="fp-side"><p class="fp-h">Les pièces</p><ul class="fp-rooms"><li><button type="button" class="fp-row" data-room="1"><span class="fp-name">Chambre principale</span><span class="fp-dims">10′ × 10′3″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="2"><span class="fp-name">Cuisine</span><span class="fp-dims">8′4″ × 8′8″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="3"><span class="fp-name">Séjour et salle à manger</span><span class="fp-dims">11′7″ × 18′10″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="4"><span class="fp-name">Salle de bain</span><span class="fp-dims">7′5″ × 10′7″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="5"><span class="fp-name">Buanderie</span><span class="fp-dims">7′1″ × 3′4″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="6"><span class="fp-name">Balcon</span><span class="fp-dims">13′3″ × 6′8″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li></ul><p class="fp-note">Dimensions en pieds et pouces, selon le plan de vente (préliminaire) · plan 3A.</p></div>
288 + <div class="fp-block"><p class="fp-h">Sur l'étage</p>
289 + <img class="fp-key" src="/plans/unites-111-211-311-314-411-414-511-514-611-614-711-714-811-814-etage-3.webp" width="1357" height="448" alt="Plan de l'étage, l'appartement en or" loading="lazy" decoding="async" />
290 + <p class="fp-sub"><span class="fp-swatch" aria-hidden="true"></span>L'unité 814, au 8e étage</p></div>
291 + </div>
292 + </div>
293 + <div class="pd-links"><a class="pd-tour" href="https://my.matterport.com/show/?m=XHM7VTJzYPB" target="_blank" rel="noopener">Voir un 3½ en visite virtuelle 3D</a><a href="https://storage.googleapis.com/planpoint-bucket/Plans-Solaris_Oct2022_Unites_111-211-311-314-411-414-511-514-611-614-711-714-811-814-1669915019186.pdf" class="pd-pdf md:hidden" rel="noopener" target="_blank">Plan à imprimer (PDF)</a></div></div>
294 + <div class="pd-foot">
295 + <a href="/visiter/?unite=814#form" class="btn btn-gold"><span class="md:hidden">Visiter</span><span class="max-md:hidden">Visiter cette unité</span></a>
296 + <a href="tel:+15819894457" class="btn btn-line"><span class="md:hidden">Appeler</span><span class="max-md:hidden">Appeler 581-989-4457</span></a>
297 + <a href="https://storage.googleapis.com/planpoint-bucket/Plans-Solaris_Oct2022_Unites_111-211-311-314-411-414-511-514-611-614-711-714-811-814-1669915019186.pdf" class="pd-pdf max-md:hidden" rel="noopener" target="_blank">Plan à imprimer (PDF)</a>
298 + </div>
299 + </dialog>
300 + <dialog id="plan-705" class="plan-dialog" aria-label="Plan de l'unité 705">
301 + <div class="pd-head">
302 + <div><p class="pd-unit">Unité 705 <span class="pd-promo">1 mois gratuit*</span></p><p class="pd-line">4½ · 831 pi² · 2 110 $ /mois · libre le 1er décembre 2026</p></div>
303 + <form method="dialog"><button class="pd-close" aria-label="Fermer">×</button></form>
304 + </div>
305 + <div class="plan-img min-h-0 flex-1 px-5 py-5 md:px-7"><div class="fp">
306 + <div class="fp-plan fp-two">
307 + <div class="fp-switch" role="group" aria-label="Affichage du plan"><button type="button" data-fp-view="3d" aria-pressed="true">Vue 3D</button><button type="button" data-fp-view="2d" aria-pressed="false">Plan et dimensions</button></div>
308 + <div class="fp-stage has-photos"><div class="fp-views"><div class="fp-view" data-v="3d"><div class="fp-draw" style="aspect-ratio:1600/1453;--ar:1.1012"><img src="/plans/unites-205-305-405-505-605-705-805-3d.webp" srcset="/plans/unites-205-305-405-505-605-705-805-3d-sm.webp 800w, /plans/unites-205-305-405-505-605-705-805-3d.webp 1600w" sizes="(min-width: 1100px) 1000px, 92vw" width="1600" height="1453" alt="Vue 3D de l'appartement, 4½, meublé à titre d'exemple" loading="lazy" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:76.98%;top:74.92%" aria-label="Chambre principale, 9′8″ × 12′"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">9′8″ × 12′</span></button><button type="button" class="fp-tag" data-room="2" style="left:30.34%;top:52.83%" aria-label="Chambre 2, 10′ × 10′10″"><span class="fp-tag-n">Chambre 2</span><span class="fp-tag-d">10′ × 10′10″</span></button><button type="button" class="fp-tag" data-room="3" style="left:78.14%;top:33.2%" aria-label="Cuisine, 14′ × 8′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">14′ × 8′8″</span></button><button type="button" class="fp-tag" data-room="4" style="left:53.85%;top:53.53%" aria-label="Séjour et salle à manger, 11′5″ × 19′5″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">11′5″ × 19′5″</span></button><button type="button" class="fp-tag" data-room="5" style="left:48.55%;top:27.16%" aria-label="Salle de bain, 7′5″ × 10′9″"><span class="fp-tag-n">Salle de bain</span><span class="fp-tag-d">7′5″ × 10′9″</span></button><button type="button" class="fp-tag" data-room="6" style="left:42.98%;top:36.35%" aria-label="Buanderie, 7′7″ × 3′4″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">7′7″ × 3′4″</span></button><button type="button" class="fp-tag" data-room="7" style="left:41.99%;top:81.52%" aria-label="Balcon, 13′3″ × 7′"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">13′3″ × 7′</span></button></div>
309 + <p class="fp-caption">Illustration : mobilier et décor à titre d'exemple, non inclus. Touchez une pièce pour la voir.</p></div>
310 + <div class="fp-view" data-v="2d" hidden><div class="fp-draw" style="aspect-ratio:1401/1530;--ar:0.9157"><img src="/plans/unites-205-305-405-505-605-705-805.webp" srcset="/plans/unites-205-305-405-505-605-705-805-sm.webp 700w, /plans/unites-205-305-405-505-605-705-805.webp 1400w" sizes="(min-width: 1100px) 1000px, 92vw" width="1401" height="1530" alt="Plan de l'appartement, 4½, avec les dimensions des pièces" loading="lazy" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:82.65%;top:62.48%" aria-label="Chambre principale, 9′8″ × 12′"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">9′8″ × 12′</span></button><button type="button" class="fp-tag" data-room="2" style="left:16.4%;top:62.48%" aria-label="Chambre 2, 10′ × 10′10″"><span class="fp-tag-n">Chambre 2</span><span class="fp-tag-d">10′ × 10′10″</span></button><button type="button" class="fp-tag" data-room="3" style="left:56.37%;top:14.39%" aria-label="Cuisine, 14′ × 8′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">14′ × 8′8″</span></button><button type="button" class="fp-tag" data-room="4" style="left:42.9%;top:50.6%" aria-label="Séjour et salle à manger, 11′5″ × 19′5″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">11′5″ × 19′5″</span></button><button type="button" class="fp-tag" data-room="5" style="left:19.61%;top:23.46%" aria-label="Salle de bain, 7′5″ × 10′9″"><span class="fp-tag-n">Salle de bain</span><span class="fp-tag-d">7′5″ × 10′9″</span></button><button type="button" class="fp-tag" data-room="6" style="left:19.51%;top:36.92%" aria-label="Buanderie, 7′7″ × 3′4″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">7′7″ × 3′4″</span></button><button type="button" class="fp-tag" data-room="7" style="left:48.26%;top:88.85%" aria-label="Balcon, 13′3″ × 7′"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">13′3″ × 7′</span></button></div></div></div><div class="fp-photos"><p class="fp-photos-h">Photos réelles</p><div class="fp-photos-row"><button type="button" class="fp-thumb" data-room="3"><img src="/photos/0009-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Cuisine</span></button><button type="button" class="fp-thumb" data-room="4"><img src="/photos/0010-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Séjour</span></button><button type="button" class="fp-thumb" data-room="5"><img src="/photos/0012-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Salle de bain</span></button></div></div></div><div class="fp-card" data-card="1" hidden><div class="fp-card-in" role="dialog" aria-label="Chambre principale">
311 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
312 + <img class="fp-card-img" src="/plans/unites-205-305-405-505-605-705-805-room-1.webp" srcset="/plans/unites-205-305-405-505-605-705-805-room-1-sm.webp 600w, /plans/unites-205-305-405-505-605-705-805-room-1.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Chambre principale, vue 3D" loading="lazy" decoding="async" />
313 +
314 + <div class="fp-card-body"><p class="fp-card-name">Chambre principale</p><p class="fp-card-dims">9′8″ × 12′</p>
315 + <p class="fp-card-fit">Lit queen et deux tables de chevet, dessinés à l'échelle sur le plan.</p>
316 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
317 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
318 + </div></div><div class="fp-card" data-card="2" hidden><div class="fp-card-in" role="dialog" aria-label="Chambre 2">
319 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
320 + <img class="fp-card-img" src="/plans/unites-205-305-405-505-605-705-805-room-2.webp" srcset="/plans/unites-205-305-405-505-605-705-805-room-2-sm.webp 600w, /plans/unites-205-305-405-505-605-705-805-room-2.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Chambre 2, vue 3D" loading="lazy" decoding="async" />
321 +
322 + <div class="fp-card-body"><p class="fp-card-name">Chambre 2</p><p class="fp-card-dims">10′ × 10′10″</p>
323 + <p class="fp-card-fit">Lit queen et deux tables de chevet, dessinés à l'échelle sur le plan.</p>
324 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
325 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
326 + </div></div><div class="fp-card" data-card="3" hidden><div class="fp-card-in" role="dialog" aria-label="Cuisine">
327 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
328 +
329 + <img class="fp-card-img" src="/photos/0009-md.webp" srcset="/photos/0009-sm.webp 640w, /photos/0009-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Cuisine, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
330 + <div class="fp-card-body"><p class="fp-card-name">Cuisine</p><p class="fp-card-dims">14′ × 8′8″</p>
331 +
332 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
333 + </div>
334 + </div></div><div class="fp-card" data-card="4" hidden><div class="fp-card-in" role="dialog" aria-label="Séjour et salle à manger">
335 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
336 +
337 + <img class="fp-card-img" src="/photos/0010-md.webp" srcset="/photos/0010-sm.webp 640w, /photos/0010-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Séjour et salle à manger, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
338 + <div class="fp-card-body"><p class="fp-card-name">Séjour et salle à manger</p><p class="fp-card-dims">11′5″ × 19′5″</p>
339 + <p class="fp-card-fit">Table pour 4, sofa sectionnel et coin bureau, dessinés à l'échelle sur le plan.</p>
340 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
341 + </div>
342 + </div></div><div class="fp-card" data-card="5" hidden><div class="fp-card-in" role="dialog" aria-label="Salle de bain">
343 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
344 +
345 + <img class="fp-card-img" src="/photos/0012-md.webp" srcset="/photos/0012-sm.webp 640w, /photos/0012-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Salle de bain, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
346 + <div class="fp-card-body"><p class="fp-card-name">Salle de bain</p><p class="fp-card-dims">7′5″ × 10′9″</p>
347 +
348 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
349 + </div>
350 + </div></div><div class="fp-card" data-card="6" hidden><div class="fp-card-in" role="dialog" aria-label="Buanderie">
351 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
352 + <img class="fp-card-img" src="/plans/unites-205-305-405-505-605-705-805-room-6.webp" srcset="/plans/unites-205-305-405-505-605-705-805-room-6-sm.webp 600w, /plans/unites-205-305-405-505-605-705-805-room-6.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Buanderie, vue 3D" loading="lazy" decoding="async" />
353 +
354 + <div class="fp-card-body"><p class="fp-card-name">Buanderie</p><p class="fp-card-dims">7′7″ × 3′4″</p>
355 +
356 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
357 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
358 + </div></div><div class="fp-card" data-card="7" hidden><div class="fp-card-in" role="dialog" aria-label="Balcon">
359 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
360 + <img class="fp-card-img" src="/plans/unites-205-305-405-505-605-705-805-room-7.webp" srcset="/plans/unites-205-305-405-505-605-705-805-room-7-sm.webp 600w, /plans/unites-205-305-405-505-605-705-805-room-7.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Balcon, vue 3D" loading="lazy" decoding="async" />
361 +
362 + <div class="fp-card-body"><p class="fp-card-name">Balcon</p><p class="fp-card-dims">13′3″ × 7′</p>
363 +
364 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
365 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
366 + </div></div></div>
367 + <div class="fp-info">
368 + <div class="fp-side"><p class="fp-h">Les pièces</p><ul class="fp-rooms"><li><button type="button" class="fp-row" data-room="1"><span class="fp-name">Chambre principale</span><span class="fp-dims">9′8″ × 12′</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="2"><span class="fp-name">Chambre 2</span><span class="fp-dims">10′ × 10′10″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="3"><span class="fp-name">Cuisine</span><span class="fp-dims">14′ × 8′8″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="4"><span class="fp-name">Séjour et salle à manger</span><span class="fp-dims">11′5″ × 19′5″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="5"><span class="fp-name">Salle de bain</span><span class="fp-dims">7′5″ × 10′9″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="6"><span class="fp-name">Buanderie</span><span class="fp-dims">7′7″ × 3′4″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="7"><span class="fp-name">Balcon</span><span class="fp-dims">13′3″ × 7′</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li></ul><p class="fp-note">Dimensions en pieds et pouces, selon le plan de vente (préliminaire) · plan 4D.</p></div>
369 + <div class="fp-block"><p class="fp-h">Sur l'étage</p>
370 + <img class="fp-key" src="/plans/unites-205-305-405-505-605-705-805-etage-3.webp" width="1357" height="449" alt="Plan de l'étage, l'appartement en or" loading="lazy" decoding="async" />
371 + <p class="fp-sub"><span class="fp-swatch" aria-hidden="true"></span>L'unité 705, au 7e étage</p></div>
372 + </div>
373 + </div>
374 + <div class="pd-links"><a class="pd-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a><a href="https://storage.googleapis.com/planpoint-bucket/Plans-Solaris_Oct2022_Unites_205-305-405-505-605-705-805-1669914262435.pdf" class="pd-pdf md:hidden" rel="noopener" target="_blank">Plan à imprimer (PDF)</a></div></div>
375 + <div class="pd-foot">
376 + <a href="/visiter/?unite=705#form" class="btn btn-gold"><span class="md:hidden">Visiter</span><span class="max-md:hidden">Visiter cette unité</span></a>
377 + <a href="tel:+15819894457" class="btn btn-line"><span class="md:hidden">Appeler</span><span class="max-md:hidden">Appeler 581-989-4457</span></a>
378 + <a href="https://storage.googleapis.com/planpoint-bucket/Plans-Solaris_Oct2022_Unites_205-305-405-505-605-705-805-1669914262435.pdf" class="pd-pdf max-md:hidden" rel="noopener" target="_blank">Plan à imprimer (PDF)</a>
379 + </div>
380 + </dialog>
381 + <dialog id="plan-806" class="plan-dialog" aria-label="Plan de l'unité 806">
382 + <div class="pd-head">
383 + <div><p class="pd-unit">Unité 806 <span class="pd-promo">1 mois gratuit*</span></p><p class="pd-line">3½ · 667 pi² · 1 870 $ /mois · libre le 1er janvier 2027</p></div>
384 + <form method="dialog"><button class="pd-close" aria-label="Fermer">×</button></form>
385 + </div>
386 + <div class="plan-img min-h-0 flex-1 px-5 py-5 md:px-7"><div class="fp">
387 + <div class="fp-plan"><div class="fp-stage has-photos"><div class="fp-views"><div class="fp-draw" style="aspect-ratio:1401/2147;--ar:0.6525"><img src="/plans/unites-206-212-306-312-406-412-506-512-606-612-706-712-806-812.webp" srcset="/plans/unites-206-212-306-312-406-412-506-512-606-612-706-712-806-812-sm.webp 700w, /plans/unites-206-212-306-312-406-412-506-512-606-612-706-712-806-812.webp 1400w" sizes="(min-width: 1100px) 1000px, 92vw" width="1401" height="2147" alt="Plan de l'appartement, 3½, avec les dimensions des pièces" loading="lazy" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:24.96%;top:38.49%" aria-label="Chambre principale, 10′ × 10′3″"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">10′ × 10′3″</span></button><button type="button" class="fp-tag" data-room="2" style="left:57.77%;top:85.74%" aria-label="Cuisine, 8′4″ × 8′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">8′4″ × 8′8″</span></button><button type="button" class="fp-tag" data-room="3" style="left:59.75%;top:47.47%" aria-label="Séjour et salle à manger, 11′7″ × 18′10″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">11′7″ × 18′10″</span></button><button type="button" class="fp-tag" data-room="4" style="left:20.32%;top:75.81%" aria-label="Salle de bain, 7′5″ × 10′7″"><span class="fp-tag-n">Salle de bain</span><span class="fp-tag-d">7′5″ × 10′7″</span></button><button type="button" class="fp-tag" data-room="5" style="left:22.71%;top:62.68%" aria-label="Buanderie, 7′1″ × 3′4″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">7′1″ × 3′4″</span></button><button type="button" class="fp-tag" data-room="6" style="left:68.89%;top:13.3%" aria-label="Balcon, 13′3″ × 6′8″"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">13′3″ × 6′8″</span></button></div></div><div class="fp-photos"><p class="fp-photos-h">Photos réelles</p><div class="fp-photos-row"><button type="button" class="fp-thumb" data-room="2"><img src="/photos/0009-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Cuisine</span></button><button type="button" class="fp-thumb" data-room="3"><img src="/photos/0010-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Séjour</span></button><button type="button" class="fp-thumb" data-room="4"><img src="/photos/0012-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Salle de bain</span></button></div></div></div><div class="fp-card" data-card="1" hidden><div class="fp-card-in" role="dialog" aria-label="Chambre principale">
388 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
389 +
390 +
391 + <div class="fp-card-body"><p class="fp-card-name">Chambre principale</p><p class="fp-card-dims">10′ × 10′3″</p>
392 +
393 +
394 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=XHM7VTJzYPB" target="_blank" rel="noopener">Voir un 3½ en visite virtuelle 3D</a></div>
395 + </div></div><div class="fp-card" data-card="2" hidden><div class="fp-card-in" role="dialog" aria-label="Cuisine">
396 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
397 +
398 + <img class="fp-card-img" src="/photos/0009-md.webp" srcset="/photos/0009-sm.webp 640w, /photos/0009-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Cuisine, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
399 + <div class="fp-card-body"><p class="fp-card-name">Cuisine</p><p class="fp-card-dims">8′4″ × 8′8″</p>
400 +
401 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
402 + </div>
403 + </div></div><div class="fp-card" data-card="3" hidden><div class="fp-card-in" role="dialog" aria-label="Séjour et salle à manger">
404 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
405 +
406 + <img class="fp-card-img" src="/photos/0010-md.webp" srcset="/photos/0010-sm.webp 640w, /photos/0010-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Séjour et salle à manger, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
407 + <div class="fp-card-body"><p class="fp-card-name">Séjour et salle à manger</p><p class="fp-card-dims">11′7″ × 18′10″</p>
408 +
409 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
410 + </div>
411 + </div></div><div class="fp-card" data-card="4" hidden><div class="fp-card-in" role="dialog" aria-label="Salle de bain">
412 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
413 +
414 + <img class="fp-card-img" src="/photos/0012-md.webp" srcset="/photos/0012-sm.webp 640w, /photos/0012-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Salle de bain, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
415 + <div class="fp-card-body"><p class="fp-card-name">Salle de bain</p><p class="fp-card-dims">7′5″ × 10′7″</p>
416 +
417 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
418 + </div>
419 + </div></div><div class="fp-card" data-card="5" hidden><div class="fp-card-in" role="dialog" aria-label="Buanderie">
420 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
421 +
422 +
423 + <div class="fp-card-body"><p class="fp-card-name">Buanderie</p><p class="fp-card-dims">7′1″ × 3′4″</p>
424 +
425 +
426 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=XHM7VTJzYPB" target="_blank" rel="noopener">Voir un 3½ en visite virtuelle 3D</a></div>
427 + </div></div><div class="fp-card" data-card="6" hidden><div class="fp-card-in" role="dialog" aria-label="Balcon">
428 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
429 +
430 +
431 + <div class="fp-card-body"><p class="fp-card-name">Balcon</p><p class="fp-card-dims">13′3″ × 6′8″</p>
432 +
433 +
434 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=XHM7VTJzYPB" target="_blank" rel="noopener">Voir un 3½ en visite virtuelle 3D</a></div>
435 + </div></div></div>
436 + <div class="fp-info">
437 + <div class="fp-side"><p class="fp-h">Les pièces</p><ul class="fp-rooms"><li><button type="button" class="fp-row" data-room="1"><span class="fp-name">Chambre principale</span><span class="fp-dims">10′ × 10′3″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="2"><span class="fp-name">Cuisine</span><span class="fp-dims">8′4″ × 8′8″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="3"><span class="fp-name">Séjour et salle à manger</span><span class="fp-dims">11′7″ × 18′10″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="4"><span class="fp-name">Salle de bain</span><span class="fp-dims">7′5″ × 10′7″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="5"><span class="fp-name">Buanderie</span><span class="fp-dims">7′1″ × 3′4″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="6"><span class="fp-name">Balcon</span><span class="fp-dims">13′3″ × 6′8″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li></ul><p class="fp-note">Dimensions en pieds et pouces, selon le plan de vente (préliminaire) · plan 3A-INV.</p></div>
438 + <div class="fp-block"><p class="fp-h">Sur l'étage</p>
439 + <img class="fp-key" src="/plans/unites-206-212-306-312-406-412-506-512-606-612-706-712-806-812-etage-3.webp" width="1357" height="449" alt="Plan de l'étage, l'appartement en or" loading="lazy" decoding="async" />
440 + <p class="fp-sub"><span class="fp-swatch" aria-hidden="true"></span>L'unité 806, au 8e étage, côté ruelle Saint-Jacques</p></div>
441 + </div>
442 + </div>
443 + <div class="pd-links"><a class="pd-tour" href="https://my.matterport.com/show/?m=XHM7VTJzYPB" target="_blank" rel="noopener">Voir un 3½ en visite virtuelle 3D</a><a href="https://storage.googleapis.com/planpoint-bucket/Plans-Solaris_Oct2022_Unites_206-212-306-312-406-412-506-512-606-612-706-712-806-812-1669914762671.pdf" class="pd-pdf md:hidden" rel="noopener" target="_blank">Plan à imprimer (PDF)</a></div></div>
444 + <div class="pd-foot">
445 + <a href="/visiter/?unite=806#form" class="btn btn-gold"><span class="md:hidden">Visiter</span><span class="max-md:hidden">Visiter cette unité</span></a>
446 + <a href="tel:+15819894457" class="btn btn-line"><span class="md:hidden">Appeler</span><span class="max-md:hidden">Appeler 581-989-4457</span></a>
447 + <a href="https://storage.googleapis.com/planpoint-bucket/Plans-Solaris_Oct2022_Unites_206-212-306-312-406-412-506-512-606-612-706-712-806-812-1669914762671.pdf" class="pd-pdf max-md:hidden" rel="noopener" target="_blank">Plan à imprimer (PDF)</a>
448 + </div>
449 + </dialog>
450 + <dialog id="plan-902" class="plan-dialog" aria-label="Plan de l'unité 902">
451 + <div class="pd-head">
452 + <div><p class="pd-unit">Unité 902 <span class="pd-promo">1 mois gratuit*</span></p><p class="pd-line">4½ · 974 pi² · 2 730 $ /mois · libre le 1er janvier 2027</p></div>
453 + <form method="dialog"><button class="pd-close" aria-label="Fermer">×</button></form>
454 + </div>
455 + <div class="plan-img min-h-0 flex-1 px-5 py-5 md:px-7"><div class="fp">
456 + <div class="fp-plan fp-two">
457 + <div class="fp-switch" role="group" aria-label="Affichage du plan"><button type="button" data-fp-view="3d" aria-pressed="true">Vue 3D</button><button type="button" data-fp-view="2d" aria-pressed="false">Plan et dimensions</button></div>
458 + <div class="fp-stage has-photos"><div class="fp-views"><div class="fp-view" data-v="3d"><div class="fp-draw" style="aspect-ratio:1600/1185;--ar:1.3502"><img src="/plans/unite-902-3d.webp" srcset="/plans/unite-902-3d-sm.webp 800w, /plans/unite-902-3d.webp 1600w" sizes="(min-width: 1100px) 1000px, 92vw" width="1600" height="1185" alt="Vue 3D de l'appartement, 4½, meublé à titre d'exemple" loading="lazy" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:64.23%;top:65.51%" aria-label="Chambre principale, 10′3″ × 13′4″"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">10′3″ × 13′4″</span></button><button type="button" class="fp-tag" data-room="2" style="left:80.49%;top:64.22%" aria-label="Penderie, 5′ × 4′9″"><span class="fp-tag-n">Penderie</span><span class="fp-tag-d">5′ × 4′9″</span></button><button type="button" class="fp-tag" data-room="3" style="left:18.52%;top:39.03%" aria-label="Chambre 2, 11′7″ × 9′5″"><span class="fp-tag-n">Chambre 2</span><span class="fp-tag-d">11′7″ × 9′5″</span></button><button type="button" class="fp-tag" data-room="4" style="left:61.5%;top:36.63%" aria-label="Cuisine, 8′8″ × 11′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">8′8″ × 11′8″</span></button><button type="button" class="fp-tag" data-room="5" style="left:41.67%;top:39.35%" aria-label="Séjour et salle à manger, 11′8″ × 8′8″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">11′8″ × 8′8″</span></button><button type="button" class="fp-tag" data-room="6" style="left:73.92%;top:77.6%" aria-label="Salle de bain 1, 5′ × 8′3″"><span class="fp-tag-n">Salle de bain 1</span><span class="fp-tag-d">5′ × 8′3″</span></button><button type="button" class="fp-tag" data-room="7" style="left:29.65%;top:15.74%" aria-label="Salle de bain 2, 5′7″ × 10′"><span class="fp-tag-n">Salle de bain 2</span><span class="fp-tag-d">5′7″ × 10′</span></button><button type="button" class="fp-tag" data-room="8" style="left:33.48%;top:26.81%" aria-label="Buanderie, 5′6″ × 2′11″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">5′6″ × 2′11″</span></button><button type="button" class="fp-tag" data-room="9" style="left:38%;top:67.57%" aria-label="Balcon, 46′7″ × 4′10″"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">46′7″ × 4′10″</span></button></div>
459 + <p class="fp-caption">Illustration : mobilier et décor à titre d'exemple, non inclus. Touchez une pièce pour la voir.</p></div>
460 + <div class="fp-view" data-v="2d" hidden><div class="fp-draw" style="aspect-ratio:1401/870;--ar:1.6103"><img src="/plans/unite-902.webp" srcset="/plans/unite-902-sm.webp 700w, /plans/unite-902.webp 1400w" sizes="(min-width: 1100px) 1000px, 92vw" width="1401" height="870" alt="Plan de l'appartement, 4½, avec les dimensions des pièces" loading="lazy" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:26.41%;top:40.54%" aria-label="Chambre principale, 10′3″ × 13′4″"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">10′3″ × 13′4″</span></button><button type="button" class="fp-tag" data-room="2" style="left:9.79%;top:57.36%" aria-label="Penderie, 5′ × 4′9″"><span class="fp-tag-n">Penderie</span><span class="fp-tag-d">5′ × 4′9″</span></button><button type="button" class="fp-tag" data-room="3" style="left:88.69%;top:40.43%" aria-label="Chambre 2, 11′7″ × 9′5″"><span class="fp-tag-n">Chambre 2</span><span class="fp-tag-d">11′7″ × 9′5″</span></button><button type="button" class="fp-tag" data-room="4" style="left:44.25%;top:83.31%" aria-label="Cuisine, 8′8″ × 11′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">8′8″ × 11′8″</span></button><button type="button" class="fp-tag" data-room="5" style="left:63.91%;top:61%" aria-label="Séjour et salle à manger, 11′8″ × 8′8″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">11′8″ × 8′8″</span></button><button type="button" class="fp-tag" data-room="6" style="left:9.86%;top:30.41%" aria-label="Salle de bain 1, 5′ × 8′3″"><span class="fp-tag-n">Salle de bain 1</span><span class="fp-tag-d">5′ × 8′3″</span></button><button type="button" class="fp-tag" data-room="7" style="left:88.9%;top:87.06%" aria-label="Salle de bain 2, 5′7″ × 10′"><span class="fp-tag-n">Salle de bain 2</span><span class="fp-tag-d">5′7″ × 10′</span></button><button type="button" class="fp-tag" data-room="8" style="left:79.11%;top:73.2%" aria-label="Buanderie, 5′6″ × 2′11″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">5′6″ × 2′11″</span></button><button type="button" class="fp-tag" data-room="9" style="left:53.22%;top:13.42%" aria-label="Balcon, 46′7″ × 4′10″"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">46′7″ × 4′10″</span></button></div></div></div><div class="fp-photos"><p class="fp-photos-h">Photos réelles</p><div class="fp-photos-row"><button type="button" class="fp-thumb" data-room="4"><img src="/photos/0009-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Cuisine</span></button><button type="button" class="fp-thumb" data-room="5"><img src="/photos/0010-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Séjour</span></button><button type="button" class="fp-thumb" data-room="6"><img src="/photos/0012-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Salle de bain 1</span></button></div></div></div><div class="fp-card" data-card="1" hidden><div class="fp-card-in" role="dialog" aria-label="Chambre principale">
461 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
462 + <img class="fp-card-img" src="/plans/unite-902-room-1.webp" srcset="/plans/unite-902-room-1-sm.webp 600w, /plans/unite-902-room-1.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Chambre principale, vue 3D" loading="lazy" decoding="async" />
463 +
464 + <div class="fp-card-body"><p class="fp-card-name">Chambre principale</p><p class="fp-card-dims">10′3″ × 13′4″</p>
465 + <p class="fp-card-fit">Lit queen et deux tables de chevet, dessinés à l'échelle sur le plan.</p>
466 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
467 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
468 + </div></div><div class="fp-card" data-card="2" hidden><div class="fp-card-in" role="dialog" aria-label="Penderie">
469 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
470 + <img class="fp-card-img" src="/plans/unite-902-room-2.webp" srcset="/plans/unite-902-room-2-sm.webp 600w, /plans/unite-902-room-2.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Penderie, vue 3D" loading="lazy" decoding="async" />
471 +
472 + <div class="fp-card-body"><p class="fp-card-name">Penderie</p><p class="fp-card-dims">5′ × 4′9″</p>
473 +
474 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
475 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
476 + </div></div><div class="fp-card" data-card="3" hidden><div class="fp-card-in" role="dialog" aria-label="Chambre 2">
477 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
478 + <img class="fp-card-img" src="/plans/unite-902-room-3.webp" srcset="/plans/unite-902-room-3-sm.webp 600w, /plans/unite-902-room-3.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Chambre 2, vue 3D" loading="lazy" decoding="async" />
479 +
480 + <div class="fp-card-body"><p class="fp-card-name">Chambre 2</p><p class="fp-card-dims">11′7″ × 9′5″</p>
481 + <p class="fp-card-fit">Lit queen et deux tables de chevet, dessinés à l'échelle sur le plan.</p>
482 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
483 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
484 + </div></div><div class="fp-card" data-card="4" hidden><div class="fp-card-in" role="dialog" aria-label="Cuisine">
485 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
486 +
487 + <img class="fp-card-img" src="/photos/0009-md.webp" srcset="/photos/0009-sm.webp 640w, /photos/0009-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Cuisine, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
488 + <div class="fp-card-body"><p class="fp-card-name">Cuisine</p><p class="fp-card-dims">8′8″ × 11′8″</p>
489 +
490 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
491 + </div>
492 + </div></div><div class="fp-card" data-card="5" hidden><div class="fp-card-in" role="dialog" aria-label="Séjour et salle à manger">
493 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
494 +
495 + <img class="fp-card-img" src="/photos/0010-md.webp" srcset="/photos/0010-sm.webp 640w, /photos/0010-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Séjour et salle à manger, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
496 + <div class="fp-card-body"><p class="fp-card-name">Séjour et salle à manger</p><p class="fp-card-dims">11′8″ × 8′8″</p>
497 + <p class="fp-card-fit">Table pour 4 et sofa sectionnel, dessinés à l'échelle sur le plan.</p>
498 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
499 + </div>
500 + </div></div><div class="fp-card" data-card="6" hidden><div class="fp-card-in" role="dialog" aria-label="Salle de bain 1">
501 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
502 +
503 + <img class="fp-card-img" src="/photos/0012-md.webp" srcset="/photos/0012-sm.webp 640w, /photos/0012-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Salle de bain 1, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
504 + <div class="fp-card-body"><p class="fp-card-name">Salle de bain 1</p><p class="fp-card-dims">5′ × 8′3″</p>
505 +
506 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
507 + </div>
508 + </div></div><div class="fp-card" data-card="7" hidden><div class="fp-card-in" role="dialog" aria-label="Salle de bain 2">
509 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
510 +
511 + <img class="fp-card-img" src="/photos/0012-md.webp" srcset="/photos/0012-sm.webp 640w, /photos/0012-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Salle de bain 2, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
512 + <div class="fp-card-body"><p class="fp-card-name">Salle de bain 2</p><p class="fp-card-dims">5′7″ × 10′</p>
513 +
514 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
515 + </div>
516 + </div></div><div class="fp-card" data-card="8" hidden><div class="fp-card-in" role="dialog" aria-label="Buanderie">
517 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
518 + <img class="fp-card-img" src="/plans/unite-902-room-8.webp" srcset="/plans/unite-902-room-8-sm.webp 600w, /plans/unite-902-room-8.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Buanderie, vue 3D" loading="lazy" decoding="async" />
519 +
520 + <div class="fp-card-body"><p class="fp-card-name">Buanderie</p><p class="fp-card-dims">5′6″ × 2′11″</p>
521 +
522 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
523 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
524 + </div></div><div class="fp-card" data-card="9" hidden><div class="fp-card-in" role="dialog" aria-label="Balcon">
525 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
526 + <img class="fp-card-img" src="/plans/unite-902-room-9.webp" srcset="/plans/unite-902-room-9-sm.webp 600w, /plans/unite-902-room-9.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Balcon, vue 3D" loading="lazy" decoding="async" />
527 +
528 + <div class="fp-card-body"><p class="fp-card-name">Balcon</p><p class="fp-card-dims">46′7″ × 4′10″</p>
529 +
530 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
531 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
532 + </div></div></div>
533 + <div class="fp-info">
534 + <div class="fp-side"><p class="fp-h">Les pièces</p><ul class="fp-rooms"><li><button type="button" class="fp-row" data-room="1"><span class="fp-name">Chambre principale</span><span class="fp-dims">10′3″ × 13′4″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="2"><span class="fp-name">Penderie</span><span class="fp-dims">5′ × 4′9″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="3"><span class="fp-name">Chambre 2</span><span class="fp-dims">11′7″ × 9′5″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="4"><span class="fp-name">Cuisine</span><span class="fp-dims">8′8″ × 11′8″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="5"><span class="fp-name">Séjour et salle à manger</span><span class="fp-dims">11′8″ × 8′8″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="6"><span class="fp-name">Salle de bain 1</span><span class="fp-dims">5′ × 8′3″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="7"><span class="fp-name">Salle de bain 2</span><span class="fp-dims">5′7″ × 10′</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="8"><span class="fp-name">Buanderie</span><span class="fp-dims">5′6″ × 2′11″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="9"><span class="fp-name">Balcon</span><span class="fp-dims">46′7″ × 4′10″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li></ul><p class="fp-note">Dimensions en pieds et pouces, selon le plan de vente (préliminaire) · plan 4O-INV.</p></div>
535 + <div class="fp-block"><p class="fp-h">Sur l'étage</p>
536 + <img class="fp-key" src="/plans/unite-902-etage-1.webp" width="1369" height="467" alt="Plan de l'étage, l'appartement en or" loading="lazy" decoding="async" />
537 + <p class="fp-sub"><span class="fp-swatch" aria-hidden="true"></span>L'unité 902, au 9e étage, côté .</p></div>
538 + </div>
539 + </div>
540 + <div class="pd-links"><a class="pd-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a><a href="https://storage.googleapis.com/planpoint-bucket/Plans-Solaris_Oct2022_Unite_902-1669915116684.pdf" class="pd-pdf md:hidden" rel="noopener" target="_blank">Plan à imprimer (PDF)</a></div></div>
541 + <div class="pd-foot">
542 + <a href="/visiter/?unite=902#form" class="btn btn-gold"><span class="md:hidden">Visiter</span><span class="max-md:hidden">Visiter cette unité</span></a>
543 + <a href="tel:+15819894457" class="btn btn-line"><span class="md:hidden">Appeler</span><span class="max-md:hidden">Appeler 581-989-4457</span></a>
544 + <a href="https://storage.googleapis.com/planpoint-bucket/Plans-Solaris_Oct2022_Unite_902-1669915116684.pdf" class="pd-pdf max-md:hidden" rel="noopener" target="_blank">Plan à imprimer (PDF)</a>
545 + </div>
546 + </dialog>
547 + <dialog id="plan-601" class="plan-dialog" aria-label="Plan de l'unité 601">
548 + <div class="pd-head">
549 + <div><p class="pd-unit">Unité 601 <span class="pd-promo">1 mois gratuit*</span></p><p class="pd-line">4½ · 1017 pi² · 2 542 $ /mois · libre le 1er juillet 2027</p></div>
550 + <form method="dialog"><button class="pd-close" aria-label="Fermer">×</button></form>
551 + </div>
552 + <div class="plan-img min-h-0 flex-1 px-5 py-5 md:px-7"><div class="fp">
553 + <div class="fp-plan fp-two">
554 + <div class="fp-switch" role="group" aria-label="Affichage du plan"><button type="button" data-fp-view="3d" aria-pressed="true">Vue 3D</button><button type="button" data-fp-view="2d" aria-pressed="false">Plan et dimensions</button></div>
555 + <div class="fp-stage has-photos"><div class="fp-views"><div class="fp-view" data-v="3d"><div class="fp-draw" style="aspect-ratio:1600/1247;--ar:1.2831"><img src="/plans/unites-201-301-401-501-601-701-801-3d.webp" srcset="/plans/unites-201-301-401-501-601-701-801-3d-sm.webp 800w, /plans/unites-201-301-401-501-601-701-801-3d.webp 1600w" sizes="(min-width: 1100px) 1000px, 92vw" width="1600" height="1247" alt="Vue 3D de l'appartement, 4½, meublé à titre d'exemple" loading="lazy" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:68.52%;top:75.74%" aria-label="Chambre principale, 10′ × 12′"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">10′ × 12′</span></button><button type="button" class="fp-tag" data-room="2" style="left:78.5%;top:61.2%" aria-label="Penderie, 5′8″ × 4′8″"><span class="fp-tag-n">Penderie</span><span class="fp-tag-d">5′8″ × 4′8″</span></button><button type="button" class="fp-tag" data-room="3" style="left:25.51%;top:52%" aria-label="Chambre 2, 9′7″ × 12′"><span class="fp-tag-n">Chambre 2</span><span class="fp-tag-d">9′7″ × 12′</span></button><button type="button" class="fp-tag" data-room="4" style="left:31.51%;top:35.35%" aria-label="Penderie, 5′8″ × 4′8″"><span class="fp-tag-n">Penderie</span><span class="fp-tag-d">5′8″ × 4′8″</span></button><button type="button" class="fp-tag" data-room="5" style="left:88.45%;top:41.93%" aria-label="Garde-robe d&#39;entrée, 5′11″ × 5′2″"><span class="fp-tag-n">Garde-robe</span><span class="fp-tag-d">5′11″ × 5′2″</span></button><button type="button" class="fp-tag" data-room="6" style="left:67.46%;top:32.98%" aria-label="Cuisine, 11′ × 8′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">11′ × 8′8″</span></button><button type="button" class="fp-tag" data-room="7" style="left:43.66%;top:54.34%" aria-label="Séjour et salle à manger, 13′6″ × 19′5″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">13′6″ × 19′5″</span></button><button type="button" class="fp-tag" data-room="8" style="left:38.45%;top:26.6%" aria-label="Salle de bain, 8′7″ × 10′9″"><span class="fp-tag-n">Salle de bain</span><span class="fp-tag-d">8′7″ × 10′9″</span></button><button type="button" class="fp-tag" data-room="9" style="left:83.09%;top:51.32%" aria-label="Buanderie, 5′7″ × 5′2″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">5′7″ × 5′2″</span></button><button type="button" class="fp-tag" data-room="10" style="left:35.68%;top:79.65%" aria-label="Balcon, 13′3″ × 7′"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">13′3″ × 7′</span></button></div>
556 + <p class="fp-caption">Illustration : mobilier et décor à titre d'exemple, non inclus. Touchez une pièce pour la voir.</p></div>
557 + <div class="fp-view" data-v="2d" hidden><div class="fp-draw" style="aspect-ratio:1401/1458;--ar:0.9609"><img src="/plans/unites-201-301-401-501-601-701-801.webp" srcset="/plans/unites-201-301-401-501-601-701-801-sm.webp 700w, /plans/unites-201-301-401-501-601-701-801.webp 1400w" sizes="(min-width: 1100px) 1000px, 92vw" width="1401" height="1458" alt="Plan de l'appartement, 4½, avec les dimensions des pièces" loading="lazy" decoding="async" /><button type="button" class="fp-tag" data-room="1" style="left:84.3%;top:62.36%" aria-label="Chambre principale, 10′ × 12′"><span class="fp-tag-n">Chambre principale</span><span class="fp-tag-d">10′ × 12′</span></button><button type="button" class="fp-tag" data-room="2" style="left:87.45%;top:39.29%" aria-label="Penderie, 5′8″ × 4′8″"><span class="fp-tag-n">Penderie</span><span class="fp-tag-d">5′8″ × 4′8″</span></button><button type="button" class="fp-tag" data-room="3" style="left:15.74%;top:62.36%" aria-label="Chambre 2, 9′7″ × 12′"><span class="fp-tag-n">Chambre 2</span><span class="fp-tag-d">9′7″ × 12′</span></button><button type="button" class="fp-tag" data-room="4" style="left:12.59%;top:39.38%" aria-label="Penderie, 5′8″ × 4′8″"><span class="fp-tag-n">Penderie</span><span class="fp-tag-d">5′8″ × 4′8″</span></button><button type="button" class="fp-tag" data-room="5" style="left:87.55%;top:10.8%" aria-label="Garde-robe d&#39;entrée, 5′11″ × 5′2″"><span class="fp-tag-n">Garde-robe</span><span class="fp-tag-d">5′11″ × 5′2″</span></button><button type="button" class="fp-tag" data-room="6" style="left:55.76%;top:13.83%" aria-label="Cuisine, 11′ × 8′8″"><span class="fp-tag-n">Cuisine</span><span class="fp-tag-d">11′ × 8′8″</span></button><button type="button" class="fp-tag" data-room="7" style="left:39.78%;top:53.53%" aria-label="Séjour et salle à manger, 13′6″ × 19′5″"><span class="fp-tag-n">Séjour</span><span class="fp-tag-d">13′6″ × 19′5″</span></button><button type="button" class="fp-tag" data-room="8" style="left:15.64%;top:24.91%" aria-label="Salle de bain, 8′7″ × 10′9″"><span class="fp-tag-n">Salle de bain</span><span class="fp-tag-d">8′7″ × 10′9″</span></button><button type="button" class="fp-tag" data-room="9" style="left:86.87%;top:25%" aria-label="Buanderie, 5′7″ × 5′2″"><span class="fp-tag-n">Buanderie</span><span class="fp-tag-d">5′7″ × 5′2″</span></button><button type="button" class="fp-tag" data-room="10" style="left:45.98%;top:87.72%" aria-label="Balcon, 13′3″ × 7′"><span class="fp-tag-n">Balcon</span><span class="fp-tag-d">13′3″ × 7′</span></button></div></div></div><div class="fp-photos"><p class="fp-photos-h">Photos réelles</p><div class="fp-photos-row"><button type="button" class="fp-thumb" data-room="6"><img src="/photos/0009-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Cuisine</span></button><button type="button" class="fp-thumb" data-room="7"><img src="/photos/0010-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Séjour</span></button><button type="button" class="fp-thumb" data-room="8"><img src="/photos/0012-sm.webp" width="600" height="400" alt="" loading="lazy" decoding="async" /><span>Salle de bain</span></button></div></div></div><div class="fp-card" data-card="1" hidden><div class="fp-card-in" role="dialog" aria-label="Chambre principale">
558 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
559 + <img class="fp-card-img" src="/plans/unites-201-301-401-501-601-701-801-room-1.webp" srcset="/plans/unites-201-301-401-501-601-701-801-room-1-sm.webp 600w, /plans/unites-201-301-401-501-601-701-801-room-1.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Chambre principale, vue 3D" loading="lazy" decoding="async" />
560 +
561 + <div class="fp-card-body"><p class="fp-card-name">Chambre principale</p><p class="fp-card-dims">10′ × 12′</p>
562 + <p class="fp-card-fit">Lit queen et deux tables de chevet, dessinés à l'échelle sur le plan.</p>
563 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
564 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
565 + </div></div><div class="fp-card" data-card="2" hidden><div class="fp-card-in" role="dialog" aria-label="Penderie">
566 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
567 + <img class="fp-card-img" src="/plans/unites-201-301-401-501-601-701-801-room-2.webp" srcset="/plans/unites-201-301-401-501-601-701-801-room-2-sm.webp 600w, /plans/unites-201-301-401-501-601-701-801-room-2.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Penderie, vue 3D" loading="lazy" decoding="async" />
568 +
569 + <div class="fp-card-body"><p class="fp-card-name">Penderie</p><p class="fp-card-dims">5′8″ × 4′8″</p>
570 +
571 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
572 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
573 + </div></div><div class="fp-card" data-card="3" hidden><div class="fp-card-in" role="dialog" aria-label="Chambre 2">
574 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
575 + <img class="fp-card-img" src="/plans/unites-201-301-401-501-601-701-801-room-3.webp" srcset="/plans/unites-201-301-401-501-601-701-801-room-3-sm.webp 600w, /plans/unites-201-301-401-501-601-701-801-room-3.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Chambre 2, vue 3D" loading="lazy" decoding="async" />
576 +
577 + <div class="fp-card-body"><p class="fp-card-name">Chambre 2</p><p class="fp-card-dims">9′7″ × 12′</p>
578 + <p class="fp-card-fit">Lit queen et deux tables de chevet, dessinés à l'échelle sur le plan.</p>
579 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
580 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
581 + </div></div><div class="fp-card" data-card="4" hidden><div class="fp-card-in" role="dialog" aria-label="Penderie">
582 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
583 + <img class="fp-card-img" src="/plans/unites-201-301-401-501-601-701-801-room-4.webp" srcset="/plans/unites-201-301-401-501-601-701-801-room-4-sm.webp 600w, /plans/unites-201-301-401-501-601-701-801-room-4.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Penderie, vue 3D" loading="lazy" decoding="async" />
584 +
585 + <div class="fp-card-body"><p class="fp-card-name">Penderie</p><p class="fp-card-dims">5′8″ × 4′8″</p>
586 +
587 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
588 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
589 + </div></div><div class="fp-card" data-card="5" hidden><div class="fp-card-in" role="dialog" aria-label="Garde-robe d&#39;entrée">
590 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
591 + <img class="fp-card-img" src="/plans/unites-201-301-401-501-601-701-801-room-5.webp" srcset="/plans/unites-201-301-401-501-601-701-801-room-5-sm.webp 600w, /plans/unites-201-301-401-501-601-701-801-room-5.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Garde-robe d&#39;entrée, vue 3D" loading="lazy" decoding="async" />
592 +
593 + <div class="fp-card-body"><p class="fp-card-name">Garde-robe d&#39;entrée</p><p class="fp-card-dims">5′11″ × 5′2″</p>
594 +
595 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
596 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
597 + </div></div><div class="fp-card" data-card="6" hidden><div class="fp-card-in" role="dialog" aria-label="Cuisine">
598 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
599 +
600 + <img class="fp-card-img" src="/photos/0009-md.webp" srcset="/photos/0009-sm.webp 640w, /photos/0009-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Cuisine, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
601 + <div class="fp-card-body"><p class="fp-card-name">Cuisine</p><p class="fp-card-dims">11′ × 8′8″</p>
602 +
603 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
604 + </div>
605 + </div></div><div class="fp-card" data-card="7" hidden><div class="fp-card-in" role="dialog" aria-label="Séjour et salle à manger">
606 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
607 +
608 + <img class="fp-card-img" src="/photos/0010-md.webp" srcset="/photos/0010-sm.webp 640w, /photos/0010-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Séjour et salle à manger, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
609 + <div class="fp-card-body"><p class="fp-card-name">Séjour et salle à manger</p><p class="fp-card-dims">13′6″ × 19′5″</p>
610 + <p class="fp-card-fit">Table pour 4, sofa sectionnel et coin bureau, dessinés à l'échelle sur le plan.</p>
611 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
612 + </div>
613 + </div></div><div class="fp-card" data-card="8" hidden><div class="fp-card-in" role="dialog" aria-label="Salle de bain">
614 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
615 +
616 + <img class="fp-card-img" src="/photos/0012-md.webp" srcset="/photos/0012-sm.webp 640w, /photos/0012-md.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Salle de bain, photo réelle d'un appartement Solaris" loading="lazy" decoding="async" />
617 + <div class="fp-card-body"><p class="fp-card-name">Salle de bain</p><p class="fp-card-dims">8′7″ × 10′9″</p>
618 +
619 + <p class="fp-card-cap">Photo réelle d'un appartement Solaris.</p>
620 + </div>
621 + </div></div><div class="fp-card" data-card="9" hidden><div class="fp-card-in" role="dialog" aria-label="Buanderie">
622 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
623 + <img class="fp-card-img" src="/plans/unites-201-301-401-501-601-701-801-room-9.webp" srcset="/plans/unites-201-301-401-501-601-701-801-room-9-sm.webp 600w, /plans/unites-201-301-401-501-601-701-801-room-9.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Buanderie, vue 3D" loading="lazy" decoding="async" />
624 +
625 + <div class="fp-card-body"><p class="fp-card-name">Buanderie</p><p class="fp-card-dims">5′7″ × 5′2″</p>
626 +
627 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
628 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
629 + </div></div><div class="fp-card" data-card="10" hidden><div class="fp-card-in" role="dialog" aria-label="Balcon">
630 + <button type="button" class="fp-card-x" aria-label="Fermer">×</button>
631 + <img class="fp-card-img" src="/plans/unites-201-301-401-501-601-701-801-room-10.webp" srcset="/plans/unites-201-301-401-501-601-701-801-room-10-sm.webp 600w, /plans/unites-201-301-401-501-601-701-801-room-10.webp 1200w" sizes="(min-width: 700px) 560px, 92vw" width="1200" height="800" alt="Balcon, vue 3D" loading="lazy" decoding="async" />
632 +
633 + <div class="fp-card-body"><p class="fp-card-name">Balcon</p><p class="fp-card-dims">13′3″ × 7′</p>
634 +
635 + <p class="fp-card-cap">Vue 3D, mobilier à titre d'exemple.</p>
636 + <a class="fp-card-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a></div>
637 + </div></div></div>
638 + <div class="fp-info">
639 + <div class="fp-side"><p class="fp-h">Les pièces</p><ul class="fp-rooms"><li><button type="button" class="fp-row" data-room="1"><span class="fp-name">Chambre principale</span><span class="fp-dims">10′ × 12′</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="2"><span class="fp-name">Penderie</span><span class="fp-dims">5′8″ × 4′8″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="3"><span class="fp-name">Chambre 2</span><span class="fp-dims">9′7″ × 12′</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="4"><span class="fp-name">Penderie</span><span class="fp-dims">5′8″ × 4′8″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="5"><span class="fp-name">Garde-robe d&#39;entrée</span><span class="fp-dims">5′11″ × 5′2″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="6"><span class="fp-name">Cuisine</span><span class="fp-dims">11′ × 8′8″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="7"><span class="fp-name">Séjour et salle à manger</span><span class="fp-dims">13′6″ × 19′5″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="8"><span class="fp-name">Salle de bain</span><span class="fp-dims">8′7″ × 10′9″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 8h3l2-2.5h6L17 8h3v11H4z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/><circle cx="12" cy="13.2" r="3.3" fill="none" stroke="currentColor" stroke-width="1.6"/></svg></button></li><li><button type="button" class="fp-row" data-room="9"><span class="fp-name">Buanderie</span><span class="fp-dims">5′7″ × 5′2″</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li><li><button type="button" class="fp-row" data-room="10"><span class="fp-name">Balcon</span><span class="fp-dims">13′3″ × 7′</span><svg class="fp-ico" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg></button></li></ul><p class="fp-note">Dimensions en pieds et pouces, selon le plan de vente (préliminaire) · plan 4B-INV.</p></div>
640 + <div class="fp-block"><p class="fp-h">Sur l'étage</p>
641 + <img class="fp-key" src="/plans/unites-201-301-401-501-601-701-801-etage-3.webp" width="1357" height="449" alt="Plan de l'étage, l'appartement en or" loading="lazy" decoding="async" />
642 + <p class="fp-sub"><span class="fp-swatch" aria-hidden="true"></span>L'unité 601, au 6e étage</p></div>
643 + </div>
644 + </div>
645 + <div class="pd-links"><a class="pd-tour" href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener">Voir un 4½ en visite virtuelle 3D</a><a href="https://storage.googleapis.com/planpoint-bucket/Plans-Solaris_Oct2022_Unites_201-301-401-501-601-701-801-1669912458841.pdf" class="pd-pdf md:hidden" rel="noopener" target="_blank">Plan à imprimer (PDF)</a></div></div>
646 + <div class="pd-foot">
647 + <a href="/visiter/?unite=601#form" class="btn btn-gold"><span class="md:hidden">Visiter</span><span class="max-md:hidden">Visiter cette unité</span></a>
648 + <a href="tel:+15819894457" class="btn btn-line"><span class="md:hidden">Appeler</span><span class="max-md:hidden">Appeler 581-989-4457</span></a>
649 + <a href="https://storage.googleapis.com/planpoint-bucket/Plans-Solaris_Oct2022_Unites_201-301-401-501-601-701-801-1669912458841.pdf" class="pd-pdf max-md:hidden" rel="noopener" target="_blank">Plan à imprimer (PDF)</a>
650 + </div>
651 + </dialog></div> <script>
652 + // Warm the floor plan as soon as a visitor points at "Plan", so it is there when the dialog opens.
653 + document.addEventListener("pointerover", function (e) {
654 + var b = e.target.closest && e.target.closest("[data-plan]"); if (!b) return;
655 + var img = document.querySelector("#plan-" + b.getAttribute("data-plan") + " img"); if (img) img.loading = "eager";
656 + });
657 + // Delegated, so it also works on the list the Worker injects.
658 + document.addEventListener("click", function (e) {
659 + var b = e.target.closest && e.target.closest("[data-plan]");
660 + if (b) {
661 + var d = document.getElementById("plan-" + b.getAttribute("data-plan"));
662 + if (d) {
663 + var img = d.querySelector("img"); if (img) img.loading = "eager"; d.showModal();
664 + // Phones: the plan is shown larger and can be dragged; start on the floor plan, in the middle of the sheet.
665 + }
666 + return;
667 + }
668 + if (e.target.classList && e.target.classList.contains("plan-dialog")) { e.target.close(); return; }
669 + // A click anywhere on a unit's row opens its plan (the row lights up on hover, so it must do something).
670 + var row = e.target.closest && e.target.closest("li[data-unit]");
671 + if (row && !e.target.closest("a, button, dialog")) { var pb = row.querySelector("[data-plan]"); if (pb) pb.click(); else { var v = row.querySelector("a[href]"); if (v) v.click(); } }
672 + });
673 +</script></div></section> <section id="plan-interactif" class="mx-auto max-w-[1240px] px-5 md:px-8 pt-16 md:pt-24 scroll-mt-6"> <div class="flex flex-wrap items-end justify-between gap-4 mb-6"> <div> <p class="eyebrow mb-3">Plan interactif</p> <h2 class="title text-[34px] md:text-[48px]">Choisissez votre étage.</h2> <p class="text-[17px] md:text-[18px] text-muted mt-2 max-w-[56ch]">Explorez l'immeuble étage par étage, en temps réel : chaque unité, son plan, sa superficie et sa disponibilité.</p> </div> <a href="https://app.planpoint.io/Solaris/Solaris" target="_blank" rel="noopener" class="text-[15px] font-medium underline underline-offset-4 decoration-gold">Ouvrir en plein écran</a> </div> <div id="pp-box" class="relative card-r border border-line bg-ink h-[78vh] min-h-[560px] max-h-[860px]"> <img src="/photos/0013-md.webp" srcset="/photos/0013-sm.webp 640w, /photos/0013-md.webp 1200w, /photos/0013.webp 2000w, /photos/0013-xl.webp 2880w" sizes="(min-width: 1240px) 1180px, 100vw" width="2000" height="1634" alt loading="lazy" fetchpriority="auto" decoding="async" class="photo absolute inset-0 opacity-60"> <div class="absolute inset-0 bg-gradient-to-t from-night/80 to-night/10"></div> <div class="relative h-full flex flex-col items-center justify-center text-center px-6 on-dark text-paper"> <p class="title text-[30px] md:text-[42px] mb-3">Les 133 unités, étage par étage</p> <p class="text-[16px] text-paper/80 mb-6 max-w-[42ch]">Plans, superficies et disponibilités à jour, directement de notre outil de location.</p> <button type="button" id="pp-load" class="btn btn-gold">Explorer le plan interactif</button> </div> </div> </section> <section class="mx-auto max-w-[1240px] px-5 md:px-8 pt-16 md:pt-24"> <h2 class="title text-[34px] md:text-[48px] mb-8">Dans chaque appartement.</h2> <ul class="grid gap-x-12 gap-y-4 md:grid-cols-2 text-[17px] md:text-[18px]"> <li class="border-b border-line pb-4">Cuisine ouverte avec îlot</li> <li class="border-b border-line pb-4">Électroménagers inclus</li> <li class="border-b border-line pb-4">Internet inclus</li> <li class="border-b border-line pb-4">Grandes fenêtres et grand balcon</li> <li class="border-b border-line pb-4">Thermopompe et ventilation récupératrice de chaleur</li> <li class="border-b border-line pb-4">Un plan coté pièce par pièce, pour placer vos meubles avant la visite</li> </ul> <div class="mt-12 grid gap-8 md:grid-cols-3 text-[17px] md:text-[18px]"> <div><h3 class="title text-[26px] mb-2"><a href="/appartements/3-et-demi/" class="hover:text-gold-ink transition-colors">Le 3½</a></h3><p class="text-muted">Une chambre, pour une personne ou un couple qui veut simplifier sans rien perdre de la lumière.</p></div> <div><h3 class="title text-[26px] mb-2"><a href="/appartements/4-et-demi/" class="hover:text-gold-ink transition-colors">Le 4½</a></h3><p class="text-muted">Deux chambres : une pour dormir, l'autre pour les invités, un bureau ou un atelier. Le choix de ceux qui quittent une maison.</p></div> <div><h3 class="title text-[26px] mb-2"><a href="/appartements/5-et-demi/" class="hover:text-gold-ink transition-colors">Le 5½</a></h3><p class="text-muted">Trois chambres, pour recevoir toute la famille ou garder une pièce pour chaque passion.</p></div> </div> </section> <section class="mx-auto max-w-[1240px] px-5 md:px-8 py-16 md:py-24 grid md:grid-cols-2 gap-4"> <div class="card-r aspect-[4/3]"><img src="/photos/0009-md.webp" srcset="/photos/0009-sm.webp 640w, /photos/0009-md.webp 1200w, /photos/0009.webp 2000w" sizes="(min-width: 900px) 50vw, 100vw" width="2000" height="1333" alt="Cuisine avec îlot et luminaire suspendu" loading="lazy" fetchpriority="auto" decoding="async" class="photo "></div> <div class="card-r aspect-[4/3]"><img src="/photos/0011-md.webp" srcset="/photos/0011-sm.webp 640w, /photos/0011-md.webp 1200w, /photos/0011.webp 2000w" sizes="(min-width: 900px) 50vw, 100vw" width="2000" height="1333" alt="Aire ouverte cuisine et séjour" loading="lazy" fetchpriority="auto" decoding="async" class="photo "></div> <div class="card-r aspect-[4/3]"><img src="/photos/0010-md.webp" srcset="/photos/0010-sm.webp 640w, /photos/0010-md.webp 1200w, /photos/0010.webp 2000w" sizes="(min-width: 900px) 50vw, 100vw" width="2000" height="1333" alt="Séjour lumineux" loading="lazy" fetchpriority="auto" decoding="async" class="photo "></div> <div class="card-r aspect-[4/3]"><img src="/photos/0012-md.webp" srcset="/photos/0012-sm.webp 640w, /photos/0012-md.webp 1200w, /photos/0012.webp 2000w" sizes="(min-width: 900px) 50vw, 100vw" width="2000" height="1333" alt="Salle de bain avec douche vitrée" loading="lazy" fetchpriority="auto" decoding="async" class="photo "></div> </section> <section class="mx-auto max-w-[1240px] px-5 md:px-8 pb-16 md:pb-24 grid md:grid-cols-2 gap-12"> <div> <h2 class="title text-[34px] md:text-[44px] mb-6">Les types</h2> <ul class="divide-y divide-line border-y border-line"> <li class="flex justify-between gap-4 py-4 text-[17px] md:text-[18px]"><span><a href="/appartements/3-et-demi/" class="inline-block py-1.5 underline underline-offset-4"><span class="title text-[26px]">3½</span> · 1 chambre</a><span class="block text-[15px] text-muted">45 dans l'immeuble</span></span><span class="text-right self-center" data-live="from" data-type="3½" data-style="short">dès <strong>1 870 $</strong></span></li><li class="flex justify-between gap-4 py-4 text-[17px] md:text-[18px]"><span><a href="/appartements/4-et-demi/" class="inline-block py-1.5 underline underline-offset-4"><span class="title text-[26px]">4½</span> · 2 chambres</a><span class="block text-[15px] text-muted">80 dans l'immeuble</span></span><span class="text-right self-center" data-live="from" data-type="4½" data-style="short">dès <strong>2 110 $</strong></span></li><li class="flex justify-between gap-4 py-4 text-[17px] md:text-[18px]"><span><a href="/appartements/5-et-demi/" class="inline-block py-1.5 underline underline-offset-4"><span class="title text-[26px]">5½</span> · 3 chambres</a><span class="block text-[15px] text-muted">8 dans l'immeuble</span></span><span class="text-right self-center" data-live="from" data-type="5½" data-style="short"><span class="text-muted text-[15px]">aucun libre</span></span></li> </ul> </div> <div> <h2 class="title text-[34px] md:text-[44px] mb-6">Inclus et en option</h2> <ul class="divide-y divide-line border-y border-line"> <li class="flex justify-between py-4 text-[17px] md:text-[18px]"><span>Internet</span><span class="text-ink font-medium">Inclus</span></li><li class="flex justify-between py-4 text-[17px] md:text-[18px]"><span>Électroménagers</span><span class="text-ink font-medium">Inclus</span></li><li class="flex justify-between py-4 text-[17px] md:text-[18px]"><span>Thermopompe</span><span class="text-ink font-medium">Inclus</span></li><li class="flex justify-between py-4 text-[17px] md:text-[18px]"><span>Équipe sur place 24 h sur 24, 7 jours sur 7</span><span class="text-ink font-medium">Inclus</span></li><li class="flex justify-between py-4 text-[17px] md:text-[18px]"><span>Animaux acceptés</span><span class="text-ink font-medium">Inclus</span></li><li class="flex justify-between py-4 text-[17px] md:text-[18px]"><span>Stationnement intérieur, avec places pour voitures électriques</span><span class="text-muted">en supplément</span></li><li class="flex justify-between py-4 text-[17px] md:text-[18px]"><span>Espace de rangement</span><span class="text-muted">en supplément</span></li> </ul> </div> </section> <section id="visites" class="scroll-mt-6 bg-sand py-16 md:py-24"><div class="mx-auto max-w-[1240px] px-5 md:px-8"><div> <p class="eyebrow mb-3">Visites virtuelles</p> <h2 class="title text-[34px] md:text-[48px] mb-3">Visitez de chez vous.</h2> <p class="text-[17px] md:text-[18px] text-muted max-w-[52ch] mb-8">Visites virtuelles en 3D : promenez-vous dans les appartements et les espaces communs, pièce par pièce.</p> <ul class="grid gap-3 sm:gap-4 grid-cols-2 lg:grid-cols-3"> <li> <a href="https://my.matterport.com/show/?m=XHM7VTJzYPB" target="_blank" rel="noopener" class="group block rounded-[18px] focus-visible:outline-offset-4"> <div class="relative card-r aspect-[4/3]"> <img src="/photos/0009-md.webp" srcset="/photos/0009-sm.webp 640w, /photos/0009-md.webp 1200w, /photos/0009.webp 2000w" sizes="(min-width: 1024px) 25vw, 50vw" width="2000" height="1333" alt loading="lazy" fetchpriority="auto" decoding="async" class="photo transition-transform duration-500 group-hover:scale-[1.04]"> <span class="absolute left-2 bottom-2 sm:left-3 sm:bottom-3 inline-flex items-center gap-1.5 rounded-full bg-paper/95 px-3 py-1.5 sm:px-3.5 sm:py-2 text-[12px] sm:text-[15px] font-semibold text-ink shadow-sm"> <svg aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="9"></circle><path d="M10 8.5v7l6-3.5z" fill="currentColor"></path></svg>
674 +Visite 3D
675 +</span> </div> <p class="mt-2.5 text-[15px] sm:text-[16px] leading-snug font-medium group-hover:underline underline-offset-4 decoration-gold">3½ · 1 chambre<span class="sr-only"> (visite virtuelle, nouvel onglet)</span></p> </a> </li><li> <a href="https://my.matterport.com/show/?m=WHmLL4w4Z12" target="_blank" rel="noopener" class="group block rounded-[18px] focus-visible:outline-offset-4"> <div class="relative card-r aspect-[4/3]"> <img src="/photos/0011-md.webp" srcset="/photos/0011-sm.webp 640w, /photos/0011-md.webp 1200w, /photos/0011.webp 2000w" sizes="(min-width: 1024px) 25vw, 50vw" width="2000" height="1333" alt loading="lazy" fetchpriority="auto" decoding="async" class="photo transition-transform duration-500 group-hover:scale-[1.04]"> <span class="absolute left-2 bottom-2 sm:left-3 sm:bottom-3 inline-flex items-center gap-1.5 rounded-full bg-paper/95 px-3 py-1.5 sm:px-3.5 sm:py-2 text-[12px] sm:text-[15px] font-semibold text-ink shadow-sm"> <svg aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="9"></circle><path d="M10 8.5v7l6-3.5z" fill="currentColor"></path></svg>
676 +Visite 3D
677 +</span> </div> <p class="mt-2.5 text-[15px] sm:text-[16px] leading-snug font-medium group-hover:underline underline-offset-4 decoration-gold">4½ · 2 chambres<span class="sr-only"> (visite virtuelle, nouvel onglet)</span></p> </a> </li><li> <a href="https://my.matterport.com/show/?m=V4qidGevFLz" target="_blank" rel="noopener" class="group block rounded-[18px] focus-visible:outline-offset-4"> <div class="relative card-r aspect-[4/3]"> <img src="/photos/0010-md.webp" srcset="/photos/0010-sm.webp 640w, /photos/0010-md.webp 1200w, /photos/0010.webp 2000w" sizes="(min-width: 1024px) 25vw, 50vw" width="2000" height="1333" alt loading="lazy" fetchpriority="auto" decoding="async" class="photo transition-transform duration-500 group-hover:scale-[1.04]"> <span class="absolute left-2 bottom-2 sm:left-3 sm:bottom-3 inline-flex items-center gap-1.5 rounded-full bg-paper/95 px-3 py-1.5 sm:px-3.5 sm:py-2 text-[12px] sm:text-[15px] font-semibold text-ink shadow-sm"> <svg aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="9"></circle><path d="M10 8.5v7l6-3.5z" fill="currentColor"></path></svg>
678 +Visite 3D
679 +</span> </div> <p class="mt-2.5 text-[15px] sm:text-[16px] leading-snug font-medium group-hover:underline underline-offset-4 decoration-gold">4½ de coin · 2 chambres<span class="sr-only"> (visite virtuelle, nouvel onglet)</span></p> </a> </li> </ul> </div></div></section> <section class="mx-auto max-w-[1240px] px-5 md:px-8 py-16 md:py-24 grid md:grid-cols-[0.8fr_1.2fr] gap-8 md:gap-16"> <h2 class="title text-[34px] md:text-[44px]">Questions fréquentes</h2> <div class="divide-y divide-line border-y border-line"> <details class="group py-1"> <summary class="flex cursor-pointer list-none items-center justify-between gap-6 py-4 text-[17px] md:text-[18px] font-medium">Qu&#39;est-ce qui est inclus dans le loyer?<span aria-hidden="true" class="text-gold-ink text-[22px] leading-none transition-transform group-open:rotate-45">+</span></summary> <p class="pb-5 text-[16px] text-muted max-w-[60ch]">Internet et les électroménagers sont inclus. Chaque appartement a une thermopompe et une ventilation récupératrice de chaleur.</p> </details><details class="group py-1"> <summary class="flex cursor-pointer list-none items-center justify-between gap-6 py-4 text-[17px] md:text-[18px] font-medium">Y a-t-il du stationnement?<span aria-hidden="true" class="text-gold-ink text-[22px] leading-none transition-transform group-open:rotate-45">+</span></summary> <p class="pb-5 text-[16px] text-muted max-w-[60ch]">Oui : 180 places intérieures, prêtes pour les bornes de recharge, offertes en supplément.</p> </details><details class="group py-1"> <summary class="flex cursor-pointer list-none items-center justify-between gap-6 py-4 text-[17px] md:text-[18px] font-medium">Puis-je avoir un espace de rangement?<span aria-hidden="true" class="text-gold-ink text-[22px] leading-none transition-transform group-open:rotate-45">+</span></summary> <p class="pb-5 text-[16px] text-muted max-w-[60ch]">Oui, des espaces de rangement sont offerts en supplément.</p> </details><details class="group py-1"> <summary class="flex cursor-pointer list-none items-center justify-between gap-6 py-4 text-[17px] md:text-[18px] font-medium">Les animaux sont-ils acceptés?<span aria-hidden="true" class="text-gold-ink text-[22px] leading-none transition-transform group-open:rotate-45">+</span></summary> <p class="pb-5 text-[16px] text-muted max-w-[60ch]">Oui, avec des règles strictes, pour que chaque résident profite de l&#39;immeuble en toute tranquillité.</p> </details><details class="group py-1"> <summary class="flex cursor-pointer list-none items-center justify-between gap-6 py-4 text-[17px] md:text-[18px] font-medium">Y a-t-il quelqu&#39;un sur place?<span aria-hidden="true" class="text-gold-ink text-[22px] leading-none transition-transform group-open:rotate-45">+</span></summary> <p class="pb-5 text-[16px] text-muted max-w-[60ch]">Oui. Notre équipe est sur place 24 heures sur 24, 7 jours sur 7, fins de semaine comprises.</p> </details><details class="group py-1"> <summary class="flex cursor-pointer list-none items-center justify-between gap-6 py-4 text-[17px] md:text-[18px] font-medium">Comment visiter?<span aria-hidden="true" class="text-gold-ink text-[22px] leading-none transition-transform group-open:rotate-45">+</span></summary> <p class="pb-5 text-[16px] text-muted max-w-[60ch]">Les visites se font sur rendez-vous. Remplissez le formulaire ou appelez au 581-989-4457. Vous pouvez aussi faire une visite virtuelle 3D en ligne.</p> </details><details class="group py-1"> <summary class="flex cursor-pointer list-none items-center justify-between gap-6 py-4 text-[17px] md:text-[18px] font-medium">Quelles tailles d&#39;appartements?<span aria-hidden="true" class="text-gold-ink text-[22px] leading-none transition-transform group-open:rotate-45">+</span></summary> <p class="pb-5 text-[16px] text-muted max-w-[60ch]">Des 3½ (1 chambre), 4½ (2 chambres) et 5½ (3 chambres), de 656 à 1 135 pi².</p> </details> </div> <script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Qu'est-ce qui est inclus dans le loyer?","acceptedAnswer":{"@type":"Answer","text":"Internet et les électroménagers sont inclus. Chaque appartement a une thermopompe et une ventilation récupératrice de chaleur."}},{"@type":"Question","name":"Y a-t-il du stationnement?","acceptedAnswer":{"@type":"Answer","text":"Oui : 180 places intérieures, prêtes pour les bornes de recharge, offertes en supplément."}},{"@type":"Question","name":"Puis-je avoir un espace de rangement?","acceptedAnswer":{"@type":"Answer","text":"Oui, des espaces de rangement sont offerts en supplément."}},{"@type":"Question","name":"Les animaux sont-ils acceptés?","acceptedAnswer":{"@type":"Answer","text":"Oui, avec des règles strictes, pour que chaque résident profite de l'immeuble en toute tranquillité."}},{"@type":"Question","name":"Y a-t-il quelqu'un sur place?","acceptedAnswer":{"@type":"Answer","text":"Oui. Notre équipe est sur place 24 heures sur 24, 7 jours sur 7, fins de semaine comprises."}},{"@type":"Question","name":"Comment visiter?","acceptedAnswer":{"@type":"Answer","text":"Les visites se font sur rendez-vous. Remplissez le formulaire ou appelez au 581-989-4457. Vous pouvez aussi faire une visite virtuelle 3D en ligne."}},{"@type":"Question","name":"Quelles tailles d'appartements?","acceptedAnswer":{"@type":"Answer","text":"Des 3½ (1 chambre), 4½ (2 chambres) et 5½ (3 chambres), de 656 à 1 135 pi²."}}]}</script> </section> <section class="bg-ink text-paper on-dark py-14"><div class="mx-auto max-w-[1240px] px-5 md:px-8 flex flex-wrap items-center justify-between gap-6"> <p class="title text-[30px] md:text-[40px]">Une unité vous plaît?</p><a href="/visiter/" class="btn btn-gold">Réserver une visite</a></div></section> <script>
680 + (function () {
681 + var b = document.getElementById("pp-load"); if (!b) return;
682 + b.addEventListener("click", function () {
683 + var box = document.getElementById("pp-box");
684 + box.innerHTML = '<iframe src="https://app.planpoint.io/Solaris/Solaris" title="Plan interactif de Solaris (Planpoint)" class="block w-full h-full" allow="fullscreen" referrerpolicy="strict-origin-when-cross-origin"></iframe>';
685 + box.classList.remove("bg-ink"); box.classList.add("bg-white");
686 + });
687 + })();
688 +</script> </main> <footer class="on-dark bg-ink text-paper"> <div class="mx-auto max-w-[1240px] px-5 md:px-8 py-14 md:py-16 grid gap-10 md:grid-cols-[1.4fr_1fr_1fr]"> <div> <img src="/logo/logo-white.webp" alt="Solaris" width="287" height="240" class="h-20 w-auto mb-6" loading="lazy"> <p class="title text-[34px] md:text-[40px] mb-3">Venez voir la lumière.</p> <a href="/visiter/" class="btn btn-gold mt-2">Réserver une visite</a> </div> <div class="text-[15px] leading-7 text-paper/85"> <p class="eyebrow mb-3">Nous joindre</p> <p>1030, rue des Francs-Bourgeois<br>Boisbriand (QC) J7H 0H8</p> <p class="mt-3">Visites sur rendez-vous</p> <p class="mt-3"><a href="tel:+15819894457" class="hover:text-gold">581-989-4457</a><br><a href="mailto:info@solarisboisbriand.com" class="hover:text-gold break-all">info@solarisboisbriand.com</a></p> </div> <div class="text-[15px] leading-7 text-paper/85"> <p class="eyebrow mb-3">Le site</p> <ul><li><a href="/appartements/" class="inline-block py-1.5 hover:text-gold">Appartements</a></li><li><a href="/espaces-communs/" class="inline-block py-1.5 hover:text-gold">Espaces communs</a></li><li><a href="/quartier/" class="inline-block py-1.5 hover:text-gold">Quartier</a></li><li><a href="/developpeurs/" class="inline-block py-1.5 hover:text-gold">Développeurs</a></li><li><a href="/guide-maison-appartement/" class="inline-block py-1.5 hover:text-gold">Guide : de la maison à l&#39;appartement</a></li><li><a href="/pour/familles/" class="inline-block py-1.5 hover:text-gold">Pour les familles</a></li><li><a href="/pour/travail/" class="inline-block py-1.5 hover:text-gold">Pour aller travailler</a></li><li><a href="/histoire/" class="inline-block py-1.5 hover:text-gold">Histoire du Faubourg</a></li><li><a href="/visiter/" class="inline-block py-1.5 hover:text-gold">Visiter</a></li><li><a href="/confidentialite/" class="inline-block py-1.5 hover:text-gold">Confidentialité</a></li><li><a href="/confidentialite/#temoins" data-consent-open class="inline-block py-1.5 hover:text-gold">Témoins</a></li></ul> </div> </div> <div class="border-t border-paper/15"> <div class="mx-auto max-w-[1240px] px-5 md:px-8 py-5 flex flex-wrap gap-x-6 gap-y-1 text-[15px] text-paper/60"> <span>© 2026 Solaris · une réalisation <a href="https://helisis.ca/" class="inline-block py-1 underline underline-offset-2 hover:text-gold">Helisis</a> et Gestion Kokolakis</span> <span>Photos : David Boyer Photographe</span> <span>Cartes : © <a href="https://www.openstreetmap.org/copyright" rel="noopener" class="inline-block py-1 underline underline-offset-2 hover:text-gold">contributeurs OpenStreetMap</a></span> <span>Appartements à louer près de : <a href="/appartement-a-louer/sainte-therese/" class="inline-block py-1 underline underline-offset-2 hover:text-gold">Sainte-Thérèse</a> · <a href="/appartement-a-louer/blainville/" class="inline-block py-1 underline underline-offset-2 hover:text-gold">Blainville</a> · <a href="/appartement-a-louer/rosemere/" class="inline-block py-1 underline underline-offset-2 hover:text-gold">Rosemère</a> · <a href="/appartement-a-louer/lorraine/" class="inline-block py-1 underline underline-offset-2 hover:text-gold">Lorraine</a> · <a href="/appartement-a-louer/saint-eustache/" class="inline-block py-1 underline underline-offset-2 hover:text-gold">Saint-Eustache</a> · <a href="/appartement-a-louer/mirabel/" class="inline-block py-1 underline underline-offset-2 hover:text-gold">Mirabel</a> · <a href="/appartement-a-louer/laval/" class="inline-block py-1 underline underline-offset-2 hover:text-gold">Laval</a></span> <span>Aussi par Helisis : <a href="https://andas.ca/" class="inline-block py-1 underline underline-offset-2 hover:text-gold">ANDAS, à Lachine</a></span> </div> </div> </footer> <div id="action-bar" class="md:hidden fixed inset-x-0 bottom-0 z-40 translate-y-full transition-[translate] duration-300 border-t border-line bg-paper/95 backdrop-blur px-4 pt-3 pb-[max(12px,env(safe-area-inset-bottom))]"><div class="flex gap-3"><a href="tel:+15819894457" class="btn btn-line flex-1 !py-3">Appeler</a><a href="/visiter/" class="btn btn-gold flex-[1.6] !py-3">Réserver une visite</a></div></div>
689 + <script>
690 + (function () {
691 + var bar = document.getElementById("action-bar"); if (!bar) return;
692 + var formOnScreen = false;
693 + var form = document.getElementById("form");
694 + if (form && "IntersectionObserver" in window) new IntersectionObserver(function (e) { formOnScreen = e[0].isIntersecting; update(); }).observe(form);
695 + function update() { var show = window.scrollY > window.innerHeight * 0.6 && !formOnScreen; bar.style.translate = show ? "0 0" : ""; }
696 + window.addEventListener("scroll", update, { passive: true }); update();
697 + })();
698 + </script> <div id="consent" class="consent" role="dialog" aria-label="Témoins" hidden> <p class="text-[15px] leading-snug">Ce site utilise des témoins pour mesurer les visites et nos publicités (Google, Meta). Vous pouvez les refuser en tout temps. <a href="/confidentialite/#temoins" class="underline underline-offset-2">En savoir plus</a></p> <div class="mt-3 flex gap-2"> <button type="button" data-consent="yes" class="consent-btn consent-yes">Accepter</button> <button type="button" data-consent="no" class="consent-btn">Refuser</button> </div> </div> <script>
699 + (function () {
700 + var KEY = "solaris-consent", GTM = "GTM-WKZXD8L";
701 + var h = location.hostname, preview = /\.workers\.dev$|^localhost$|^127\./.test(h) && !/[?&]gtm=1/.test(location.search);
702 + function get() { try { return localStorage.getItem(KEY); } catch (e) { return null; } }
703 + function set(v) { try { localStorage.setItem(KEY, v); } catch (e) {} }
704 + function load() {
705 + if (preview || window.__gtmLoaded) return; window.__gtmLoaded = true;
706 + window.dataLayer = window.dataLayer || [];
707 + window.dataLayer.push({ "gtm.start": Date.now(), event: "gtm.js" });
708 + var s = document.createElement("script"); s.async = true; s.src = "https://www.googletagmanager.com/gtm.js?id=" + GTM;
709 + document.head.appendChild(s);
710 + }
711 + var box = document.getElementById("consent");
712 + function show() { box.hidden = false; }
713 + function wipe() { // first-party tracking cookies: Google sets them on the parent domain, so try every level
714 + var parts = location.hostname.split("."), doms = [""];
715 + for (var i = 0; i < parts.length - 1; i++) doms.push("; domain=." + parts.slice(i).join("."));
716 + document.cookie.split(";").forEach(function (c) {
717 + var n = c.split("=")[0].trim();
718 + if (/^(_ga|_gid|_gcl|_fbp|_fbc|_hj|_uet|IDE)/.test(n)) doms.forEach(function (x) { document.cookie = n + "=; max-age=0; path=/" + x; });
719 + });
720 + }
721 + function decide(v) {
722 + set(v); box.hidden = true;
723 + if (v === "no") { wipe(); if (window.__gtmLoaded) location.reload(); } else load();
724 + }
725 + box.addEventListener("click", function (e) { var b = e.target.closest("[data-consent]"); if (b) decide(b.getAttribute("data-consent")); });
726 + document.addEventListener("click", function (e) { var a = e.target.closest && e.target.closest("[data-consent-open]"); if (a) { e.preventDefault(); show(); } });
727 + var c = get();
728 + // Google rewrites its session cookies while the page unloads, so a refusal also wipes on every later page.
729 + if (c !== "no") load(); else wipe();
730 + if (c !== "yes" && c !== "no") show();
731 + })();
732 +</script> <script>
733 + // Reveal blocks as they enter the screen (class .reveal); immediate for reduced motion.
734 + (function () {
735 + var els = document.querySelectorAll(".reveal");
736 + if (!("IntersectionObserver" in window) || matchMedia("(prefers-reduced-motion: reduce)").matches) { els.forEach(function (e) { e.classList.add("in"); }); return; }
737 + var io = new IntersectionObserver(function (es) { es.forEach(function (e) { if (e.isIntersecting) { e.target.classList.add("in"); io.unobserve(e.target); } }); }, { rootMargin: "0px 0px -12% 0px" });
738 + els.forEach(function (e) { io.observe(e); });
739 + })();
740 + // Floor plans with two pages (units-core planHtml): "Vue 3D" and "Plan et dimensions".
741 + document.addEventListener("click", function (e) {
742 + var b = e.target.closest && e.target.closest("[data-fp-view]"); if (!b) return;
743 + var box = b.closest(".fp-two"), v = b.getAttribute("data-fp-view");
744 + box.querySelectorAll("[data-fp-view]").forEach(function (x) { x.setAttribute("aria-pressed", x === b ? "true" : "false"); });
745 + box.querySelectorAll(".fp-view").forEach(function (x) { x.hidden = x.getAttribute("data-v") !== v; });
746 + });
747 + // Rooms: a row in the list and its label on the plan light up together (hover or keyboard focus, the label then
748 + // shows the size); a click on either opens the room card (photo, size, furniture), × or Échap closes it.
749 + function lit(e, on) {
750 + var el = e.target.closest && e.target.closest("[data-room]"); if (!el) return;
751 + // moving between the parts of one label (or a row) is not leaving it: no off-on flicker
752 + var to = e.relatedTarget && e.relatedTarget.closest && e.relatedTarget.closest("[data-room]");
753 + if (to && to.getAttribute("data-room") === el.getAttribute("data-room") && to.closest(".fp") === el.closest(".fp")) return;
754 + var fp = el.closest(".fp"); if (!fp) return;
755 + fp.querySelectorAll(".is-on").forEach(function (x) { x.classList.remove("is-on"); });
756 + if (on) fp.querySelectorAll('[data-room="' + el.getAttribute("data-room") + '"]').forEach(function (x) { x.classList.add("is-on"); });
757 + }
758 + document.addEventListener("mouseover", function (e) { lit(e, true); });
759 + document.addEventListener("mouseout", function (e) { lit(e, false); });
760 + document.addEventListener("focusin", function (e) { lit(e, true); });
761 + document.addEventListener("focusout", function (e) { lit(e, false); });
762 + function closeCards(root) { (root || document).querySelectorAll(".fp-card:not([hidden])").forEach(function (c) { c.hidden = true; }); }
763 + document.addEventListener("click", function (e) {
764 + if (!e.target.closest) return;
765 + var open = e.target.closest("[data-room]");
766 + if (open) {
767 + var fp = open.closest(".fp"), card = fp && fp.querySelector('[data-card="' + open.getAttribute("data-room") + '"]'); if (!card) return;
768 + closeCards(fp); card.hidden = false;
769 + var r = card.getBoundingClientRect(); if (r.top < 0 || r.bottom > innerHeight) card.scrollIntoView({ block: "nearest", behavior: "smooth" });
770 + card.querySelector(".fp-card-x").focus({ preventScroll: true });
771 + return;
772 + }
773 + var c = e.target.closest(".fp-card");
774 + if (c && (e.target.closest(".fp-card-x") || e.target === c)) c.hidden = true;
775 + });
776 + document.addEventListener("keydown", function (e) {
777 + if (e.key === "Escape" && document.querySelector(".fp-card:not([hidden])")) { closeCards(); e.preventDefault(); e.stopPropagation(); }
778 + }, true);
779 + </script> <script defer src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon="{&quot;token&quot;: &quot;6ed43d34957a49fcb90ec8e43f7db523&quot;}"></script> </body> </html>
\ No newline at end of file
added tests/fixtures/solaris/index.json +9 −0
@@ -0,0 +1,9 @@
1 +{
2 + "ff9b34ea1bb0197148b2": {
3 + "method": "GET",
4 + "url": "https://solarisboisbriand.com/appartements/",
5 + "status": 200,
6 + "content_type": "text/html",
7 + "file": "ff9b34ea1bb0197148b2.html"
8 + }
9 +}
\ No newline at end of file
10
Menu

Theme