:root{
  --navy:#101729; --ink:#525555; --teal:#5ab8ad; --red:#e12c28;
  --panel:#ececec; --kraft:#c8ae8f; --line:#2b3b56; --white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:#d9dbde;font-size:15px;line-height:1.45;overflow-x:hidden}
img{max-width:100%;display:block}
ul{list-style:none}
strong,b{color:var(--navy);font-weight:700}


/* slide */
.slide{position:relative;background:#fff;width:100%;max-width:1400px;margin:0 auto 18px;aspect-ratio:297/210;overflow:hidden;padding:4.5% 5.5%}
.mark{position:absolute;top:5.5%;right:4.5%;width:6.5%;min-width:56px;height:auto}
.mark-center{position:static;width:clamp(70px,9%,120px);margin:0 auto}
.kicker{font-size:.62em;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
.title{font-size:1.15em;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);font-weight:400}
.title b{font-weight:700}
.hl{display:inline-block;padding:0 .35em;color:#fff;background:var(--navy)}
.hl.red{background:var(--red)}
.hl.teal{background:var(--teal)}
.slide{font-size:clamp(11px,1.25vw,17.5px)}

/* 1 cover */
.s1{display:flex;flex-direction:column;justify-content:flex-start;padding:0}
.s1 .head{text-align:center;padding-top:16%}
.s1 h1{font-weight:400;font-size:1.25em;color:var(--navy);letter-spacing:.02em;text-transform:uppercase;margin-top:5%;line-height:1.35}
.s1 .visual{position:absolute;bottom:4%;left:0;right:0;display:flex;align-items:center}
.s1 .waste{width:52%;margin-left:-3%}
.s1 .arrow{font-size:2em;color:var(--navy);margin:0 1% 0 -2%}
.s1 .bags{width:43%}

/* 2 problem */
.s2{padding:0;text-align:center}
.s2 .photo{position:relative;height:57%;background:url(img/warehouse.png) center/cover}
.s2 .photo .mark{filter:brightness(0) invert(1)}
.s2 .badge{position:absolute;left:50%;top:40%;transform:translateX(-50%);font-size:1.14em;text-transform:uppercase;letter-spacing:.04em;line-height:1.25}
.s2 .badge span{display:inline-block;background:#fff;color:var(--navy);padding:0 .4em}
.s2 .badge span.n{background:var(--navy);color:#fff;font-weight:600}
.s2 .stat{font-weight:400;margin-top:6%;font-size:1.26em;color:var(--navy);text-transform:uppercase;letter-spacing:.03em;line-height:1.3}
.s2 .stat .hl{font-weight:600}
.s2 .box{margin:3.5% auto 0;width:71%;border:1px solid var(--navy);padding:1.2% 2%;font-size:.94em}
.s2 .box em{font-style:normal;color:var(--red);font-weight:600}

/* 3 value */
.s3{text-align:center;padding-top:8%}
.s3 .lead{font-size:1.04em}
.s3 .story{font-weight:400;margin-top:3.5%;color:var(--navy);text-transform:uppercase;font-size:1.33em;letter-spacing:.03em;line-height:1.25}
.s3 .story .hl{font-weight:600;background:var(--teal)}
.s3 .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5% 4%;margin:4.5% auto 0;width:90%}
.s3 .grid img{height:5.2em;margin:0 auto .6em;mix-blend-mode:multiply}
.s3 .grid h3{font-size:.91em;color:var(--navy);font-weight:700;text-transform:uppercase}
.s3 .grid p{font-size:.91em;line-height:1.3}

/* 4 about */
.s4{padding-top:8.5%}
.s4 .intro{font-size:.98em;max-width:88%}
.s4 .models-lead{margin-top:3%;font-size:.78em}
.s4 h2{font-size:1.26em;color:var(--navy);font-weight:400;text-transform:uppercase}
.s4 h2 b{font-weight:700}
/* 4 equal-height containers; Circular Partner (forest) vs 360º Purchasing (sage) */
.s4 .models{display:grid;grid-template-columns:1fr 3fr;gap:2.5%;margin-top:1.6%;width:100%}
.s4 .models>div{display:flex;flex-direction:column}
.s4 .models h3{font-weight:400;font-size:1.2em;margin-bottom:.5em}
.s4 .models h3 span{font-weight:300;margin-right:.4em;opacity:.6}
.s4 .m-cp h3{color:#1C3528}.s4 .m-360 h3{color:#4A7C5F}
.s4 .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0 3.5%}
.s4 .pill{font-weight:700;font-size:.84em;height:2.3em;display:flex;align-items:center;justify-content:center;text-align:center;margin-bottom:.55em;padding:0 .4em}
.s4 .m-cp .pill{background:#1C3528;color:#F5F0E8;border:1.5px solid #1C3528}
.s4 .m-360 .pill{background:#E3EDE6;color:#1C3528;border:1.5px solid #4A7C5F}
.s4 .models p{font-size:.72em;line-height:1.35}
.s4 .note{background:#4A7C5F;color:#fff;font-weight:600;font-size:.74em;text-align:center;padding:.3em;margin-top:2.2%}
/* logo wall: same order as the catalogue; the two top rules separate material donors (left) from buyers (right) */
.s4 .brands{display:grid;grid-template-columns:1fr 3fr;gap:2.5%;margin-top:3.5%}
.s4 .bgrp{border-top:2px solid #3051A7;padding-top:.6em}
.s4 .brow{display:flex;justify-content:space-between;align-items:center;height:5.1em;gap:0 1em}
.s4 .bL .brow{justify-content:space-around;height:4.08em}
.s4 .glab{font-size:.6em;text-transform:uppercase;letter-spacing:.1em;color:#3051A7;margin:0 0 .3em}
.s4 .bL .brow{grid-template-columns:repeat(4,1fr)}
.s4 .bR .brow{grid-template-columns:repeat(9,1fr)}
.s4 .brow a,.s4 .brow span{display:flex;align-items:center;justify-content:center;height:100%;min-width:0;flex:0 1 auto}
.s4 .brow img{display:block;max-width:100%;object-fit:contain} /* size set per logo: equal visible area, identical max box */
.s4 .brow a:hover img,.s4 .brow a:focus-visible img{transform:scale(1.06)}
.s4 .wall-cap{display:flex;align-items:center;gap:1em;font-size:.66em;margin-top:.8%}
.s4 .wall-cap::before,.s4 .wall-cap::after{content:"";flex:1;border-top:2px solid #3051A7}

/* 5 two ways */
.s5{display:grid;grid-template-columns:57% 43%;padding:0}
.s5 .l{padding:9% 5% 3% 8%;display:flex;flex-direction:column}
.s5 .r{background:var(--panel);padding:14% 6.5% 0 7%;position:relative}
.s5 .title{font-size:1.06em}
.s5 .two{display:grid;grid-template-columns:1fr 1fr;gap:4%;margin-top:3%;font-size:.78em;text-transform:uppercase;color:var(--ink)}
.s5 .two div{display:flex;gap:.6em}
.s5 .two span{font-size:2.1em;font-weight:300;color:#8a8d90;line-height:1}
.s5 .circle{width:86%;height:auto;margin-top:0;margin-left:5%;transform:translateY(-3%);flex:1;min-height:0;overflow:visible}
.s5 .why{font-size:1.25em;font-weight:700;color:var(--navy);margin-bottom:5%}
.s5 .checks li{font-size:.8em;padding-left:1.8em;position:relative;margin-bottom:3.2%;line-height:1.35}
.s5 .checks li::before{content:"\2713";position:absolute;left:0;top:-.05em;width:1.15em;height:1.15em;border:1.5px solid var(--teal);border-radius:50%;color:var(--teal);font-size:.85em;text-align:center;line-height:1.1em;font-weight:700}
.s5 .cta{border:1px solid var(--navy);color:var(--navy);text-align:center;font-size:.74em;text-transform:uppercase;padding:.7em;margin-top:5%}

/* 7 benefits */
.s7{padding-top:4.8%}
.s7 .wrap{display:block;margin-top:7%}
.s7 .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9% 4%;text-align:center;margin:0 auto;width:90%}
.s7 .grid img{height:6em;margin:0 auto .6em;mix-blend-mode:multiply} /* matches slide 3 icons (their artwork has ~15% more padding) */
.s7 .grid h3{font-size:.91em;font-weight:700;color:var(--navy);text-transform:uppercase}
.s7 .grid p{font-size:.91em;line-height:1.3;max-width:34ch;margin:0 auto}

/* 8 impact label */
.s8{display:grid;grid-template-columns:34% 1fr;grid-template-rows:minmax(0,1fr);gap:4%;padding:5.5% 5.5% 5% 5.5%}
.s8 .txt{display:flex;flex-direction:column}
.s8 .head p{font-size:.83em}
.s8 .head h2{font-size:1.21em;color:var(--navy);font-weight:400;text-transform:uppercase;line-height:1.25;margin-top:.4em}
.s8 .copy{font-size:.83em;margin-top:7%}
.s8 .copy p{margin-bottom:1em}
.s8 .visuals{display:grid;grid-template-columns:auto 7.5em auto;justify-content:center;align-items:center;gap:0 1.5%;position:relative;height:100%;min-height:0;padding-top:4%}
.s8 .visuals figure{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center}
.s8 .visuals img{height:calc(100% - 2em);width:auto;max-width:100%;object-fit:contain}
/* metrics shown without a container; linked to the QR on the tag */
.s8 .scan{align-self:stretch;position:relative}
.s8 .scan p{position:absolute;left:0;right:0;top:76%;font-size:.6em;line-height:1.3;color:var(--navy);text-align:center;padding-top:1.1em;border-top:1.5px dashed var(--teal)}
.s8 .scan p::before{content:"";position:absolute;left:-.5em;top:-.42em;width:.7em;height:.7em;border-radius:50%;background:var(--teal)}
.s8 .scan p::after{content:"";position:absolute;right:-.2em;top:-.5em;border:.45em solid transparent;border-left:.7em solid var(--teal);border-right:0}
.s8 .scan b{display:block;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2em;color:var(--teal)}
.s8 figcaption{font-size:.55em;text-transform:uppercase;letter-spacing:.08em;margin-top:.9em;color:var(--ink)}

/* responsive */
@media screen and (max-width:760px){
  .slide{aspect-ratio:auto;font-size:15px;padding:56px 16px 32px;margin-bottom:10px}
  .mark{top:14px;right:16px;width:64px}
  .s1{padding:40px 0 24px}.s1 .head{padding:0 16px}
  .s1 .visual{position:static;margin-top:24px}
  .s2{padding:0 0 32px}.s2 .photo{height:260px}
  .s2 .box,.s2 .stat{width:auto;margin-left:16px;margin-right:16px}
  .s3 .grid{grid-template-columns:repeat(2,1fr);width:100%;gap:28px 12px}
  .s4 .intro,.s4 .models,.s4 .wall-cap{max-width:none;width:100%}
  .s4 .brands{grid-template-columns:1fr;gap:18px}
  .s4 .brow{height:auto;gap:10px 4%;margin-bottom:10px}
  .s4 .brow{flex-wrap:wrap;justify-content:space-around;height:auto;gap:12px 14px}
  .s4 .brow img{max-width:30vw;max-height:40px}
  .s4 .brow a,.s4 .brow span{height:40px}
  .s4 .pill{height:auto;min-height:2.3em}
  .s5 .circle{width:100%}
  .s4 .models{grid-template-columns:1fr;gap:20px}
  .s4 .cols{grid-template-columns:1fr;gap:12px}
  .s5{grid-template-columns:1fr;padding:0}
  .s5 .l{padding:56px 16px 24px}.s5 .r{padding:28px 16px}
  .s5 .two{grid-template-columns:1fr;gap:12px}
  .s7 .wrap{grid-template-columns:1fr;gap:28px}
  .s7 .grid{grid-template-columns:1fr;padding:0;gap:32px}
  .s7 .grid img{height:96px}
  .s8{grid-template-columns:1fr;grid-template-rows:auto;gap:20px;padding-top:56px}
  .s8 .visuals{grid-template-columns:1fr;gap:16px;height:auto;padding:0}
  .s8 .scan p{position:static;border-top:0;padding:0;font-size:.85em}.s8 .scan p::before,.s8 .scan p::after{display:none}
  .s8 .scan p b::after{content:" ↓"}
  .s8 .visuals figure{height:auto}
  .s8 .visuals img{height:auto;width:auto;max-width:100%}
  .s8 .visuals .tag img{max-height:520px}
}

/* ===== REZET Global system (header, cards, product detail, print product pages) =====
   forest #1C3528 · moss #2D5440 · sage #4A7C5F · sage-lt #6B9E80 · gold #B8943A (single accent: «in photo»)
   cream #F5F0E8 · sand #E8E0D0 · paper #FDFAF5 · ink #121826
   Playfair Display = what should be felt (product name, one size) · DM Mono = what should be checked · DM Sans = the rest */
:root{--forest:#1C3528;--moss:#2D5440;--sage:#4A7C5F;--sage-lt:#6B9E80;--gold:#B8943A;--cream:#F5F0E8;--sand:#E8E0D0;--paper:#FDFAF5;--gink:#121826;
  --f-disp:"Playfair Display",Georgia,serif;--f-sans:"DM Sans",system-ui,sans-serif;--f-mono:"DM Mono",ui-monospace,monospace;--hh:132px}

/* ---- Fixed header ---- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:20;background:var(--forest);color:var(--cream);font-family:var(--f-sans);box-shadow:0 2px 14px rgba(18,24,38,.25)}
.hd-inner{max-width:1400px;margin:0 auto;padding:12px 24px}
.hd-top{display:flex;align-items:center;gap:20px}
.brand{flex:none;display:flex;align-items:center} /* no container: logo in white straight on the green header (Cinthia, 11-oct) */
.brand img{filter:brightness(0) invert(1)} /* same master logo, recoloured to white; not redrawn */
.brand img{height:32px;width:auto}
.hd-lead{flex:1;font-size:14px;color:rgba(245,240,232,.82)}
.hd-lead strong{color:var(--cream);font-weight:700}
.btn-pdf{flex:none;font:500 13px var(--f-sans);background:var(--cream);color:var(--forest);border:0;border-radius:4px;padding:8px 14px;cursor:pointer}
.btn-pdf:hover{background:var(--paper)}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:10px}
.dd{position:relative}
.dd-btn{font:400 13px var(--f-sans);color:var(--cream);background:var(--moss);border:1px solid rgba(245,240,232,.28);border-radius:4px;padding:7px 30px 7px 12px;cursor:pointer;min-width:180px;text-align:left;position:relative}
.dd-btn:hover{background:#355f49}
.dd-btn::after{content:"";position:absolute;right:12px;top:50%;width:7px;height:7px;border-right:1.5px solid var(--cream);border-bottom:1.5px solid var(--cream);transform:translateY(-70%) rotate(45deg)}
.dd-btn[aria-expanded="true"]::after{transform:translateY(-20%) rotate(-135deg)}
.dd-btn .k{font:400 11px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:rgba(245,240,232,.65);margin-right:.4em}
.dd-panel{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;background:var(--paper);color:var(--forest);border:1px solid var(--sand);border-radius:6px;box-shadow:0 10px 30px rgba(18,24,38,.22);padding:6px;z-index:30;font-family:var(--f-sans)}
.dd-panel[hidden]{display:none}
.dd-panel [role="option"],.dd-panel label{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:4px;font-size:14px;cursor:pointer}
.dd-panel [role="option"]:hover,.dd-panel [role="option"].focus,.dd-panel label:hover{background:var(--cream)}
.dd-panel [role="option"][aria-selected="true"]{font-weight:700}
.dd-panel [role="option"][aria-selected="true"]::before{content:"\2713";color:var(--sage)}
.dd-panel ul{list-style:none;padding:0;margin:0}
#b-list{max-height:calc(100vh - 140px);overflow:auto;min-width:260px}
.dd-group{font:500 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sage);padding:10px 10px 4px;border-top:1px solid var(--sand);margin-top:4px}
.dd-panel input{accent-color:var(--forest);width:16px;height:16px}
.dd-panel .sw{display:none}
.result{font:400 12px var(--f-mono);color:rgba(245,240,232,.85);margin-left:auto;letter-spacing:.02em}
.result b{color:var(--cream);font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip{font:500 12px var(--f-sans);background:var(--cream);color:var(--forest);border:0;border-radius:999px;padding:3px 10px;cursor:pointer}
.chip span{margin-left:6px;font-weight:700}
.clear{font:400 12px var(--f-sans);background:none;border:0;color:var(--cream);text-decoration:underline;cursor:pointer;padding:2px}
.clear[hidden],.chips:empty{display:none}
:focus-visible{outline:2px solid var(--sage-lt);outline-offset:2px}
main{padding-top:var(--hh)}
.slide,.family,.pd,#products{scroll-margin-top:calc(var(--hh) + 8px)}

/* ---- Product grid ---- */
#products{max-width:1400px;margin:0 auto 18px;background:var(--paper);padding:48px 5.5% 56px;font-family:var(--f-sans);color:var(--gink)}
.grid-head h2{font:500 13px var(--f-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--forest)}
.grid-head h2 b{font-weight:500}
.grid-head p{font-size:15px;margin-top:8px;max-width:60ch;color:var(--moss)}
.family{margin-top:40px}
.family[hidden]{display:none}
.family h3{display:flex;align-items:center;gap:14px;font:500 12px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--forest);margin-bottom:16px}
.family h3::after{content:"";flex:1;border-top:1px solid var(--sand)}
.family h3 small{font:400 11px var(--f-mono);letter-spacing:.04em;color:var(--sage);text-transform:none}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px}
.card{display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--sand);border-radius:6px;overflow:hidden;transition:box-shadow .2s}
.card[hidden]{display:none}
.card .ph{aspect-ratio:4/5;overflow:hidden;background:var(--sand)}
.card .ph img{width:100%;height:100%;object-fit:cover;object-position:30% 40%}
.phx{display:flex;align-items:center;justify-content:center;background:#d9d9d6;color:#5f625f;font:500 12px var(--f-mono);text-align:center;letter-spacing:.06em;padding:10%}
.card .ph.cut{background:var(--paper)}
.card .ph.cut img{object-fit:contain;padding:8%}
/* r52: per-product card image + scale (p.ci / p.cs) on pure white, never cropped */
.card .ph.fit{background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}
.card .ph.fit img{flex-shrink:0;max-width:none;width:calc(100% * var(--cs,.7));height:calc(100% * var(--cs,.7));object-fit:contain;object-position:50% 50%}
.card .bd{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .fam{font:400 10.5px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sage)}
.card h4{font:400 16px var(--f-sans);color:var(--forest);line-height:1.25}
.card h4 b{font-weight:700}
.card .sku{font:500 11px var(--f-mono);letter-spacing:.06em;color:var(--moss)}
.card .meta{font-size:12.5px;color:var(--moss)}
.card .tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:6px}
.card .tag{font:400 10.5px var(--f-mono);border:1px solid var(--sage-lt);border-radius:999px;padding:1px 8px;color:var(--sage)}
a.card{text-decoration:none;color:inherit}
a.card:hover{box-shadow:0 6px 20px rgba(28,53,40,.16)}
.card .open{font:500 12.5px var(--f-sans);color:var(--forest);text-decoration:underline;text-underline-offset:3px}
.empty{margin-top:40px;font-size:15px;color:var(--forest)}
.empty[hidden]{display:none}

@media screen and (max-width:900px){
  .hd-lead{font-size:12.5px}
  .pd{grid-template-columns:1fr}
  .pd-photo img{max-height:70vh;object-fit:cover;object-position:30% 50%}
  .pd-cols{grid-template-columns:1fr}
}
@media screen and (max-width:760px){
  .hd-inner{padding:10px 16px}
  .hd-top{flex-wrap:wrap;gap:8px 12px}
  .brand img{height:26px}
  .hd-lead{order:3;flex-basis:100%;font-size:12px;line-height:1.35}
  .btn-pdf{margin-left:auto;font-size:12px;padding:6px 10px}
  .filters{gap:8px}
  .dd{flex:1 1 140px}
  .dd-btn{min-width:0;width:100%;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dd-btn .k{font-size:10px;margin-right:.25em}
  .dd-panel{min-width:220px}
  #m-dd .dd-panel{left:auto;right:0}
  .result{margin-left:0;flex-basis:100%}
  #products{padding:32px 16px 40px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .card .tags{display:none}
  .pd-body{padding:28px 16px}
}


.btn-fav-go{flex:none;font:500 13px var(--f-sans);color:var(--cream);border:1px solid rgba(245,240,232,.5);border-radius:4px;padding:7px 12px;text-decoration:none}
.btn-fav-go:hover{background:var(--moss)}
.favbar{display:flex;align-items:center;gap:10px;font:500 12px var(--f-mono);color:var(--cream);background:var(--moss);border-radius:4px;padding:4px 8px}
.favbar[hidden]{display:none}
.fav-pdf{font:600 12px var(--f-sans);background:var(--cream);color:var(--forest);border:0;border-radius:3px;padding:4px 10px;cursor:pointer}
.card{position:relative}
.fav-btn{position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font:400 20px/1 var(--f-sans);color:var(--forest);background:rgba(253,250,245,.92);border:1px solid var(--sand);border-radius:50%;cursor:pointer;box-shadow:0 1px 4px rgba(18,24,38,.15)}
.fav-btn:hover{background:var(--paper)}
.fav-btn:focus-visible{outline:2px solid var(--forest);outline-offset:2px}
.fav-btn[aria-pressed="true"]{color:var(--forest);background:var(--paper);border-color:var(--forest)}
.card.is-fav{outline:2px solid var(--forest);outline-offset:-2px}
@media screen and (max-width:760px){.btn-fav-go{order:4;flex-basis:100%;text-align:center;font-size:12px;padding:6px}}
@media print{.fav-btn{display:none}}
/* print-only product pages (built by JS from the visible products) */
#print-pages{display:none}
@media print{
  @page{size:A4 landscape;margin:0}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html,body{background:#fff;margin:0}
  .site-header,#products,.empty,body>main>.pd,.pd-back{display:none!important}
  main{padding-top:0}
  .slide,.pp{width:297mm;height:210mm;max-width:none;margin:0;aspect-ratio:auto;overflow:hidden;
    break-after:page;page-break-after:always;break-inside:avoid;page-break-inside:avoid}
  /* lay slides out at their 1400px design width, then zoom to exactly 297x210mm */
  .slide{width:1400px;height:989.9px;font-size:17.5px;zoom:.80179}
  .slide img{object-fit:contain}
  #print-pages{display:block}
  #print-pages>:last-child{break-after:auto;page-break-after:auto}
  /* product page: photo 142mm x 210mm (photo aspect 1000:1475) = same height as the full-height text block */
  .pp{display:grid;grid-template-columns:142.4mm 1fr;align-items:stretch;background:var(--paper);position:relative;font-family:var(--f-sans);color:var(--gink)}
  .pp-ph,.pd.pp .pd-photo{height:210mm;overflow:hidden}
  .pp-ph img,.pd.pp .pd-photo img{width:100%;height:100%;object-fit:cover}
  .pp-ph.cv{background:#fff}
  .pp-ph.cv img{object-fit:contain}
  .pp-ph.cut{background:var(--cream);display:flex;align-items:center;justify-content:center}
  .pp-ph.cut img{object-fit:contain;padding:12mm}
  .pp .views{display:flex;gap:4mm;height:38mm}
  .pp .views img{height:100%;width:auto;max-width:48%;object-fit:contain;background:var(--cream);padding:2mm}
  .pp-bd{height:210mm;padding:22mm 16mm 16mm 14mm;display:flex;flex-direction:column;gap:7mm}
  .pp-fam{font:400 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
  .pp h2{font:700 38px/1.1 var(--f-disp);color:var(--forest);margin-top:2mm}
  .pp h2 b{font-weight:900}
  .pp h3{font:500 10.5px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:2mm}
  .pp p{font-size:15px;color:var(--forest)}
  .pp .tags{display:flex;flex-wrap:wrap;gap:6px}
  .pp .tag{font:400 11.5px var(--f-mono);border:1px solid var(--sage-lt);color:var(--sage);border-radius:999px;padding:2px 10px}
  .pp .mk{position:absolute;right:14mm;top:12mm;height:12mm;width:auto}
  .pp .pp-sku{font:500 12px var(--f-mono);letter-spacing:.08em;color:var(--moss);margin-top:2mm}
  .pp .pp-feat{font-size:13.5px;color:var(--forest);padding-left:1.1em;list-style:disc}
  .pp .pp-feat li{margin-bottom:1mm}
  .pp .ft{margin-top:auto;font:400 10px var(--f-mono);letter-spacing:.12em;color:var(--sage)}
  .pd.pp{grid-template-columns:142.4mm 1fr;align-items:stretch}
  .pd.pp .pd-body{height:210mm;padding:12mm 12mm 10mm 10mm;gap:5mm;justify-content:space-between}
  .pd.pp h2{font-size:38px}
  .pd.pp .draft{top:14mm;right:32mm}
}

/* ---- Product detail: Backpack m01 (approved combined layout) ---- */
.pdx{--forest:#1C3528;--moss:#2D5440;--sage:#4A7C5F;--sage-lt:#6B9E80;--gold:#B8943A;--cream:#F5F0E8;--sand:#E8E0D0;--paper:#FDFAF5;--ink:#121826;
  --serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif;--mono:"DM Mono",ui-monospace,monospace}
.pdx{container-type:inline-size;max-width:1400px;margin:0 auto 18px;box-shadow:0 10px 40px rgba(18,24,38,.12)}
.pdx .x-slide{--u:1cqw;width:100%;aspect-ratio:297/210;background:var(--cream);display:grid;grid-template-columns:34% 1fr;overflow:hidden;font-size:calc(var(--u)*.95);line-height:1.4}
.pdx img{display:block;width:100%;height:100%;object-fit:cover}
.pdx .x-photo{position:relative;min-height:0}
.pdx .x-photo img{object-position:45% 50%}
.pdx .x-body{padding:calc(var(--u)*3.6) calc(var(--u)*2.6) calc(var(--u)*1.6);display:grid;grid-template-rows:auto auto auto auto;align-content:start;row-gap:calc(var(--u)*2.8);min-height:0;min-width:0}
.pdx .x-micro{font-family:var(--mono);font-size:calc(var(--u)*.74);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.pdx .x-h3{font-family:var(--mono);font-size:calc(var(--u)*.7);letter-spacing:.16em;text-transform:uppercase;color:var(--forest);font-weight:500;margin-bottom:calc(var(--u)*.55)}
.pdx .x-top{display:flex;justify-content:space-between;align-items:flex-start;gap:calc(var(--u)*2)}
.pdx .x-name b{font-weight:700}
.pdx .x-sku{font-family:var(--mono);font-size:calc(var(--u)*.74);letter-spacing:.08em;color:var(--moss,#2D5440);margin-top:calc(var(--u)*1.1)}
.pdx .x-name{font-family:var(--serif);font-weight:400;font-size:calc(var(--u)*3.3);line-height:1.05;color:var(--forest)}
.pdx .x-logo{height:calc(var(--u)*3);width:auto;object-fit:contain;flex:none}
.pdx .ph{background:#ECEBE8;border:1px dashed #B9B6AE;display:flex;align-items:center;justify-content:center;text-align:center;padding:calc(var(--u)*.8);font-family:var(--mono);font-size:calc(var(--u)*.66);line-height:1.45;color:#6d6a63}
.pdx .ph b{display:block;color:#8a3b1d;font-weight:500;letter-spacing:.1em}
.pdx .sil{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:calc(var(--u)*.6);padding-bottom:calc(var(--u)*.6)}
.pdx .sil i{width:58%;height:70%;border:1.5px dashed #B9B6AE;border-radius:45% 45% 12% 12%/30% 30% 8% 8%}
.pdx .sil p{font-family:var(--mono);font-size:calc(var(--u)*.62);line-height:1.4;color:#8a877f;text-align:center;max-width:16em}
.pdx .sil p b{color:#8a3b1d;font-weight:500;letter-spacing:.1em}
.pdx .x-vrow{display:grid;grid-template-columns:auto 1fr;column-gap:calc(var(--u)*4);align-items:end;--bh:calc(var(--u)*23)}
.pdx .x-pair{display:flex;align-items:flex-end;gap:calc(var(--u)*4)}
.pdx .x-v{margin:0;display:flex;flex-direction:column;align-items:center}
.pdx .x-v img{height:var(--bh);width:auto;object-fit:contain}
.pdx .x-pair .x-v img{height:calc(var(--bh)*.8)}
.pdx .x-v .x-cutpng{filter:drop-shadow(0 calc(var(--u)*.5) calc(var(--u)*.7) rgba(18,24,38,.16))}
.pdx .x-v .x-jpg{mix-blend-mode:multiply;filter:brightness(1.18) contrast(1.12);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 4%,#000 96%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 4%,#000 96%,transparent 100%)}
.pdx .x-v figcaption{font-family:var(--mono);font-size:calc(var(--u)*.62);letter-spacing:.08em;text-transform:uppercase;color:var(--sage);margin-top:calc(var(--u)*.9)}
.pdx .x-dline{display:flex;flex-wrap:wrap;align-items:baseline;gap:calc(var(--u)*.5) calc(var(--u)*.7);margin:0 0 calc(var(--u)*1.6)}
.pdx .x-dline span{font-family:var(--mono);font-size:calc(var(--u)*.66);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.pdx .x-dline b{font-family:var(--sans);font-weight:600;font-size:calc(var(--u)*1.15);color:var(--forest)}
.pdx .x-dline i{font-style:normal;color:var(--sand)}
.pdx .x-details .x-row{display:grid;grid-template-columns:repeat(4,1fr) 1.9fr;gap:calc(var(--u)*.9);align-items:start}
.pdx .x-details .x-row.x-two{grid-template-columns:repeat(2,1fr) 3.8fr}
.pdx .x-sq figure{margin:0}
.pdx .x-sq img{aspect-ratio:1;height:auto;border-radius:calc(var(--u)*.35)}
.pdx .x-sq figcaption{font-family:var(--mono);font-size:calc(var(--u)*.62);letter-spacing:.08em;text-transform:uppercase;color:var(--sage);margin-top:calc(var(--u)*.35);line-height:1.3}
.pdx .x-feat{list-style:none;display:flex;flex-direction:column;gap:calc(var(--u)*.55);padding-left:calc(var(--u)*.6);border-left:1px solid var(--sand)}
.pdx .x-feat li{display:flex;gap:calc(var(--u)*.6);align-items:center;font-size:calc(var(--u)*.92)}
.pdx .x-ic{flex:none;width:calc(var(--u)*1.5);height:calc(var(--u)*1.5);fill:none;stroke:var(--sage);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.pdx .x-opts{display:grid;grid-template-columns:1.25fr .8fr 1.25fr;gap:calc(var(--u)*2);border-top:1px solid var(--sand);padding-top:calc(var(--u)*1.1)}
.pdx .x-dots{display:flex;gap:calc(var(--u)*1.3)}
.pdx .x-dots span{display:flex;align-items:center;gap:calc(var(--u)*.45);font-size:calc(var(--u)*.9)}
.pdx .x-dots i{width:calc(var(--u)*1.7);height:calc(var(--u)*1.7);border-radius:50%;border:1px solid #9a9a96}
.pdx .x-chips{display:flex;flex-wrap:wrap;gap:calc(var(--u)*.5)}
.pdx .x-chip{font-family:var(--mono);font-size:calc(var(--u)*.8);padding:calc(var(--u)*.35) calc(var(--u)*.9);border:1px solid var(--sand);border-radius:99px;background:var(--cream);white-space:nowrap}
.pdx .x-chip.x-on{border-color:var(--gold)}
.pdx .x-chip em{font-style:normal;color:var(--gold)}
.pdx .x-h3.x-sg{color:var(--sage)}
.pdx .x-pf{display:flex;flex-direction:column;gap:calc(var(--u)*.45)}
.pdx .x-pf .x-h3{margin:0 0 calc(var(--u)*.15)}
.pdx .x-pf span{display:flex;align-items:center;gap:calc(var(--u)*.45);font-size:calc(var(--u)*.85)}
@media screen and (max-width:760px){
.pdx .x-slide{--u:10.5px;aspect-ratio:auto;display:flex;flex-direction:column}
.pdx .x-photo{height:440px}
.pdx .x-body{display:flex;flex-direction:column;gap:20px;padding:20px 16px}
.pdx .x-vrow{grid-template-columns:1fr;row-gap:16px;justify-items:center;--bh:170px}
.pdx .x-pair{gap:24px}
.pdx 
.pdx .x-details .x-row{grid-template-columns:repeat(2,1fr)}
.pdx .x-details .x-row.x-two{grid-template-columns:repeat(2,1fr)}
.pdx .x-feat{grid-column:1/3;border-left:0;padding-left:0}
.pdx .x-opts{grid-template-columns:1fr}
.pdx .dim .x-h3{top:0}
}

/* round 15: placeholders inside detail slides */
.pdx.pdx-gen .x-vrow{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.pdx.pdx-gen .x-v{min-width:0;height:var(--bh);justify-content:flex-end}
.pdx.pdx-gen .x-v img{height:auto!important;max-height:var(--bh);max-width:100%;width:auto}
.pdx.pdx-gen .x-pair{min-width:0}
.pdx.pdx-gen .x-pair .x-v{flex:1 1 0;height:calc(var(--bh)*.8)}
.pdx.pdx-gen .x-pair .x-v img{max-height:calc(var(--bh)*.8)}

.pdx .ph{color:#6f6c66}
.pdx .ph span{display:block}
.pdx .x-photo .ph{position:absolute;inset:0;border-width:0 1px 0 0}
.pdx .x-vph{height:var(--bh);width:calc(var(--bh)*.75)}
.pdx .x-pair .x-vph{height:calc(var(--bh)*.8);width:calc(var(--bh)*.6)}
.pdx .x-sqph{aspect-ratio:1;width:100%;border-radius:calc(var(--u)*.35);font-size:calc(var(--u)*.55)}
.pdx .x-dline b{font-size:calc(var(--u)*1.05)}
#details .pdx+.pdx{margin-top:18px}
@media print{#details{display:none!important}}
.pdx-back{display:block;max-width:1400px;margin:-6px auto 18px;font:500 13px var(--f-sans);color:var(--forest);text-underline-offset:3px}
.pdx{scroll-margin-top:calc(var(--hh) + 8px)}
.pdx .x-slide,.pdx .x-slide *{box-sizing:border-box}
.pdx strong,.pdx b{color:inherit}
@media print{
  body>main>.pdx,.pdx-back{display:none!important}
  .pdx.pdx-print{width:297mm;height:210mm;max-width:none;margin:0;box-shadow:none;break-after:page;page-break-after:always;break-inside:avoid;page-break-inside:avoid;overflow:hidden}
  .pdx.pdx-print .x-slide{width:297mm;height:210mm;aspect-ratio:auto}
}

/* ---- Round 21: header row 1 = logo + EN/ES (as on rezet.global nav), row 2 = lead + buttons ---- */
.hd-top{justify-content:space-between}
.hd-row2{display:flex;align-items:center;gap:12px 20px;margin-top:10px}
.lang-switch{display:flex;align-items:center;flex:none}
.lang-switch .nav-btn-link{display:flex;align-items:center;padding:0 8px;height:32px;font-size:13px;font-weight:500;font-family:var(--f-sans);
  color:var(--cream);opacity:.6;text-decoration:none;transition:opacity .15s;white-space:nowrap}
.lang-switch a.nav-btn-link:hover{opacity:1}
.lang-switch .is-current{opacity:1}
.lang-sep{font:500 13px var(--f-sans);color:var(--cream);opacity:.35}
@media screen and (max-width:760px){
  .hd-row2{flex-wrap:wrap;gap:8px 12px;margin-top:8px}
  .hd-row2 .hd-lead{order:0;flex-basis:100%}
  .hd-row2 .btn-fav-go{order:1;flex:1 1 auto;flex-basis:auto}
  .hd-row2 .btn-pdf{order:2;margin-left:0}
  .lang-switch .nav-btn-link{padding:0 6px}
}
@media print{.lang-switch{display:none!important}}

/* round 27 · Cinthia 11-oct: the 3 main views show the PRODUCT at the same height, top and bottom aligned.
   Images are trimmed to the product; each figure gets a width share = its aspect ratio, so heights come out equal.
   The row is capped so that height never exceeds --bh. Pure CSS, so it holds in print too. */
.pdx .x-vrow.x-eq{display:flex!important;align-items:flex-end;gap:calc(var(--u)*3);width:min(100%, calc(var(--sar) * var(--bh) * var(--vz,1) + var(--u)*6));margin:0 auto;height:auto} /* vz: per-slide zoom of the whole views row (Cinthia, 12-oct-2026) */
.pdx .x-vrow.x-eq .x-v{flex:var(--ar) 1 0;min-width:0;height:auto!important;display:block;margin:0}
.pdx .x-vrow.x-eq .x-v img{display:block;width:100%!important;height:auto!important;max-height:none!important;max-width:none!important}
.pdx .x-vrow.x-eq .x-vph{width:100%!important;height:auto!important;aspect-ratio:var(--ar)!important;box-sizing:border-box;min-height:0}

.pdx .x-micro .x-alt{color:inherit;text-decoration:underline;text-underline-offset:2px} /* «Also in …» link to the same model in another material */
@media print{.pdx .x-micro .x-alt{text-decoration:none}}

/* sc: per-view scale so the product body matches the other views when straps/handles make them taller (Cinthia, 12-oct-2026: «achicá la primer imagen») */
/* sc now enters the width share (--ar = ar·sc), so a smaller view frees room and the others grow */

/* pb: lift a view so the bag BASES line up when another view has a strap hanging below the base (padding % is relative to the figure width) */
.pdx .x-vrow.x-eq .x-v img{box-sizing:content-box;padding-bottom:calc(100% * var(--pb,0))}

/* 3 detail photos when Cinthia picks three (12-oct-2026) */
.pdx .x-details .x-row.x-three{grid-template-columns:repeat(3,1fr) 2.85fr}
@media screen and (max-width:760px){.pdx .x-details .x-row.x-three{grid-template-columns:repeat(2,1fr)}}

/* 5 detail photos when Cinthia picks five (12-oct-2026) */
.pdx .x-details .x-row.x-five{grid-template-columns:repeat(5,1fr) 1.6fr}
@media screen and (max-width:760px){.pdx .x-details .x-row.x-five{grid-template-columns:repeat(2,1fr)}}

/* cy: per-card vertical nudge of the product, % of the image box height; + moves it down, − up (Cinthia, 12-oct-2026, round 70: «más centrado verticalmente»). Card images are trimmed (img/cards/r70/), so the box centre is the product centre; cy corrects straps/shadows. */
.card .ph.fit img{transform:translateY(calc(var(--cy,0) * 1%))}

/* RULE (Cinthia, 12-oct-2026, round 70): the views section of every product slide always has 3 equal columns.
   With 1 or 2 views they sit in the first column(s) at one-column width and never stretch to fill the row.
   Each figure keeps the size it would have in a 3-view row: width = ar·sc·bh·vz, capped at the column. 3-view rows are unchanged. */
.pdx .x-vrow.x-eq.x-lt3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:calc(var(--u)*3);width:100%;align-items:end;justify-items:center}
.pdx .x-vrow.x-eq.x-lt3 .x-v{width:min(100%, calc(var(--ar) * var(--bh) * var(--vz,1)))}
/* round 85: 6 detail thumbnails in one row (mirrors x-five) */
.pdx .x-details .x-row.x-six{grid-template-columns:repeat(6,1fr) 1.5fr;gap:calc(var(--u)*.7)}
@media screen and (max-width:760px){.pdx .x-details .x-row.x-six{grid-template-columns:repeat(2,1fr)}}

/* round 105 (Cinthia, 14-oct-2026): with exactly TWO views each view gets HALF of the row (one view stays at one third, C-16; three unchanged).
   Both figures share one scale: width = ar·sc / max(ar·sc) of the column, so the product keeps the same physical size in both
   views when the column caps the width; otherwise width = ar·sc·bh·vz as before. sc/pb keep working inside the wider column. */
.pdx .x-vrow.x-eq.x-lt3.x-2v{grid-template-columns:repeat(2,minmax(0,1fr))}
.pdx .x-vrow.x-eq.x-lt3.x-2v .x-v{width:min(calc(100% * var(--ar) / var(--mar)), calc(var(--ar) * var(--bh) * var(--vz,1)))}

/* round 105: closing section after the last product slide — green band, white REZET logo, button back to the product cards */
.cat-end{background:var(--forest);color:var(--cream);text-align:center;padding:64px 16px 72px;margin-top:28px}
.cat-end .ce-logos{display:flex;justify-content:center;align-items:center;gap:clamp(18px,5vw,56px);flex-wrap:wrap;margin:0 auto 34px;max-width:1100px}
.cat-end .ce-logos img{height:clamp(30px,5vw,54px);width:auto;filter:brightness(0) invert(1)} /* same master logo as the header, white, no container */
.cat-end .btn-fav-go{display:inline-block;font-size:15px;padding:11px 20px}
@media screen and (max-width:760px){.cat-end{padding:44px 16px 52px}.cat-end .btn-fav-go{font-size:13px;padding:9px 14px}}
@media print{.cat-end{display:none!important}}
