/* Homepage art direction: ivory paper, deep mulberry, restrained rose. */
.locations-home{--bg:#faf6f1;--paper:#fffdf9;--ink:#391f2b;--accent:#943e5b;--accent-deep:#f5a5a4;--muted:#69515b;--line:#d8bec8;background:var(--bg)}
.locations-home .site-header-stack{position:sticky;top:0;z-index:20}
.locations-home .site-header-stack .header{position:relative;top:auto;z-index:1;background:#fffdf9ed;border-bottom-color:#e6d9da}
.locations-home .site-header-stack .header.is-scrolled{background:#fffdf9f5}
.locations-home .mobile-lang-switch{display:none}
.locations-home .brand,.locations-home .footer-brand{position:relative}
.locations-home .brand img,.locations-home .footer-brand img{opacity:0}
.locations-home .brand::after,.locations-home .footer-brand::after{content:"";position:absolute;inset:0;background:#f5a5a4;-webkit-mask:url('../photos/logo.png') center/contain no-repeat;mask:url('../photos/logo.png') center/contain no-repeat;pointer-events:none}
.opening-banner{display:flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:9px 5%;background:#391f2b;color:#fff7ef;border-bottom:2px solid #f5a5a4;text-align:center;font:12px/1.4 Open,Arial,sans-serif}
.opening-banner-label{font-size:9px;font-weight:800;letter-spacing:.16em;color:#f5a5a4;white-space:nowrap}
.opening-banner strong{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:650}
.opening-banner time{display:inline-block;flex:none;padding:5px 10px;background:#f5a5a4;color:#391f2b;border-radius:3px;font-weight:800;letter-spacing:.05em;white-space:nowrap}
.opening-banner a{color:#fff7ef;font-weight:700;text-decoration:underline;text-decoration-color:#f5a5a4;text-decoration-thickness:2px;text-underline-offset:4px;white-space:nowrap}
.opening-banner a:hover{color:#f5a5a4}
.locations-home .home-welcome{max-width:1600px;padding-inline:5%}
.locations-home .home-hero{grid-template-columns:1.05fr 1fr;gap:7%;padding:54px 0 64px;min-height:620px}
.locations-home .home-hero h1{font-size:clamp(54px,6.3vw,96px);color:var(--ink);line-height:1.03;letter-spacing:-.045em}
.locations-home .home-hero h1 em{color:var(--accent-deep);font-size:1.21em}
.locations-home .home-hero h1 .hero-word{display:inline-block;white-space:nowrap}
.locations-home .home-hero h1 .hero-letter{display:inline-block}
.locations-home .signature-eyebrow{font-size:10px;letter-spacing:.16em;color:var(--accent-deep)}
.locations-home .home-hero p:not(.signature-eyebrow){font-size:16px;color:var(--muted);max-width:39ch}
.locations-home .button,.locations-home .nav-visit{background:var(--accent-deep);border-radius:3px;box-shadow:none;padding:15px 24px}
.locations-home .button::after{content:'↗';font-size:19px;margin-left:14px}
.locations-home .button:hover,.locations-home .nav-visit:hover{background:#923955;box-shadow:0 8px 20px #f5a5a420}
.locations-home .signature-composition{padding-left:22px;padding-bottom:28px}
.locations-home .signature-composition::before{content:'';position:absolute;inset:25px -14px 10px 50px;border:1px solid var(--accent);pointer-events:none}
.locations-home .signature-composition .home-hero-image{border-radius:180px 3px 3px 3px}
.locations-home .signature-composition .home-hero-image img{height:clamp(410px,39vw,540px);filter:contrast(1.07) saturate(1.06)}
.locations-home .signature-detail{left:-28px;bottom:0;width:32%;padding:8px 8px 0;transform:rotate(-7deg);background:#fffdf9;box-shadow:0 15px 30px #391f2b25}
.locations-home .signature-stamp{background:var(--accent-deep);color:#fff3ea;outline:5px solid var(--bg);border-color:#b98c9c;right:-8px;top:32px}
.locations-home .signature-image-note{color:var(--accent-deep);font-size:8px;bottom:2px}
.locations-home .signature-ribbon{background:var(--accent-deep);color:#fff7ef;margin:4px 0 70px;padding:0 20px;border:0}
.locations-home .signature-ribbon-group{font-size:30px;padding-block:19px}
.locations-home .signature-ribbon-group i{color:#dcb4c1}
.locations-home .signature-motion-toggle{color:#fff7ef;border-color:#dcb4c170}
.locations-home .signature-motion-toggle:hover{background:#ffffff15}
.locations-home .home-locations{padding-bottom:82px}
.locations-home .locations-head{grid-template-columns:1fr 1.1fr;gap:5%;margin-bottom:32px}
.locations-home .locations-head-title h2{font-size:clamp(48px,5.9vw,84px);color:var(--ink)}
.locations-home .locations-script{font-size:44px;color:var(--accent)}
.locations-home .locations-head-copy>p{max-width:46ch;font-size:15px}
.locations-home .location-tabs{border-top:0;gap:8px;padding:0;overflow:visible}
.locations-home .location-tabs a{display:inline-flex;align-items:center;padding:12px 15px;border:1px solid var(--line);border-radius:3px;font:14px Open,Arial,sans-serif;min-height:44px;color:var(--ink);gap:5px;white-space:nowrap;transition:border-color .2s,background .2s}
.locations-home .location-tabs a em{font-style:normal;font-size:10px;letter-spacing:.12em;color:var(--accent)}
.locations-home .location-tabs a:hover{border-color:var(--accent-deep);background:var(--paper)}
.locations-home .location-tabs .loc-new{font-size:8px;padding:3px 5px;margin-left:1px;letter-spacing:.05em}
.locations-home #tab-pierrefonds .loc-new,.locations-home #card-pierrefonds .loc-new{background:#f5a5a4;color:#391f2b;box-shadow:0 0 0 2px #fffdf9,0 0 0 4px #f5a5a470}
.locations-home #tab-pierrefonds .loc-new::before,.locations-home #card-pierrefonds .loc-new::before{content:'✦';margin-right:4px}
.locations-home .location-cards{gap:24px}
.locations-home .location-card{background:var(--paper);border:1px solid #e4d7d9;cursor:pointer}
.locations-home .location-card-photo{margin:0;border-radius:0}
.locations-home .location-card:nth-child(n) .location-card-photo img{height:260px;filter:contrast(1.05)}
.locations-home .location-card-body{padding:24px}
.locations-home .location-card-title h3{font-size:clamp(26px,2.5vw,37px)}
.locations-home .location-card-kicker{font-weight:600;color:var(--accent-deep)}
.locations-home .location-card-go{width:34px;height:34px;background:var(--accent-deep);color:#fff8f2;border:0}
.locations-home .location-card-actions a{color:var(--accent-deep);text-decoration:none;font-weight:600}
.locations-home .location-card-actions a::after{content:' ↗'}
.locations-home .location-card-actions{padding-top:18px}
.locations-home .location-cards.is-filtered .location-card-photo{margin:0}
.locations-home .location-cards.is-filtered .location-card-body{padding:32px}
.locations-home .section{padding:90px 5%;max-width:1600px}
.locations-home .our-story{background:#e6ccd3;border:0;margin-top:0}
.locations-home .story-intro{padding:0;gap:8%;margin-bottom:50px}
.locations-home .story-intro h2{font-size:clamp(40px,4.8vw,68px);line-height:1.07}
.locations-home .story-intro p{color:#52313e;font-size:16px}
.locations-home .story-visual{height:470px;transform:none;gap:16px}
.locations-home .story-visual-main{border-radius:150px 150px 0 0}
.locations-home .story-visual img{filter:contrast(1.05)}
.locations-home .story-values{padding:0;gap:40px}
.locations-home .story-values article{border-top-color:#b98497}
.locations-home .story-values article>span{color:var(--accent-deep);font-size:36px}
.locations-home .story-values h3{font-size:29px;margin-top:10px}
.locations-home .story-values p{color:#52313e;font-size:14px;line-height:1.8}
.locations-home .section-number{display:block;color:var(--accent-deep);font-size:11px;letter-spacing:.17em;font-weight:600;margin-bottom:22px;text-transform:uppercase}
.locations-home #gallery .section-heading{max-width:none;display:grid;grid-template-columns:1.3fr 1fr;gap:0 8%;align-items:end;margin-bottom:40px}
.locations-home #gallery .section-number{grid-column:1/-1}
.locations-home #gallery h2{font-size:clamp(42px,5vw,70px);line-height:1.06;grid-column:1;margin:0}
.locations-home #gallery .section-heading p{grid-column:2;font-size:15px;line-height:1.8;margin:0}
.locations-home .gallery{gap:28px 24px}
.locations-home .gallery figure:nth-child(even){padding-top:30px}
.locations-home .gallery img{filter:contrast(1.06);border-radius:3px}
.locations-home .gallery figcaption{font-size:13px;color:var(--ink)}
.locations-home .find-us{background:#f0e4e5;border-top:1px solid var(--line)}
.locations-home .find-us .section-heading h2{font-size:clamp(40px,4.5vw,62px);max-width:18ch}
.locations-home .find-us-card{border-radius:3px;background:var(--paper);border-color:#d8bec8}
.locations-home .find-us-card figcaption{padding:24px}
.locations-home .find-us-card figcaption strong{font:28px Stanley,Georgia,serif;color:var(--ink)}
.locations-home .home-closing{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:55px 5%;max-width:1600px;margin:auto;background:var(--paper);border-top:1px solid var(--line)}
.locations-home .home-closing h2{font-size:clamp(34px,4vw,58px);max-width:20ch;margin:0;line-height:1.1}
.locations-home .home-closing .button{flex:none}
.locations-home>footer{background:#eedce2;padding:50px 5% 30px;border-top:1px solid var(--line)}
.locations-home .footer-locations{border-top:1px solid #c9a7b4;padding-top:28px}
.locations-home .footer-locations>a{font:25px Stanley,Georgia,serif}
.locations-home .footer-locations small{font:12px/1.7 Open,Arial,sans-serif;color:#5a3b48}
.locations-home .home-float-toggle{background:var(--accent-deep);border-radius:4px}
@media(prefers-reduced-motion:no-preference){
 .opening-banner strong{animation:opening-line-beat 4.5s ease-in-out infinite;transform-origin:center}
 .opening-banner time{animation:opening-date-glow 4.5s ease-in-out infinite}
 .locations-home .home-hero h1 .hero-letter{animation:hero-letter-splash .85s cubic-bezier(.16,.8,.25,1) both;animation-delay:var(--letter-delay)}
 .locations-home #tab-pierrefonds .loc-new,.locations-home #card-pierrefonds .loc-new{animation:new-badge-glow 2.4s ease-in-out infinite}
}
@keyframes opening-line-beat{0%,32%,100%{transform:scale(1);text-shadow:none}8%{transform:scale(1.045);text-shadow:0 0 14px #f5a5a488}16%{transform:scale(1)}24%{transform:scale(1.025)}}
@keyframes opening-date-glow{0%,32%,100%{box-shadow:none}8%,24%{box-shadow:0 0 0 3px #f5a5a444,0 0 22px #f5a5a4}}
@keyframes hero-letter-splash{0%{opacity:0;transform:translateY(16px) scale(.84);filter:blur(6px)}45%{opacity:1;filter:blur(0) brightness(1.8);text-shadow:0 0 12px #fff,0 0 24px #f5a5a4}100%{opacity:1;transform:none;filter:none;text-shadow:none}}
@keyframes new-badge-glow{50%{transform:scale(1.08);box-shadow:0 0 0 2px #fffdf9,0 0 0 8px #f5a5a440}}
@media(max-width:1000px){
 .locations-home .home-hero{min-height:0;gap:5%;padding-block:40px 50px}
 .locations-home .home-hero h1{font-size:clamp(46px,6.2vw,72px)}
 .locations-home .signature-composition .home-hero-image img{height:440px}
 .locations-home .locations-head{grid-template-columns:1fr;gap:22px}
 .locations-home .location-card:nth-child(n) .location-card-photo img{height:100%;min-height:270px}
 .locations-home .location-card-body{padding:24px}
}
@media(max-width:760px){
 html{scroll-padding-top:190px}
 .locations-home .header{gap:8px}
 .locations-home .brand{margin-right:auto}
 .locations-home .brand img{max-width:min(170px,42vw)}
 .locations-home .mobile-lang-switch{display:inline-flex;order:1;margin:0}
 .locations-home .mobile-lang-switch .lang-btn{min-width:32px;padding:7px 8px}
 .locations-home .menu-toggle{order:2;padding:8px 10px}
 .locations-home .header nav .lang-switch{display:none}
 .opening-banner{gap:6px 10px;flex-wrap:wrap;padding:8px 5%;font-size:11px}
 .opening-banner-label{font-size:8px}
 .opening-banner strong{justify-content:center;flex-wrap:wrap;gap:6px;font-size:12px}
 .opening-banner time{padding:3px 7px}
 .opening-banner a{white-space:normal}
 .locations-home .home-welcome{padding-inline:6%}
 .locations-home .home-hero{grid-template-columns:1fr;gap:30px;padding:30px 0 36px}
 .locations-home .home-hero h1{font-size:clamp(43px,11vw,65px);margin-bottom:20px}
 .locations-home .signature-eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:20px}
 .locations-home .home-hero p:not(.signature-eyebrow){font-size:14px;line-height:1.8}
 .locations-home .signature-composition{padding-left:24px;padding-bottom:25px}
 .locations-home .signature-composition .home-hero-image{border-radius:110px 3px 3px 3px}
 .locations-home .signature-composition .home-hero-image img{height:340px}
 .locations-home .signature-composition::before{right:-7px;left:45px;top:17px}
 .locations-home .signature-detail{left:0;width:32%}
 .locations-home .signature-stamp{right:-3px;top:24px}
 .locations-home .signature-ribbon{margin:0 0 42px;padding-inline:12px}
 .locations-home .signature-ribbon-group{font-size:26px;padding-block:17px}
 .locations-home .locations-head-title h2{font-size:48px}
 .locations-home .locations-script{font-size:38px}
 .locations-home .location-tabs{gap:7px}
 .locations-home .location-tabs a{font-size:12px;padding:10px 11px}
 .locations-home .location-card:nth-child(n) .location-card-photo img{height:240px;min-height:0}
 .locations-home .location-card-title h3{font-size:31px}
 .locations-home .location-card-body,.locations-home .location-cards.is-filtered .location-card-body{padding:22px}
 .locations-home .home-locations{padding-bottom:48px}
 .locations-home .section{padding:55px 6%}
 .locations-home .story-intro h2{font-size:42px}
 .locations-home .story-intro p{font-size:14px}
 .locations-home .story-visual{height:330px}
 .locations-home .story-values{gap:24px}
 .locations-home #gallery .section-heading{display:block;margin-bottom:28px}
 .locations-home #gallery h2{font-size:44px;margin-bottom:20px}
 .locations-home #gallery .section-heading p{font-size:14px}
 .locations-home .gallery{gap:20px 14px}
 .locations-home .gallery figure:nth-child(even){padding-top:22px}
 .locations-home .gallery figcaption{font-size:11px}
 .locations-home .home-closing{padding:40px 6%;flex-direction:column;align-items:flex-start;gap:25px}
 .locations-home .home-closing h2{font-size:38px}
 .locations-home>footer{padding:40px 6% 85px}
}
