
:root{--bg:#0c0a08;--card:#16120d;--ink:#f1e7cf;--mut:#b4a583;--gold:#c9a24a;--gold2:#e6c878;--line:#3b2f1a;--hf:"Cormorant Garamond",Georgia,serif;--bf:"Montserrat",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(900px 480px at 50% -80px,#2a1f0a,transparent),var(--bg);color:var(--ink);font:400 16px/1.75 var(--bf);overflow-x:hidden}a{color:var(--gold2)}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:var(--hf);font-weight:600;margin:0;overflow-wrap:break-word}
.hd{border-top:3px solid var(--gold);border-bottom:1px solid var(--line);background:#090705}.hd .w{max-width:1140px;margin:0 auto;padding:10px 20px 8px;display:grid;justify-items:center;gap:6px}
.lng{display:flex;gap:4px}.lng a{font:600 11px var(--bf);letter-spacing:.18em;color:var(--mut);text-decoration:none;padding:3px 8px;border:1px solid transparent}.lng a.on{border-color:var(--gold);color:var(--gold2)}.lng a:hover{color:var(--gold2)}
.logo img{height:52px;width:auto;filter:sepia(1) saturate(2.6) hue-rotate(-14deg) brightness(1.05)}
.rn{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 0;padding-top:4px}.rn a{font:600 11.5px var(--bf);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:5px 12px;position:relative}.rn a+a:before{content:"◆";position:absolute;left:-4px;color:var(--gold);font-size:7px;top:50%;transform:translateY(-50%)}.rn a:hover,.rn a.on{color:var(--gold2)}
.btn{display:inline-block;background:var(--gold);color:#1a1203;text-decoration:none;font:700 13px var(--bf);letter-spacing:.18em;text-transform:uppercase;padding:13px 28px;border:1px solid var(--gold)}.btn:hover{background:transparent;color:var(--gold2)}
.w{max-width:1140px;margin:0 auto;padding:0 20px}
.hero{padding:54px 0 30px;text-align:center}.hero .fr{border:1px solid var(--gold);outline:1px solid var(--line);outline-offset:9px;padding:clamp(30px,5vw,64px) clamp(18px,4vw,60px);background:linear-gradient(180deg,rgba(201,162,74,.07),transparent)}.eyebrow{font:600 12px var(--bf);letter-spacing:.36em;text-transform:uppercase;color:var(--gold)}.hero h1{font:italic 600 clamp(34px,5.4vw,70px)/1.06 var(--hf);margin:14px 0 14px}.hero p{max-width:60ch;margin:0 auto 22px;color:var(--mut);font-size:17px}
.orn{display:flex;align-items:center;gap:12px;color:var(--gold);justify-content:center;margin:12px auto;max-width:300px}.orn i{height:1px;flex:1;background:var(--gold);opacity:.7}.orn b{font-size:9px;letter-spacing:.5em}
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0 40px}.door{border:1px solid var(--line);background:var(--card);text-decoration:none;color:var(--ink);display:grid;transition:.2s}.door:hover{border-color:var(--gold);transform:translateY(-3px)}.door .im{aspect-ratio:16/10;overflow:hidden;position:relative}.door img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.8)}.door .im:after{content:"";position:absolute;inset:8px;border:1px solid rgba(230,200,120,.55)}.door .tx{padding:16px 20px 20px}.door h3{font:italic 600 27px var(--hf);color:var(--gold2)}.door p{margin:4px 0 10px;font-size:14.5px;color:var(--mut)}.door span{font:700 11px var(--bf);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
h2.sec{font:italic 600 clamp(28px,3.6vw,42px)/1.1 var(--hf);text-align:center;margin:44px 0 6px}
.steps{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:22px 0;padding:0;counter-reset:s;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}.steps li{counter-increment:s;padding:20px 16px;border-right:1px solid var(--line);font-size:14.5px;color:var(--mut)}.steps li:last-child{border:0}.steps li:before{content:counter(s,upper-roman);display:block;font:italic 600 34px var(--hf);color:var(--gold);margin-bottom:4px}
.menu{margin:20px auto;max-width:820px;padding:0;list-style:none}.menu li{display:flex;align-items:baseline;gap:10px;padding:9px 0}.menu .a{font:600 17px var(--hf);color:var(--gold2);white-space:normal}.menu .d{flex:1;border-bottom:2px dotted var(--line);min-width:18px;transform:translateY(-4px)}.menu .b{text-align:right;color:var(--ink);font-size:15px;max-width:58%;overflow-wrap:anywhere}.menu .a{overflow-wrap:anywhere}
.note{margin:24px auto;max-width:820px;border:1px solid var(--line);border-left:3px solid var(--gold);padding:12px 18px;color:var(--mut);font-size:14.5px;background:rgba(201,162,74,.05)}
.cta{text-align:center;margin:40px 0 10px}
.banner{position:relative;height:clamp(180px,26vw,320px);overflow:hidden;border-bottom:1px solid var(--gold)}.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5)}.banner .w{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:28px}.banner h1{font:italic 600 clamp(36px,6vw,72px)/1 var(--hf)}.banner a{font:600 11px var(--bf);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--gold2);margin-bottom:8px}
.room{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:44px;padding:34px 0 20px}.room main{min-width:0}.room .lead{font:italic 400 clamp(20px,2.2vw,25px)/1.45 var(--hf);color:var(--ink);margin:0 0 20px}.room h2{font:italic 600 30px var(--hf);color:var(--gold2);margin:32px 0 8px;border-bottom:1px solid var(--line);padding-bottom:6px}.room p{margin:0 0 14px;color:#dccfae}.room ul{padding-left:20px;color:#dccfae}.room li{margin:6px 0}.room .menu{max-width:none}
.room aside{align-self:start;position:sticky;top:16px;border:1px solid var(--line);padding:16px 18px;background:var(--card)}.room aside h4{font:600 12px var(--bf);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}.room aside a{display:block;padding:7px 0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);font:italic 600 19px var(--hf)}.room aside a:hover{color:var(--gold2)}
.courses{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.courses div{border:1px solid var(--gold);padding:14px 12px;text-align:center;background:var(--card)}.courses small{font:600 10.5px var(--bf);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.courses b{display:block;font:italic 600 21px/1.2 var(--hf);margin:6px 0}.courses span{font-size:13.5px;color:var(--mut)}
.ranks{display:grid;gap:10px;margin:18px 0}.ranks div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:center;border:1px solid var(--line);background:linear-gradient(90deg,rgba(201,162,74,.12),transparent);padding:12px 18px}.ranks b{font:italic 600 26px var(--hf);color:var(--gold2)}.ranks small{display:block;color:var(--mut);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.ranks span{font-size:15px}
footer{margin-top:50px;border-top:1px solid var(--gold);background:#090705;color:var(--mut);font-size:13.5px;text-align:center}footer .w{padding:30px 20px 34px;display:grid;gap:8px;justify-items:center}footer p{margin:0;max-width:78ch}footer .rn{padding:0}
@media(max-width:960px){.doors{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:minmax(0,1fr)}.steps li{border-right:0;border-bottom:1px solid var(--line)}.room{grid-template-columns:minmax(0,1fr);gap:0}.room aside{position:static;order:2;margin-top:30px}.courses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.doors{grid-template-columns:minmax(0,1fr)}.rn a{padding:5px 8px;font-size:10.5px}.ranks div{grid-template-columns:minmax(0,1fr)}.menu .b{max-width:52%}.hero .fr{outline-offset:5px}.courses{grid-template-columns:minmax(0,1fr)}}
