
:root{--ink:#111111;--cream:#f3f1ed;--paper:#fcfbf8;--gold:#c98b2b;--wood:#76501f;--line:rgba(17,17,17,.14)}.top,.inner .nav,footer{background:#000}.official-logo{width:200px!important;height:82px!important;object-fit:cover!important;object-position:center 50%!important;background:#000!important;padding:0!important}.brand{background:#000}.nav{background:#000}.nav .wrap{min-height:94px}.nav a:hover{color:#c98b2b}.btn.gold{background:#c98b2b;color:#111}.eyebrow{color:#946019}.hero .eyebrow,footer .eyebrow,.sold-next .eyebrow{color:#e2ac52}.filter.active{background:#111;color:#fff;border-color:#111}.sold-badge{background:#b51f25;color:#fff;display:inline-block;padding:5px 12px;border-radius:4px;font:700 .8rem var(--sans);letter-spacing:.08em}.sold-detail-intro{padding:48px 0 72px}.archive-back{font-size:.88rem;text-decoration:underline;text-underline-offset:4px}.sold-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:36px}.sold-detail-heading h1{font:clamp(2.4rem,5vw,4.5rem)/1.1 var(--serif);margin:10px 0 18px}.sold-status{color:#655d53;max-width:750px;margin-bottom:32px}.sold-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.sold-gallery img{background:#f3f1ed;max-height:600px;width:100%;object-fit:contain;border:1px solid var(--line)}.sold-gallery img:first-child{grid-column:1/-1}.sold-details{margin:42px auto 0;max-width:850px}.sold-details h2{font:2rem var(--serif)}.sold-details p{margin:0 0 18px}.sold-details img{max-width:100%}.sold-next{background:#111;color:white;padding:60px 0}.sold-next .wrap{display:flex;gap:40px;justify-content:space-between;align-items:center}.sold-next h2{font:2.5rem/1.1 var(--serif);margin:12px 0}.sold-next p{max-width:650px;color:#dedbd5}.sold-next .actions{flex-shrink:0;max-width:300px}.sold-next .btn.outline{color:#fff}@media(max-width:760px){.official-logo{width:155px!important;height:64px!important}.nav .wrap{min-height:82px}.sold-detail-heading{align-items:flex-start}.sold-next .wrap{display:block}.sold-next .actions{max-width:none;margin-top:25px}.sold-gallery{grid-template-columns:1fr}.sold-detail-intro{padding-top:32px}}

.brand{flex-shrink:0}.logo-window{display:block;position:relative;width:200px;aspect-ratio:2048/800;overflow:hidden;background:#000;flex-shrink:0}.logo-window .official-logo{position:absolute!important;left:0!important;top:-71.875%!important;width:100%!important;height:auto!important;max-width:none!important;object-fit:initial!important;object-position:initial!important;border-radius:0!important;filter:none!important;transform:none!important;padding:0!important;margin:0!important}footer .logo-window{width:240px}@media(max-width:760px){.logo-window{width:155px}footer .logo-window{width:220px}.logo-window .official-logo{width:100%!important;height:auto!important}}

.service-hero{padding:60px 0 70px}.service-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.service-hero h1{font:clamp(2.8rem,5vw,4.8rem)/1.05 var(--serif);margin:18px 0 24px}.service-hero p{font-size:1.2rem;color:#655d53;margin-bottom:30px}.service-hero img{width:100%;height:430px;object-fit:cover}.service-highlights{background:var(--cream);padding:48px 0}.service-highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-highlight-grid h2{font:1.8rem var(--serif);margin:0 0 12px}.service-highlight-grid p{color:#655d53}.service-copy{padding:70px 0}.service-copy .et_pb_text_inner{margin-bottom:36px}.service-copy h2{font:2.4rem var(--serif)}.service-request{background:var(--cream);padding:65px 0;scroll-margin-top:24px}.service-request h2{font:2.8rem var(--serif);margin:12px 0 20px}.service-form{max-width:780px}.service-form label{display:block;font-weight:600}.service-form input:not([type=checkbox]):not([type=radio]),.service-form textarea{width:100%;padding:12px;border:1px solid #bdb7ab;background:white;font:inherit}.service-form .wpforms-field{margin:22px 0}.service-form ul{list-style:none;padding:0}.service-form li label{display:inline;font-weight:400}.service-form button{background:#111;color:white;border:0;padding:14px 24px;font:600 1rem var(--sans);cursor:pointer}.form-preview-note{max-width:780px;color:#655d53;border-left:3px solid var(--gold);padding-left:18px}@media(max-width:760px){.service-hero-grid,.service-highlight-grid{grid-template-columns:1fr;gap:30px}.service-hero{padding:38px 0}.service-hero img{height:300px}.service-copy{padding:45px 0}}
.archive-photo-unavailable{display:flex;align-items:center;justify-content:center;min-height:180px;background:#eeeae2;color:#655d53;font-size:.9rem;padding:24px;text-align:center}.hero:before{background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.68) 42%,rgba(0,0,0,.15) 78%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 60%),url("/assets/accueil-yamaha-lumiere-chaude.png") center/cover no-repeat}
/* Restore the original navigation: transparent over home hero, dark on interior pages. */
.nav{background:transparent}.inner .nav{background:#171410}.nav .brand,.nav .logo-window{background:transparent}.nav .logo-window .official-logo{mix-blend-mode:screen}

.hero:before{background-size:cover;background-position:center;transform:none}

.hero-facts .google-stars{display:flex;gap:3px;align-items:center;color:var(--gold);min-height:49.6px}.google-stars svg{width:22px;height:22px;flex-shrink:0}

.hero-facts strong,.hero-facts .google-stars{height:50px;min-height:50px;display:flex;align-items:center;line-height:1;margin:0}.hero-facts span{display:block;margin-top:0}

.brand-window{overflow:hidden}.brand-track{display:flex;width:max-content;overflow:visible;gap:0;scroll-snap-type:none;padding:20px 0;animation:brands-flow 38s linear infinite}.brand-group{display:flex;gap:28px;padding-right:28px}.brand-group .piano-brand{flex:0 0 220px;width:220px;min-width:220px}.brand-window:hover .brand-track,.brand-window:focus-within .brand-track{animation-play-state:paused}.brand-track::-webkit-scrollbar{display:none}.brand-track{scrollbar-width:none}.brand-top button{display:none}@keyframes brands-flow{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.brand-track{animation:none;width:100%}.brand-group{flex-wrap:wrap;justify-content:center;padding-right:0}.brand-group[aria-hidden]{display:none}.brand-group .piano-brand{flex:1 0 140px;min-width:140px;width:140px}}

.brand-track{width:max-content;max-width:none;gap:0;animation:brands-flow 38s linear infinite;will-change:transform}.brand-group{flex:0 0 auto;gap:28px;padding:0 28px 0 0;min-width:1736px}.brand-group .piano-brand{flex:0 0 220px;min-width:220px;width:220px}.brand-group .piano-brand img{display:block;width:220px;height:100px;object-fit:contain}@media(prefers-reduced-motion:reduce){.brand-track{animation:none;width:100%;max-width:100%}.brand-group{min-width:0;flex:1 1 auto;padding:0}.brand-group .piano-brand{flex:1 0 140px;min-width:140px}}

.legacy-modern-heading{padding:60px 0 75px}.legacy-modern-heading h1{font:clamp(2.6rem,5vw,4.5rem)/1.1 var(--serif);max-width:1000px;margin:16px 0 40px}.legacy-modern-copy{margin:40px auto 0}.legacy-modern-copy>div{margin-bottom:32px}.legacy-modern-copy h2{font:2.2rem var(--serif);margin:30px 0 18px}.legacy-modern-copy img{max-width:100%;height:auto}.legacy-modern-gallery{max-width:1000px;margin:auto}.legacy-modern-gallery img{width:100%;max-height:600px;object-fit:contain;background:var(--cream)}.legacy-modern-cta{background:var(--cream);padding:55px 0}.legacy-modern-cta h2{font:2.5rem var(--serif)}.service-form{max-width:none;background:white;padding:32px;border:1px solid var(--line)}.service-form .wpforms-field-container{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-form .wpforms-field{margin:0}.service-form .wpforms-field-textarea,.service-form .wpforms-field-address{grid-column:1/-1}.service-form fieldset{border:0;margin:0;padding:0}.service-form legend{font-weight:600;margin-bottom:10px}.service-form ul{display:flex;gap:24px;margin:0}.service-form input{border-radius:0}.service-form textarea{resize:vertical}.service-form .wpforms-submit-container{margin-top:26px}@media(max-width:700px){.service-form{padding:22px}.service-form .wpforms-field-container{grid-template-columns:1fr}.legacy-modern-heading{padding:38px 0 50px}}

body[data-transparent-logo] .nav .brand,body[data-transparent-logo] .nav .logo-window{background:transparent!important}body[data-transparent-logo] .nav .logo-window .official-logo{background:transparent!important;filter:none!important;mix-blend-mode:screen!important}

.seo-editorial{padding:65px 0;background:var(--paper)}.seo-editorial-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:60px}.seo-editorial h2{font:2.2rem/1.15 var(--serif)}.seo-editorial p{color:#655d53}.seo-editorial a{text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.seo-editorial-grid{grid-template-columns:1fr;gap:30px}}

.content-guide{padding:64px 0;background:#f6f4ef;color:#24211e}.content-guide .container{max-width:1160px;margin:auto;padding:0 24px}.content-guide h2{font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.2;margin:0 0 32px}.content-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px}.content-guide h3{font-size:1.2rem;line-height:1.4;margin:0 0 12px}.content-guide p{font-size:1rem;line-height:1.75;margin:0}.content-guide-links{margin-top:28px!important}.content-guide a{color:#70521d;text-decoration:underline}@media(max-width:700px){.content-guide-grid{grid-template-columns:1fr}.content-guide{padding:40px 0}}

/* Mobile submenu: distinct full-width touch targets on every page. */
.mobile-panel .mobile-submenu{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:8px 0 16px;padding-left:16px;border-left:2px solid #b68a39}
.mobile-panel .mobile-submenu a{display:flex;align-items:center;box-sizing:border-box;width:100%;min-height:48px;padding:10px 12px;line-height:1.4;white-space:normal;margin:0}
.mobile-panel.open{max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}

/* Sold photo corner, kept separate from the original photograph. */
.sold-picture,.sold-mosaic-tile{position:relative;overflow:hidden;isolation:isolate}
.sold-picture::before,.sold-mosaic-tile::before{content:"";position:absolute;z-index:2;top:0;right:0;width:112px;height:112px;background:rgba(190,25,32,.78);clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none}
.sold-picture .sold-badge{position:absolute;z-index:3;top:28px;right:-7px;left:auto;width:112px;padding:0;background:transparent;border-radius:0;color:#fff;text-align:center;font:700 14px/24px var(--sans);letter-spacing:.09em;text-transform:uppercase;transform:rotate(45deg);pointer-events:none}
.sold-mosaic-tile::after{content:"VENDU";position:absolute;z-index:3;top:28px;right:-7px;width:112px;color:#fff;text-align:center;font:700 14px/24px var(--sans);letter-spacing:.09em;transform:rotate(45deg);pointer-events:none}
.sold-mosaic-label small{display:none}

.messenger-launcher{position:fixed;bottom:22px;right:22px;z-index:90;display:flex;align-items:center;gap:10px;background:#171410;color:#fff;padding:15px 21px;border-radius:40px;font:600 16px/1.4 var(--sans);text-decoration:none;box-shadow:0 5px 22px #0003}.messenger-launcher:hover{background:#30271a}.messenger-launcher:focus-visible{outline:3px solid #b68a39;outline-offset:4px}.messenger-launcher svg{flex-shrink:0}@media(max-width:600px){.messenger-launcher{right:14px;bottom:14px;padding:13px 17px;font-size:14px}}

/* Secondary resources remain grouped and readable across viewport sizes. */
footer .footer-grid{grid-template-columns:minmax(200px,1.3fr) repeat(4,minmax(0,1fr));gap:28px}footer .footer-links a{overflow-wrap:anywhere}footer .footer-links{gap:10px;font-size:.95rem}@media(max-width:1100px){footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}footer .footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:620px){footer .footer-grid{grid-template-columns:1fr;gap:30px}footer .footer-links a{padding:3px 0}}

.contact-request{display:grid;gap:12px}.contact-request input,.contact-request textarea{width:100%;min-width:0;padding:14px;border:1px solid #b8b1a6;background:white;color:#171410;font:inherit}.contact-request label{font-weight:600}.contact-request .btn{justify-self:start}

/* Dedicated contact group in the shared footer. */
@media(min-width:1101px){footer .footer-grid{grid-template-columns:minmax(200px,1.2fr) repeat(5,minmax(0,1fr));gap:24px}}

/* Keep Google rating visible in the mobile hero. */
@media(max-width:620px){.hero-facts>div:last-child{display:block;grid-column:1/-1;padding-top:16px}.hero-facts>div:last-child .google-stars{height:38px;min-height:38px}.hero-facts>div:last-child>span{display:block;margin-top:0;font-size:.9rem}}

#coordonnees{scroll-margin-top:20px}#coordonnees:focus{outline:none}

/* Reserve the footer logo width and constrain it to its own column. */
footer .footer-grid>div{min-width:0}footer .brand{width:100%;max-width:100%;min-width:0;margin-right:0}footer .logo-window{width:min(240px,100%);max-width:100%;flex-shrink:1}footer .footer-title{overflow-wrap:anywhere}@media(min-width:1101px){footer .footer-grid{grid-template-columns:240px repeat(5,minmax(0,1fr));gap:20px}}@media(max-width:760px){footer .logo-window{width:min(220px,100%)}}

.contact-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.contact-card{min-width:0}.contact-card .btn{white-space:normal;text-align:center}#formulaire-transport{scroll-margin-top:24px}.financing{padding:48px 0;background:#111;color:#fff}.financing-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:center}.financing-grid img{width:100%;height:auto;display:block}.financing h2{font:clamp(1.8rem,3vw,2.8rem)/1.15 var(--serif);margin:0 0 18px}.financing p{max-width:700px}.financing .finance-conditions{font-size:.9rem;color:#ddd}.financing-home .wrap{max-width:1180px}@media(max-width:1000px){.contact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.contact-cards,.financing-grid{grid-template-columns:1fr}.financing-grid{gap:28px}.financing-grid img{max-width:240px}.financing{padding:36px 0}}

/* Contact actions on the light storage section */
.service-request .btn.outline{color:#17130f;border-color:#17130f;background:transparent}.service-request .btn.outline:hover{color:#fff;background:#17130f}#formulaire-contact{scroll-margin-top:24px}

#histoire .family-photo{min-width:0;align-self:center}#histoire .family-photo img{display:block;width:100%;height:auto;max-width:100%}

/* Financing: showroom photograph and gold brand surface. */
.financing.financing-photo{background:#bd995b;color:#17130f;padding:64px 0}.financing-photo .financing-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,88px);max-width:1100px}.financing-showroom{margin:0;max-width:390px}.financing-photo .financing-showroom img{width:100%;max-width:none;height:auto;display:block}.financing-copy{min-width:0}.financing-photo .eyebrow{color:#332414}.financing-rate{font-family:var(--serif);font-size:clamp(5rem,10vw,8rem);line-height:1;letter-spacing:-.06em;margin:12px 0 24px}.financing-rate span{font-size:.55em;letter-spacing:-.04em}.financing-photo h2{max-width:650px}.financing-photo p{font-size:1.05rem;line-height:1.65}.financing-photo .finance-conditions{color:#332414;font-size:.9rem;margin:20px 0 28px}.financing-photo .btn{background:#17130f;color:#fff;border-color:#17130f;white-space:normal;text-align:center}.financing-photo .btn:hover{background:#332414;border-color:#332414}@media(max-width:620px){.financing.financing-photo{padding:40px 0}.financing-photo .financing-grid{grid-template-columns:1fr;gap:30px}.financing-showroom{max-width:290px;width:100%;margin:auto}.financing-rate{font-size:5.5rem;margin:12px 0 18px}.financing-photo h2 br{display:none}.financing-photo .btn{width:100%}}

.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-send-status{white-space:normal;overflow-wrap:anywhere;margin-top:24px;font-size:1rem;line-height:1.6}.form-send-status:empty{display:none}button:disabled{opacity:.65;cursor:wait}

/* Give the footer brand room and distinguish its slogan from navigation. */
footer .footer-grid>div:first-child{min-width:0}footer .footer-grid>div:first-child .brand{display:inline-flex;max-width:100%}footer .footer-grid>div:first-child .logo-window{width:240px;max-width:100%}footer .footer-grid>div:first-child>p{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:.875rem;line-height:1.65;letter-spacing:.015em;color:#c6b594;margin:20px 0 0;max-width:260px}@media(min-width:1101px){footer .footer-grid{grid-template-columns:minmax(280px,1.65fr) repeat(5,minmax(0,1fr));gap:32px}}@media(max-width:760px){footer .footer-grid>div:first-child .logo-window{width:220px}}

footer .footer-grid>div:first-child>p{text-align:center;width:240px;max-width:100%}@media(max-width:760px){footer .footer-grid>div:first-child>p{width:220px}}

/* Contact: do not inherit the homepage's full-width visit padding. */
#rendez-vous .visit-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px}#rendez-vous .visit-copy{padding:0;min-width:0}#rendez-vous .visit-copy h2{font-size:clamp(2rem,3.5vw,2.7rem);line-height:1.15}#rendez-vous .visit-visual{min-width:0}@media(max-width:850px){#rendez-vous .visit-grid{grid-template-columns:1fr;gap:32px}}

/* Address suggestions remain within the transport form on narrow screens. */
.address-autocomplete{position:relative;min-width:0}
.address-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #b5ad9f;box-shadow:0 8px 22px #0002;z-index:30;max-height:350px;overflow:auto}
.address-results[hidden]{display:none}
.address-results [role=option]{padding:12px 14px;min-height:44px;cursor:pointer;font:16px/1.4 var(--sans,system-ui);overflow-wrap:anywhere;border-bottom:1px solid #eee;color:#171410}
.address-results [role=option]:hover,.address-results [aria-selected=true]{background:#f3eee5}
.address-attribution{padding:8px 14px;text-align:right;color:#5e5e5e;font:400 14px/1.4 sans-serif;letter-spacing:normal;white-space:nowrap}
.address-note:empty{display:none}

/* Montage validé : mise à l’échelle proportionnelle. */
.hero:before{background-size:cover;background-position:center;background-color:#17130f}
.form-field-error{color:#a52222;font-size:.95rem;margin:8px 0 0}.form-field [aria-invalid="true"]{outline:2px solid #a52222;outline-offset:2px}

/* Mobile navigation stays available while scrolling, with a usable dropdown. */
@media(max-width:900px){
  :root{--mobile-nav-height:94px}
  html{scroll-padding-top:calc(var(--mobile-nav-height) + 16px)}
  body>.nav,body.inner>.nav{position:sticky!important;top:0;z-index:1000;background:#171410;isolation:isolate}
  .nav>.wrap{height:var(--mobile-nav-height);min-height:var(--mobile-nav-height)}
  .nav .mobile-panel.open{top:100%;left:14px;right:14px;max-height:calc(100dvh - var(--mobile-nav-height) - 20px);margin-top:0;overflow-y:auto;overscroll-behavior:contain}
  .hero-content{padding-top:92px}
}
@media(max-width:760px){:root{--mobile-nav-height:82px}}
@media(max-width:620px){
  .hero-content{padding-top:68px}
  body .hero h1.hero-title-two-lines{font-size:clamp(2rem,11.5vw,4.25rem);line-height:1.02;letter-spacing:-.035em}
  .hero h1.hero-title-two-lines span{display:block;white-space:nowrap}
}

/* On portrait screens, frame the Yamaha instead of the room's door.
   Only the photo layer moves; image proportions and piano pixels stay intact. */
@media(max-width:900px){body .hero:before{background-position:center,center,65% center}}
@media(max-width:620px){body .hero:before{background-position:center,center,69% center}}

.footer-language-switch a{display:inline-block;padding:5px 3px;text-decoration:none}.footer-language-switch a[aria-current="page"]{color:#e2ac52;font-weight:600}.footer-language-switch a:hover{text-decoration:underline}.footer-language-switch a:focus-visible{outline:2px solid #e2ac52;outline-offset:3px}

/* Shared closing invitation: consistent contrast and responsive spacing on every route. */
section.visit{padding:0;background:#11110f;color:#fff}section.visit .visit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}section.visit .visit-copy{padding:72px max(28px,calc((100vw - 1180px)/2));padding-right:52px}section.visit .visit-info{background:#6d4730;padding:72px 52px;min-width:0}section.visit h2{font-family:var(--serif);font-size:clamp(2.5rem,4vw,4.7rem);line-height:1.05;font-weight:400;color:#fff;margin:12px 0 24px}section.visit p{color:#c7bcaf}section.visit .actions{display:flex;gap:12px;flex-wrap:wrap}section.visit .btn.outline{color:#fff;border-color:#fff;background:transparent}section.visit .btn.outline:hover{background:#fff;color:#17130f}section.visit .btn.gold{background:#c88d26;color:#17120c}section.visit .btn.light{background:#f7f0e4;color:#17130f}section.visit .info-row strong a{color:inherit}@media(max-width:900px){section.visit .visit-grid{grid-template-columns:1fr}section.visit .visit-copy,section.visit .visit-info{padding:44px 28px}}

/* Clearly distinguish a confirmed submission from form errors. */
.form-send-status[data-state="success"]{background:#e5f5e9;color:#14532d;border:1px solid #82bd92;border-left:6px solid #218348;border-radius:10px;padding:24px;font-weight:600;box-shadow:0 3px 12px #14532d0c;scroll-margin:140px}.form-send-status[data-state="success"]::before{content:"✓";display:block;font-size:2rem;font-weight:700;line-height:1;margin-bottom:12px}.form-send-status[data-state="error"]{background:#fff1f1;color:#842626;border:1px solid #e0aaaa;border-left:6px solid #b83c3c;border-radius:10px;padding:20px}.form-privacy-note{font-size:14px!important;line-height:1.5!important;color:#625e56}
