/* E-Catalogue page */
.cat-dl{background:var(--white);padding:110px 0;overflow:hidden}
.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.cat-copy{display:flex;flex-direction:column;gap:18px}
.cat-h{font-family:var(--serif);font-size:clamp(42px,5vw,68px);line-height:1.04;color:var(--green)}
.cat-h b{font-weight:700}
.cat-h span{font-weight:400;font-style:italic;color:var(--green-soft)}
.cat-copy > p{color:var(--muted);font-size:16.5px;max-width:540px}
.cat-in{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--bronze-text);margin:4px 0 12px}
.cat-list li{font-size:15.5px}
.cat-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.cat-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;background:var(--green);color:var(--white);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
.cat-btn:hover{background:var(--bronze);color:var(--green-deep);transform:translateY(-2px)}
.cat-btn-o{background:transparent;color:var(--green);border:1px solid rgba(30,59,47,.35)}
.cat-btn-o:hover{background:var(--green);color:var(--white)}
.cat-note{font-size:13.5px;color:var(--muted)}

/* The catalogue itself: a printed A4 cover, tilted in 3D, leaning towards the pointer */
.cat-stage{perspective:1800px;display:flex;justify-content:center;align-items:center;min-height:560px}
.cat-book{position:relative;width:min(360px,72vw);aspect-ratio:210/297;transform-style:preserve-3d;
  transform:rotateY(var(--ry,-22deg)) rotateX(var(--rx,7deg)) rotateZ(-2deg) translateY(var(--ty,0px));
  transition:transform .9s cubic-bezier(.16,1,.3,1)}
.cat-stage.live .cat-book{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.cb-sheet{position:absolute;inset:0;border-radius:2px 5px 5px 2px;background:linear-gradient(90deg,#E9E2D3,#FBF8F2 30%,#F2ECE0)}
.cb-sheet-1{transform:translate3d(7px,5px,-8px);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.cb-sheet-2{transform:translate3d(13px,10px,-16px);box-shadow:24px 34px 60px rgba(19,40,31,.32),6px 8px 18px rgba(19,40,31,.18)}
.cb-cover{position:absolute;inset:0;border-radius:2px 5px 5px 2px;overflow:hidden;background:var(--green-deep);color:var(--white);transform:translateZ(1px)}
.cb-photo{position:absolute;left:0;right:0;top:0;height:58%;background:#2C4F40 center/cover no-repeat}
.cb-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,40,31,.55) 0%,rgba(19,40,31,.1) 40%,rgba(19,40,31,.35) 75%,var(--green-deep) 100%)}
.cb-weave{position:absolute;left:0;right:0;top:56%;height:9%;width:100%;stroke:var(--bronze);stroke-width:1.6;opacity:.55}
.cb-spine{position:absolute;left:0;top:0;bottom:0;width:7%;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,.08) 60%,rgba(255,255,255,.06))}
.cb-brand{position:absolute;left:12%;top:7%;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.cb-word{font-family:var(--serif);font-weight:700;font-size:clamp(18px,2vw,24px);letter-spacing:.16em;line-height:1}
.cb-word span{color:var(--bronze)}
.cb-brand small{font-family:var(--sans);font-size:7.5px;font-weight:600;letter-spacing:.78em;color:var(--bronze);text-transform:uppercase}
.cb-title{position:absolute;left:12%;right:9%;top:68%;display:flex;flex-direction:column;gap:7px}
.cb-title small{font-size:9px;letter-spacing:.32em;text-transform:uppercase;font-weight:600;color:var(--bronze)}
.cb-title strong{font-family:var(--serif);font-weight:600;font-size:clamp(22px,2.6vw,32px);line-height:1.02}
.cb-title span{font-size:10px;color:#C2CEC7;letter-spacing:.04em}
.cb-foot{position:absolute;left:12%;right:9%;bottom:5%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:#C2CEC7}
.cb-foot img{width:22px;height:22px;opacity:.9}
.cb-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0%,transparent calc(var(--gx,40%) - 18%),rgba(255,255,255,.14) var(--gx,40%),transparent calc(var(--gx,40%) + 18%),transparent 100%)}
@media (prefers-reduced-motion:no-preference){
  .cat-stage.reveal .cat-book{--ty:40px;--ry:-38deg}
  .cat-stage.reveal.in .cat-book{--ty:0px;--ry:-22deg}
}
.cat-stage.live .cat-book{--ty:0px}

@media (min-width:960px){
  .cat-dl{min-height:100vh;display:flex;align-items:center;padding:104px 0 40px;box-sizing:border-box}
  .cat-dl > .wrap{width:100%}
}
@media (max-width:900px){
  .cat-grid{grid-template-columns:1fr;gap:40px}
  .cat-stage{min-height:auto;padding:20px 0 30px}
  .cat-book{width:min(250px,64vw)}
}

/* Cover text scales with the cover itself, so it reads the same at any size */
.cat-book{container-type:inline-size}
.cb-photo::after{background:linear-gradient(180deg,rgba(19,40,31,.82) 0%,rgba(19,40,31,.35) 26%,rgba(19,40,31,.12) 45%,rgba(19,40,31,.4) 75%,var(--green-deep) 100%)}
.cb-word{font-size:7.4cqw}
.cb-brand{gap:1.6cqw}
.cb-brand small{font-size:2.3cqw;letter-spacing:.78em}
.cb-title{gap:2cqw}
.cb-title small{font-size:2.5cqw}
.cb-title strong{font-size:9cqw}
.cb-title span{font-size:2.9cqw}
.cb-foot{font-size:2.5cqw}
.cb-foot img{width:6.5cqw;height:6.5cqw}
.cb-brand small,.cb-word{text-shadow:0 1px 8px rgba(10,22,17,.6)}

/* Company profile: its own document, its own switch */
.cat-prof{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:10px;padding:16px 20px;border:1px solid rgba(30,59,47,.16);border-radius:14px;background:var(--cream)}
.cat-prof strong{display:block;font-family:var(--serif);font-size:19px;color:var(--green)}
.cat-prof span{display:block;font-size:13.5px;color:var(--muted)}
.cat-mini{flex:none;display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--green);color:var(--green);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:background .3s var(--ease),color .3s var(--ease)}
.cat-mini:hover{background:var(--green);color:var(--white)}
.cat-note a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* Collaborate band: a consultation prompt, distinct from the Export page's shipping banner */
.cat-collab{position:relative;min-height:78vh;display:flex;align-items:center;text-align:center;color:var(--white);overflow:hidden;padding:110px 0}
.cat-collab-bg{position:absolute;inset:0;background:#2C4F40 center/cover no-repeat}
.cat-collab-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,40,31,.8),rgba(19,40,31,.9))}
.cat-collab-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px}
.cat-collab .eyebrow{color:var(--bronze)}
.cat-collab-big{font-family:var(--serif);font-weight:600;font-size:clamp(36px,5.4vw,80px);line-height:1.1;max-width:1000px;color:var(--white)}
.cat-collab-big em{display:block;color:var(--bronze);font-style:italic;font-weight:500}
.cat-collab p{max-width:620px;color:#D5DFD9;font-size:17px}
.cat-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px}
.cat-pill{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;border-radius:999px;background:var(--bronze);color:var(--green-deep);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
.cat-pill:hover{background:var(--white);color:var(--green-deep);transform:translateY(-2px)}
.cat-pill-o{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.55)}
.cat-pill-o:hover{background:var(--white);color:var(--green-deep)}
@media (max-width:560px){.cat-prof{flex-direction:column;align-items:flex-start}.cat-collab{padding:90px 0}}
@media (min-width:960px) and (max-height:940px){
  .cat-copy{gap:12px}
  .cat-h{font-size:clamp(40px,4.4vw,60px)}
  .cat-list li{padding-top:3px;padding-bottom:3px}
  .cat-in{margin:0 0 6px}
  .cat-prof{padding:10px 16px;margin-top:4px}
  .cat-prof span{display:none}
}
.cat-prof{max-width:520px}
@media (max-width:1099px), (pointer:coarse){.cat-mini{min-height:44px}}
