:root{
  --ink:#151515;
  --verm:#c53a25;
  --paper:#f3ede2;
  --paper2:#e9dfd0;
  --muted:#6a6259;
  --line:rgba(21,21,21,.14);
  --lance-width:88%; /* ← change seulement ce % */
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Georgia,"Times New Roman",serif;background:linear-gradient(180deg,var(--paper),var(--paper2));}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.15;background-image:repeating-linear-gradient(18deg,rgba(70,50,30,.07) 0 1px,transparent 1px 7px),repeating-linear-gradient(91deg,rgba(255,255,255,.3) 0 1px,transparent 1px 9px)}
a{color:inherit;text-decoration:none} .wrap{width:min(1180px,92vw);margin:auto}
nav{position:sticky;top:0;z-index:1000;background:rgba(243,237,226,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);box-shadow:0 6px 22px rgba(21,21,21,.05)}
.nav-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:nowrap}
.brand{font-size:18px;font-weight:700;letter-spacing:.2em;white-space:nowrap}.brand-lockup{display:flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:0}.brand-lockup span{display:block}.brand b{color:var(--verm)}
.nav-right{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-left:auto;min-width:0}.nav-links{display:flex;align-items:center;gap:24px;font:700 12px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.lang{border:1px solid var(--ink);background:transparent;padding:10px 12px;font:700 12px Arial,sans-serif;letter-spacing:.05em}
.hero{min-height:760px;display:grid;grid-template-columns:1.03fr .97fr;gap:50px;align-items:center;padding:70px 0 55px}
.eyebrow{font:700 12px Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--verm);margin-bottom:18px}
.jp-title{font-size:28px;letter-spacing:.14em;margin-bottom:15px} h1{font-size:clamp(54px,7vw,104px);line-height:.9;margin:0 0 28px;font-weight:500;letter-spacing:-.045em}
.lead,.section-copy{font-size:20px;line-height:1.62;color:#413b35} .lead{max-width:650px}
.story-copy{font-size:17px;line-height:1.72}.story-copy p{margin:0 0 1.05em}.story-copy p:last-child{margin-bottom:0}.story-head{align-items:start}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border:1px solid var(--ink);font:700 12px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;transition:.2s}
.btn:hover{background:var(--ink);color:white;transform:translateY(-2px)} .btn.red{background:var(--verm);border-color:var(--verm);color:white}
.hero-card{min-height:590px;display:grid;place-items:center;position:relative;overflow:visible;border:0;background:transparent;box-shadow:none;padding:10px}
.hero-main-logo{display:block;width:min(100%,620px);height:auto;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(32,24,18,.10))}
section{padding:105px 0;border-top:1px solid var(--line);scroll-margin-top:110px} .section-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:end;margin-bottom:48px} .section-head.story-head{align-items:start} .story-head>div:first-child{align-self:start}
h2{font-size:clamp(40px,5vw,74px);line-height:.96;margin:0;font-weight:500;letter-spacing:-.035em}
.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)} .stat{padding:34px;background:rgba(255,255,255,.28);border-right:1px solid var(--line)} .stat:last-child{border-right:0}
.stat strong{display:block;font-size:50px;font-weight:500} .stat span{font:700 12px Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.collection{display:grid;grid-template-columns:repeat(3,1fr);gap:20px} .house-card{min-height:380px;padding:26px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border:1px solid var(--line)}
.house-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%,rgba(0,0,0,.76));z-index:1} .house-card>*{position:relative;z-index:2;color:white}
.house-card:nth-child(1){background:linear-gradient(145deg,#8a6d53,#241d18)} .house-card:nth-child(2){background:linear-gradient(145deg,#262626,#070707)} .house-card:nth-child(3){background:linear-gradient(145deg,#c2a26a,#465036)} .house-card:nth-child(4){background:linear-gradient(145deg,#69745a,#222a1e)} .house-card:nth-child(5){background:linear-gradient(145deg,#8c7668,#292522)} .house-card:nth-child(6){background:linear-gradient(145deg,#db6340,#742719)}
.num{position:absolute;top:22px;right:22px;font:700 11px Arial,sans-serif;letter-spacing:.14em} .house-card h3{font-size:30px;margin:0 0 8px;font-weight:500} .house-card p{margin:0;font:14px/1.55 Arial,sans-serif;opacity:.84}
.rebirth{display:grid;grid-template-columns:1fr 1fr;min-height:430px;border:1px solid var(--line)} .before,.after{display:flex;align-items:flex-end;padding:34px} .before{background:linear-gradient(145deg,#787166,#403d38)} .after{background:linear-gradient(145deg,#d0ad82,#6d4c35)}
.rebirth small{display:block;color:white;font:700 11px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px} .rebirth strong{font-size:42px;color:white;font-weight:500}
.philosophy{display:grid;grid-template-columns:repeat(3,1fr);gap:20px} .pillar{padding:34px 30px;border-top:4px solid var(--verm);background:rgba(255,255,255,.26);min-height:235px} .pillar h3{font-size:28px;margin:0 0 12px;font-weight:500} .pillar p{font:16px/1.65 Arial,sans-serif;color:#4b453e}
.passport{display:grid;grid-template-columns:1.08fr .92fr;gap:50px;align-items:center}
.passport-card{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:40px;border-radius:18px;min-height:420px;box-shadow:0 25px 60px rgba(0,0,0,.22);background:#171717 url("kokoro-passport-house.jpg") center center/cover no-repeat}
.passport-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,10,10,.28) 0%,rgba(10,10,10,.42) 35%,rgba(10,10,10,.88) 100%),linear-gradient(90deg,rgba(10,10,10,.38),rgba(10,10,10,.08) 70%)}
.passport-card:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.passport-seal{display:block;width:82px;height:82px;object-fit:contain;margin:2px 0 96px 0;filter:drop-shadow(0 3px 7px rgba(0,0,0,.38))}
.passport-card h3{font-size:40px;margin:0 0 8px;font-weight:500;text-shadow:0 2px 18px rgba(0,0,0,.55)} .passport-card p{font:13px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;opacity:.82;text-shadow:0 2px 12px rgba(0,0,0,.6)} .dots{display:flex;gap:10px;margin-top:24px} .dots i{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(10,10,10,.35);display:grid;place-items:center;font-style:normal;font-size:11px;backdrop-filter:blur(2px)} .dots i.done{background:var(--verm);border-color:var(--verm)}
footer{background:#171717;color:#f3ede2;padding:58px 0} .footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:end} .footer-brand{font-size:27px;letter-spacing:.17em} .footer-brand span{display:block;font-size:18px;letter-spacing:.1em;margin-top:10px;color:#aaa} .footer-note{font:12px/1.6 Arial,sans-serif;color:#aaa;max-width:520px;text-align:right}
/* Descriptive text: justified throughout the page. Titles, navigation and buttons keep their designed alignment. */
p,.section-copy,.footer-note{ text-align:justify; text-justify:inter-word; text-align-last:left; hyphens:auto; }
.house-card p,.pillar p,.passport-card p,.lead{ text-align:justify; text-justify:inter-word; text-align-last:left; hyphens:auto; }

/* Mission */
.mission-section{padding-top:88px}
.mission-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:start;margin-bottom:42px}
.mission-intro h2{margin:0;max-width:700px}
.mission-copy{margin:0;font-size:18px;line-height:1.75;text-align:justify}
.mission-stats .stat{min-height:250px;display:flex;flex-direction:column;align-items:flex-start}
.mission-stats .stat strong{margin-bottom:2px}
.mission-stats .stat span{display:block;margin-bottom:18px;color:var(--ink)}
.mission-stats .stat p{margin:0;font-size:15px;line-height:1.65;color:var(--muted);text-align:justify;text-transform:none;letter-spacing:0;font-family:Georgia,"Times New Roman",serif;font-weight:400}

@media(max-width:900px){.hero,.section-head,.passport,.mission-intro{grid-template-columns:1fr}.collection{grid-template-columns:1fr 1fr}.philosophy{grid-template-columns:1fr}.nav-inner{gap:16px}.nav-right{gap:16px}.nav-links{gap:16px;font-size:11px}.lang{padding:9px 10px}}
@media(max-width:600px){.collection,.rebirth,.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.hero-card{min-height:360px;padding:0}.hero-main-logo{width:min(100%,470px)}.nav-inner{min-height:76px;gap:10px}.nav-links{display:none}.brand{font-size:15px}.lang{max-width:120px}}

.nav-logo{display:block;width:72px;height:72px;max-width:none;object-fit:contain;object-position:center;margin:0;padding:0;transform:none;flex:0 0 72px}
@media(max-width:900px){.nav-logo{width:64px;height:64px;flex-basis:64px}}
@media(max-width:600px){.nav-logo{width:54px;height:54px;flex-basis:54px}}

/* LANCE — pour changer sa taille, modifie seulement --lance-width en haut */
.mission-lance{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  margin:18px auto 28px;
}

.mission-lance img{
  display:block;
  width:var(--lance-width);
  height:auto;
  margin:0 auto;
}

@media(max-width:768px){
  :root{--lance-width:96%;}
}

/* Investisseurs */
.investor-teaser{background:rgba(197,58,37,.045)}
.investor-teaser-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:start}
.investor-teaser .btn{margin-top:22px}

.investor-hero{min-height:660px;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;padding:70px 0}
.investor-hero h1{font-size:clamp(50px,6.4vw,92px)}
.investor-mark{display:grid;place-items:center}
.investor-mark img{display:block;width:min(100%,520px);height:auto;filter:drop-shadow(0 18px 30px rgba(32,24,18,.10))}

.investor-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.investor-cards article{min-height:285px;padding:30px;border-top:4px solid var(--verm);background:rgba(255,255,255,.28)}
.investor-cards span{font-size:44px;display:block;margin-bottom:30px}
.investor-cards h3,.confidential-grid h3,.process-list h3{font-size:26px;font-weight:500;margin:0 0 12px}
.investor-cards p,.confidential-grid p,.process-list p,.legal-box p{margin:0;font:16px/1.7 Arial,sans-serif;color:#4b453e;text-align:justify}

.confidential-section{background:rgba(255,255,255,.18)}
.confidential-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.confidential-grid article{padding:34px;border:1px solid var(--line);background:rgba(255,255,255,.3)}
.confidential-grid article.private{border-top:4px solid var(--verm)}

.process-list{border-top:1px solid var(--line)}
.process-list article{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:30px 0;border-bottom:1px solid var(--line)}
.process-list b{font-size:46px;font-weight:500;color:var(--verm)}

.contact-section{background:#171717;color:#f3ede2}
.contact-section .eyebrow{color:#e45a43}
.contact-section h2{color:#fff}
.contact-section .section-copy{color:#c9c0b5}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.contact-form{display:grid;gap:18px;padding:34px;background:#f3ede2;color:var(--ink)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:grid;gap:8px;font:700 11px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(21,21,21,.28);background:#fff;padding:13px 14px;color:var(--ink);font:16px Arial,sans-serif;border-radius:0}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid rgba(197,58,37,.25);border-color:var(--verm)}
.form-note{margin:0;font:13px/1.55 Arial,sans-serif;color:var(--muted);text-align:justify}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.legal-section{padding:62px 0}
.legal-box{padding:28px 30px;border-left:4px solid var(--verm);background:rgba(255,255,255,.28)}
.legal-box .eyebrow{margin-bottom:10px}

@media(max-width:900px){
  .investor-teaser-grid,.investor-hero,.contact-grid{grid-template-columns:1fr}
  .investor-cards{grid-template-columns:1fr}
  .confidential-grid{grid-template-columns:1fr}
  .investor-mark{display:none}
}
@media(max-width:600px){
  .form-row{grid-template-columns:1fr}
  .process-list article{grid-template-columns:60px 1fr;gap:18px}
  .process-list b{font-size:34px}
}
