/* Shared language control, readable international typography and villa care. */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-picker{display:inline-flex;flex-shrink:0;align-items:center}
.language-select{font:500 12px/1.4 Arial,sans-serif;color:#246447;background:#fffdf8;border:1px solid #91b29c;border-radius:6px;min-height:40px;padding:8px 10px;max-width:118px;cursor:pointer}
.language-select:focus-visible{outline:3px solid #2b6e80;outline-offset:3px}
.site-header>.brand{min-width:0}.site-header>.brand strong{max-width:260px;overflow-wrap:anywhere}.site-header>.brand .brand-mark{flex-shrink:0}
footer .brand{min-width:0;max-width:100%}footer .brand>span:last-child{min-width:0}footer .brand strong{overflow-wrap:anywhere}footer .brand-mark{flex-shrink:0}
html[lang=fr],html[lang=de]{hyphens:auto}
html[lang=fr] h1,html[lang=de] h1{font-size:clamp(38px,4.3vw,62px)}
html[lang=fr] .hero,html[lang=de] .hero{height:auto;max-height:none}
html[lang=fr] h2,html[lang=de] h2{overflow-wrap:anywhere}
html[lang=fr] .hero h1,html[lang=de] .hero h1{line-height:1.3}
.villa-card{grid-column:1/-1;min-height:0;background:linear-gradient(120deg,#fffdf5,#eff6e8);border-top:3px solid #b6ce9f;scroll-margin-top:115px}
.villa-heading{display:flex;gap:18px;align-items:center;margin-bottom:24px}.villa-heading .num{margin:0}.villa-tag{font-size:11px;letter-spacing:.1em;color:#536b60;font-weight:600}
.villa-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}.villa-layout>*{min-width:0}.villa-card h3{margin-top:0}.villa-card p{max-width:630px}.villa-card .button{font-size:13px;min-width:0;padding:13px 20px;line-height:1.6;text-align:center}
.villa-services{border-inline-start:1px solid #c9dcc8;padding-inline-start:36px}.villa-services ul{list-style:none;padding:0;margin:0}.villa-services li{padding:14px 0;border-bottom:1px solid #dce5d5;color:#246447;font-size:15px}.villa-services li:first-child{padding-top:0}.villa-card .villa-note{font-size:12px;line-height:1.8;margin:16px 0 0}
html[dir=rtl]{--sans:Tahoma,Arial,sans-serif;--serif:Tahoma,Arial,sans-serif}
html[dir=rtl] body{font-family:Tahoma,Arial,sans-serif}
html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3,html[dir=rtl] h4,html[dir=rtl] .cycle li span,html[dir=rtl] .cycle li small,html[dir=rtl] .orbit strong,html[dir=rtl] .node{font-family:Tahoma,Arial,sans-serif}
html[dir=rtl] *{letter-spacing:normal}
html[dir=rtl] .hero h1{line-height:1.55}
html[dir=rtl] .hero-shade{background:linear-gradient(270deg,rgba(251,250,244,.99),rgba(251,250,244,.97) 32%,rgba(251,250,244,.76) 45%,rgba(251,250,244,.15) 67%,transparent 80%)}
html[dir=rtl] .hero-image,html[dir=rtl] .hero-art{background-position:left center;transform:scaleX(-1)}
html[dir=rtl] .nz-page .hero-content{margin-left:0;margin-right:clamp(24px,8.5vw,130px)}
html[dir=rtl] .head-tools{margin-left:0;margin-inline-start:auto}
html[dir=rtl] .global-vision{text-align:right}
html[dir=rtl] .tag{right:auto;left:30px}
html[dir=rtl] .business-card>.num{text-align:right}
html[dir=rtl] .note{border-left:0;border-right:3px solid #d6b647}
.budget-card>strong,.cost-lines b,.easter-date strong,.num,.shortstay-number{direction:ltr;unicode-bidi:isolate}
html[lang=fr] .experience-art::after{content:"KARUIZAWA → NOUVELLE-ZÉLANDE"}
html[lang=de] .experience-art::after{content:"KARUIZAWA → NEUSEELAND"}
html[lang=ar] .experience-art::after{content:"كارويزاوا ← نيوزيلندا"}
@media(max-width:1250px){.site-header>.brand strong{max-width:230px}}
@media(max-width:820px){
 .villa-layout{grid-template-columns:1fr;gap:26px}.villa-services{border-inline-start:0;border-top:1px solid #c9dcc8;padding:24px 0 0}
 .site-header>.brand strong{max-width:170px}.villa-card{min-height:0}
 html[lang=fr] .hero h1,html[lang=de] .hero h1{font-size:clamp(32px,6vw,48px)}
 html[dir=rtl] .nz-page .hero-content{margin:0}
}
@media(max-width:520px){
 .site-header{gap:7px;padding-inline:12px}.site-header>.brand{gap:7px}.site-header>.brand .brand-mark{width:30px;height:30px;font-size:16px}
 .site-header>.brand strong,html[lang=en] .site-header>.brand strong{max-width:123px;font-size:10px;line-height:1.4}
 .language-select{min-height:36px;max-width:99px;padding:5px 4px;font-size:11px}
 .header-actions,.head-tools{gap:5px}.site-header .menu-button{font-size:10px;padding:0 6px;min-height:36px}
 .villa-heading{gap:12px}.villa-tag{font-size:10px}.villa-services li{font-size:14px}
 html[dir=rtl] .tag{left:22px}
 html[dir=rtl] .hero h1{font-size:36px}
 html[lang=fr] .section-head h2,html[lang=de] .section-head h2{font-size:32px}
}
@media(max-width:360px){.site-header>.brand strong,html[lang=en] .site-header>.brand strong{max-width:91px;font-size:9px}.language-select{max-width:92px}.site-header{gap:4px}.site-header>.brand{gap:5px}.site-header>.brand .brand-mark{width:26px;height:28px;font-size:15px}.header-actions,.head-tools{gap:4px}}
