:root{font-family:Inter,Arial,sans-serif;color:#353634;background:#f4f4f2}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;cursor:pointer}.brand{position:absolute;top:34px;left:38px;z-index:5;pointer-events:none}.brand h1{font-family:Georgia,serif;font-size:52px;font-weight:400;letter-spacing:-2px;margin:0}.brand small{letter-spacing:.14em;font-size:11px;text-transform:uppercase;color:#777}.nav{position:absolute;left:38px;top:170px;z-index:5;display:flex;flex-direction:column;gap:8px}.nav button,.pill{border:1px solid #d9dad6;background:#ffffffd9;border-radius:40px;padding:11px 18px;color:#4b4b49;text-align:left;backdrop-filter:blur(8px)}.nav button:hover,.pill:hover{background:#fff;border-color:#999}.hint{position:absolute;bottom:24px;left:38px;z-index:5;color:#8a8a86;font-size:12px;line-height:1.6}.level{position:absolute;right:30px;bottom:24px;z-index:5;display:flex;gap:8px}.level button.active{background:#343936;color:white}.canvas{position:absolute;inset:0}#tip{position:absolute;display:none;pointer-events:none;background:#fff;box-shadow:0 10px 35px #0002;border-radius:12px;padding:11px 15px;font-size:13px;z-index:10;min-width:150px}#tip strong{display:block;margin-bottom:3px}#tip span{color:#858580;font-size:11px}.topnote{position:absolute;top:38px;right:38px;color:#7c7e79;font-size:13px;letter-spacing:.06em;z-index:5}.overlay{display:none;position:absolute;inset:0;background:#f6f6f4;z-index:20;overflow:auto}.overlay.open{display:block}.detailhead{display:flex;align-items:center;justify-content:space-between;padding:28px 5vw;border-bottom:1px solid #e1e2de}.detailhead button{border:0;background:none;font-size:14px;color:#555}.detailgrid{display:grid;grid-template-columns:minmax(300px,1.3fr) minmax(260px,1fr);gap:5vw;max-width:1350px;margin:0 auto;padding:40px 5vw}.viewer{height:min(62vh,570px);min-height:350px;background:linear-gradient(135deg,#eaeae6,#f9f9f7);border-radius:15px;position:relative;overflow:hidden}.viewer canvas{display:block}.viewerbuttons{position:absolute;bottom:15px;left:15px;display:flex;gap:8px;flex-wrap:wrap}.viewerbuttons button{border:1px solid #d5d6d0;background:#fffffff0;border-radius:25px;padding:8px 13px;font-size:12px}.projectpreview{margin-bottom:22px}.projectpreview img{display:block;width:100%;max-height:230px;object-fit:contain;border-radius:12px;background:#eae7e2}.projectpreview span{display:block;font-size:11px;color:#85817c;margin-top:7px}.projectlist button img{display:block;width:100%;height:135px;object-fit:contain;background:#efede9;border-radius:8px;margin-bottom:15px}.detailcopy h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,4vw,64px);margin:5px 0 15px}.detailcopy .tag{font-size:11px;letter-spacing:.18em;color:#8d8e89;text-transform:uppercase}.detailcopy p{line-height:1.75;color:#666;max-width:55ch}.detailcopy h3{margin-top:30px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.note{font-size:12px;color:#989a95}.projects{display:none;position:absolute;inset:0;background:#f5f5f3;z-index:18;overflow:auto;padding:90px 8vw}.projects.open{display:block}.projects h2{font-family:Georgia,serif;font-size:48px;font-weight:400}.projectlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.projectlist button{background:#fff;border:1px solid #e5e5e1;border-radius:12px;padding:26px;text-align:left;min-height:130px}.projectlist button strong{display:block;font-size:18px;margin-bottom:12px}.projectlist button small{color:#888}.closeprojects{position:absolute;right:8vw;top:35px;background:none;border:0;font-size:16px}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#999;z-index:1;pointer-events:none}.about{display:none;position:absolute;inset:0;z-index:18;background:#f5f5f3;padding:100px 15vw}.about.open{display:block}.about h2{font-family:Georgia,serif;font-weight:400;font-size:55px}.about p{max-width:580px;line-height:1.8;color:#666}@media(max-width:750px){.brand{top:15px;left:18px}.brand h1{font-size:35px}.nav{left:18px;top:104px;gap:5px}.nav button{font-size:11px;padding:9px 12px}.topnote{display:none}.hint{left:18px;bottom:75px}.level{right:15px;bottom:15px}.level button{font-size:11px;padding:8px}.detailgrid{grid-template-columns:1fr;padding:20px}.viewer{height:45vh;min-height:300px}.detailhead{padding:20px}.projectpreview{margin-bottom:22px}.projectpreview img{display:block;width:100%;max-height:230px;object-fit:contain;border-radius:12px;background:#eae7e2}.projectpreview span{display:block;font-size:11px;color:#85817c;margin-top:7px}.projectlist button img{display:block;width:100%;height:135px;object-fit:contain;background:#efede9;border-radius:8px;margin-bottom:15px}.detailcopy h2{font-size:42px}}

/* V16 — interface; la scène 3D et les boutons de niveaux V15 sont conservés */
.sidebar{position:absolute;z-index:6;left:0;top:0;bottom:0;width:246px;padding:26px 20px;background:rgba(249,249,247,.94);border-right:1px solid #e2e2df;display:flex;flex-direction:column}
.identity h1{font-family:Georgia,serif;font-size:52px;font-weight:400;line-height:.98;letter-spacing:-2px;margin:0 0 12px;color:#353634}
.identity p{font-size:13px;line-height:1.6;margin:0;color:#666b66}
.sidebar .nav{position:static;display:flex;flex-direction:column;gap:10px;margin-top:44px}
.sidebar .nav button{border:1px solid #d9dad6;background:#ffffffd9;border-radius:40px;padding:11px 18px;font-size:14px;text-align:left;color:#4b4b49;backdrop-filter:blur(8px)}
.sidebar .nav button:hover{background:#fff;border-color:#999}
.sidebar .social{margin-top:auto;font-size:11px;color:#92958f;border-top:1px solid #e1e2de;padding-top:15px}
.siteheader{position:absolute;z-index:6;right:34px;top:25px;display:flex;align-items:flex-start;gap:32px;pointer-events:none}
.siteheader h2{font-size:42px;font-weight:750;letter-spacing:.025em;line-height:1;margin:14px 0 0;color:#353936;white-space:nowrap}
.school{width:175px;border-left:1px solid #d5d8d2;padding-left:22px;box-sizing:content-box;pointer-events:auto}
.strate-logo{display:flex;flex-direction:column;width:175px;text-decoration:none;color:#1000e8;line-height:1}
.strate-mark{font:800 54px/.85 Arial,sans-serif;letter-spacing:-.075em;border-top:7px solid #1000e8;padding-top:5px}
.strate-sub{font-size:10px;letter-spacing:.23em;color:#777;margin-top:9px;white-space:nowrap}
.school-motto{width:175px;font-size:13px;line-height:1.4;color:#777;margin:13px 0 0;text-align:center}
.hint{left:270px;bottom:23px;max-width:370px;background:rgba(244,244,242,.88);border-radius:8px;padding:5px 9px;pointer-events:none}
@media(max-width:850px){.sidebar{width:178px;padding:18px 12px}.identity h1{font-size:35px}.identity p{font-size:11px}.siteheader{right:12px;top:14px;gap:10px}.siteheader h2{font-size:20px;margin-top:9px}.school{width:105px;padding-left:10px}.strate-logo,.school-motto{width:105px}.strate-mark{font-size:33px;border-top-width:4px}.strate-sub{font-size:6px}.school-motto{font-size:10px}.hint{display:none}.level{right:12px;bottom:14px}}

.social-icons{display:flex;align-items:center;gap:22px;color:#353936;font-size:24px;font-family:Arial,sans-serif;font-weight:700}
.social-icons span{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:28px}
@media(max-width:1050px){.siteheader h2{font-size:27px}.sidebar{width:220px}.hint{left:230px}}
@media(max-width:750px){.sidebar{width:160px}.identity h1{font-size:31px}.siteheader h2{font-size:17px}.hint{display:none}}

/* V18s — ajustements demandés uniquement */
.identity h1{font-size:40px}
.sidebar .nav button{display:flex;align-items:center;gap:12px}
.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;flex:0 0 16px;font-size:17px;line-height:1;color:#353634}
.sidebar .social{display:flex;justify-content:center}
.social-icons{justify-content:center;width:100%}
.siteheader h2{font-size:35px;margin-top:20px}
.school-motto strong{font-weight:700}
.school-motto .plus{color:#1000e8}
/* Positionnement vertical de la maison, sous l'en-tête avec un dégagement réduit */
.canvas{top:0;bottom:0}
#scene canvas{transform:none}
@media(max-width:850px){.identity h1{font-size:40px}.siteheader h2{font-size:35px;margin-top:20px}}

/* V23 — Responsive mobile, sans modification de la présentation ordinateur */
@media (max-width: 850px) {
  .sidebar {position:absolute;left:0;right:0;top:0;bottom:auto;width:100%;height:76px;padding:12px 16px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;background:rgba(249,249,247,.96);border-right:0;border-bottom:1px solid #e2e2df;z-index:9}
  .identity h1 {font-size:24px;line-height:.88;letter-spacing:-.8px;margin:0}
  .identity p {font-size:9px;line-height:1.3;margin:4px 0 0}
  .sidebar .nav {position:static;display:flex;flex-direction:row;gap:6px;margin:0}
  .sidebar .nav button {font-size:11px;padding:8px 9px;gap:5px;white-space:nowrap}
  .nav-icon {font-size:13px;width:12px;flex-basis:12px}
  .sidebar .social {display:none}
  .siteheader {left:14px;right:14px;top:88px;gap:10px;align-items:flex-start;justify-content:space-between;z-index:7}
  .siteheader h2 {font-size:clamp(17px,4.8vw,27px);margin:7px 0 0;white-space:nowrap}
  .school {width:100px;padding-left:9px;flex:0 0 100px}
  .strate-logo,.school-motto {width:100px}
  .strate-mark {font-size:31px;border-top-width:4px;padding-top:4px}
  .strate-sub {font-size:6px;letter-spacing:.17em;margin-top:6px}
  .school-motto {font-size:9px;margin-top:7px;line-height:1.35}
  .level {right:0;left:0;bottom:12px;justify-content:center;gap:7px;z-index:8}
  .level button {font-size:12px;padding:9px 13px;white-space:nowrap}
  .hint {display:block;left:12px;right:12px;bottom:58px;text-align:center;font-size:10px;max-width:none;padding:4px;line-height:1.45}
  #tip {max-width:170px}
  .projects {padding:65px 18px 25px}
  .projects h2 {font-size:36px}
  .about {padding:75px 22px 25px;overflow:auto}
  .about h2 {font-size:36px}
  .detailhead {gap:10px;padding:16px}
  .detailhead span {font-size:10px}
  .detailgrid {grid-template-columns:1fr;gap:20px;padding:16px}
  .viewer {height:42vh;min-height:260px}
  .viewerbuttons {bottom:9px;left:9px;right:9px;gap:5px}
  .viewerbuttons button {font-size:10px;padding:7px 9px}
  .detailcopy h2 {font-size:38px}
}
@media (max-width:850px) and (orientation:landscape) and (max-height:550px) {
  .sidebar {height:58px;padding:6px 13px}
  .identity h1 {font-size:20px}
  .identity p {font-size:8px}
  .siteheader {top:66px;left:12px;right:12px}
  .siteheader h2 {font-size:21px;margin-top:4px}
  .school {width:88px;flex-basis:88px}
  .strate-logo,.school-motto {width:88px}
  .strate-mark {font-size:27px}
  .school-motto {font-size:8px;margin-top:4px}
  .hint {bottom:10px;left:12px;right:auto;text-align:left;font-size:9px;max-width:280px}
  .level {left:auto;right:12px;bottom:10px}
  .level button {font-size:11px;padding:7px 11px}
  .viewer {height:70vh;min-height:230px}
}
@media (max-width:390px) and (orientation:portrait) {
  .sidebar .nav button {font-size:10px;padding:7px 7px}
  .siteheader h2 {font-size:17px}
  .school {flex-basis:90px;width:90px}
  .strate-logo,.school-motto {width:90px}
  .strate-mark {font-size:28px}
}

/* V24 — trois rubriques distinctes, sans modification de la scène 3D */
.editorial-content{max-width:950px;margin:0 auto;padding:0 20px 50px}.section-kicker{font-size:11px;letter-spacing:.2em;color:#92958f}.editorial-content h2{margin:20px 0 22px}.editorial-lead{font-family:Georgia,serif;font-size:clamp(22px,3vw,34px);line-height:1.35;color:#41443f!important;max-width:680px!important}.inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:38px 0}.inspiration-grid article{min-height:210px;padding:25px;background:#fff;border:1px solid #e6e6e2;border-radius:14px}.inspiration-grid article span{color:#a4a7a0;font-size:12px}.inspiration-grid h3{font-family:Georgia,serif;font-weight:400;font-size:25px;margin:26px 0 10px}.inspiration-grid p{font-size:13px;line-height:1.6}.sidebar .nav button{min-width:0}
@media(max-width:850px){.sidebar .nav{gap:5px}.sidebar .nav button{padding:8px 10px;font-size:12px;gap:6px}.inspiration-grid{grid-template-columns:1fr}.inspiration-grid article{min-height:130px}}
@media(max-width:750px){.sidebar .nav{flex-wrap:wrap;justify-content:flex-end;gap:4px}.sidebar .nav button{font-size:10px;padding:7px 8px;gap:4px}.sidebar .nav .nav-icon{width:12px;flex-basis:12px}.editorial-content{padding:0 0 35px}}
@media(max-width:390px){.sidebar .nav button{font-size:9px;padding:6px}.sidebar .nav .nav-icon{display:none}}


/* V25 — identité bleu porcelaine, interactions douces */
:root{background:#f8f9fa;color:#303b4a}
body{background:#f8f9fa}
.sidebar{background:#dce8f3;border-right-color:#c8d8e6}
.identity h1,.siteheader h2{color:#303b4a}
.identity p{color:#536579}
.sidebar .nav button{background:rgba(255,255,255,.90);color:#35475a;border-color:#cbd9e6;transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.sidebar .nav button .nav-icon{color:inherit;transition:color .22s ease}
.sidebar .nav button:hover,.sidebar .nav button:focus-visible{background:#476b91;color:#fff;border-color:#476b91;transform:translateX(4px);box-shadow:0 5px 15px rgba(54,84,119,.15)}
.sidebar .nav button:focus-visible,.level button:focus-visible{outline:2px solid #214b7a;outline-offset:3px}
.sidebar .social{border-top-color:#bfcfe0}
.social-icons span{color:#476b91;border-radius:50%;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.social-icons span:hover{color:#214b7a;transform:translateY(-2px) scale(1.08)}
.level .pill{background:rgba(255,255,255,.94);border-color:#cbd9e6;color:#35475a;transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.level .pill:hover,.level .pill:focus-visible{background:#dce8f3;border-color:#9db5ce;transform:translateY(-2px);box-shadow:0 5px 15px rgba(54,84,119,.12)}
.level button.active,.level button.active:hover{background:#476b91;color:#fff;border-color:#476b91}
.hint{background:rgba(248,249,250,.85);color:#738295}
.projects,.about,.overlay{background:#f8f9fa}
.inspiration-grid article,.projectlist button{border-color:#dbe4ed}
.inspiration-grid article:hover,.projectlist button:hover{border-color:#a5bfd6;box-shadow:0 6px 20px rgba(54,84,119,.09)}
@media(max-width:850px){.sidebar{background:rgba(220,232,243,.97);border-bottom-color:#c8d8e6}.sidebar .nav button:hover,.sidebar .nav button:focus-visible{transform:none}}
@media(prefers-reduced-motion:reduce){.sidebar .nav button,.sidebar .nav button .nav-icon,.social-icons span,.level .pill{transition:none}.sidebar .nav button:hover,.level .pill:hover,.social-icons span:hover{transform:none}}

/* V27 — Croquis produits : grand dessin + deux études secondaires, sans plan architectural */
.sketch-gallery{position:absolute;z-index:4;top:153px;right:42px;width:340px;pointer-events:auto;color:#476b91;text-align:center}
.sketch-kicker{font-size:10px;letter-spacing:.18em;color:#6d849c;text-align:left;padding-left:12px;white-space:nowrap}
.sketch-kicker span{font-size:9px;letter-spacing:.07em;opacity:.72}
.sketch-main{height:258px;position:relative;display:flex;align-items:center;justify-content:center}
.sketch-main img{display:block;width:100%;height:245px;object-fit:contain;opacity:.83;filter:drop-shadow(0 2px 0 rgba(71,107,145,.025));transition:opacity .35s ease}
.sketch-main img.sketch-in{animation:sketchFade .55s ease}
@keyframes sketchFade{from{opacity:.15;transform:translateY(5px)}to{opacity:.83;transform:translateY(0)}}
.sketch-caption{position:absolute;bottom:0;left:10px;right:10px;display:flex;justify-content:space-between;font-size:11px;color:#607b96;letter-spacing:.06em}
.sketch-caption strong{font-weight:600}
.sketch-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}
.sketch-thumb{height:112px;padding:0;border:0;background:transparent;border-radius:9px;opacity:.68;transition:opacity .2s ease,transform .2s ease,background .2s ease}
.sketch-thumb img{width:100%;height:100%;object-fit:contain}
.sketch-thumb:hover,.sketch-thumb:focus-visible{opacity:1;transform:translateY(-3px);background:rgba(220,232,243,.35);outline:0}
.sketch-note{font-size:10px;color:#9aa9b8;margin-top:12px;letter-spacing:.01em}
@media(max-width:1450px){.sketch-gallery{right:22px;width:255px;top:137px}.sketch-main{height:190px}.sketch-main img{height:185px}.sketch-thumbs{gap:8px;margin-top:10px}.sketch-thumb{height:82px}}
@media(max-width:1120px){.sketch-gallery{width:205px;right:15px;top:120px}.sketch-main{height:150px}.sketch-main img{height:150px}.sketch-thumb{height:65px}.sketch-kicker{font-size:8px}.sketch-kicker span{display:none}.sketch-note{display:none}}
@media(max-width:850px){.sketch-gallery{display:none}}
@media(prefers-reduced-motion:reduce){.sketch-main img.sketch-in{animation:none}.sketch-thumb{transition:none}}

/* V28 — esquisses au graphite, trois recherches du même objet */
.sketch-gallery{top:146px}
.sketch-main img,.sketch-thumb img{filter:grayscale(1);opacity:.82}
.sketch-thumbs{gap:12px;margin-top:8px}
.sketch-thumb{pointer-events:none;opacity:.82}
.sketch-pagination{display:flex;justify-content:center;gap:10px;margin-top:12px}
.sketch-pagination button{border:1px solid #7d98b4;background:transparent;border-radius:50%;width:9px;height:9px;padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease}
.sketch-pagination button.active{background:#476b91;transform:scale(1.15)}
.sketch-thumb img.sketch-in{animation:sketchFade .55s ease}
@media(max-width:1450px){.sketch-gallery{top:133px}}
@media(max-width:1120px){.sketch-gallery{top:118px}}

/* V29 — galerie centrée verticalement dans le panneau, sans légendes ni titres */
.sketch-gallery{top:53%;transform:translateY(-50%)}
@media(max-width:1450px){.sketch-gallery{top:53%}}
@media(max-width:1120px){.sketch-gallery{top:53%}}

/* V30 — un seul croquis sur mobile, adapté à chaque orientation */
@media (max-width:850px) {
  .sketch-gallery{display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;transform:none;pointer-events:auto;box-sizing:border-box;}
  .sketch-main{width:100%;height:110px;flex:0 0 110px;}
  .sketch-main img{width:100%;height:100%;object-fit:contain;opacity:.85;}
  .sketch-thumbs{display:none;}
  .sketch-pagination{margin-top:5px;gap:9px;}
  .sketch-pagination button{width:8px;height:8px;}
  .sketch-note{display:block;font-size:8px;line-height:1.2;margin:6px 0 0;white-space:nowrap;}
}
@media (max-width:850px) and (orientation:portrait) {
  .sketch-gallery{left:50%;right:auto;top:auto;bottom:100px;width:min(230px,65vw);transform:translateX(-50%);}
  .sketch-main{height:110px;flex-basis:110px;}
}
@media (max-width:850px) and (orientation:landscape) {
  .sketch-gallery{left:auto;right:9px;top:47%;bottom:auto;width:clamp(128px,24vw,190px);transform:translateY(-35%);}
  .sketch-main{height:clamp(80px,25vh,125px);flex-basis:clamp(80px,25vh,125px);}
  .sketch-note{font-size:7px;white-space:normal;}
}
@media (max-width:850px) and (orientation:portrait) and (max-height:650px) {
  .sketch-gallery{bottom:94px;width:min(180px,50vw);}
  .sketch-main{height:75px;flex-basis:75px;}
}
