:root {
  --ivoire: #F5EFE6;
  --sauge: #DDE1D6;
  --sable: #E7DCCA;
  --encre: #1E1F1C;
  --encre-2: #4A4B46;
  --gris: #8A8B84;
  --ligne: #DCD2C1;
  --majorelle: #0F4EA3;
  --papier: #EEE5D6;
  --bronze: #9A8265;
  --serif: "Cormorant Garamond", "Times New Roman", serif;
  --sans: "Jost", "Helvetica Neue", Arial, sans-serif;
  --gutter: clamp(20px, 5vw, 80px);
  --max: 1440px;
  --hdr-h: 88px;
  --ease: cubic-bezier(.22, .61, .36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ivoire);
  color: var(--encre);
  font-family: var(--sans);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: lining-nums;
  overflow-x: hidden;
}
/* Paper grain over the whole page (fixed, multiplied, very light) */
body::after { content: ""; position: fixed; inset: 0; z-index: 9000; pointer-events: none; opacity: .6; mix-blend-mode: multiply; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .36 0 0 0 0 .3 0 0 0 0 .22 0 0 0 1.25 -.5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size: 260px 260px; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
button:disabled { opacity: .3; cursor: default; }
::selection { background: var(--sauge); }

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

/* Type */
.label { font-family: var(--sans); font-size: 11px; font-weight: 400; letter-spacing: .24em; text-transform: uppercase; color: var(--encre-2); }
.label--rule { display: inline-flex; align-items: center; gap: 14px; }
.label--rule::before { content: ""; width: 28px; height: 1px; background: var(--majorelle); }
.h1, .h2, .h3 { font-family: var(--serif); font-weight: 300; margin: 0; letter-spacing: -.005em; }
.h1 { font-size: clamp(44px, 6.4vw, 96px); line-height: 1.04; }
.h2 { font-size: clamp(36px, 4.4vw, 64px); line-height: 1.06; }
.h3 { font-size: clamp(22px, 2vw, 28px); line-height: 1.18; }
.h1 em, .h2 em, .h3 em { font-style: italic; }
.lead { font-size: clamp(17px, 1.35vw, 20px); line-height: 1.7; color: var(--encre-2); max-width: 620px; }
.muted { color: var(--gris); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; height: 54px; padding: 0 32px; font-size: 11px; font-weight: 400; letter-spacing: .22em; text-transform: uppercase; border: 1px solid var(--encre); background: var(--encre); color: var(--ivoire); transition: background .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease); }
.btn:hover { background: transparent; color: var(--encre); }
.btn--ghost { background: transparent; color: var(--encre); }
.btn--ghost:hover { background: var(--encre); color: var(--ivoire); }
.link { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; font-weight: 400; background: linear-gradient(var(--majorelle), var(--majorelle)) left bottom / 100% 1px no-repeat; padding-bottom: 6px; transition: background-size .5s var(--ease), color .3s; }
.link:hover { background-size: 30% 1px; color: var(--majorelle); }

/* Header */
.hdr { position: fixed; inset: 0 0 auto 0; z-index: 50; transition: background .5s var(--ease), color .5s var(--ease), box-shadow .5s, transform .5s var(--ease); color: var(--encre); background: rgba(245,239,230,.97); box-shadow: 0 1px 0 var(--ligne); }
.hdr__in { display: flex; align-items: center; justify-content: space-between; height: var(--hdr-h); gap: 24px; }
.hdr__logo { position: relative; display: block; height: 58px; width: 64px; }
.hdr__logo img { position: absolute; left: 0; top: 0; height: 100%; width: auto; opacity: 0; transition: opacity .5s; }
.hdr__logo img.l-dark.is-in { opacity: 1; }
.hdr--clear .hdr__logo img.l-dark.is-in, body.menu-open .hdr__logo img.l-dark.is-in { opacity: 0; }
.hdr--clear .hdr__logo img.l-light.is-in, body.menu-open .hdr__logo img.l-light.is-in { opacity: 1; }
.hdr__nav { display: flex; gap: clamp(20px, 2.6vw, 44px); }
.hdr__nav a { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; font-weight: 400; position: relative; padding: 6px 0; }
.hdr__nav a::after { content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 0; background: currentColor; transition: width .4s var(--ease); }
.hdr__nav a:hover::after, .hdr__nav a.is-on::after { width: 100%; }
.hdr__right { display: flex; align-items: center; gap: 22px; font-size: 12px; letter-spacing: .18em; }
.hdr__right .lang { opacity: .8; }
.hdr__cta { height: 40px; padding: 0; display: inline-flex; align-items: center; gap: 10px; text-transform: uppercase; transition: opacity .3s, color .3s; position: relative; }
.hdr__cta svg { width: 17px; height: 17px; }
.hdr__cta::after { content: ""; position: absolute; left: 27px; right: 0; bottom: 8px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ease); }
.hdr__cta:hover::after { transform: scaleX(1); }
.hdr__burger { display: none; width: 30px; height: 20px; position: relative; }
.hdr__burger span { position: absolute; left: 0; right: 0; height: 1px; background: currentColor; transition: transform .4s var(--ease), top .4s var(--ease); }
.hdr__burger span:nth-child(1) { top: 4px; }
.hdr__burger span:nth-child(2) { top: 15px; }
.hdr--clear { background: transparent; color: var(--ivoire); box-shadow: none; }
.hdr--hide { transform: translateY(-100%); }
.menu { position: fixed; inset: 0; z-index: 49; background: var(--encre); color: var(--ivoire); display: flex; flex-direction: column; justify-content: center; padding: 0 var(--gutter); opacity: 0; pointer-events: none; transition: opacity .5s var(--ease); }
.menu a { font-family: var(--serif); font-size: 44px; line-height: 1.3; font-weight: 300; }
.menu .label { color: #C9CEC0; margin-top: 40px; }
body.menu-open .menu { opacity: 1; pointer-events: auto; }
body.menu-open .hdr { background: transparent; color: var(--ivoire); box-shadow: none; }
body.menu-open .hdr__burger span:nth-child(1) { top: 10px; transform: rotate(45deg); }
body.menu-open .hdr__burger span:nth-child(2) { top: 10px; transform: rotate(-45deg); }

/* Hero */
.hero { position: relative; height: 100vh; min-height: 640px; color: var(--ivoire); overflow: hidden; background: #2b3a3a; }
.hero video, .hero__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__poster { transition: opacity 1.2s; z-index: 1; }
.hero video, .hero__poster { filter: saturate(1.5) contrast(1.12) brightness(1.05); }
.hero__warm { position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg, rgba(255,178,102,.30) 0%, rgba(255,140,80,.12) 45%, rgba(0,120,140,.18) 100%); mix-blend-mode: soft-light; pointer-events: none; }
.hero__shade { position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg, rgba(20,22,20,.34) 0%, rgba(20,22,20,.04) 35%, rgba(20,22,20,.1) 60%, rgba(20,22,20,.55) 100%); }
.hero__in { position: relative; z-index: 3; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: clamp(40px, 7vh, 80px); }
.hero__title { max-width: 1000px; }
.hero__title .label { color: rgba(247,245,240,.88); }
.hero__title .h1 { margin-top: 22px; font-size: clamp(42px, 5.6vw, 88px); line-height: 1.04; }
.hero__title .h1 .l2 { font-size: .72em; line-height: 1.15; }
.hero .reveal-line { display: block; overflow: hidden; padding-bottom: .16em; margin-bottom: -.16em; }
.hero .reveal-line > span { display: block; transform: translateY(110%); animation: rise 1.4s var(--ease) forwards; }
.hero .reveal-line:nth-child(2) > span { animation-delay: .18s; }
@keyframes rise { to { transform: none; } }
.hero__fade { opacity: 0; animation: fadein 1.2s .9s var(--ease) forwards; }
@keyframes fadein { to { opacity: 1; } }
.search { margin-top: 44px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; background: rgba(245,239,230,.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: var(--encre); max-width: 1040px; }
.search label { display: flex; flex-direction: column; gap: 2px; padding: 16px 24px; border-right: 1px solid var(--ligne); }
.search label span { font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--gris); }
.search select, .filters select { appearance: none; border: 0; background: transparent; font: inherit; color: var(--encre); cursor: pointer; outline: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231E1F1C'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right center; padding-right: 18px; }
.search select { font-size: 16px; padding-top: 2px; padding-bottom: 2px; }
.search .btn { height: auto; min-height: 72px; padding: 0 40px; }
.hero__scroll { position: absolute; z-index: 3; right: var(--gutter); bottom: clamp(40px, 7vh, 80px); writing-mode: vertical-rl; font-size: 10px; letter-spacing: .3em; text-transform: uppercase; display: flex; align-items: center; gap: 14px; opacity: .85; }
.hero__scroll::after { content: ""; width: 1px; height: 56px; background: currentColor; animation: drip 2.2s var(--ease) infinite; transform-origin: top; }
@keyframes drip { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }

/* Sections */
.sec { padding: clamp(90px, 12vw, 180px) 0; position: relative; }
.sec--sauge { background: var(--sauge); }
.sec--sable { background: var(--sable); }
.sec--papier { background: var(--papier); background-image: radial-gradient(120% 90% at 20% 0%, rgba(245,239,230,.9), rgba(245,239,230,0) 60%), radial-gradient(90% 80% at 100% 100%, rgba(221,225,214,.45), rgba(221,225,214,0) 60%); }
.sec__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: clamp(40px, 5vw, 64px); flex-wrap: wrap; }
.sec__head .h2 { margin-top: 18px; max-width: 760px; }
.sec__head--c { flex-direction: column; align-items: center; text-align: center; }
.sec__head--c .h2 { max-width: 900px; }
.ctrl { display: flex; align-items: center; gap: 22px; }
.ctrl__n { font-size: 13px; letter-spacing: .14em; color: var(--gris); min-width: 64px; text-align: right; }
.ctrl__n b { color: var(--encre); font-weight: 400; }
.ctrl button { width: 52px; height: 52px; border: 1px solid var(--encre); display: grid; place-items: center; transition: background .3s, color .3s; }
.ctrl button:not(:disabled):hover { background: var(--encre); color: var(--ivoire); }

/* Manifesto block: big serif title on the left, a thin vertical rule, the text on the right */
.manif { display: grid; grid-template-columns: minmax(0, 5fr) 1px minmax(0, 6fr); gap: clamp(36px, 6vw, 110px); align-items: stretch; }
.manif__rule { background: rgba(30,31,28,.16); align-self: stretch; }
.manif__l { display: flex; flex-direction: column; justify-content: center; gap: 26px; }
.manif__t { font-family: var(--serif); font-weight: 300; font-size: clamp(40px, 4.6vw, 74px); line-height: 1.04; letter-spacing: -.005em; color: var(--bronze); margin: 0; }
.manif__t em { font-style: italic; }
.manif__r { display: flex; flex-direction: column; justify-content: center; }
.manif__r p { margin: 0 0 1.35em; font-size: clamp(16px, 1.2vw, 18px); line-height: 1.9; color: #3E3F3A; max-width: 620px; }
.manif__r p:last-of-type { margin-bottom: 0; }
.manif__r .link { align-self: flex-start; margin-top: 40px; }
.manif__r .big { font-family: var(--serif); font-size: clamp(22px, 1.9vw, 27px); line-height: 1.45; color: var(--encre); }

/* "À l'affiche" carousel */
.aff { overflow: hidden; }
.aff__view { position: relative; margin-top: clamp(30px, 4vw, 56px); }
.aff__track { display: flex; gap: clamp(16px, 2.2vw, 36px); transition: transform 1.05s var(--ease); will-change: transform; }
.aff__s { position: relative; flex: 0 0 min(1160px, 78vw); padding-bottom: 72px; }
.aff__img { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--sable); }
.aff__img img { width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.04); transition: opacity 1s, transform 2.4s var(--ease), filter .9s; filter: brightness(.9); }
.aff__img img.is-in { opacity: 1; }
.aff__s.is-on .aff__img img { transform: none; filter: none; }
.aff__card { position: absolute; left: clamp(16px, 3vw, 48px); bottom: 0; width: min(560px, calc(100% - 32px)); background: var(--ivoire); padding: clamp(24px, 2.6vw, 40px) clamp(24px, 2.8vw, 44px); display: flex; flex-direction: column; gap: 12px; box-shadow: 0 40px 70px -50px rgba(30,31,28,.45); opacity: 0; transform: translateY(18px); transition: opacity .7s var(--ease), transform .9s var(--ease); }
.aff__s.is-on .aff__card { opacity: 1; transform: none; transition-delay: .25s; }
.aff__card .label { color: var(--gris); }
.aff__t { font-family: var(--serif); font-size: clamp(26px, 2.5vw, 40px); line-height: 1.1; }
.aff__f { font-size: 14px; letter-spacing: .04em; color: var(--encre-2); display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.aff__f i { display: inline-flex; margin-left: 2px; transition: transform .5s var(--ease); }
.aff__card:hover .aff__f i { transform: translateX(8px); }
.aff__p { font-family: var(--serif); font-size: 24px; margin-top: 4px; }
.aff__p small { font-family: var(--sans); font-size: 13px; color: var(--gris); margin-left: 10px; }
.aff__foot { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 6px; flex-wrap: wrap; }

/* Koh Samui */
.brief { text-align: center; }
.brief .h2 { margin: 18px auto 28px; max-width: 820px; }
.brief .lead { margin: 0 auto; max-width: 680px; }
.brief__ph { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 2vw, 30px); margin: clamp(48px, 6vw, 80px) auto 0; max-width: 1100px; }
.brief__ph a { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: var(--sable); display: block; }
.brief__ph a:nth-child(2) { margin-top: clamp(24px, 3vw, 44px); }
.brief__ph img { width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1s, transform 2s var(--ease); }
.brief__ph img.is-in { opacity: 1; }
.brief__ph a:hover img { transform: scale(1.05); }
.brief__ph span { position: absolute; left: 0; bottom: 0; background: var(--ivoire); padding: 10px 16px 0 0; font-family: var(--serif); font-style: italic; font-size: 18px; color: var(--encre-2); }
.brief__facts { display: flex; justify-content: center; gap: clamp(24px, 4vw, 70px); flex-wrap: wrap; margin-top: clamp(40px, 5vw, 64px); padding-top: 28px; border-top: 1px solid rgba(30,31,28,.12); max-width: 820px; margin-left: auto; margin-right: auto; }
.brief__facts div { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--encre-2); }
.brief__facts b { display: block; font-family: var(--serif); font-weight: 300; font-size: 30px; letter-spacing: 0; text-transform: none; color: var(--encre); margin-bottom: 6px; }

/* A new chapter (sell) */
.chap { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(40px, 7vw, 120px); align-items: center; }
.chap__txt .h2 { margin: 20px 0 28px; }
.chap__q { font-family: var(--serif); font-style: italic; font-size: clamp(20px, 1.7vw, 25px); line-height: 1.5; color: var(--encre-2); margin: 36px 0 40px; padding-left: 26px; border-left: 1px solid var(--bronze); max-width: 540px; }
.chap__img { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--sable); }
.chap__img img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 2.6s var(--ease), opacity 1.2s; opacity: 0; }
.chap__img.is-in img.is-in { transform: none; opacity: 1; }
.chap__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(233,225,211,.55), rgba(233,225,211,0) 35%), linear-gradient(0deg, rgba(233,225,211,.35), rgba(233,225,211,0) 30%); pointer-events: none; }
.chap__img span { position: absolute; left: 0; bottom: 0; background: var(--sable); padding: 12px 18px 0 0; font-family: var(--serif); font-style: italic; font-size: 18px; color: var(--encre-2); z-index: 1; }

/* Areas */
.areas { display: grid; grid-template-columns: 6fr 5fr; gap: clamp(40px, 5vw, 90px); align-items: center; }
/* Hand-drawn island */
.map { position: relative; width: 100%; max-width: 700px; margin: 0 auto; z-index: 2; }
.map svg { width: 100%; height: auto; overflow: visible; display: block; }
.map .map__water path { fill: none; stroke: var(--encre); stroke-width: .8; stroke-dasharray: 2 8; stroke-linecap: round; }
.map .map__water path:nth-child(1) { opacity: .22; } .map .map__water path:nth-child(2) { opacity: .13; } .map .map__water path:nth-child(3) { opacity: .06; }
.map .map__shadow { fill: rgba(30,31,28,.2); }
.map .map__land { fill: #F8F4EC; }
.map .map__hatch { fill: none; stroke-width: 40; opacity: .18; }
.map .map__hills path { fill: none; stroke: var(--encre); stroke-width: 1.1; stroke-linecap: round; opacity: .55; }
.map .map__hills path.sh { stroke-width: .7; opacity: .35; }
.map .coast { fill: none; stroke: var(--encre); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; opacity: .85; }
.map .coast2 { fill: none; stroke: var(--encre); stroke-width: .6; opacity: .28; }
.map.is-in .coastline { stroke-dashoffset: 0 !important; transition: stroke-dashoffset 3.4s var(--ease) .2s; }
.map .dot { cursor: pointer; outline: none; }
.map .dot .pin { fill: var(--ivoire); stroke: var(--encre); stroke-width: 1.1; transition: fill .3s, stroke .3s, r .3s; }
.map .dot .halo { fill: var(--majorelle); opacity: 0; transition: opacity .4s; }
.map .dot text { font-family: var(--serif); font-style: italic; font-size: 19px; fill: var(--encre-2); transition: fill .3s; }
.map .dot:hover .pin, .map .dot.is-on .pin, .map .dot.is-focus .pin { fill: var(--majorelle); stroke: var(--majorelle); r: 5.5; }
.map .dot:hover .halo, .map .dot.is-on .halo, .map .dot.is-focus .halo { opacity: .14; }
.map .dot:hover text, .map .dot.is-on text, .map .dot.is-focus text { fill: var(--majorelle); }
.map .dot.is-dim { opacity: .5; }
.map .pulse { fill: none !important; stroke: var(--majorelle) !important; stroke-width: 1 !important; transform-box: fill-box; transform-origin: center; animation: pulse 2.4s var(--ease) infinite; }
@keyframes pulse { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(5); opacity: 0; } }
.map__name { font-family: var(--serif); font-style: italic; font-size: 32px; fill: var(--encre); opacity: .8; }
.map__sea { font-family: var(--sans); font-size: 11px; letter-spacing: 3px; fill: var(--gris); }
.map__n path { stroke: var(--encre-2); fill: none; stroke-width: 1; }
.map__n text { font-family: var(--serif); font-style: italic; font-size: 16px; fill: var(--encre-2); }
/* Photos laid on the map when an area is hovered */
.map__pops { position: absolute; inset: 0; pointer-events: none; }
.map__pop { position: absolute; width: 272px; transform: translate(22px, -50%); opacity: 0; visibility: hidden; transition: opacity .5s var(--ease), visibility .5s; pointer-events: none; }
.map__pop--l { transform: translate(calc(-100% - 22px), -50%); }
.map__pop.is-on { opacity: 1; visibility: visible; pointer-events: auto; }
.map__ph { position: relative; height: 158px; }
.map__ph a { position: absolute; left: calc(var(--i) * 46px); top: calc(var(--i) * 12px); width: 152px; background: #FDFCF9; padding: 6px 6px 22px; box-shadow: 0 22px 44px -20px rgba(30,31,28,.5), 0 1px 0 rgba(30,31,28,.06); transform: rotate(calc(-5deg + var(--i) * 4deg)) translateY(16px) scale(.94); opacity: 0; transition: transform .8s var(--ease), opacity .6s, box-shadow .4s; transition-delay: calc(var(--i) * .1s); z-index: calc(1 + var(--i)); }
.map__pop.is-on .map__ph a { opacity: 1; transform: rotate(calc(-5deg + var(--i) * 4deg)); }
.map__ph a:hover { transform: rotate(0deg) scale(1.06); z-index: 9; transition-delay: 0s; }
.map__ph img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.map__ph span { position: absolute; left: 7px; right: 7px; bottom: 5px; font-size: 10px; letter-spacing: .08em; color: var(--encre-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.map__cap { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; white-space: nowrap; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--encre-2); transition: color .3s; }
.map__cap:hover { color: var(--majorelle); }
.map__cap i { font-style: normal; opacity: .5; }
.area-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(30,31,28,.14); column-gap: 28px; }
.area-item { display: flex; justify-content: space-between; align-items: baseline; padding: 16px 0; border-bottom: 1px solid rgba(30,31,28,.14); gap: 12px; transition: color .3s, padding .4s var(--ease); }
.area-item .h3 { font-size: 24px; }
.area-item:hover, .area-item.is-on { color: var(--majorelle); padding-left: 10px; }
.area-item small { font-size: 12px; letter-spacing: .14em; color: var(--encre-2); }

/* Portrait rail (off-plan) */
.prail { display: flex; gap: clamp(14px, 1.6vw, 24px); overflow-x: auto; scroll-padding-inline: var(--gutter); scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0 var(--gutter); }
.prail::-webkit-scrollbar { display: none; }
.pt { position: relative; flex: 0 0 clamp(250px, 23vw, 360px); aspect-ratio: 3 / 4.4; overflow: hidden; scroll-snap-align: start; background: var(--sable); color: var(--ivoire); }
.pt img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .9s, transform 1.8s var(--ease); }
.pt img.is-in { opacity: 1; }
.pt:hover img { transform: scale(1.06); }
.pt__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,22,20,0) 30%, rgba(20,22,20,.35) 60%, rgba(20,22,20,.82)); }
.pt__txt { position: absolute; left: 24px; right: 24px; bottom: 26px; display: flex; flex-direction: column; gap: 8px; transition: transform .6s var(--ease); }
.pt:hover .pt__txt { transform: translateY(-8px); }
.pt__txt .label { color: rgba(247,245,240,.85); }
.pt__title { font-family: var(--serif); font-size: clamp(24px, 2vw, 32px); line-height: 1.12; }
.pt__price { font-size: 13px; letter-spacing: .12em; }
.pt__price::before { content: ""; display: inline-block; width: 0; height: 1px; background: currentColor; vertical-align: middle; margin-right: 0; transition: width .5s var(--ease), margin .5s var(--ease); }
.pt:hover .pt__price::before { width: 26px; margin-right: 12px; }

/* Sell */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 110px); align-items: center; }
.split__img { aspect-ratio: 4 / 5; overflow: hidden; background: var(--sable); }
.split__img img { width: 100%; height: 100%; object-fit: cover; }
.points { list-style: none; padding: 0; margin: 36px 0 44px; display: grid; gap: 26px; }
.points li { padding-left: 46px; position: relative; }
.points li::before { content: ""; position: absolute; left: 0; top: 13px; width: 28px; height: 1px; background: var(--majorelle); }
.points strong { display: block; font-family: var(--serif); font-weight: 400; font-size: 24px; line-height: 1.2; margin-bottom: 4px; }

/* Cards */
.card { display: flex; flex-direction: column; gap: 16px; }
.card__img { position: relative; overflow: hidden; background: var(--sable); aspect-ratio: 4 / 3; }
.card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease), opacity .8s; }
.card__img img.a { opacity: 0; transform: scale(1.02); }
.card__img img.a.is-in { opacity: 1; }
.card__img img.b { opacity: 0; transition: opacity .9s var(--ease), transform 6s linear; }
.card__img img.b.is-top { opacity: 1; z-index: 1; }
.card:hover .card__img img { transform: scale(1.06); }
.card__dots { position: absolute; left: 18px; right: 50%; bottom: 20px; z-index: 2; display: flex; gap: 4px; opacity: 0; transition: opacity .4s; }
.card__dots i { flex: 1; height: 2px; max-width: 26px; background: rgba(247,245,240,.45); }
.card__dots i.on { background: var(--ivoire); }
.card:hover .card__dots { opacity: 1; }
.card__tag { position: absolute; top: 18px; left: 18px; background: var(--ivoire); padding: 6px 12px; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; z-index: 2; }
.card__go { position: absolute; right: 18px; bottom: 18px; z-index: 2; background: var(--ivoire); padding: 12px 18px; display: inline-flex; gap: 12px; align-items: center; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; opacity: 0; transform: translateY(10px); transition: opacity .5s, transform .5s var(--ease); }
.card:hover .card__go { opacity: 1; transform: none; }
.card__meta { display: flex; justify-content: space-between; gap: 16px; }
.card__title { transition: color .3s; }
.card:hover .card__title { color: var(--majorelle); }
.card__facts { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: var(--encre-2); }
.card__price { font-family: var(--serif); font-size: 22px; }
.card__price small { font-family: var(--sans); font-size: 13px; color: var(--gris); margin-left: 8px; }

/* Editorial listing grid */
.grid-props { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(40px, 5vw, 80px) clamp(20px, 2.4vw, 40px); align-items: start; }
.grid-props .card { grid-column: span 4; }
.grid-props .s7 { grid-column: span 7; } .grid-props .s5 { grid-column: span 5; } .grid-props .s6 { grid-column: span 6; } .grid-props .s8 { grid-column: span 8; }
.grid-props .s7 .card__img, .grid-props .s5 .card__img, .grid-props .s6 .card__img { aspect-ratio: auto; height: clamp(300px, 34vw, 540px); }
.grid-props .s5 { margin-top: clamp(40px, 8vw, 120px); }
.grid-props .feature { grid-column: 1 / -1; display: grid; grid-template-columns: 8fr 4fr; gap: 14px clamp(24px, 3vw, 48px); align-content: end; }
.grid-props .feature .card__img { grid-row: 1 / span 5; aspect-ratio: auto; height: clamp(340px, 44vw, 680px); }
.grid-props .feature > :not(.card__img) { grid-column: 2; }
.grid-props .feature .card__meta { align-self: end; }
.grid-props .feature .card__title { font-size: clamp(30px, 3vw, 44px); }

/* Footer */
.ftr { background: var(--encre); color: #CFCFC8; padding: clamp(70px, 8vw, 110px) 0 32px; font-size: 14px; }
.ftr__top { display: grid; grid-template-columns: 1.6fr 1fr 1.3fr 1.3fr; gap: 48px; padding-bottom: 60px; border-bottom: 1px solid rgba(247,245,240,.14); }
.ftr__brand { display: flex; align-items: center; gap: 22px; align-self: start; }
.ftr__brand img { height: 84px; width: auto; }
.ftr__brand span { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: #9A9B94; line-height: 1.9; }
.ftr h4 { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; font-weight: 400; color: #9A9B94; margin: 0 0 18px; }
.ftr ul { list-style: none; margin: 0; padding: 0; line-height: 2; }
.ftr li + li { margin-top: 4px; }
.ftr a { transition: color .3s; }
.ftr a:hover { color: var(--ivoire); }
.ftr__muted { color: #8A8B84; }
.ftr__lnk { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; border-bottom: 1px solid rgba(247,245,240,.35); padding-bottom: 3px; }
.ftr__bot { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; padding-top: 26px; font-size: 12px; color: #8A8B84; }
.ftr__sig { font-family: var(--serif); font-style: italic; font-size: 17px; color: #CFCFC8; text-align: center; }
.ftr__legal { display: flex; gap: 22px; justify-content: flex-end; }

/* Home CTA band */
.band { text-align: center; background: var(--papier); }
.band .h2 { max-width: 900px; margin: 22px auto 40px; }
.band .actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* WhatsApp float */
.wa { position: fixed; right: 22px; bottom: 22px; z-index: 40; width: 54px; height: 54px; border-radius: 50%; background: var(--encre); color: var(--ivoire); display: grid; place-items: center; box-shadow: 0 10px 30px rgba(0,0,0,.18); transition: transform .4s var(--ease), background .3s; }
.wa:hover { transform: translateY(-3px); background: var(--majorelle); }

/* Reveal */
.rv { opacity: 0; transform: translateY(28px); transition: opacity 1.1s var(--ease), transform 1.1s var(--ease); }
.rv.is-in { opacity: 1; transform: none; }
.rv-d1 { transition-delay: .12s; } .rv-d2 { transition-delay: .24s; }

/* ---------- Property page ---------- */
.pp { padding-top: var(--hdr-h); }
.crumbs { display: flex; gap: 10px; padding: 28px 0; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--gris); flex-wrap: wrap; }
.crumbs a:hover { color: var(--encre); }
.gal { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 10px; height: min(74vh, 760px); }
.gal button { position: relative; overflow: hidden; background: var(--sable); padding: 0; }
.gal button:first-child { grid-row: span 2; }
.gal--one { grid-template-columns: 1fr; }
.gal img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease); }
.gal button:hover img { transform: scale(1.04); }
.gal__all { position: absolute; right: 20px; bottom: 20px; background: var(--ivoire); padding: 12px 18px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; display: inline-flex; gap: 10px; align-items: center; }
.pp__head { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; padding: clamp(44px, 5vw, 72px) 0 40px; border-bottom: 1px solid var(--ligne); }
.pp__head .h1 { font-size: clamp(38px, 4.6vw, 72px); margin-top: 18px; max-width: 980px; }
.pp__price { text-align: right; }
.pp__price strong { display: block; font-family: var(--serif); font-weight: 300; font-size: clamp(34px, 3.4vw, 50px); line-height: 1; }
.pp__price span { font-size: 14px; color: var(--gris); }
.facts { display: grid; grid-template-columns: repeat(6, 1fr); border-bottom: 1px solid var(--ligne); }
.facts div { padding: 28px 20px 28px 0; }
.facts div + div { padding-left: 24px; border-left: 1px solid var(--ligne); }
.facts strong { display: block; font-family: var(--serif); font-size: 30px; font-weight: 300; line-height: 1.1; }
.facts span { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--encre-2); }
.pp__body { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(40px, 7vw, 120px); padding: clamp(60px, 7vw, 110px) 0; align-items: start; }
.pp__desc p { margin: 0 0 1.2em; font-size: 17px; line-height: 1.85; color: #33342F; }
.pp__desc p:first-child { font-family: var(--serif); font-size: clamp(22px, 2vw, 27px); line-height: 1.45; color: var(--encre); }
.pp__desc.is-clamped { max-height: 520px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.feat { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; margin: 56px 0 0; padding: 0; border-top: 1px solid var(--ligne); }
.feat li { list-style: none; padding: 16px 0; border-bottom: 1px solid var(--ligne); display: flex; gap: 14px; align-items: center; }
.feat li::before { content: ""; width: 6px; height: 6px; border: 1px solid var(--majorelle); transform: rotate(45deg); flex: none; }
.aside { position: sticky; top: 112px; background: var(--sable); padding: clamp(28px, 3vw, 44px); display: flex; flex-direction: column; gap: 20px; }
.aside .h3 { font-size: 30px; }
.aside .btn { width: 100%; }
.agent { display: flex; gap: 16px; align-items: center; padding-top: 22px; border-top: 1px solid rgba(30,31,28,.15); }
.agent__mono { width: 56px; height: 56px; border-radius: 50%; background: var(--ivoire); display: grid; place-items: center; overflow: hidden; }
.agent__mono img { height: 34px; width: auto; }
.agent small { display: block; color: var(--encre-2); font-size: 13px; }
.mapbox { aspect-ratio: 21 / 9; background: var(--papier); filter: grayscale(.85) contrast(1.02); }
.mapbox iframe { width: 100%; height: 100%; border: 0; }

/* Lightbox */
.lb { position: fixed; inset: 0; z-index: 100; background: rgba(20,21,19,.97); color: var(--ivoire); display: none; }
.lb.is-open { display: block; }
.lb__img { position: absolute; inset: 80px 90px 90px; display: grid; place-items: center; }
.lb__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.lb__bar { position: absolute; inset: 0 0 auto 0; height: 80px; display: flex; align-items: center; justify-content: space-between; padding: 0 30px; font-size: 12px; letter-spacing: .2em; }
.lb__nav { position: absolute; top: 50%; width: 60px; height: 60px; margin-top: -30px; border: 1px solid rgba(247,245,240,.4); display: grid; place-items: center; transition: background .3s; }
.lb__nav:hover { background: rgba(247,245,240,.12); }
.lb__prev { left: 18px; } .lb__next { right: 18px; }
.lb__thumbs { position: absolute; left: 0; right: 0; bottom: 14px; display: flex; gap: 6px; justify-content: center; overflow-x: auto; padding: 0 20px; }
.lb__thumbs img { width: 70px; height: 48px; object-fit: cover; opacity: .4; cursor: pointer; transition: opacity .3s; flex: none; }
.lb__thumbs img.is-on { opacity: 1; }

/* Listing page filters: a slim bar that docks under the header, then to the top */
.fbar { position: sticky; top: var(--hdr-h); z-index: 20; background: rgba(247,245,240,.97); border-top: 1px solid var(--ligne); border-bottom: 1px solid var(--ligne); transition: top .5s var(--ease), box-shadow .4s; margin-bottom: clamp(48px, 6vw, 80px); }
body.hdr-hidden .fbar { top: 0; box-shadow: 0 10px 30px -20px rgba(0,0,0,.25); }
.filters { display: flex; align-items: center; gap: 28px; height: 60px; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.filters::-webkit-scrollbar { display: none; }
.filters select { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; flex: none; }
.filters .count { margin-left: auto; font-size: 13px; color: var(--encre-2); flex: none; padding-left: 20px; }
.empty { padding: 80px 0; text-align: center; }
.skel { background: linear-gradient(90deg, var(--sable) 0%, #F1ECE2 50%, var(--sable) 100%); background-size: 200% 100%; animation: sh 1.6s infinite; }
@keyframes sh { to { background-position: -200% 0; } }

/* Responsive */
@media (max-width: 1100px) {
  .hdr__nav, .hdr__right .lang, .hdr__cta span { display: none; }
  .hdr__burger { display: block; }
  .grid-props .card, .grid-props .s7, .grid-props .s5, .grid-props .s6, .grid-props .s8 { grid-column: span 6; }
  .grid-props .s5 { margin-top: 0; }
  .facts { grid-template-columns: repeat(3, 1fr); }
  .facts div:nth-child(4) { border-left: 0; padding-left: 0; }
  .facts div:nth-child(n+4) { border-top: 1px solid var(--ligne); }
  .ftr__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  :root { --hdr-h: 72px; }
  .hdr__logo { height: 48px; }
  .search { grid-template-columns: 1fr 1fr; }
  .search label { border-bottom: 1px solid var(--ligne); }
  .search label:nth-child(2) { border-right: 0; }
  .search label:nth-child(3) { grid-column: span 2; border-right: 0; }
  .search .btn { grid-column: span 2; min-height: 60px; }
  .hero__scroll { display: none; }
  .areas, .split, .pp__body, .pp__head, .chap { grid-template-columns: 1fr; }
  .manif { grid-template-columns: 1fr; gap: 32px; }
  .manif__rule { height: 1px; width: 72px; }
  .aff__s { flex-basis: 88vw; padding-bottom: 0; }
  .aff__img { aspect-ratio: 4 / 3; }
  .aff__card { position: static; width: auto; padding: 22px 0 0; box-shadow: none; background: transparent; }
  .brief__ph { grid-template-columns: 1fr; max-width: 520px; }
  .brief__ph a:nth-child(2) { margin-top: 0; }
  .chap__img { aspect-ratio: 4 / 3; order: -1; }
  .map__pops { display: none; }
  .pp__price { text-align: left; }
  .grid-props .card, .grid-props .s7, .grid-props .s5, .grid-props .s6, .grid-props .s8 { grid-column: 1 / -1; }
  .grid-props .s7 .card__img, .grid-props .s5 .card__img, .grid-props .s6 .card__img { height: auto; aspect-ratio: 4 / 3; }
  .grid-props .feature { grid-template-columns: 1fr; }
  .grid-props .feature > :not(.card__img) { grid-column: 1; }
  .grid-props .feature .card__img { height: auto; aspect-ratio: 4 / 3; grid-row: auto; }
  .pt { flex-basis: 70vw; }
  .gal { grid-template-columns: 1fr; grid-template-rows: auto; height: auto; }
  .gal button { aspect-ratio: 4 / 3; }
  .gal button:not(:first-child) { display: none; }
  .gal button:first-child { grid-row: auto; }
  .feat { grid-template-columns: 1fr; }
  .area-list { grid-template-columns: 1fr; }
  .aside { position: static; }
  .lb__img { inset: 70px 10px 80px; }
  .lb__nav { display: none; }
  .mapbox { aspect-ratio: 4 / 3; }
  .ftr__top { grid-template-columns: 1fr; }
  .ftr__bot { grid-template-columns: 1fr; text-align: left; }
  .ftr__sig { text-align: left; }
  .ftr__legal { justify-content: flex-start; }
  .card__go { display: none; }
}
@media (hover: none) {
  .card__go { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .rv { opacity: 1; transform: none; }
  .hero .reveal-line > span, .hero__fade { transform: none; opacity: 1; }
}

/* New developments: Accordion of tall panels */
.acc { display: flex; gap: 10px; height: clamp(460px, 70vh, 720px); }
.acc__p { position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; background: var(--encre); color: var(--ivoire); transition: flex-grow .9s var(--ease); cursor: pointer; }
.acc__p.is-open { flex-grow: 4.2; }
.acc__p img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.08); transition: opacity 1s, transform 2.2s var(--ease), filter .9s; filter: brightness(.55) saturate(.8); }
.acc__p img.is-in { opacity: 1; }
.acc__p.is-open img { transform: scale(1); filter: none; }
.acc__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,22,20,.1) 40%, rgba(20,22,20,.78)); opacity: 0; transition: opacity .8s; }
.acc__p.is-open .acc__shade { opacity: 1; }
.acc__v { position: absolute; left: 50%; bottom: 34px; transform: translateX(-50%) rotate(180deg); writing-mode: vertical-rl; white-space: nowrap; font-family: var(--serif); font-size: clamp(22px, 2vw, 30px); letter-spacing: .02em; transition: opacity .5s; }
.acc__v small { font-family: var(--sans); font-size: 10px; letter-spacing: .26em; text-transform: uppercase; opacity: .75; margin-top: 16px; }
.acc__p.is-open .acc__v { opacity: 0; }
.acc__num { position: absolute; top: 24px; left: 50%; transform: translateX(-50%); font-size: 11px; letter-spacing: .2em; opacity: .7; transition: left .9s var(--ease), transform .9s var(--ease); }
.acc__p.is-open .acc__num { left: 34px; transform: none; }
.acc__in { position: absolute; left: 34px; right: 34px; bottom: 34px; display: flex; flex-direction: column; gap: 12px; max-width: 560px; opacity: 0; transform: translateY(16px); transition: opacity .5s, transform .7s var(--ease); pointer-events: none; }
.acc__p.is-open .acc__in { opacity: 1; transform: none; transition-delay: .35s; pointer-events: auto; }
.acc__in .label { color: rgba(247,245,240,.85); }
.acc__t { font-family: var(--serif); font-size: clamp(30px, 3vw, 46px); line-height: 1.08; }
.acc__price { font-size: 14px; letter-spacing: .1em; }
.acc__in .btn { align-self: flex-start; margin-top: 8px; border-color: rgba(247,245,240,.8); background: transparent; color: var(--ivoire); height: 46px; }
.acc__in .btn:hover { background: var(--ivoire); color: var(--encre); }
.acc-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 28px; flex-wrap: wrap; gap: 16px; }

/* Buy page hero */
.bhero { position: relative; height: clamp(520px, 78vh, 820px); overflow: hidden; color: var(--ivoire); background: var(--encre); }
.bhero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.8s var(--ease); }
.bhero__slide.on { opacity: 1; }
.bhero__slide img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); }
.bhero__slide.on img { animation: kb 9s linear forwards; }
@keyframes kb { from { transform: scale(1.12) translateX(0); } to { transform: scale(1.02) translateX(-1.5%); } }
.bhero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,22,20,.45) 0%, rgba(20,22,20,.1) 40%, rgba(20,22,20,.7) 100%); }
.bhero__in { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: clamp(36px, 6vh, 70px); }
.bhero .label { color: rgba(247,245,240,.88); }
.bhero .h1 { margin: 20px 0 18px; max-width: 980px; }
.bhero__sub { font-size: 17px; max-width: 560px; opacity: .9; }
.bhero__chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.bhero__chips button { border: 1px solid rgba(247,245,240,.6); padding: 11px 18px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ivoire); transition: background .3s, color .3s; }
.bhero__chips button:hover, .bhero__chips button.on { background: var(--ivoire); color: var(--encre); }
.bhero__chips b { font-weight: 400; opacity: .65; margin-left: 6px; }
.bhero__cap { position: absolute; right: var(--gutter); bottom: clamp(36px, 6vh, 70px); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; text-align: right; opacity: .85; }
.bhero__cap a { display: block; font-family: var(--serif); font-size: 20px; letter-spacing: 0; text-transform: none; margin-top: 6px; }

/* Property page: details + location */
.details { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; margin-top: 56px; border-top: 1px solid var(--ligne); }
.details div { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--ligne); font-size: 15px; }
.details dt { color: var(--encre-2); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; align-self: center; }
.details dd { margin: 0; text-align: right; }
.h-sub { font-family: var(--serif); font-size: 28px; font-weight: 300; margin: 64px 0 0; }
.loc { display: grid; grid-template-columns: 5fr 6fr; gap: clamp(40px, 6vw, 100px); align-items: center; }
.loc .map { max-width: 560px; }
.loc .lead { margin: 22px 0 36px; }
.loc__ph { display: grid; grid-template-columns: 1.4fr 1fr; gap: 10px; }
.loc__ph figure { margin: 0; position: relative; overflow: hidden; background: var(--sable); aspect-ratio: 4 / 3; }
.loc__ph figure:only-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.loc__ph img { width: 100%; height: 100%; object-fit: cover; }
.loc__ph figcaption { position: absolute; left: 0; bottom: 0; background: var(--ivoire); padding: 8px 12px 0 0; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--encre-2); }
.loc__note { margin-top: 18px; font-size: 13px; color: var(--encre-2); display: flex; gap: 10px; align-items: center; }
.loc__note::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--majorelle); }

@media (max-width: 820px) {
  .acc { flex-direction: column; height: auto; }
  .acc__p { flex: none; height: 92px; transition: height .8s var(--ease); }
  .acc__p.is-open { height: 70vh; }
  .acc__v { writing-mode: horizontal-tb; transform: translateY(-50%); left: 24px; top: 50%; bottom: auto; }
  .acc__v small { margin: 0 0 0 12px; }
  .acc__num { left: auto; right: 20px; top: 50%; transform: translateY(-50%); }
  .acc__p.is-open .acc__num { top: 24px; left: 24px; right: auto; transform: none; }
  .bhero__cap { display: none; }
  .details { grid-template-columns: 1fr; }
  .loc { grid-template-columns: 1fr; }
}

/* ---------- Inner pages ---------- */
.phero { position: relative; height: clamp(460px, 70vh, 760px); overflow: hidden; color: var(--ivoire); background: var(--encre); }
.phero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: kb 14s linear forwards; }
.phero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,22,20,.36) 0%, rgba(20,22,20,.06) 40%, rgba(20,22,20,.6) 100%); }
.phero__in { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: clamp(36px, 7vh, 80px); }
.phero .label { color: rgba(247,245,240,.88); }
.phero .h1 { margin: 20px 0 16px; max-width: 980px; }
.phero p { font-size: 17px; max-width: 560px; opacity: .92; margin: 0; }
.phero--plain { height: auto; background: var(--ivoire); color: var(--encre); padding: calc(var(--hdr-h) + clamp(60px, 8vw, 120px)) 0 clamp(40px, 5vw, 70px); }
.phero--plain .label { color: var(--encre-2); }
.phero--plain .phero__in { height: auto; padding-bottom: 0; }
.prose { font-size: 17px; line-height: 1.85; color: #33342F; }
.prose p { margin: 0 0 1.2em; }
.prose p:first-child { font-family: var(--serif); font-size: clamp(22px, 2vw, 28px); line-height: 1.45; color: var(--encre); }
.cols2 { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(40px, 7vw, 120px); align-items: start; }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid rgba(30,31,28,.18); }
.steps--5 { grid-template-columns: repeat(5, 1fr); }
.step { padding: 32px 28px 0 0; }
.step + .step { padding-left: 28px; border-left: 1px solid rgba(30,31,28,.18); }
.step b { display: block; font-family: var(--serif); font-weight: 300; font-size: 44px; line-height: 1; color: var(--majorelle); margin-bottom: 20px; }
.step strong { display: block; font-family: var(--serif); font-weight: 400; font-size: 24px; line-height: 1.2; margin-bottom: 10px; }
.step p { margin: 0; font-size: 15px; color: var(--encre-2); }
.team { display: grid; grid-template-columns: 4fr 7fr; gap: clamp(40px, 6vw, 100px); align-items: center; }
.team__ph { aspect-ratio: 4 / 5; background: var(--sable); display: grid; place-items: center; position: relative; overflow: hidden; }
.team__ph img.mono { width: 34%; opacity: .9; }
.team__ph span { position: absolute; left: 0; bottom: 0; background: var(--ivoire); padding: 12px 18px 0 0; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--encre-2); }
.reviews { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: 1px solid rgba(30,31,28,.18); }
.review { padding: 36px 40px 36px 0; border-bottom: 1px solid rgba(30,31,28,.18); }
.review:nth-child(even) { padding-left: 40px; padding-right: 0; border-left: 1px solid rgba(30,31,28,.18); }
.review q { display: block; font-family: var(--serif); font-size: clamp(21px, 1.7vw, 26px); line-height: 1.4; quotes: "“" "”"; }
.review small { display: block; margin-top: 16px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--encre-2); }
.stars { letter-spacing: .2em; color: var(--majorelle); font-size: 14px; }
.gscore { display: flex; align-items: baseline; gap: 14px; }
.gscore strong { font-family: var(--serif); font-weight: 300; font-size: 64px; line-height: 1; }
.form { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 28px; }
.form label { display: flex; flex-direction: column; gap: 8px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--encre-2); }
.form label.full { grid-column: 1 / -1; }
.form input, .form select, .form textarea { font: inherit; font-size: 16px; letter-spacing: 0; text-transform: none; color: var(--encre); background: transparent; border: 0; border-bottom: 1px solid rgba(30,31,28,.35); padding: 10px 0; outline: none; border-radius: 0; transition: border-color .3s; }
.form textarea { min-height: 110px; resize: vertical; }
.form input:focus, .form select:focus, .form textarea:focus { border-color: var(--majorelle); }
.form .actions { grid-column: 1 / -1; display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin-top: 10px; }
.form .note { font-size: 13px; color: var(--encre-2); text-transform: none; letter-spacing: 0; }
.cards3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--ligne); }
.cards3 > * { padding: 34px 30px 34px 0; display: flex; flex-direction: column; gap: 10px; }
.cards3 > * + * { padding-left: 30px; border-left: 1px solid var(--ligne); }
.cards3 .label { margin-bottom: 4px; }
.cards3 .big { font-family: var(--serif); font-size: clamp(22px, 2vw, 28px); line-height: 1.25; }
.mapframe { aspect-ratio: 16 / 7; background: var(--papier); filter: grayscale(.8) sepia(.12) contrast(1.02); }
.mapframe iframe { width: 100%; height: 100%; border: 0; }
.ztiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 2.2vw, 36px); }
.ztile { position: relative; aspect-ratio: 4 / 5; overflow: hidden; color: var(--ivoire); background: var(--encre); }
.ztile:nth-child(3n+2) { margin-top: clamp(30px, 5vw, 80px); }
.ztile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .9s, transform 1.8s var(--ease); }
.ztile img.is-in { opacity: 1; }
.ztile:hover img { transform: scale(1.06); }
.ztile__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,22,20,0) 40%, rgba(20,22,20,.75)); }
.ztile__txt { position: absolute; left: 26px; right: 26px; bottom: 26px; display: flex; flex-direction: column; gap: 8px; }
.ztile__txt .label { color: rgba(247,245,240,.85); }
.ztile__t { font-family: var(--serif); font-size: clamp(30px, 2.6vw, 40px); line-height: 1.05; }
.ztile__txt p { margin: 0; font-size: 14px; opacity: .9; max-height: 0; overflow: hidden; transition: max-height .6s var(--ease); }
.ztile:hover .ztile__txt p { max-height: 120px; }
.znav { display: flex; flex-wrap: wrap; gap: 10px 26px; padding-top: 26px; border-top: 1px solid var(--ligne); }
.znav a { font-family: var(--serif); font-size: 22px; color: var(--encre-2); transition: color .3s; }
.znav a:hover, .znav a.is-on { color: var(--majorelle); }
.legal h2 { font-family: var(--serif); font-weight: 300; font-size: 34px; margin: 64px 0 18px; }
.legal h3 { font-family: var(--serif); font-weight: 400; font-size: 22px; margin: 36px 0 10px; }
.legal p, .legal li { font-size: 16px; line-height: 1.8; color: #33342F; }
.legal dl { display: grid; grid-template-columns: 220px 1fr; gap: 10px 24px; margin: 0; }
.legal dt { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--encre-2); padding-top: 4px; }
.legal dd { margin: 0; }
@media (max-width: 1100px) {
  .steps, .steps--5 { grid-template-columns: 1fr 1fr; }
  .step:nth-child(odd) { padding-left: 0; border-left: 0; }
  .ztiles { grid-template-columns: 1fr 1fr; }
  .ztile:nth-child(3n+2) { margin-top: 0; }
}
@media (max-width: 820px) {
  .cols2, .team { grid-template-columns: 1fr; }
  .steps, .steps--5 { grid-template-columns: 1fr; }
  .step, .step + .step { padding-left: 0; border-left: 0; padding-bottom: 28px; border-bottom: 1px solid rgba(30,31,28,.18); }
  .reviews { grid-template-columns: 1fr; }
  .review, .review:nth-child(even) { padding: 28px 0; border-left: 0; }
  .form { grid-template-columns: 1fr; }
  .cards3 { grid-template-columns: 1fr; }
  .cards3 > *, .cards3 > * + * { padding: 26px 0; border-left: 0; border-bottom: 1px solid var(--ligne); }
  .mapframe { aspect-ratio: 4 / 3; }
  .ztiles { grid-template-columns: 1fr; }
  .legal dl { grid-template-columns: 1fr; }
}
/* ---------- Collection tags ---------- */
.card__tag--sig { background: var(--encre); color: #E8DCC4; }
.card__tag--sea { background: #E6EEF0; color: #24525E; }

/* ---------- Signature: cinematic page for the most exceptional listings ---------- */
.sig { background: #141513; color: var(--ivoire); }
.sig-hero { position: relative; height: 100vh; min-height: 680px; overflow: hidden; background: #141513; }
.sig-hero__slides img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.12); transition: opacity 2.2s var(--ease); }
.sig-hero__slides img.on { opacity: 1; animation: sigKen 14s linear forwards; }
@keyframes sigKen { from { transform: scale(1.12); } to { transform: scale(1.0); } }
.sig-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,21,19,.5) 0%, rgba(20,21,19,0) 22%, rgba(20,21,19,.15) 42%, rgba(20,21,19,.7) 68%, rgba(20,21,19,.92) 100%); }
.sig-hero__in { text-shadow: 0 2px 24px rgba(0,0,0,.35); }
.sig-hero__in { position: absolute; inset: auto 0 0 0; padding-bottom: clamp(48px, 8vh, 96px); text-align: center; }
.sig-eyebrow { display: inline-flex; align-items: center; gap: 18px; font-size: 11px; letter-spacing: .42em; text-transform: uppercase; color: #F0E6D2; }
.sig-eyebrow::before, .sig-eyebrow::after { content: ""; width: 44px; height: 1px; background: #C8B48F; }
.sig-name { font-family: var(--serif); font-weight: 300; font-size: clamp(58px, 10vw, 168px); line-height: .92; letter-spacing: -.01em; margin: 22px 0 14px; }
.sig-name .reveal-line { display: block; overflow: hidden; padding-bottom: .1em; }
.sig-name .reveal-line > span { display: block; transform: translateY(110%); animation: rise 1.6s var(--ease) .2s forwards; }
.sig-sub { font-family: var(--serif); font-style: italic; font-size: clamp(20px, 2vw, 30px); color: rgba(247,245,240,.88); opacity: 0; animation: sigFade 1.4s var(--ease) .9s forwards; }
.sig-stats { display: flex; justify-content: center; flex-wrap: wrap; gap: 0; margin-top: clamp(26px, 4vh, 44px); opacity: 0; animation: sigFade 1.4s var(--ease) 1.2s forwards; }
.sig-stats span { padding: 0 clamp(14px, 2vw, 30px); font-size: 12px; letter-spacing: .26em; text-transform: uppercase; color: rgba(247,245,240,.85); border-left: 1px solid rgba(200,180,143,.5); }
.sig-stats span:first-child { border-left: 0; }
.sig-price { margin-top: 22px; font-family: var(--serif); font-size: clamp(24px, 2.2vw, 34px); color: #E8DCC4; opacity: 0; animation: sigFade 1.4s var(--ease) 1.4s forwards; }
.sig-price small { font-family: var(--sans); font-size: 12px; letter-spacing: .16em; margin-left: 12px; color: rgba(247,245,240,.6); }
@keyframes sigFade { to { opacity: 1; } }
.sig-scroll { position: absolute; left: 50%; bottom: 18px; width: 1px; height: 38px; background: linear-gradient(#C8B48F, transparent); animation: sigDrop 2.4s var(--ease) infinite; }
@keyframes sigDrop { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
.sig-intro { padding: clamp(90px, 12vw, 180px) 0 clamp(70px, 9vw, 130px); }
.sig-intro__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(40px, 7vw, 120px); align-items: end; }
.sig-intro .h2 { color: var(--ivoire); font-size: clamp(38px, 4.6vw, 72px); }
.sig-intro .h2 em { color: #E8DCC4; }
.sig-intro p { font-size: 17px; line-height: 1.9; color: rgba(247,245,240,.78); margin: 0; }
.sig-intro .sig-eyebrow { margin-bottom: 34px; }
.sig-intro .sig-eyebrow::after { display: none; }
.sig-wide { position: relative; margin: 0; height: 86vh; min-height: 520px; overflow: hidden; cursor: zoom-in; }
.sig-wide img { width: 100%; height: 118%; object-fit: cover; will-change: transform; }
.sig-wide figcaption, .sig-mos figcaption { position: absolute; left: clamp(20px, 3vw, 44px); bottom: clamp(18px, 2.6vw, 36px); font-family: var(--serif); font-style: italic; font-size: clamp(17px, 1.5vw, 22px); color: var(--ivoire); text-shadow: 0 1px 18px rgba(0,0,0,.45); }
.sig-num { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(200,180,143,.3); border-bottom: 1px solid rgba(200,180,143,.3); margin: clamp(70px, 9vw, 130px) 0; }
.sig-num div { padding: clamp(28px, 3.6vw, 52px) 10px; text-align: center; border-left: 1px solid rgba(200,180,143,.3); }
.sig-num div:first-child { border-left: 0; }
.sig-num b { display: block; font-family: var(--serif); font-weight: 300; font-size: clamp(40px, 4.6vw, 76px); line-height: 1; color: #E8DCC4; }
.sig-num span { display: block; margin-top: 14px; font-size: 11px; letter-spacing: .26em; text-transform: uppercase; color: rgba(247,245,240,.6); }
.sig-mos { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: clamp(70px, 8vw, 120px); gap: clamp(10px, 1.2vw, 18px); }
.sig-mos figure { position: relative; margin: 0; overflow: hidden; cursor: zoom-in; background: #1d1e1b; }
.sig-mos img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease), opacity 1s; opacity: 0; }
.sig-mos img.is-in { opacity: 1; }
.sig-mos figure:hover img { transform: scale(1.04); }
.sig-mos figure:nth-child(1) { grid-column: 1 / 8; grid-row: span 5; }
.sig-mos figure:nth-child(2) { grid-column: 8 / 13; grid-row: span 3; }
.sig-mos figure:nth-child(3) { grid-column: 8 / 13; grid-row: span 2; }
.sig-mos figure:nth-child(4) { grid-column: 1 / 5; grid-row: span 3; }
.sig-mos figure:nth-child(5) { grid-column: 5 / 13; grid-row: span 4; }
.sig-mos figure:nth-child(6) { grid-column: 1 / 5; grid-row: span 1; display: none; }
.sig-film { position: relative; margin-top: clamp(70px, 9vw, 130px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 80px); align-items: center; }
.sig-film__v { position: relative; overflow: hidden; background: #000; }
.sig-film__v video { width: 100%; display: block; max-height: 80vh; object-fit: cover; }
.sig-film .h3 { font-size: clamp(30px, 3vw, 46px); color: var(--ivoire); }
.sig-film p { color: rgba(247,245,240,.72); line-height: 1.85; }
.sig-all { display: flex; justify-content: center; padding: clamp(50px, 6vw, 90px) 0 clamp(90px, 10vw, 150px); }
.sig .btn { background: transparent; border-color: #C8B48F; color: #E8DCC4; }
.sig .btn:hover { background: #E8DCC4; color: #141513; }
.sig-label { font-size: 11px; letter-spacing: .32em; text-transform: uppercase; color: #C8B48F; }
@media (max-width: 820px) {
  .sig-intro__grid, .sig-film { grid-template-columns: 1fr; }
  .sig-num { grid-template-columns: repeat(2, 1fr); }
  .sig-num div:nth-child(odd) { border-left: 0; }
  .sig-num div { border-top: 1px solid rgba(200,180,143,.3); }
  .sig-num div:nth-child(5) { grid-column: span 2; }
  .sig-mos { grid-template-columns: 1fr 1fr; grid-auto-rows: 42vw; }
  .sig-mos figure:nth-child(n) { grid-column: auto; grid-row: auto; display: block; }
  .sig-mos figure:nth-child(1), .sig-mos figure:nth-child(5) { grid-column: span 2; }
  .sig-stats span { padding: 6px 12px; }
  .sig-wide { height: 60vh; }
}


@media (max-width: 820px) {
  .facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .facts strong { font-size: 21px; overflow-wrap: anywhere; }
  .facts div { padding-right: 10px; }
  .facts div + div { padding-left: 12px; }
  .sig-hero .sig-eyebrow::before, .sig-hero .sig-eyebrow::after { display: none; }
  .sig-hero .sig-eyebrow { letter-spacing: .3em; }
}

/* ---------- Custom dropdowns (replace the system menus) ---------- */
.dd__native { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.dd { position: relative; font-size: inherit; letter-spacing: inherit; text-transform: none; }
.dd__btn { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; padding: 0; text-align: left; color: var(--encre); font-size: inherit; letter-spacing: 0; white-space: nowrap; }
.dd__v { overflow: hidden; text-overflow: ellipsis; }
.dd__btn svg { flex: none; transition: transform .4s var(--ease); opacity: .7; }
.dd.is-open .dd__btn svg { transform: rotate(180deg); }
.dd__panel { position: absolute; z-index: 60; top: calc(100% + 14px); left: -18px; min-width: calc(100% + 36px); max-height: 470px; overflow-y: auto; background: var(--ivoire); border: 1px solid var(--ligne); box-shadow: 0 30px 60px -30px rgba(40,32,20,.35); padding: 10px 0; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .35s var(--ease), transform .35s var(--ease), visibility 0s .35s; scrollbar-width: thin; }
.dd.is-open .dd__panel { opacity: 1; visibility: visible; transform: none; transition: opacity .35s var(--ease), transform .35s var(--ease); }
.dd__opt { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 22px; text-align: left; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--encre-2); white-space: nowrap; transition: background .25s, color .25s; }
.dd__opt:hover { background: var(--papier); color: var(--encre); }
.dd__opt.is-on { color: var(--encre); }
.dd:not(.dd--multi) .dd__opt.is-on::after { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--bronze); margin-left: auto; }
.dd__opt small { margin-left: auto; padding-left: 18px; font-size: 12px; color: var(--gris); }
.dd__chk i { flex: none; width: 13px; height: 13px; border: 1px solid rgba(30,31,28,.45); position: relative; transition: background .25s, border-color .25s; }
.dd__chk.is-on i { background: var(--encre); border-color: var(--encre); }
.dd__chk.is-on i::after { content: ""; position: absolute; left: 3.5px; top: 1px; width: 3px; height: 6px; border: solid var(--ivoire); border-width: 0 1px 1px 0; transform: rotate(45deg); }
.dd__head { display: flex; justify-content: space-between; align-items: baseline; padding: 6px 22px 12px; margin-bottom: 4px; border-bottom: 1px solid var(--ligne); font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--gris); }
.dd__clear { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--bronze); }
.dd__clear:hover { color: var(--encre); }
.search .dd { font-size: 16px; padding-top: 2px; }
.search .dd__panel { top: calc(100% + 20px); left: -24px; min-width: calc(100% + 48px); }
.form .dd { border-bottom: 1px solid rgba(30,31,28,.35); padding: 10px 0; font-size: 16px; }
.form .dd.is-open { border-color: var(--majorelle); }
.form .dd__panel { left: 0; min-width: 100%; top: calc(100% + 6px); }

/* ---------- Range slider (budget) ---------- */
.rs { min-width: 250px; }
.rs__vals { display: flex; justify-content: space-between; font-size: 15px; color: var(--encre); line-height: 1.2; }
.rs__vals span + span::before { content: ""; }
.rs__track { position: relative; height: 18px; margin-top: 4px; }
.rs__track::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--ligne); }
.rs__fill { position: absolute; top: 50%; height: 1px; margin-top: -0px; background: var(--encre); }
.rs input[type=range] { position: absolute; inset: 0; width: 100%; height: 18px; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; outline: none; }
.rs input[type=range]::-webkit-slider-runnable-track { height: 18px; background: none; }
.rs input[type=range]::-moz-range-track { height: 18px; background: none; }
.rs input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 13px; height: 13px; margin-top: 2.5px; border-radius: 50%; background: var(--ivoire); border: 1px solid var(--encre); cursor: grab; transition: transform .25s var(--ease), background .25s; }
.rs input[type=range]::-moz-range-thumb { pointer-events: auto; width: 11px; height: 11px; border-radius: 50%; background: var(--ivoire); border: 1px solid var(--encre); cursor: grab; }
.rs input[type=range]:hover::-webkit-slider-thumb, .rs input[type=range]:focus-visible::-webkit-slider-thumb { transform: scale(1.25); background: var(--encre); }
.rs input[type=range]:active::-webkit-slider-thumb { cursor: grabbing; }

/* ---------- Hand-drawn sketches ---------- */
.sk { display: block; width: 100%; height: auto; overflow: visible; }
.sk path { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 2.6s var(--ease); }
.sk path:nth-child(2) { transition-delay: .35s; } .sk path:nth-child(3) { transition-delay: .7s; } .sk path:nth-child(4) { transition-delay: 1s; } .sk path:nth-child(5) { transition-delay: 1.25s; }
.sk .sk-d { stroke-dasharray: 2 3; stroke-width: .7; opacity: 0; transition: opacity 1.2s 1.6s; }
.is-in .sk path, .sk.is-in path { stroke-dashoffset: 0; }
.is-in .sk .sk-d { opacity: .7; }

/* ---------- Animated waves ---------- */
.waves { position: relative; height: 100px; overflow: hidden; pointer-events: none; }
.waves__row { position: absolute; left: 0; top: 0; animation: waveRun var(--d, 40s) linear infinite; }
.waves__row:nth-child(2) { animation-direction: reverse; }
@keyframes waveRun { to { transform: translateX(-2000px); } }
@media (prefers-reduced-motion: reduce) { .waves__row { animation: none; } }

/* ---------- Portfolio: arrival ---------- */
.phx { position: relative; height: 100vh; min-height: 620px; overflow: hidden; color: var(--ivoire); background: #1c1b18; }
.phx__img { position: absolute; inset: 0; }
.phx__img img { width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.08); transition: opacity 1.6s var(--ease), transform 9s cubic-bezier(.2,.6,.2,1); }
.phx__img img.is-in { opacity: 1; transform: scale(1); }
.phx__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,19,16,.38) 0%, rgba(20,19,16,0) 22%, rgba(20,19,16,0) 58%, rgba(20,19,16,.58) 100%); }
.phx__in { position: absolute; left: 0; right: 0; bottom: 0; margin: 0 auto; display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; padding-bottom: clamp(34px, 5.5vh, 60px); }
.phx__t { font-family: var(--serif); font-weight: 300; font-size: clamp(32px, 3.1vw, 48px); line-height: 1.08; margin: 0 0 12px; opacity: 0; animation: fadein 1.4s .6s var(--ease) forwards; }
.phx__t em { font-style: italic; }
.phx__s { margin: 0; font-size: 13px; letter-spacing: .06em; color: rgba(245,239,230,.82); opacity: 0; animation: fadein 1.4s .9s var(--ease) forwards; }
.phx__doors { display: flex; gap: 10px; opacity: 0; animation: fadein 1.4s 1.15s var(--ease) forwards; }
.phx__doors button { display: flex; align-items: baseline; gap: 12px; padding: 13px 22px; border: 1px solid rgba(245,239,230,.55); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--ivoire); background: rgba(20,19,16,.08); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: background .4s var(--ease), color .4s var(--ease), border-color .4s; }
.phx__doors button b { font-family: var(--serif); font-weight: 300; font-size: 17px; letter-spacing: 0; opacity: .8; }
.phx__doors button:hover { background: var(--ivoire); color: var(--encre); border-color: var(--ivoire); }
.phx__cue { position: absolute; left: 50%; bottom: 0; width: 1px; height: 46px; background: rgba(245,239,230,.7); animation: drip 2.4s var(--ease) infinite; transform-origin: top; }

/* ---------- Portfolio: search bar ---------- */
.pbar { position: sticky; top: var(--hdr-h); z-index: 30; background: rgba(245,239,230,.96); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--ligne); transition: top .5s var(--ease), box-shadow .4s; }
body.hdr-hidden .pbar { top: 0; box-shadow: 0 14px 30px -24px rgba(40,32,20,.35); }
.pbar__in { display: flex; align-items: center; gap: 0; min-height: 84px; }
.pbar__f { display: flex; flex-direction: column; gap: 5px; padding: 0 clamp(24px, 2.6vw, 44px); border-right: 1px solid var(--ligne); min-width: 220px; }
.pbar__f:first-child { padding-left: 0; }
.pbar__f--rs { min-width: 320px; }
.pbar__l { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--gris); }
.pbar .dd { font-size: 15px; }
.pbar__reset { margin-left: clamp(20px, 2vw, 32px); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--bronze); border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.pbar__reset:hover { color: var(--encre); }
.pbar__n { margin-left: auto; font-family: var(--serif); font-size: 19px; font-style: italic; color: var(--encre-2); }
.dd--sort { margin-left: 22px; padding-left: 22px; border-left: 1px solid var(--ligne); height: 34px; display: flex; align-items: center; }
.dd--sort .dd__btn { width: 34px; height: 34px; justify-content: center; border-radius: 50%; transition: background .3s; }
.dd--sort .dd__btn:hover, .dd--sort.is-open .dd__btn { background: var(--papier); }
.dd--sort .dd__btn svg { opacity: .85; transform: none !important; }
.dd--sort.has-v .dd__btn::after { content: ""; position: absolute; top: 4px; right: 2px; width: 6px; height: 6px; border-radius: 50%; background: var(--bronze); }
.dd--sort .dd__panel { left: auto; right: -10px; min-width: 230px; top: calc(100% + 22px); }
.dd--sort[hidden] { display: none; }

/* ---------- Portfolio: collections ---------- */
.cols { padding: clamp(90px, 10vw, 150px) 0 0; }
.cols__head { text-align: center; display: flex; flex-direction: column; align-items: center; margin-bottom: clamp(50px, 6vw, 90px); }
.cols__head .h2 { margin-top: 18px; }
.cols__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(50px, 6vw, 90px) clamp(20px, 2.4vw, 40px); align-items: start; }
.col { grid-column: span 4; display: block; position: relative; }
.col--signature { grid-column: 1 / span 7; }
.col--beachfront { grid-column: 8 / span 5; margin-top: clamp(80px, 11vw, 170px); }
.col__img { position: relative; overflow: hidden; background: var(--sable); aspect-ratio: 4 / 5; }
.col--signature .col__img { aspect-ratio: 7 / 6; }
.col--beachfront .col__img { aspect-ratio: 5 / 6; }
.col__img img { width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s var(--ease), transform 2.4s var(--ease); }
.col__img img.is-in { opacity: 1; }
.col:hover .col__img img { transform: scale(1.045); }
.col__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,19,16,.35), rgba(20,19,16,0) 40%); opacity: 0; transition: opacity .6s var(--ease); }
.col:hover .col__img::after { opacity: 1; }
.col__go { position: absolute; z-index: 2; left: 24px; bottom: 22px; color: var(--ivoire); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; opacity: 0; transform: translateY(8px); transition: opacity .5s var(--ease), transform .5s var(--ease); }
.col:hover .col__go { opacity: 1; transform: none; }
.col__cap { display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: start; padding-top: 24px; }
.col__n { font-family: var(--serif); font-style: italic; font-size: 17px; color: var(--bronze); padding-top: 6px; }
.col__t { font-family: var(--serif); font-weight: 300; font-size: clamp(26px, 2.3vw, 36px); line-height: 1.1; margin: 0 0 10px; }
.col--signature .col__t { font-size: clamp(32px, 3vw, 46px); }
.col__t em { font-style: italic; }
.col__txt p { margin: 0 0 14px; color: var(--encre-2); font-size: 15px; line-height: 1.6; max-width: 380px; }
.col__count { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--gris); }
.col__sk { width: 96px; color: var(--bronze); margin-top: -4px; }
.col--signature .col__sk { width: 120px; }
.col--beachfront .col__sk, .col--seaview .col__sk { color: #3E6470; }
.cols__all { text-align: center; margin-top: clamp(70px, 8vw, 120px); }

/* ---------- Portfolio: a collection, area by area ---------- */
.res { padding-top: clamp(80px, 8vw, 120px); }
.res__head { margin-bottom: clamp(50px, 6vw, 80px); }
.res__back { display: inline-flex; align-items: center; gap: 12px; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--encre-2); transition: color .3s, gap .4s var(--ease); }
.res__back:hover { color: var(--encre); gap: 18px; }
.res__ttl { display: flex; align-items: center; gap: clamp(24px, 3vw, 48px); margin-top: clamp(36px, 4vw, 56px); }
.res__ttl .lead { margin: 14px 0 0; }
.res__sk { flex: none; width: clamp(110px, 10vw, 150px); color: var(--bronze); }
.res__tabs { display: flex; gap: 30px; margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--ligne); }
.res__tabs a { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--gris); padding-bottom: 4px; border-bottom: 1px solid transparent; transition: color .3s, border-color .3s; }
.res__tabs a:hover { color: var(--encre); }
.res__tabs a.is-on { color: var(--encre); border-color: var(--encre); }
.grp + .grp { margin-top: clamp(80px, 9vw, 130px); }
.grp__head { display: flex; align-items: baseline; gap: 22px; padding-bottom: 18px; margin-bottom: clamp(30px, 3.4vw, 48px); border-bottom: 1px solid var(--ligne); }
.grp__t { font-family: var(--serif); font-weight: 300; font-size: clamp(30px, 2.8vw, 42px); line-height: 1; margin: 0; }
.grp__m { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--gris); }
.grp__lnk { margin-left: auto; font-family: var(--serif); font-style: italic; font-size: 17px; color: var(--encre-2); transition: color .3s; }
.grp__lnk:hover { color: var(--majorelle); }

/* ---------- Home: beachfront band ---------- */
.bfb { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--ivoire) 0%, #E8E9E1 100%); padding: clamp(80px, 8vw, 120px) 0 0; color: var(--encre); }
.bfb__in { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(40px, 5vw, 90px); align-items: center; position: relative; z-index: 2; }
.bfb__sk { width: 92px; color: #3E6470; margin-bottom: 26px; }
.bfb__txt .h2 { margin: 18px 0 20px; }
.bfb__txt p { color: var(--encre-2); max-width: 400px; margin: 0 0 34px; line-height: 1.8; }
.bfb__pic { display: grid; grid-template-columns: 1.35fr 1fr; gap: 14px; align-items: end; }
.bfb__pic figure { margin: 0; overflow: hidden; background: var(--sable); height: clamp(260px, 26vw, 380px); }
.bfb__pic figure:nth-child(2) { height: clamp(200px, 20vw, 290px); }
.bfb__pic img { width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s var(--ease), transform 2.4s var(--ease); }
.bfb__pic img.is-in { opacity: 1; }
.bfb__pic:hover img { transform: scale(1.04); }
.bfb__cap { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding-top: 6px; }
.bfb__cap .label { color: #3E6470; }
.bfb__t { font-family: var(--serif); font-size: 24px; }
.bfb__p { font-family: var(--serif); font-size: 21px; white-space: nowrap; }
.bfb .waves { color: #3E6470; margin-top: clamp(30px, 4vw, 60px); height: 100px; }

/* ---------- Property: on film ---------- */
.pfilm { margin: clamp(70px, 8vw, 110px) 0 0; display: grid; grid-template-columns: 8fr 4fr; gap: clamp(30px, 4vw, 60px); align-items: end; }
.pfilm__v { background: #141513; aspect-ratio: 16 / 9; overflow: hidden; }
.pfilm__v video { width: 100%; height: 100%; object-fit: cover; display: block; }
.pfilm p { color: var(--encre-2); margin: 0; }
/* Custom dropdowns: no browser focus ring; keyboard focus darkens the underline instead. */
.dd__btn:focus, .dd__native:focus { outline: none; }
.dd__btn:focus-visible { outline: none; border-bottom-color: #7E3F28 !important; }
.seg button:focus, .seg button:focus-visible { outline: none; }
/* Language switch stays visible on tablets and phones. */
@media (max-width:1100px){.hdr__right .lang{display:inline-flex!important;align-items:center;gap:4px;font-size:11px;letter-spacing:.18em;white-space:nowrap}}

.hdr:not(.hdr--clear){background-color:#FDFBF7}

@media (max-width:760px){.ftr{padding:40px 0 20px!important;font-size:13px}.ftr__top{grid-template-columns:1fr 1.3fr!important;gap:26px 18px!important;padding-bottom:24px!important}.ftr__brand{grid-column:1/-1}.ftr__brand img{height:44px!important}.ftr__top>div:nth-child(2){grid-row:span 2}.ftr h4{margin:0 0 8px!important}.ftr ul{line-height:1.75}.ftr li+li{margin-top:2px}.ftr__bot{gap:8px!important;padding-top:16px!important;font-size:11px}.ftr__sig{font-size:15px}.ftr__legal{gap:16px}}

.wa{transition:background .35s,color .35s,transform .3s}.wa.wa--light{background:#FDFBF7!important;color:#1E1F1C!important;box-shadow:0 10px 30px rgba(0,0,0,.35)}@media (hover:none){.wa:hover{background:var(--noir);transform:none}}

/* Phones: groups of cards slide sideways instead of stacking (shorter pages). */
@media (max-width:760px){.crit,.svc,.phs,.why__cols,.gd-own,.sx5,.sold3__g,.pln,div:has(> a.sim),div:has(> .vw){display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:14px!important;scrollbar-width:none;grid-template-columns:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding-left:20px!important;padding-right:20px!important;scroll-padding:0 20px;box-sizing:border-box}.crit::-webkit-scrollbar,.svc::-webkit-scrollbar,.phs::-webkit-scrollbar,.why__cols::-webkit-scrollbar,.gd-own::-webkit-scrollbar,.sx5::-webkit-scrollbar,.sold3__g::-webkit-scrollbar,.pln::-webkit-scrollbar,div:has(> a.sim)::-webkit-scrollbar,div:has(> .vw)::-webkit-scrollbar{display:none}.crit>*,.svc>*,.phs>*,.why__cols>*,.gd-own>*,.sx5>*,.sold3__g>*,.pln>*,div:has(> a.sim)>*,div:has(> .vw)>*{flex:0 0 82vw!important;width:auto!important;scroll-snap-align:start;min-width:0;max-width:none!important}}
.fvb.fvb--hd{position:relative;top:auto;right:auto;width:50px;height:50px;flex:none;background:transparent;border:1px solid rgba(126,63,40,.3)}

@media (max-width:560px){.std div:has(> .fvb--hd){flex-wrap:wrap;gap:14px!important}.std div:has(> .fvb--hd)>span:first-child{flex-basis:100%}}

/* Phones: cards in a sideways row are shown at once, no reveal animation while sliding. */
@media (max-width:760px){.crit>.rv,.crit .rv,.crit>.rv2,.crit .rv2,.svc>.rv,.svc .rv,.svc>.rv2,.svc .rv2,.phs>.rv,.phs .rv,.phs>.rv2,.phs .rv2,.why__cols>.rv,.why__cols .rv,.why__cols>.rv2,.why__cols .rv2,.gd-own>.rv,.gd-own .rv,.gd-own>.rv2,.gd-own .rv2,.sx5>.rv,.sx5 .rv,.sx5>.rv2,.sx5 .rv2,.sold3__g>.rv,.sold3__g .rv,.sold3__g>.rv2,.sold3__g .rv2,.pln>.rv,.pln .rv,.pln>.rv2,.pln .rv2,div:has(> a.sim)>.rv,div:has(> a.sim) .rv,div:has(> a.sim)>.rv2,div:has(> a.sim) .rv2,div:has(> .vw)>.rv,div:has(> .vw) .rv,div:has(> .vw)>.rv2,div:has(> .vw) .rv2{opacity:1!important;transform:none!important;transition:none!important}.sx5 .st::before{clip-path:none!important;transition:none!important}.sx5 .st:last-child::after{opacity:1!important;transition:none!important}}

/* Phones: compare table shows 2 properties side by side, labels column narrow. */
@media (max-width:760px){.bs__cmp table{font-size:13px}.bs__cmp th{min-width:80px!important;width:80px;max-width:80px;padding:12px 8px 12px 0!important;font-size:11px!important;letter-spacing:.06em!important;white-space:normal;overflow-wrap:break-word}.bs__cmp td{min-width:118px!important;width:118px;max-width:118px;padding:12px 8px!important}.bs__cmp thead img{aspect-ratio:3/4;margin-bottom:8px}.bs__cmp thead a{font-size:14.5px!important;line-height:1.2;display:block}.bs__cmp small{font-size:11px}.bs__cmp .pr{font-size:17px!important}}

@media (max-width:760px){.std div:has(> .fvb--hd){flex-wrap:nowrap!important;justify-content:space-between;gap:12px!important;width:100%}.std div:has(> .fvb--hd)>span:first-child{flex-basis:auto!important}.std div:has(> .fvb--hd)>a{display:none!important}}

.rail-ind{display:none}
@media (max-width:760px){.rail-ind{display:flex;align-items:center;gap:14px;margin:6px 0 0;font-family:"Tenor Sans",Jost,sans-serif;font-size:10.5px;letter-spacing:.2em;color:#806A5B}.rail-ind b{font-weight:400;color:#3B2B22}.rail-ind__bar{flex:1;height:1px;background:rgba(126,63,40,.2);position:relative}.rail-ind__bar i{position:absolute;left:0;top:-1px;height:3px;width:0;background:#B0603F;transition:width .3s}}
.seg2{display:none}
@media (max-width:760px){.seg2{display:flex;border:1px solid rgba(126,63,40,.3);border-radius:999px;padding:4px;margin:18px 0 22px}.seg2 button{flex:1;border:0;background:transparent;border-radius:999px;padding:11px 8px;font-family:"Tenor Sans",Jost,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6F5747;cursor:pointer}.seg2 button.is-on{background:#1E1F1C;color:#FDFBF7}.md2{display:block!important}.md2>.mdc{display:none;opacity:1!important;transform:none!important;margin:0!important}.md2>.mdc.is-on{display:block}}

/* German and Russian: longer figures ("฿14,8 Mrd.") in the island stats on phones */
@media(max-width:760px){html:is([lang=de],[lang=ru]) .why__n b{font-size:34px}}

/* Portfolio cards may shrink below their longest word (long German and Russian labels) */
.pf-grid>*{min-width:0}

/* German and Russian: long words in headings wrap with hyphens on phones; shorter tracking for the Russian hero kicker */
@media(max-width:760px){html:is([lang=de],[lang=ru]) :is(h1,h2,h3,.h1,.h2){-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}html[lang=ru] .hero .label--rule{letter-spacing:.12em}}

/* SEO: the small label above each page title is the page's h1; the large title is a p.ph1 that looks the same */
h1.lbl,h1.label{font-weight:400;margin:0}
.ct1 .ph1,.gd-hero .ph1{margin:20px 0 14px}
html:is([lang=de],[lang=ru]) .ph1{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}


/* Cormorant Garamond: same font, accented letters redrawn with smaller, lower accents. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300;font-display:swap;src:url(data:font/woff;base64,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) format("woff");unicode-range:U+C0,U+C2,U+C4,U+C8,U+C9,U+CA,U+CB,U+CE,U+CF,U+D4,U+D6,U+D9,U+DB,U+DC,U+E0,U+E2,U+E4,U+E8,U+E9,U+EA,U+EB,U+EE,U+EF,U+F4,U+F6,U+F9,U+FB,U+FC}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff;base64,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) format("woff");unicode-range:U+C0,U+C2,U+C4,U+C8,U+C9,U+CA,U+CB,U+CE,U+CF,U+D4,U+D6,U+D9,U+DB,U+DC,U+E0,U+E2,U+E4,U+E8,U+E9,U+EA,U+EB,U+EE,U+EF,U+F4,U+F6,U+F9,U+FB,U+FC}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff;base64,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) format("woff");unicode-range:U+C0,U+C2,U+C4,U+C8,U+C9,U+CA,U+CB,U+CE,U+CF,U+D4,U+D6,U+D9,U+DB,U+DC,U+E0,U+E2,U+E4,U+E8,U+E9,U+EA,U+EB,U+EE,U+EF,U+F4,U+F6,U+F9,U+FB,U+FC}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:300;font-display:swap;src:url(data:font/woff;base64,d09GRgABAAAAAApsAAoAAAAAGAQABABCAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABaAAAAEsAAABgXsNb7WNtYXAAAAH0AAAAjQAAAMwJ4Qo9Z2x5ZgAAAsAAAAdcAAAUpo1F98FoZWFkAAAA9AAAADYAAAA2KA6NhGhoZWEAAAEsAAAAIwAAACQGzAU1aG10eAAAAbQAAAA/AAAAcDCsAl5sb2NhAAAChAAAADwAAAA8S35Qp21heHAAAAFQAAAAGAAAACAAIgBbbmFtZQAAChwAAAA3AAAAOgPiB69wb3N0AAAKVAAAABUAAAAg/5UAMgABAAAABABCXIfBf18PPPUAAwPoAAAAAN9kdo4AAAAA5xDS+P/a//ICowLnAAIABgACAAAAAAAAeJxjYGRgYJ7z7yEDA1PX/1v/jzMtZn7BsIEBGUgDANB/CQYAeJxjYGRgYJBliGJgYQABRgY0AAAMhQB+eJxjYGH8xqjDwMrAwNTFFPH/M4M3iGawY4xjMGJ4wYAKmJA5fv5+rgyNDAcY/jDP+feQgYHFk1EaKMwIkmNsYioEUgoMzADq9A5eAHicYzzEwMj4j4EXBesyCIAwUxeDBRhnMUTAcfj/WzDMuIGBH46DGcSRMcN3BgkQZuwB8kH4HAMfCAIAokIYJgB4nF2OQQsBARCFP2vzA1iutkgOKBz8Bg5+r6PkoBQXKXGQHJTiIiXqedZemNfMm5m+wwMCIOuOPDOJh4zsNWJvOcZMmDJnyYo1G3bsOXDkzJUbdx68JPNfbsYi5bYpd+KSck9JQw3UB/XUVcdqqa2mGv7UVVXFKicpPhXzX6WfKzQZOHWRPAWiN0BSOAMAAAAAAAAAAH0A+AF4AfcCQwKUAt4DLQOPA/YEWgS3BRkFeAXfBk0GsAb/B1EHqQf3CDwIhwjNCRkJgQnvClN4nK2YfWgcaR3Hn+f3PDsz2Z2X3exmZnczsy+zyWySTbLJvsw079le0qRNX2xqSRNpEWv9w3h3eNY7a42VnifIiQoegiJ4UpTT/64gtByCoH+ccNADRUT/KFS5A/8RvINTjkt8Zvalkza9bNYEMjwzu5t8P8/3+/x+vwQRJCGEd+A+GkOL6BxCXzIr5ZJtO1HbyrFltsTLwHOWw25zJsfxhFPL7A2OrfLsjsvlG685vocccR+y2xTkOE4ByJrhwKqgjRGCtwQgPEewiLuy1uW0qQTO8mrxxexMGIsgRAJEktlrQnzw5+SXlsmxNRWABq4QQvqnUxCOdJHSKTGYMvC9QlLs6h4dlimQynzQMLbtocTyBAGSPJ5W/kkxHemLpi2KA3q6Wy3g74KAI31hHBB4UUeoSf5Hj3z1sMhNy3HskqapXD5/KOTfxgF8mghg4wDMdAR+k+JFQhbZzxlFtEH9wKM+g9YPiTtiVit2uaT2xHKt1aHgp8KyLL+sK5KsdAT/C11SFEmvXx+6Xs/7+cNyfRTy5izRVJX5fijYwVihqBNeDkugDvcS2lniQ7FuIcDk4UguggWEAIUZ/TGW+TyqPMZeUtlduRRrcbtL9goX9Yc6SkjGw4szvFhJz5SjAOwJt8pr4wCxUlovf33PzBIiiilju8yWAPAtXypJQ9cDpquEpg6krJm2Msudt2hH4KuyosiyUjMMX6x26/uVItWTo7vBIejIzvtwE/6CIiiLRhFaNC3LmSXsN6q8TPJuGEaBKeK5FEQ5335h4+zmoCLOf+rZ6fObg2GpdvHZyPrNRFh2NqYv3VBlubK+smu7LryyvvT8WnH9B2vLL6wVk1vXVr7x6epLX1y68ZkjsIUpLFC6AAFwz3Jd07uepgKq7qNqjyPahrg/+U/gx2l71XD3y6hf3axd2HkPbrGs2egphGqPOckTmUljep9osu3sKqdQEYw8pbGhhDoUprS/0FWSlz9fO7qWlY4IiRIhalXPVKOUmv2RQLnn7Oq5q5HX/FsLweKw63KxuP3gzDMTU5vH8Vwh4fmeMbbfuXbty1fwT3yxZK7XGR4whho68X9Q+FPKVj2xTmB+KIddLz7HHNHbYfltM8KSousPHbnPaBY6ZrGsvDUL9VLXCcSAdWaMdEXCYMz0E9IOxmthXcK8QHG3GcE8c2Xnrwymys7iCBpHswhd9qqFg21Vi6agVRw8BDtPHML5S4ZT1nbFyqQ0WevHGVDwOSql0pRqY7peiBMyHueOR/5rcGaKBqJ20ui/p/wZPrvrsBZqQCghH/2tNyOJlIqpIfxOZHuyWgmzO5zu7sZfYCeWEHZi3e7bUP6up3yadaCOtD8WpgMirPpy1AbB99nRZ1+67n63dv8fHsNcBwRRf4QOKF3flZ42xH9ld3gIUnbew7fgBus0Xl1aM5sFU8vbXkcnXKu1M81zIEO+NAus6XuTgRrVYmY1z0aEKkvQJzJZXqiunM93m3GwQhkCITwZTIp9KhFItprUQsF4OH12TTTmpoa7hHS+79RUkO/+MCjE5jB/EovS2BHn6Q1bSsUTYEQJwPbvZnrdD/cPFpzvRE48/1Rh5MTGcK6E8fzmQrEEF+8Avv41dnDuUMQ6gEeDP/Jo5t0KdWAevEdb6BALh3294qBkbFJzm7Jev6JHnJrvxKm8xd7c0xPjOuS514uDSpA/MMmtNwgNkNcBuzVX23kfX4HraIBNNi5DA4K1Z977G8nyqiunqi0Wb3yYhRL/48p0NMgNzqwM5cxAYGRprQinN4NCX0+fneVDkWohUU0QnljHZrAAyyBGQiA6G5X+k3OWkdAKuQQnhcYtPTZ0bGhivSJHQSCpJH4TCL4NAUqa6pY8ddV21WkxrpX/thWu1hO/AuL+CuGbdwHD9S0McJewHLgaT+H/eDs43a7KPVLdttir/pFn/w19S2+WR3Zt7elXD+J4K6ltayzXs9mGvD+8AaSVxvjOB+jvsIVSbF70TpRje+Oh+/e6q5HnnuD0M6oSGhQN0VJJFzWdRFwMDXBBKWSpVKBZZ65V0boGJt+eiWu0i00KBeftdKqxhhfvYtdVlj7PVVfJv/CHTMlgY58+TgvZY9DfR1K0MeO7FeVJovBbj0z52s6/8QvsPCgojYab7kF9noZH5mn/9vxodEYLhWbWxsuzsZB49EJw+ITIBxLF3MiKJHC948+18i87lyYnLzoTl5zZS+XE8tHc6cXhk3P9pxeG4Gl/7mldC8u9q2UQlfdRs0fg9xP1ii/nT5aFf70r3wTJrC7/huU7jRx3jqw7Z+1hne1oMjimO096ejj2/KGj/j76UsFQ+lzv+jzv7IQmiRkplsker/WEYksb32MVugxxSQgGBoO9TcenWpsqzR67nU4lNfZha6Dg/HR64pM/ew5fff0yLTg4JxNCisn7zQDAjTvEDSKQeg/1ePAHHk8NrXROtIcFnYEl/H30IGj4zV3/7mh6da3B1jFZqz51xrPRaKQHQvm920XhNgb0P9DgD1x4nGNgYGBkEGJgZmBk4QSyNBgYGJwYAhgUGJwZ8hmKGHLBZCJDHkMJUMyRIRkIU8G8YgCXRQeWAHicY2BmYPj/DYjnMBgxYAEAYFkDxgAAAA==) format("woff");unicode-range:U+C0,U+C2,U+C4,U+C8,U+C9,U+CA,U+CB,U+CE,U+CF,U+D4,U+D6,U+D9,U+DB,U+DC,U+E0,U+E2,U+E4,U+E8,U+E9,U+EA,U+EB,U+EE,U+EF,U+F4,U+F6,U+F9,U+FB,U+FC}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(data:font/woff;base64,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) format("woff");unicode-range:U+C0,U+C2,U+C4,U+C8,U+C9,U+CA,U+CB,U+CE,U+CF,U+D4,U+D6,U+D9,U+DB,U+DC,U+E0,U+E2,U+E4,U+E8,U+E9,U+EA,U+EB,U+EE,U+EF,U+F4,U+F6,U+F9,U+FB,U+FC}

/* Photos: no drag, no long-press menu, no selection */
img,picture,video{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}

/* 2026-11-05: phone comfort, quick-contact bar on listings, glossary */
.isl2__facts b{white-space:nowrap}
.wa.wa--up{transform:translateY(-72px)}
.gl{border-bottom:1px dotted currentColor;cursor:help;position:relative}
.gl::after{content:attr(data-def);position:absolute;left:0;bottom:calc(100% + 8px);width:max-content;max-width:min(270px,78vw);padding:10px 12px;background:#3B2B22;color:#FDFBF7;font:300 13px/1.45 Jost,'Helvetica Neue',Arial,sans-serif;letter-spacing:0;text-transform:none;white-space:normal;text-align:left;border-radius:4px;z-index:60;box-shadow:0 12px 30px -14px rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .2s;pointer-events:none}
.gl:hover::after,.gl:focus::after,.gl.is-on::after{opacity:1;visibility:visible}
#mbar{display:none}
@media (max-width:820px){
  body{overflow-x:clip}
  #mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;align-items:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(253,251,247,.97);box-shadow:0 -1px 0 #E8DFD2,0 -12px 30px -20px rgba(59,43,34,.4)}
  #mbar .mbar__p{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
  #mbar .mbar__v{font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1.05;color:#3B2B22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #mbar [data-thb]{font-family:Jost,sans-serif;font-size:12px;line-height:1.2;color:#806A5B;white-space:nowrap}
  #mbar .mbar__wa{flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:#3B2B22;color:#FDFBF7;display:grid;place-items:center}
  #mbar .mbar__b{flex:0 0 auto;height:46px;padding:0 16px;border-radius:999px;border:1px solid #3B2B22;color:#3B2B22;background:transparent;display:inline-flex;align-items:center;gap:8px;font-family:'Tenor Sans',Jost,sans-serif;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}
  #mbar .mbar__b svg{width:16px;height:16px}
  body:has(#mbar) .wa{display:none}
  body:has(#mbar){padding-bottom:76px}
  .hdr__burger{min-width:44px;min-height:44px}
  .hdr__cta{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .lang-dd__btn{min-height:44px;min-width:44px;justify-content:center}
  input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{font-size:16px!important}
  .hero__fade{animation-delay:.15s!important;animation-duration:.6s!important}
  [data-cursw] button,a[href^="guide.html#own"]{position:relative}
  [data-cursw] button::after,a[href^="guide.html#own"]::after{content:"";position:absolute;inset:-11px -4px}
}
@media (max-width:760px){
  .std{display:flex;flex-direction:column}
  .std>.hdr-sp{order:-3}
  .std>.track{order:-2}
  .std>.prog{order:-1}
}
.wa.wa--off{opacity:0!important;pointer-events:none!important;transform:scale(.85)!important;transition:opacity .25s,transform .25s}

@media (max-width:760px){body:has(main[id^="sel-"]) .wa{display:none!important}}
