/* ===== Cloned project header + overlay menu for the e-catalogue ===== */
.cathd__in{ display:flex; align-items:center; justify-content:space-between; padding:1.5rem 7vw; }
.cathd--over{ position:absolute; top:0; left:0; width:100%; z-index:50; }
.cathd--bar{ position:sticky; top:0; width:100%; z-index:50; background:rgba(13,9,6,.92); border-bottom:1px solid rgba(245,241,233,.08); }
.cathd__right{ display:flex; align-items:center; gap:clamp(.9rem,2.2vw,1.8rem); }
.cathd__logo{ width:auto; display:block; }
.cathd__logo--stack{ height:46px; filter:brightness(0) invert(1); }
.cathd__logo--cav{ height:18px; filter:brightness(0) invert(1); }
.cathd__cat{ font-family:'Helvetica Neue','Arimo',Helvetica,Arial,sans-serif; font-weight:500; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#fff; white-space:nowrap; transition:color .3s; }
.cathd__cat:hover{ color:#b1974a; }
.cathd__enq{ font-family:'Helvetica Neue','Arimo',Helvetica,Arial,sans-serif; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#fff; border-bottom:1px solid #fff; padding-bottom:.25rem; transition:.3s; }
.cathd__enq:hover{ color:#b1974a; border-color:#b1974a; }
.cathd__menu{ position:relative; display:inline-flex; align-items:center; gap:.6rem; background:none; border:0; cursor:pointer; font-family:'Helvetica Neue','Arimo',Helvetica,Arial,sans-serif; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#fff; padding:.4rem 0 .4rem 30px; }
.cathd__menu i{ position:absolute; left:0; display:block; width:20px; height:1.4px; background:#fff; }
.cathd__menu i:first-child{ top:calc(50% - 3px); }
.cathd__menu i:last-child{ top:calc(50% + 3px); }
.cathd__cavmark{ display:inline-flex; align-items:center; }
@media(max-width:760px){ .cathd__enq{ display:none; } }
@media(max-width:600px){ .cathd__cat{ display:none; } .cathd__logo--stack{ height:38px; } }

/* overlay menu (cloned from the project page) */
.menu{ position:fixed; inset:0; z-index:200; background:#241a11; color:#f5f1e9; display:flex; flex-direction:column; justify-content:center; padding:clamp(4rem,10vh,8rem) 7vw; opacity:0; visibility:hidden; transform:translateY(-12px); transition:opacity .55s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1), visibility .55s; }
.menu.open{ opacity:1; visibility:visible; transform:none; }
.menu__close{ position:absolute; top:1.7rem; right:7vw; width:34px; height:34px; background:none; border:0; cursor:pointer; z-index:2; }
.menu__close span{ position:absolute; left:4px; top:16px; width:26px; height:1.4px; background:#f5f1e9; }
.menu__close span:first-child{ transform:rotate(45deg); } .menu__close span:last-child{ transform:rotate(-45deg); }
.menu__cols{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,6vw,6rem); align-items:start; width:100%; max-width:1080px; }
.menu__lbl{ font-family:'Helvetica Neue','Arimo',Helvetica,Arial,sans-serif; font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:#b1974a; margin-bottom:1.3rem; }
.menu__main{ display:flex; flex-direction:column; gap:clamp(.3rem,1.2vh,.85rem); }
.menu__main a{ display:flex; align-items:baseline; gap:.9rem; font-family:'EB Garamond','Cormorant Garamond',Georgia,serif; font-weight:500; font-size:clamp(1.9rem,4.4vw,3.3rem); line-height:1.1; color:#f5f1e9; transition:color .3s, padding-left .4s cubic-bezier(.16,1,.3,1); }
.menu__main a:hover{ color:#b1974a; padding-left:.6rem; }
.menu__main a.is-current{ color:#b1974a; }
.menu__sections{ display:flex; flex-direction:column; gap:.55rem; border-left:1px solid rgba(245,241,233,.13); padding-left:clamp(1.4rem,3vw,2.6rem); }
.menu__sections>a{ font-family:'Helvetica Neue','Arimo',Helvetica,Arial,sans-serif; font-size:clamp(.95rem,1.5vw,1.08rem); color:rgba(245,241,233,.72); transition:color .3s, padding-left .3s; }
.menu__sections>a:hover{ color:#f5f1e9; padding-left:.3rem; }
.menu__foot{ position:absolute; left:7vw; bottom:2.2rem; }
.menu__cav{ display:flex; flex-direction:column; align-items:flex-start; gap:.5rem; }
.menu__cav span{ font-family:'Helvetica Neue','Arimo',Helvetica,Arial,sans-serif; font-size:.58rem; letter-spacing:.24em; text-transform:uppercase; color:#b1974a; }
.menu__cav img{ height:18px; width:auto; max-width:130px; filter:brightness(0) invert(1); }
@media(max-width:760px){ .menu{ justify-content:flex-start; overflow-y:auto; padding:clamp(5rem,12vh,8rem) 7vw 3rem; } .menu__cols{ grid-template-columns:1fr; gap:2rem; } .menu__sections{ border-left:0; border-top:1px solid rgba(245,241,233,.13); padding-left:0; padding-top:1.6rem; } .menu__foot{ position:static; margin-top:2.5rem; } .menu__close{ position:fixed; } }
