:root {--paper:#f5f1eb;--paper2:#f4f1ec;--ink:#292823;--muted:#77736d;--line:#ded7cf;--gold:#BBA692;--accent:#BBA692;--dark:#292823;--white:#fff;--danger:#963f38;}
*{box-sizing:border-box}html{min-height:100%;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.splash{min-height:90vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:var(--muted)}.serif,h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:500}h1{font-size:clamp(42px,6.2vw,72px);line-height:1.03;letter-spacing:-.015em;margin:0 0 19px}h2{font-size:clamp(29px,4vw,44px);line-height:1.09;margin:0}h3{font-size:27px;line-height:1.15;margin:0}.tiny-caps,.overline,.nav,.field-label,.button,.chip,.metadata,label{letter-spacing:.17em;text-transform:uppercase}.tiny-caps,.overline{font-size:10px;font-weight:600;letter-spacing:.25em}.overline{color:var(--gold)}.muted{color:var(--muted)}.small{font-size:12px}.page{min-height:100vh;display:flex;flex-direction:column}.header{border-bottom:1px solid var(--line);padding:24px clamp(22px,5vw,82px);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:Georgia,serif;letter-spacing:.23em;font-size:16px;font-weight:500;text-decoration:none;white-space:nowrap}.header-right{display:flex;align-items:center;gap:28px}.nav{display:flex;gap:24px;font-size:10px;letter-spacing:.12em}.nav a{text-decoration:none}.nav a:hover,.nav a.active{color:var(--gold)}.text-button{border:0;background:transparent;color:var(--muted);padding:0;font-size:12px}.text-button:hover{color:var(--ink)}main{flex:1}.content{max-width:1120px;margin:0 auto;padding:64px 28px 90px}.narrow{max-width:660px;margin:0 auto}.hero{padding:55px 0 46px;border-bottom:1px solid var(--line);margin-bottom:46px}.hero p{max-width:600px;color:var(--muted);font-size:14px}.hero-top{display:flex;justify-content:space-between;align-items:center}.hero .eyebrow{margin-bottom:24px}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:.25em;text-transform:uppercase;font-weight:600}.section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:28px 0 19px}.section-title h2{font-size:34px}.section-title span{font-size:11px;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:46px}.room-card{border:1px solid var(--line);background:#f4f1ec;min-height:302px;display:flex;flex-direction:column;text-align:left;padding:0;transition:transform .2s,border-color .2s}.room-card:hover{transform:translateY(-3px);border-color:#bba692}.room-cover{height:172px;background:linear-gradient(140deg,#e7ded5,#bba692);display:flex;flex-direction:column;justify-content:space-between;padding:17px 20px;color:#504e47;position:relative;overflow:hidden}.room-cover::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(110deg, transparent 0px,transparent 63px,#00000006 64px,#00000006 65px)}.room-cover .roman{font-family:Georgia,serif;font-size:85px;line-height:1;opacity:.16;position:absolute;right:10px;bottom:-10px}.room-cover.deep{background:linear-gradient(135deg,#555a54,#252a26);color:#f5f1eb}.room-cover.bronze{background:linear-gradient(140deg,#bba692,#8d7765);color:#f5f1eb}.room-cover.soft{background:linear-gradient(130deg,#ded8d1,#bba692);color:#3b403c}.room-cover .tiny-caps{position:relative}.card-content{padding:20px 20px 23px;flex:1;display:flex;flex-direction:column}.card-content h3{margin:5px 0;font-size:26px}.card-content p{color:var(--muted);font-size:12px;line-height:1.65;margin:0 0 18px}.card-link{margin-top:auto;color:var(--gold);font-size:10px;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.footer{border-top:1px solid var(--line);padding:26px clamp(22px,5vw,82px);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}.login-wrap{padding:70px 22px 95px;min-height:70vh;display:flex;justify-content:center;align-items:flex-start}.login{width:100%;max-width:450px;text-align:center;border:1px solid var(--line);background:#f5f1eb;padding:48px 40px}.login h1{font-size:48px;margin:20px 0 10px}.login p{color:var(--muted);font-size:13px}.form{text-align:left;margin-top:32px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}.field-label{font-size:10px;font-weight:600;letter-spacing:.13em;color:var(--muted)}input,select,textarea{width:100%;padding:13px 14px;border:1px solid #d7d0c6;border-radius:0;background:#fff;color:var(--ink);font-size:14px}textarea{min-height:100px;resize:vertical}input[readonly]{background:var(--paper2)}.button{background:var(--dark);color:white;border:1px solid var(--dark);padding:15px 20px;display:inline-flex;justify-content:center;align-items:center;font-size:10px;font-weight:600;letter-spacing:.13em;text-decoration:none;min-height:48px}.button.secondary{background:transparent;color:var(--ink);border-color:#bba692}.button.small{min-height:36px;padding:8px 14px;font-size:9px}.button.full{width:100%}.notice{border:1px solid #bba692;background:#f4f1ec;padding:13px 15px;font-size:12px;text-align:left;margin:15px 0;color:#564b3a}.notice.error{border-color:#d4aaa6;background:#f8e9e8;color:var(--danger)}.back{font-size:11px;color:var(--muted);background:transparent;border:0;padding:0;display:inline-flex;align-items:center;gap:8px;text-decoration:none;margin-bottom:28px}.back:hover{color:var(--ink)}.room-head{display:grid;grid-template-columns:1fr auto;gap:32px;padding:20px 0 35px;border-bottom:1px solid var(--line)}.room-head p{color:var(--muted);max-width:690px}.room-head .metadata{text-align:right;color:var(--muted);font-size:9px;line-height:2.2;letter-spacing:.12em}.works-list{margin-top:35px}.work{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);border-bottom:1px solid var(--line);gap:40px;padding:22px 0 38px;margin-bottom:22px}.work-visual{background:#ede7df;min-height:350px;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.work-visual img{width:100%;height:100%;max-height:540px;object-fit:contain;display:block}.work-visual .placeholder{font:italic 28px/1.2 Georgia,'Times New Roman',serif;color:#8e8276;letter-spacing:.015em;text-align:center;padding:30px}.work .work-info{padding:18px 0}.work .work-info h3{font-size:36px;margin:8px 0}.work .work-info .ref{color:var(--gold);font-size:10px;letter-spacing:.18em}.work .work-info p{color:var(--muted);font-size:13px;line-height:1.9}.work .specs{display:grid;grid-template-columns:115px 1fr;gap:8px;border-top:1px solid var(--line);padding:18px 0;margin:22px 0;font-size:12px}.work .specs dt{color:var(--muted)}.work .specs dd{margin:0}.event-panel{margin:34px 0;display:grid;grid-template-columns:1fr 1fr;gap:35px}.event-facts{background:var(--paper2);padding:30px}.event-facts .fact{padding:10px 0;border-bottom:1px solid #ded7cf}.event-facts .fact:last-child{border:0}.event-facts span{display:block;color:var(--muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.event-facts strong{font-weight:500;font-size:14px}.empty{text-align:center;padding:65px 20px;border:1px solid var(--line);background:#f5f1eb;color:var(--muted)}.empty h3{color:var(--ink)}.admin-wrap{max-width:1200px;margin:0 auto;padding:45px 24px 80px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.admin-tabs button{padding:9px 15px;border:1px solid var(--line);background:transparent;font-size:12px}.admin-tabs button.active{background:var(--dark);color:white}.admin-card{background:#f5f1eb;border:1px solid var(--line);padding:25px;margin:16px 0}.admin-card h3{margin-bottom:15px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.table-scroll{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:12px}.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.chip{display:inline-block;border:1px solid #bba692;color:#7d6553;font-size:9px;padding:3px 7px;letter-spacing:.08em}.admin-card select[multiple]{min-height:130px}.success{color:#4e6a50}.flex-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.divider{height:1px;background:var(--line);margin:22px 0}.error-boundary{max-width:600px;margin:70px auto;padding:30px;border:1px solid var(--line)}.request-history{padding:12px 0;border-bottom:1px solid var(--line)}
@media(max-width:800px){.header{padding:18px 22px}.header-right{gap:13px}.nav{display:none}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-head{grid-template-columns:1fr}.room-head .metadata{text-align:left}.work{grid-template-columns:1fr;gap:10px}.work-visual{min-height:240px}.event-panel{grid-template-columns:1fr}.content{padding:36px 22px 70px}.hero{padding-top:20px}.admin-grid{grid-template-columns:1fr}}
@media(max-width:540px){.card-grid{grid-template-columns:1fr}.login{padding:33px 22px}.login h1{font-size:39px}.room-cover{height:172px}.footer{flex-direction:column}.header .brand{font-size:14px}.hero{margin-bottom:30px}.section-title h2{font-size:29px}.admin-wrap{padding:30px 16px}.work .specs{grid-template-columns:95px 1fr}}

/* Atelier WOCS Genève: shared palette with the public Maison site. */
.brand{font-size:0;letter-spacing:normal;display:inline-flex;align-items:center;min-height:36px}
.brand img{display:block;width:192px;max-width:36vw;height:auto}
.header{background:var(--paper);border-bottom-color:var(--line)}
.login{background:var(--paper);border-color:var(--line)}
.login .eyebrow,.hero .eyebrow,.overline,.eyebrow{color:var(--gold)}
.login h1{color:var(--ink)}
.login .button.full{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.login .button.full:hover{background:#ae937c;border-color:#ae937c}
.button.secondary:hover{background:var(--paper2)}
.button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.room-card{background:#fff}
.room-card .room-cover{background:linear-gradient(140deg,#e8ddd2,var(--accent));color:var(--ink)}
.room-card .room-cover.deep{background:linear-gradient(135deg,#665747,var(--ink));color:var(--paper)}
.room-card .room-cover.bronze{background:linear-gradient(140deg,#c4ac97,#a88a74);color:var(--ink)}
.room-card .room-cover.soft{background:linear-gradient(130deg,#f4f1ec,#d5c6b7);color:var(--ink)}
.room-card:hover{border-color:var(--accent)}
.work-visual{background:var(--paper2)}
.chip{color:var(--ink);border-color:var(--accent)}
@media(max-width:540px){.brand img{width:155px;max-width:48vw}}

/* V3 | Centre the seal on every view; harmonise buttons and institutional signature */
.header{position:relative;min-height:152px;display:flex;align-items:center;justify-content:center;background:var(--paper);padding:12px clamp(20px,5vw,82px)}
.brand-seal{display:flex;align-items:center;justify-content:center;text-decoration:none;flex-shrink:0}
.brand-seal img{display:block;width:116px;max-height:126px;max-width:100%;height:auto;object-fit:contain}
.header-right{position:absolute;top:50%;right:clamp(20px,5vw,82px);transform:translateY(-50%);gap:22px}
.nav{gap:18px}
.nav a{color:var(--ink)}
.nav a:hover,.nav a.active{color:var(--gold)}
.footer{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:31px 20px 35px;background:var(--paper)}
.footer-signature{display:flex;flex-direction:column;align-items:center;gap:2px}
.footer-house{font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:400;letter-spacing:3px;line-height:1.25;color:var(--ink)}
.footer-subtitle{font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:400;letter-spacing:2px;line-height:1.35;color:var(--muted)}
.button:not(.secondary),.login .button.full{background:var(--accent);border-color:var(--accent);color:#FFFFFF}
.button:not(.secondary):hover,.login .button.full:hover{background:#AD9480;border-color:#AD9480;color:#FFFFFF}
.button:focus-visible,a:focus-visible,input:focus-visible{outline-color:var(--accent)}
.login{background:var(--paper)}
@media(max-width:800px){.header{min-height:150px;padding:15px 20px 40px}.brand-seal img{width:108px;max-height:106px}.header-right{top:auto;right:20px;bottom:12px;transform:none}.header-right .nav{display:none}}
@media(max-width:540px){.header{min-height:148px}.brand-seal img{width:102px;max-height:104px}.footer{padding:28px 15px 30px}.footer-house{font-size:15px}.footer-subtitle{font-size:8px}}


/* V4 | The Maison's seal at ceremonial scale; clear two-stage admission. */
.header{min-height:258px;padding:0 clamp(20px,5vw,82px);overflow:hidden}
.brand-seal{width:244px;height:246px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.brand-seal img{display:block;flex:0 0 auto;width:600px;height:auto;max-width:none;max-height:none;object-fit:initial}
.header-right{z-index:2}
.login-wrap{padding-top:64px}
.login{max-width:460px;padding:48px 40px 46px}
.login .admission-intro{line-height:1.8;margin:15px 0 0}
.admission-step{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);margin-top:32px;padding-bottom:12px;text-align:left}
.admission-step span{font-size:9px;line-height:1.5;letter-spacing:.065em;text-transform:uppercase;color:#a39a90}
.admission-step span.current{color:#8e7461;font-weight:700}
.admission-step span.completed{color:#77736d}
.admission-form{margin-top:25px}
.admission-identity{text-align:left;display:flex;flex-direction:column;gap:4px;margin-top:25px;padding:14px 16px;background:#f1eae2;border:1px solid var(--line)}
.admission-identity strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.admission-identity .text-button{text-align:left;margin-top:7px;font-size:11px;color:#866e59;text-decoration:underline;text-underline-offset:3px}
.admission-help{font-size:11px!important;line-height:1.7!important;margin:18px 0 8px!important;color:var(--muted)}
.admission-alt{display:inline-block;text-decoration:underline;text-underline-offset:4px;margin-top:22px;color:#816a56;font-size:11px}
.admission-form .button.full{background:var(--gold);border-color:var(--gold);color:#fff;letter-spacing:.15em}
.admission-form .button.full:hover{background:#a88d78;border-color:#a88d78}
@media(max-width:800px){
 .header{min-height:228px;padding:0 20px 26px}
 .brand-seal{width:205px;height:205px}
 .brand-seal img{width:520px;max-width:none;max-height:none}
 .header-right{right:18px;bottom:10px}
}
@media(max-width:540px){
 .header{min-height:210px;padding:0 12px 22px}
 .brand-seal{width:186px;height:186px}
 .brand-seal img{width:480px;max-width:none;max-height:none}
 .login-wrap{padding:40px 16px 65px}
 .login{padding:34px 22px 36px}
 .admission-step{gap:7px}
 .admission-step span{font-size:8px}
}

/* V5 | L’Aile d’Honneur: coherent editorial architecture */
.login h1{font-size:clamp(43px,4.9vw,64px);line-height:1.12;letter-spacing:-.027em}
.hero h1{font-size:clamp(50px,5.8vw,82px);line-height:1.12;letter-spacing:-.025em}
.hero{max-width:880px;padding-top:28px;padding-bottom:20px}
.hero p{max-width:700px;line-height:1.9}
.section-title h2{font-size:clamp(27px,3vw,42px)}
.room-cover .roman{opacity:.75}
@media(max-width:540px){.login h1{font-size:45px}.hero h1{font-size:46px}.hero{padding-top:18px}}
