/* /hostel-handbook-rules/ — "Standing orders board": wood-framed header, routine bugle line, numbered standing-order plaques, chevron offence ranks */
.p-hostel-handbook-rules .hh{max-width:1060px;margin:0 auto}
.p-hostel-handbook-rules .hh-head{margin-bottom:34px;padding:clamp(24px,4vw,40px);background:var(--olive-900);color:#E6ECE6;border:10px solid #6B4A2B;box-shadow:inset 0 0 0 2px var(--brass)}
.p-hostel-handbook-rules .hh-head h1{margin:0 0 12px;font-size:clamp(30px,4.2vw,46px);color:var(--gold)}
.p-hostel-handbook-rules .hh-lead{margin:0;font-size:18px;line-height:1.75;color:#E6ECE6}
.p-hostel-handbook-rules .hh-lead strong{color:#fff}
.p-hostel-handbook-rules .hh-sec{margin-bottom:38px}
.p-hostel-handbook-rules .hh-sec h2{margin:0 0 16px;padding-bottom:8px;font-size:clamp(24px,2.6vw,30px);color:var(--olive-900);border-bottom:3px solid var(--olive-900);box-shadow:0 3px 0 #fff,0 5px 0 var(--gold)}
.p-hostel-handbook-rules .hh-sec p,.p-hostel-handbook-rules .hh-sec li{font-size:17px;line-height:1.65}
.p-hostel-handbook-rules .hh-sec--life{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px 30px;align-items:center;padding:24px;background:var(--stone-2)}
.p-hostel-handbook-rules .hh-sec--life h2{grid-column:1 / -1}
.p-hostel-handbook-rules .hh-sec--life p{margin:0}
.p-hostel-handbook-rules .hh-quote{margin:0;padding:18px 20px;background:#fff;border-left:5px solid var(--maroon);font-family:var(--ff-head);font-size:21px;font-weight:600;line-height:1.35;color:var(--maroon)}
.p-hostel-handbook-rules .hh-routine{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;counter-reset:r}
.p-hostel-handbook-rules .hh-routine::before{content:"";position:absolute;left:8%;right:8%;top:22px;height:4px;background:repeating-linear-gradient(90deg,var(--army) 0 14px,transparent 14px 22px)}
.p-hostel-handbook-rules .hh-routine li{counter-increment:r;position:relative;padding-top:58px;text-align:center}
.p-hostel-handbook-rules .hh-routine li::before{content:counter(r);position:absolute;left:50%;top:0;width:48px;height:48px;margin-left:-24px;display:grid;place-items:center;border-radius:50%;background:var(--gold);border:4px solid var(--olive-900);font-family:var(--ff-head);font-weight:800;font-size:20px;color:var(--ink)}
.p-hostel-handbook-rules .hh-routine h3{margin:0 0 4px;font-size:19px;color:var(--army)}
.p-hostel-handbook-rules .hh-routine p{margin:0;font-size:16px}
.p-hostel-handbook-rules .hh-orders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;counter-reset:o}
.p-hostel-handbook-rules .hh-orders li{counter-increment:o;position:relative;padding:16px 16px 16px 70px;background:#fff;border:1px solid var(--line);border-left:0;box-shadow:inset 6px 0 0 var(--army)}
.p-hostel-handbook-rules .hh-orders li::before{content:"SO\A" counter(o);white-space:pre;position:absolute;left:18px;top:14px;font-family:var(--ff-head);font-weight:800;font-size:14px;line-height:1.05;letter-spacing:.08em;text-align:center;color:var(--maroon)}
.p-hostel-handbook-rules .hh-orders strong{display:block;font-family:var(--ff-head);font-size:20px;color:var(--olive-900)}
.p-hostel-handbook-rules .hh-orders p{margin:2px 0 0;font-size:16px}
.p-hostel-handbook-rules .hh-facilities{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;counter-reset:f}
.p-hostel-handbook-rules .hh-facilities li{counter-increment:f;padding:0 0 14px;background:var(--stone-2);text-align:center}
.p-hostel-handbook-rules .hh-facilities li::before{content:"No. 0" counter(f);display:block;margin-bottom:12px;padding:8px 6px;background:var(--army);color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.p-hostel-handbook-rules .hh-facilities h3{margin:0 10px 4px;font-size:19px;color:var(--olive-900)}
.p-hostel-handbook-rules .hh-facilities p{margin:0 10px;font-size:15.5px}
.p-hostel-handbook-rules .hh-tips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.p-hostel-handbook-rules .hh-tips li{padding:12px 16px 12px 44px;position:relative;background:#FFF8D6;border:1px solid rgb(var(--brass-rgb) / .45)}
.p-hostel-handbook-rules .hh-tips li::before{content:"";position:absolute;left:14px;top:16px;width:16px;height:16px;border-radius:50%;background:var(--maroon);box-shadow:inset 0 0 0 4px #FFF8D6,0 0 0 2px var(--maroon)}
.p-hostel-handbook-rules .hh-ranks{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.p-hostel-handbook-rules .hh-ranks li{position:relative;padding:14px 16px 14px 86px;background:#fff;border:1px solid var(--line)}
.p-hostel-handbook-rules .hh-ranks li::before{content:"";position:absolute;left:18px;top:50%;width:46px;height:14px;margin-top:-7px;background:var(--gold);clip-path:polygon(0 0,50% 60%,100% 0,100% 40%,50% 100%,0 40%)}
.p-hostel-handbook-rules .hh-ranks li:nth-child(2)::before{height:28px;margin-top:-14px;background:linear-gradient(var(--brass) 0 50%,transparent 0) 0 0/100% 14px no-repeat,linear-gradient(var(--brass),var(--brass)) 0 14px/100% 14px no-repeat;-webkit-mask:linear-gradient(#000,#000);clip-path:polygon(0 0,50% 30%,100% 0,100% 20%,50% 50%,0 20%,0 50%,50% 80%,100% 50%,100% 70%,50% 100%,0 70%)}
.p-hostel-handbook-rules .hh-ranks li:nth-child(3)::before{height:36px;margin-top:-18px;background:var(--maroon);clip-path:polygon(0 0,50% 22%,100% 0,100% 14%,50% 36%,0 14%,0 33%,50% 55%,100% 33%,100% 47%,50% 69%,0 47%,0 66%,50% 88%,100% 66%,100% 80%,50% 100%,0 80%)}
.p-hostel-handbook-rules .hh-ranks strong{font-family:var(--ff-head);font-size:19px;color:var(--ink)}
.p-hostel-handbook-rules .hh-sec--final{padding:24px;background:var(--stone);border:2px solid var(--olive-900)}
.p-hostel-handbook-rules .hh-sec--final .hh-quote{margin-top:14px}
@media (max-width:900px){
  .p-hostel-handbook-rules .hh-routine,.p-hostel-handbook-rules .hh-facilities{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}
  .p-hostel-handbook-rules .hh-routine::before{display:none}
  .p-hostel-handbook-rules .hh-orders{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .p-hostel-handbook-rules .hh-head{border-width:6px}
  .p-hostel-handbook-rules .hh-sec--life{grid-template-columns:1fr;padding:18px}
  .p-hostel-handbook-rules .hh-routine,.p-hostel-handbook-rules .hh-facilities{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-hostel-handbook-rules .hh-orders,.p-hostel-handbook-rules .hh-tips{grid-template-columns:1fr}
  .p-hostel-handbook-rules .hh-sec--final{padding:18px}
}
