/* ════════════════════════════════════
   JADE.CSS — La Fontaine de Jade v22k
════════════════════════════════════ */
:root{
  --p:#F0E8D2;--p2:#E8DEC4;--p3:#DDD3B2;--p4:#CEC39E;
  --encre:#0C0801;--encre2:#1A1006;
  --e3:rgba(12,8,1,.80);--e4:rgba(12,8,1,.54);--e5:rgba(12,8,1,.16);--e6:rgba(12,8,1,.08);
  --rouge:#8C1408;--rouge2:#B01A0A;
  --or:#8C6A0A;--or2:#B38A14;--or3:#D4A830;
  --fn:'Noto Serif SC',serif;--fe:'EB Garamond',Georgia,serif;
  --max:1180px;
  --gut:clamp(20px,5vw,64px);
  --sp:clamp(44px,8vw,96px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:17px;scroll-behavior:smooth;}
body{background:var(--p);color:var(--encre);font-family:var(--fe);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23g)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;}
a{color:inherit;text-decoration:none;}ul{list-style:none;}img{display:block;max-width:100%;}address{font-style:normal;}
.inner{max-width:var(--max);margin:0 auto;padding:0 var(--gut);}
.rv{opacity:0;transform:translateY(16px);transition:opacity .85s ease,transform .85s ease;will-change:opacity,transform;}
.rv.in{opacity:1;transform:none;}
.d1{transition-delay:.10s;}.d2{transition-delay:.22s;}.d3{transition-delay:.36s;}
.sep{height:1px;background:linear-gradient(to right,transparent,var(--e5) 22%,var(--e5) 78%,transparent);position:relative;}
.sep::before{content:'◆';letter-spacing:.02em;position:absolute;left:50%;transform:translate(-50%,-50%);font-size:.44rem;color:var(--e5);background:var(--p);padding:0 14px;font-family:var(--fn);}
.sep.p2::before{background:var(--p2);}.sep.p3::before{background:var(--p3);}.sep.p4::before{background:var(--p4);}
.eyebrow{font-family:var(--fn);font-weight:300;font-size:clamp(.68rem,1.4vw,.78rem);letter-spacing:.36em;color:var(--rouge);display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.eyebrow::before,.eyebrow::after{content:'';display:block;height:1px;flex:1 1 0;background:linear-gradient(to right,transparent,var(--or2));opacity:.28;max-width:32px;}
.eyebrow::after{background:linear-gradient(to left,transparent,var(--or2));}
.titre{font-family:var(--fe);font-style:italic;font-weight:400;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.06;color:var(--encre);margin-bottom:20px;}
.titre em{color:var(--rouge);}
.btn{display:inline-block;font-family:var(--fn);font-weight:400;font-size:clamp(.72rem,1.5vw,.80rem);letter-spacing:.16em;padding:clamp(11px,2vw,14px) clamp(20px,3vw,30px);cursor:pointer;border:none;transition:background .2s,transform .18s,border-color .2s;}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0);}
.btn-rouge{background:var(--rouge);color:var(--p);}.btn-rouge:hover{background:var(--rouge2);}
.btn-or{background:transparent;color:var(--encre);border:1px solid var(--or2);}.btn-or:hover{background:rgba(140,106,10,.07);border-color:var(--or3);}
.btn-encre{background:var(--encre2);color:var(--p);}.btn-encre:hover{background:var(--encre);}
.btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.btn-blanc{background:transparent;color:var(--p);border:1px solid rgba(240,232,210,.38);}.btn-blanc:hover{background:rgba(240,232,210,.09);border-color:rgba(240,232,210,.65);}
/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:800;display:flex;justify-content:space-between;align-items:center;padding:11px var(--gut);background:rgba(240,232,210,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--e6);transition:box-shadow .3s;}
.nav.sc{box-shadow:0 2px 28px rgba(12,8,1,.07);}
.nav::after{content:'';position:absolute;bottom:0;left:var(--gut);right:var(--gut);height:1px;background:linear-gradient(to right,transparent,rgba(140,106,10,.20),transparent);}
.logo{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.logo-box{width:36px;height:48px;background:var(--rouge);display:flex;align-items:center;justify-content:center;font-family:var(--fn);font-size:.60rem;font-weight:700;color:var(--p);writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.06em;position:relative;flex-shrink:0;}
.logo-box::after{content:'';position:absolute;inset:3px;border:1px solid rgba(240,232,210,.22);pointer-events:none;}
.logo-img{height:44px;width:auto;display:block;flex-shrink:0;}
.logo-img-ft{height:40px;opacity:.40;}
.logo-nom{display:flex;flex-direction:column;gap:1px;}
.logo-fr{font-family:var(--fe);font-style:italic;font-size:.75rem;color:var(--e4);}
.logo-cn{font-family:var(--fn);font-weight:400;font-size:.88rem;letter-spacing:.18em;color:var(--encre);}
.nav-liens{display:flex;align-items:center;}
.nav-liens a{font-family:var(--fn);font-weight:300;font-size:.76rem;letter-spacing:.11em;color:var(--e4);padding:6px 10px;transition:color .2s;position:relative;}
.nav-liens a::after{content:'';position:absolute;bottom:3px;left:10px;right:10px;height:1px;background:var(--rouge);transform:scaleX(0);transform-origin:right;transition:transform .24s ease;}
.nav-liens a:hover{color:var(--encre);}
.nav-liens a:hover::after,.nav-liens a.cur::after{transform:scaleX(1);transform-origin:left;}
.nav-liens a.cur{color:var(--encre);}
.nav-rsv{margin-left:6px;padding:7px 18px !important;background:var(--rouge) !important;color:var(--p) !important;}
.nav-rsv::after{display:none !important;}
.nav-rsv:hover{background:var(--rouge2) !important;}
.nav-lang{display:flex;align-items:center;margin-left:12px;padding-left:12px;border-left:1px solid var(--e5);gap:2px;}
.nav-lang a{font-family:var(--fn);font-size:.70rem;letter-spacing:.09em;color:var(--e4);padding:3px 5px;transition:color .2s;}
.nav-lang a.on,.nav-lang a:hover{color:var(--rouge);}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:5px;cursor:pointer;}
.burger span{display:block;width:22px;height:1px;background:var(--encre);transition:all .28s;}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px);}
/* ── PAGE HERO ── */
.page-hero{position:relative;padding:clamp(90px,14vw,140px) var(--gut) clamp(44px,6vw,64px);overflow:hidden;background:var(--encre2);}
.page-hero-photo{position:absolute;inset:0;background-size:cover;background-position:center 30%;opacity:.26;}
.page-hero-voile{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,6,0,.86) 0%,rgba(10,6,0,.60) 55%,rgba(10,6,0,.90) 100%);}
.page-hero-fondu{position:absolute;bottom:0;left:0;right:0;height:clamp(70px,12vw,130px);background:linear-gradient(to top,var(--p),transparent);z-index:1;}
.page-hero-kanji{position:absolute;right:4%;top:50%;transform:translateY(-50%);font-family:var(--fn);font-weight:700;font-size:clamp(8rem,16vw,18rem);color:var(--or3);opacity:.08;line-height:1;pointer-events:none;user-select:none;z-index:0;}
.page-hero-int{position:relative;z-index:2;max-width:var(--max);margin:0 auto;}
.page-hero-tag{font-family:var(--fn);font-weight:300;font-size:clamp(.65rem,1.3vw,.76rem);letter-spacing:.32em;color:rgba(240,232,210,.42);display:flex;align-items:center;gap:13px;margin-bottom:15px;}
.page-hero-tag::before{content:'—';color:rgba(212,168,48,.38);}
.page-hero-h1{font-family:var(--fe);font-style:italic;font-weight:400;font-size:clamp(2.2rem,6vw,5.4rem);color:var(--p);line-height:.94;}
.page-hero-h1 em{color:var(--or3);}
.page-hero-trait{width:52px;height:1px;background:linear-gradient(to right,var(--or2),transparent);margin-top:15px;opacity:.52;}
/* ── FOOTER ── */
footer{background:var(--encre2);position:relative;}
footer::before{content:'';display:block;height:2px;background:linear-gradient(to right,transparent,var(--or2) 30%,var(--or2) 70%,transparent);opacity:.28;}
.ft-deco{position:absolute;right:0;top:0;bottom:0;width:36%;background-size:contain;background-repeat:no-repeat;background-position:right center;opacity:.055;pointer-events:none;}
.ft-corps{max-width:var(--max);margin:0 auto;padding:clamp(34px,5vw,54px) var(--gut) clamp(24px,4vw,38px);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(20px,3.5vw,40px);border-bottom:1px solid rgba(240,232,210,.05);position:relative;z-index:1;}
.ft-logo-wrap{margin-bottom:12px;}
.ft-desc{font-family:var(--fe);font-style:italic;font-size:clamp(.82rem,1.5vw,.92rem);color:rgba(240,232,210,.22);line-height:2;max-width:200px;}
.ft-col-tete{font-family:var(--fn);font-weight:300;font-size:clamp(.60rem,1.1vw,.72rem);letter-spacing:.24em;color:var(--or2);opacity:.40;display:block;margin-bottom:12px;}
.ft-liens{display:flex;flex-direction:column;gap:5px;}
.ft-liens a,.ft-adresse{font-family:var(--fe);font-style:italic;font-size:clamp(.82rem,1.5vw,.92rem);color:rgba(240,232,210,.20);line-height:2.1;}
.ft-liens a{transition:color .2s;}.ft-liens a:hover{color:rgba(240,232,210,.48);letter-spacing:.01em;}
.ft-bas{max-width:var(--max);margin:0 auto;padding:11px var(--gut);display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;position:relative;z-index:1;}
.ft-bas p,.ft-bas a{font-family:var(--fn);font-weight:300;font-size:clamp(.58rem,1vw,.67rem);letter-spacing:.10em;color:rgba(240,232,210,.13);}
.ft-bas a:hover{color:rgba(240,232,210,.30);}
/* ── BACK TO TOP ── */
.btt{position:fixed;bottom:26px;right:26px;width:40px;height:40px;background:var(--encre2);border:1px solid rgba(240,232,210,.07);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:600;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s,background .2s;pointer-events:none;text-decoration:none;}
.btt::before{content:'↑';font-family:var(--fn);font-size:.80rem;color:rgba(240,232,210,.44);transition:color .22s ease;}
.btt.vis{opacity:1;transform:none;pointer-events:auto;}
.btt:hover{background:var(--encre);}
.btt:hover::before{color:rgba(240,232,210,.70);}
/* ── FORM FOCUS ── */
.f-inp:focus,.f-sel:focus,.f-txt:focus{outline:none;border-bottom-color:var(--rouge) !important;box-shadow:0 1px 0 0 var(--rouge);}
/* ── RESPONSIVE ── */
@media(max-width:960px){
  .nav{padding:11px 20px;}.nav::after{display:none;}
  .burger{display:flex;}
  .nav-liens{display:none;position:fixed;inset:0;background:rgba(240,232,210,.99);flex-direction:column;justify-content:center;align-items:center;gap:4px;z-index:780;}
  .nav-liens a{font-size:.92rem;padding:12px 28px;color:var(--encre2);}
  .nav-liens a::after{bottom:8px;left:28px;right:28px;}
  .nav-liens.open{display:flex;}
  .nav-lang{display:none;}
  .nav-liens.open .nav-lang{display:flex;margin:18px 0 0;border-left:none;padding-left:0;gap:6px;}
  .nav-liens.open .nav-lang a{font-size:.80rem;padding:4px 10px;color:var(--e4);}
  .ft-corps{grid-template-columns:1fr 1fr;}
  .ft-deco{display:none;}
}
@media(max-width:480px){
  .ft-corps{grid-template-columns:1fr;}
  .ft-bas{flex-direction:column;align-items:flex-start;gap:3px;}
  .page-hero-kanji{display:none;}
  .btt{bottom:14px;right:13px;width:36px;height:36px;}
}

/* ── Scroll indicator hero ── */
.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-family:var(--fn);font-size:.80rem;color:rgba(240,232,210,.30);animation:heroScroll 2.4s ease-in-out infinite;pointer-events:none;user-select:none;}
@keyframes heroScroll{0%,100%{opacity:.25;transform:translateX(-50%) translateY(0);}50%{opacity:.60;transform:translateX(-50%) translateY(7px);}}
@media(max-width:480px){.hero-scroll{display:none;}}
@media(prefers-reduced-motion:reduce){.rv{transition:none;opacity:1;transform:none;}.btt{transition:none;}}
