/* Shared additions on top of each page's own styles (taken from the validated mockups) */
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
.langmenu{position:absolute;right:0;top:44px;z-index:20;background:#FBF7F0;border:1px solid #E3D6C2;border-radius:14px;padding:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:320px;max-width:calc(100vw - 32px);box-shadow:0 16px 40px rgba(36,23,15,.18)}
.langmenu[hidden]{display:none}
.langmenu button,.langmenu a{font:inherit;font-size:14px;background:none;border:none;border-radius:8px;padding:8px;cursor:pointer;color:#24170F;text-align:left;text-decoration:none;display:block}
.langmenu button:hover,.langmenu button[aria-current],.langmenu a:hover,.langmenu a[aria-current]{background:#EFE6D8}
[dir=rtl] .langmenu{right:auto;left:0}
[dir=rtl] .langmenu a,[dir=rtl] .langmenu button{text-align:right}
[lang=ar] body,[lang=ar] input,[lang=ar] textarea,[lang=ar] select,[lang=ar] button{font-family:"Readex Pro","Hanken Grotesk",system-ui,sans-serif}
.tab{font:inherit;font-size:15px;font-weight:500;color:#24170F;background:transparent;border:1px solid #CDBBA3;border-radius:999px;padding:10px 18px;cursor:pointer}
.tab[aria-selected="true"]{font-weight:600;color:#FFFFFF;background:#24170F;border-color:#24170F}
.formmsg{margin:0;font-size:15px;line-height:1.5;min-height:1em}
.formmsg.ok{color:#1F6E43}.formmsg.err{color:#A8492A}
form [aria-invalid="true"]{border-color:#A8492A!important;box-shadow:0 0 0 3px rgba(168,73,42,.15)}
:focus-visible{outline:3px solid #C0603A;outline-offset:2px}
/* Fonts served by our own server: no request to any third party (see confidentialite.html#cookies) */
@font-face{font-family:'Hanken Grotesk';src:url(fonts/hanken-grotesk.woff) format('woff');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Hanken Grotesk';src:url(fonts/hanken-grotesk-italic.woff) format('woff');font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:'Readex Pro';src:url(fonts/readex-pro-arabic.woff) format('woff');font-weight:160 700;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F,U+25CC}
/* small screens (iPad portrait, phones): the sections in a menu (15 November 2026) */
.menubtn{display:none;font:inherit;font-size:14px;color:#24170F;background:none;border:1px solid #CDBBA3;border-radius:999px;padding:7px 12px;cursor:pointer;align-items:center;gap:6px}
.menupanel{position:absolute;top:calc(100% + 8px);left:0;z-index:40;min-width:240px;background:#FBF7F0;border:1px solid #E3D6C2;border-radius:14px;padding:6px;box-shadow:0 16px 40px rgba(36,23,15,.18);display:grid}
.menupanel[hidden]{display:none}
.menupanel a{display:block;padding:12px 14px;border-radius:10px;color:#24170F;text-decoration:none;font-size:16px}
.menupanel a:hover,.menupanel a[aria-current]{background:#EFE6D8}
[dir=rtl] .menupanel{left:auto;right:0}
.menuwrap{position:relative;display:none}
@media (max-width:900px){.menuwrap{display:block}.menubtn{display:inline-flex}}
@media (max-width:600px){.menubtn .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.menubtn{padding:7px 11px}.menupanel{position:fixed;top:auto;left:16px;right:16px;margin-top:8px}}

/* tables keep their own horizontal scroll, whatever the language (15 Nov 2026) */
.tbl{max-width:100%;min-width:0}
/* long words and big figures in some languages must not widen the page on phones */
h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
@media (max-width:600px){.bignum{white-space:normal!important}}

/* ---- dark band at the top of the pages, as on the sales brochures (15 Nov 2026) ---- */
.top{position:relative;overflow:hidden;background:radial-gradient(900px 620px at 88% 8%,#5A3420 0,#24170F 72%);color:#F5EEE3}
[dir=rtl] .top{background:radial-gradient(900px 620px at 12% 8%,#5A3420 0,#24170F 72%)}
.top > *{position:relative}
.top > .deco{position:absolute;right:-170px;top:-60px;width:560px;height:560px;pointer-events:none}
.top:not(.hero) > .deco{width:300px;height:300px;right:-90px;top:-150px}
[dir=rtl] .top > .deco{right:auto;left:-170px}
[dir=rtl] .top:not(.hero) > .deco{left:-90px}
.top > .stripes{position:absolute;left:-24px;right:-24px;bottom:0;height:10px;display:flex}
.top > .stripes i{flex:1;transform:skewX(-35deg)}
.top header{background:transparent!important;border-bottom:1px solid rgba(232,198,144,.18)!important}
.top:not(.hero) header{border-bottom:none!important;padding-bottom:10px}
.top header a,.top header .nav a{color:#F5EEE3!important}
.top header .nav a[style*="font-weight:600"]{color:#E8C690!important}
.top header svg{flex:none}
.top header svg .r1{stroke:#C9A06A}.top header svg .r2{stroke:#D97A50}.top header svg .r3{stroke:#E3C08C}
.top header a span[dir]{color:#E8C690!important;border-color:#5A4433!important}
.top header .langbtn,.top header .menubtn{color:#F5EEE3!important;border-color:#7A5A40!important}
.top header .wrap > div:last-child a:first-child{border-color:#E8C690!important;color:#F5EEE3!important}
.top header .wrap > div:last-child a:last-child{background:#C0603A!important;color:#FFFFFF!important}
.top section{background:transparent!important;color:#F5EEE3}
.top section.wrap,.top section .wrap{text-align:start!important;align-items:flex-start!important;padding-block:64px 72px!important}
.top section h1{font-size:52px!important;line-height:1.08!important;letter-spacing:-1.2px!important;max-width:760px!important;color:#F5EEE3!important}
.top section p{color:#D9C9B2!important;max-width:640px}
.top section > p:first-child,.top section .wrap > p:first-child{color:#E8C690!important}
.top section p[style*="font-style:italic"]{color:#E8C690!important}
.top section div{justify-content:flex-start!important}
.top section a[style*="background:#"]{background:#C0603A!important;color:#FFFFFF!important}
.top section a[style*="border:1px solid"]{color:#F5EEE3!important;border-color:#E8C690!important}
/* Arabic: no letter spacing (it breaks the joined letters), no capitals */
[lang=ar] p[style*="letter-spacing"],[lang=ar] span[style*="letter-spacing"],[lang=ar] th{letter-spacing:0!important;text-transform:none!important;line-height:1.7}
[lang=ar] h1,[lang=ar] h2,[lang=ar] h3{letter-spacing:0!important}
@media (max-width:600px){
 .top > .deco{width:300px;height:300px;right:-130px;top:40px;opacity:.35}
 [dir=rtl] .top > .deco{left:-130px}
 .top:not(.hero) > .deco{top:-170px;opacity:.5}
 .top section.wrap,.top section .wrap{padding-block:36px 48px!important}
 .top section h1{font-size:30px!important;line-height:1.18!important;letter-spacing:-.5px!important}
 [lang=ar] .top section h1{font-size:29px!important;line-height:1.4!important;letter-spacing:0!important}
}
@media (max-width:420px){.top header .wrap > a span[dir]{display:none}}
.top.hero section > svg{display:none}
/* the rings of the top band turn slowly, each at its own pace (15 Nov 2026) */
@keyframes irdeco{to{transform:rotate(360deg)}}
.top > .deco .dr{transform-box:view-box;transform-origin:100px 100px;animation:irdeco 140s linear infinite}
.top > .deco .dr2{animation-duration:100s;animation-direction:reverse}
.top > .deco .dr3{animation-duration:75s}
.top > .deco .dr4{animation-duration:55s;animation-direction:reverse}
@media (prefers-reduced-motion:reduce){.top > .deco .dr{animation:none}}
/* menus that open over the dark band keep their dark text on their light panel */
.top header .langmenu a,.top header .langmenu button,.top header .menupanel a{color:#24170F!important}
.top header .langmenu a[aria-current],.top header .menupanel a[style*="font-weight:600"]{color:#A8492A!important}
