/* PORTAL15 · catalogue colourways */
.cdots{display:flex;gap:5px;margin:7px 0 2px}
.cdots i{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);cursor:pointer;transition:transform .15s}
.cdots i:hover{transform:scale(1.25)}
.sidebtn{margin-left:8px;font-size:12px;border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:4px 11px;vertical-align:middle}

/* PORTAL16 · declutter range page: hide intro hero + 3 steps (landing page covers this) */
#v-range>.hero,#v-range>.steps{display:none}
#v-range .controls{margin-top:22px}
/* PORTAL16 · filters across the top, categories down the left */
.side .sec:first-of-type,#rangenav{display:none}
#filters{display:none}
.chipbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;margin:0 0 16px}
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.chip{border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:7px 14px;font-size:13px;color:var(--ink);transition:background .15s,border-color .15s}
.chip:hover{border-color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.clab{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-right:4px}
.cchip{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;background:transparent;border-radius:99px;padding:3px;font-size:12px;color:var(--ink)}
.cchip i{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.cchip:hover i{transform:scale(1.12)}
.cchip.on{border-color:var(--ink);background:var(--paper);padding:3px 10px 3px 3px}

/* PORTAL16 · drop the mid-page client login banner (login stays top right + product panel) */
#v-range .lockbar.pub{display:none}

/* PORTAL18 · remove range filter chips and range badges */
.chipbar .chips:not(.cols),.card .rtag{display:none}
.chipbar{justify-content:flex-start}

/* ===== PORTAL19 · simplified journeys ===== */
#navExport,.side a[href="#options"],#v-options{display:none!important}
/* right panel: image + spec card only */
.detail .pricebox,.detail .pr,.detail .dactions:not(.s19-acts),#p-deco,#p-impact,#photoNote,.detail>h3{display:none!important}
.s19-acts{margin-top:14px}
#p-card19 .s19-card{border:1px solid var(--line);border-radius:14px;background:var(--paper);margin-top:14px}
/* spec card */
.s19-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.s19-img{display:block;aspect-ratio:4/3;background:radial-gradient(circle at 50% 40%,#fff 0%,#efebe3 80%)}
.s19-img img{width:100%;height:100%;object-fit:contain;padding:8%;display:block}
.s19-body{padding:14px 16px 14px}
.s19-body h4{margin:0 0 10px;font:600 15px/1.2 Inter,system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.s19-mid{display:grid;grid-template-columns:1fr 84px;gap:8px;align-items:center}
.s19-mid table{border-collapse:collapse;width:100%;font-size:11.5px}
.s19-mid td{padding:4px 0;border-bottom:1px solid var(--line);vertical-align:top}
.s19-mid td:first-child{color:var(--mute);width:42%;padding-right:8px}
.s19-draw{width:84px;height:88px;color:#8a857c}.s19-draw.none{height:0}
.s19-foot{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.s19-icons{display:flex;gap:10px;align-items:flex-start;color:#4f4b45}
.s19-icons span{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;flex:1}
.s19-icons b{font:600 13px/20px Inter,sans-serif;height:20px}
.s19-icons em{font-style:normal;font-size:9.5px;line-height:1.25;color:var(--mute)}
.s19-price{font-size:11.5px}
.s19-price>b{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.s19-price div{display:flex;justify-content:space-between;padding:2px 0}
.s19-price strong{font-weight:600}
.s19-ask{display:block;color:var(--mute);line-height:1.35}
.s19-price a{display:inline-block;margin-top:5px;font-weight:600;color:var(--ink);text-decoration:none}
/* pricing page grid */
#v-compare.s19 .tablewrap,#v-compare .printlogo{display:none}
.s19-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:8px}
/* range builder: one export */
.bset .chk:has(#dLogoProd),.bset .chk:has(#dLogoShot),.bset .chk:has(#dSpecs),.bset .flabel,.bset .fmt,#dPng,.pvtabs{display:none!important}
/* range sheet (A4 landscape) */
.sheet19{width:297mm;height:210mm;position:relative;display:grid;grid-template-columns:27% 1fr;grid-template-rows:1fr 15mm;background:#f5f2ec;color:#1d1b18;font-family:Inter,sans-serif;overflow:hidden;transform-origin:0 0;page-break-after:always;break-after:page;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sh-left{grid-column:1;grid-row:1/3;position:relative;padding:14mm 10mm 24mm;display:flex;flex-direction:column;color:#fff;background:radial-gradient(120% 80% at 20% 15%,#b9c79a 0%,#8fa56b 45%,#5d7a3f 100%)}
.sh-left::after{content:"";position:absolute;right:0;top:0;width:24%;height:22%;background:#cfa9d8;opacity:.9}
.sh-logo{height:auto;width:40mm;max-width:60%;align-self:flex-start;position:relative;z-index:1}
.sh-client{margin-top:8mm;background:#fff;border-radius:2mm;padding:3mm 4mm;align-self:flex-start;max-width:70%}
.sh-client img{max-height:12mm;max-width:100%;display:block}
.sh-title{margin-top:auto}
.sh-title h1{font:500 36pt/1.02 Oswald,Inter,sans-serif;margin:0 0 6mm;letter-spacing:-.01em}
.sh-title p{font:400 12pt/1.3 Oswald,Inter,sans-serif;margin:0;opacity:.95}
.sh-pg{position:absolute;left:10mm;bottom:8mm;font-size:9pt;opacity:.8}
.sh-grid{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;padding:6mm 6mm 2mm}
.sh-grid.c2{grid-template-columns:repeat(2,1fr)}.sh-grid.c1{grid-template-columns:1fr}
.sh-item{position:relative;display:flex;flex-direction:column;padding:3mm 4mm;border-bottom:.3mm solid #e2ddd3;min-height:0}
.sh-item h5{margin:0;font:500 10.5pt/1.1 Oswald,Inter,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.sh-item img{flex:1;min-height:0;width:100%;object-fit:contain;padding:2mm 0}
.sh-pr{position:absolute;right:4mm;bottom:3mm;font-size:8pt;color:#6b655c}
.sh-bar{grid-column:2;grid-row:2;display:flex;align-items:center;gap:4mm;padding:0 6mm;background:#faf8f4;border-top:.3mm solid #e2ddd3}
.sh-bar b{font:500 12pt Oswald,Inter,sans-serif;padding-right:6mm;border-right:.3mm solid #1d1b18}
.sh-sw{display:flex;align-items:center;gap:1.5mm;font-size:7pt;flex:1;white-space:nowrap;overflow:hidden}
.sh-sw i{display:inline-block;flex:none;width:4.5mm;height:4.5mm;border-radius:50%;margin-left:2.5mm;box-shadow:inset 0 0 0 .2mm rgba(0,0,0,.12)}
.sh-bar small{font-size:7pt;line-height:1.3;padding-left:6mm;border-left:.3mm solid #1d1b18}
.pvwrap .sheet19{box-shadow:0 8px 30px rgba(0,0,0,.08)}
/* pricing page: full width, no side panel */
body:has(#v-compare.on) .frame{grid-template-columns:var(--side) minmax(0,1fr)}
body:has(#v-compare.on) .detail{display:none}
.s19-grid .s19-img{aspect-ratio:5/4}

/* ===== PORTAL20 · catalogue look: stone neutrals, bold sans headings, HANDLE yellow (no pink) ===== */
:root{--bg:#f5f2ec;--paper:#fbfaf7;--ink:#1d1b18;--mute:#6b665e;--line:#e2ddd3;--acc:#1d1b18;--accs:#f7fbc6;--sage:#b9b4a9;--warm:#ede8df;--yel:#f3ff51}
body{background:var(--bg)}
h1,h2,.card .name,.detail h2,.quote-head h2,.side-card b,.steps b,.reqsum b{font-family:Inter,system-ui,sans-serif!important;font-weight:700!important;letter-spacing:-.025em!important}
.card .name{font-size:16px!important;letter-spacing:-.01em!important}
.eyebrow,h3{color:var(--ink)!important;letter-spacing:.14em}
.side{background:#f8f6f1}
.nav.on{background:var(--yel)!important;color:var(--ink)!important}
.nav.on .count{background:#fff}
.btn.dark:hover,.primary:hover{background:#000}
.card{background:var(--paper)}
.card .img,.s19-img,.stage,.dlist .di img{background:var(--warm)!important}
.card.sel{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.card .pick.on{background:var(--yel)!important;border-color:var(--ink)!important;color:var(--ink)!important}
.qtybar button.on,.opts button.on,.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.rangepill,.card .rtag,.card .tag{background:var(--ink)!important;color:#fff!important}
.ind{background:var(--accs);color:#5a5a12}
.side-card{background:var(--yel);color:var(--ink)}.side-card p{color:var(--ink);opacity:.75}
.steps li:before{background:var(--yel);color:var(--ink)}
.impact div{background:var(--warm)}.impact b{color:var(--ink)}.impact span{color:var(--mute)}
.deco em,.costcard .rows.tot b{color:var(--ink)}
.hero.sm,#v-request .hero.sm,#v-options .hero.sm{background:var(--yel)!important;border-radius:4px}
#v-range>.hero::after{background:var(--warm)}
.lockbar{background:var(--yel);color:var(--ink)}
.selbar .btn.dark{background:var(--yel)!important;color:var(--ink)!important;border-color:var(--yel)!important}
/* range sheet (PDF): lilac corner block -> brand yellow */
.sh-left::after{background:var(--yel)!important;opacity:1!important}
/* PORTAL31 · customise: own colour, own brand, gated brief/save */
.cust{display:grid;gap:8px;margin:14px 0 4px;padding:14px;border:1px solid var(--line);background:#fff}
.cust .lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.custrow{display:flex;gap:8px;align-items:center}
.custrow input#cCode{flex:1;min-width:0;padding:9px 10px;border:1px solid var(--line);font:inherit;font-size:13px}
.cpick{width:38px;height:38px;flex:none;border:1px solid var(--line);overflow:hidden;cursor:pointer;position:relative}
.cpick input{position:absolute;inset:-8px;width:60px;height:60px;border:0;padding:0;cursor:pointer}
.btn.up{position:relative;cursor:pointer;flex:none}.btn.up input{position:absolute;inset:0;opacity:0;cursor:pointer}
.custrow .note{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cMsg:empty{display:none}
.stage .stage-tint{position:absolute;z-index:1;mix-blend-mode:multiply;pointer-events:none;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.stage img.stage-logo{inset:auto;left:50%;top:50%;width:18%;height:auto;max-height:18%;transform:translate(-50%,-50%);z-index:2;mix-blend-mode:multiply;pointer-events:none;object-fit:contain}
.stage .hide,.cust .hide{display:none!important}
.lk{font-style:normal;font-size:11px;margin-left:4px}
/* PORTAL32 · phones: catalogue only (no landing, no build tools) */
@media (max-width:760px){
  #dummy,.side>a.nav,.side>button.nav,.side>.sec,.side .side-card,.side .int-only,
  #selAll,#selBar,.card .pick,.cust,.s19-acts,.dactions,.stage-hint{display:none!important}
  .side>.sec:nth-child(2),.side>.sec:nth-child(4){display:block!important}
  .detail{overflow-y:auto}
}
/* PORTAL33 · phones: category buttons across the top instead of the burger menu */
@media (max-width:760px){
  #menuBtn{display:none!important}
  .chipbar{display:block}
  .chipbar .chips.fams{display:flex!important;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:0 -16px 12px;padding:0 16px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .chipbar .chips.fams::-webkit-scrollbar{display:none}
  .chipbar .chips.fams .chip{flex:none;white-space:nowrap}
  .chipbar .chips.cols{flex-wrap:nowrap;overflow-x:auto}
}

/* PORTAL34 · product spec under the colours */
.pspec{margin:16px 0 6px}
.pspec .lbl{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.pspec .spec{display:table!important}
/* PORTAL35 · single product page + spec sheet; no measurements on thumbnails */
.card .foot span:empty{display:none}
.detail .pgal,.detail .pinfo{min-width:0}
@media (min-width:761px){
  .frame{grid-template-columns:var(--side) minmax(0,1fr)!important}
  .detail{display:none}
  body.detail-open .detail{display:grid;position:fixed;top:var(--hdr);left:var(--side);right:0;bottom:0;width:auto;height:auto;transform:none;z-index:40;box-shadow:none;border:0;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,1fr);grid-template-rows:auto 1fr;gap:0 48px;align-items:start;padding:24px 48px 48px;overflow-y:auto;background:var(--paper)}
  body.detail-open .scrim{display:none!important}
  .detail .dtop{grid-column:1/-1}
  .detail .pgal{position:sticky;top:0}
  .detail .stage{height:min(68vh,620px)!important}
  .detail .pinfo h2{font-size:40px!important;margin-top:0}
}
@media (min-width:761px) and (max-width:1100px){body.detail-open .detail{left:0;grid-template-columns:1fr 1fr;padding:20px 28px 40px;gap:0 28px}}
.pspec .spec td:first-child{width:42%}
.detail .dtop{display:flex;justify-content:space-between;align-items:center}.detail #dclose{display:inline-flex!important;visibility:visible!important}
/* PORTAL36 · Back buttons */
.top .backbtn{border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:7px 14px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer;margin-right:12px;white-space:nowrap}
.top .backbtn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.top .backbtn.hide{display:none!important}
.detail #dclose.backlink{width:auto;height:auto;border:1px solid var(--line);border-radius:99px;padding:7px 14px;font-size:13px;background:var(--paper);color:var(--ink);cursor:pointer;order:-1}
.detail #dclose.backlink:hover{background:var(--ink);color:#fff}
.detail .dtop{gap:12px}
body.detail-open .top .backbtn{display:none!important}
@media (max-width:760px){.top .backbtn{padding:6px 11px;margin-right:6px}.top .logo img{max-width:118px}}
/* PORTAL39 · keep "Studio" next to the logo on phones */
@media (max-width:760px){.top .logo{display:flex;align-items:center;gap:10px}.top .logo span{display:inline-block!important;font-size:14px;padding-left:10px;border-left:1px solid var(--line);color:var(--ink)}}
@media (max-width:760px){.top{gap:8px}.top .logo{min-width:0}.top .logo img{max-width:100px!important;height:auto}.top .logo span{font-size:13px;padding-left:8px}.top .right{margin-left:auto;flex:none}#loginBtn{padding:7px 12px;font-size:13px;white-space:nowrap}.detail #dclose.backlink{white-space:nowrap;flex:none}}
/* PORTAL41 · enquiry bag */
.bagbtn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.bagbtn span{min-width:18px;height:18px;border-radius:99px;background:var(--line);font-size:11px;display:inline-grid;place-items:center;padding:0 5px}
.bagbtn.has span{background:var(--yellow,#F3FF51);color:#1b1b19}
.bagbox{display:grid;gap:8px;margin:14px 0 4px;padding:14px;border:1px solid var(--line);background:#fff}
.bagbox .lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.bagrow{display:flex;gap:10px;align-items:stretch}
.qstep{display:flex;border:1px solid var(--line);border-radius:99px;overflow:hidden;background:var(--paper)}
.qstep button{width:38px;border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--ink)}
.qstep input{width:74px;border:0;text-align:center;font:inherit;font-size:15px;background:transparent;-moz-appearance:textfield}
.qstep input::-webkit-inner-spin-button{display:none}
.bagrow .primary{flex:1;border-radius:99px;padding:11px 16px}
.bnote{padding:9px 10px;border:1px solid var(--line);font:inherit;font-size:13px}
.bagbox .note{font-size:12px}
#v-bag{max-width:900px}
.bline{display:grid;grid-template-columns:76px 1fr auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.bline img{width:76px;height:76px;object-fit:contain;background:var(--warm,#efeae2);border-radius:10px}
.binfo{display:grid;gap:3px;min-width:0}.binfo b{font-size:15px}.binfo span{font-size:13px;color:var(--mute)}.binfo em{font-size:13px;font-style:normal;color:var(--ink)}.binfo small{font-size:12px;color:var(--mute)}
.bdot{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 5px -1px 0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.bq{display:grid;gap:2px;font-size:11px;color:var(--mute)}.bq input{width:84px;padding:7px 8px;border:1px solid var(--line);font:inherit;font-size:14px}
.bline .x{border:0;background:transparent;font-size:15px;cursor:pointer;color:var(--mute)}
.btot{display:flex;justify-content:space-between;gap:12px;padding:14px 0;font-size:14px}
.bagempty{padding:24px;background:#fff;border:1px solid var(--line);font-size:14px;line-height:1.6}
.bagempty .btn{margin-top:10px}
.bagform{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.bagform label{display:grid;gap:5px;font-size:12px;color:var(--mute)}
.bagform input,.bagform textarea{padding:10px;border:1px solid var(--line);font:inherit;font-size:14px;color:var(--ink);background:#fff}
.bagform .full{grid-column:1/-1}
.bagacts{display:flex;flex-wrap:wrap;gap:10px}.bagacts .primary{padding:12px 22px;border-radius:99px}
#bMsg:empty{display:none}
.myenq{margin-top:30px}.myenq h3{margin:0 0 4px}
.eline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.eline span{color:var(--mute);flex:1}
@media (max-width:760px){
  .bagbox{display:grid!important}
  .bline{grid-template-columns:60px 1fr auto;gap:10px}.bline img{width:60px;height:60px}.bline .bq{grid-column:2}.bline .x{grid-row:1;grid-column:3}
  .bagform{grid-template-columns:1fr}
  .top .bagbtn{padding:7px 10px;font-size:13px}
  .top .backbtn{display:none!important}.top .bagbtn{padding:6px 10px!important;font-size:13px}.top .right{gap:6px}
}
.contbtn{display:inline-block;margin:4px 0 6px}
.bagbtn .bt{font-weight:inherit}
@media (max-width:370px){.top .bagbtn .bt{display:none}.top .bagbtn{padding:6px 8px!important}.top .bagbtn::before{content:'';width:14px;height:14px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1b19' stroke-width='2'%3E%3Cpath d='M5 8h14l-1 13H6L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E")}}
@media (max-width:370px){.top{padding:0 10px!important;gap:6px!important}.top .logo{gap:6px!important}.top .logo img{max-width:80px!important}.top .logo span{font-size:12px!important;padding-left:6px!important}.top #loginBtn{padding:6px 9px!important;font-size:12px!important}.top .bagbtn span{min-width:16px;height:16px;font-size:10px}}
/* PORTAL47 · Photo / 3D switch on the product stage */
.vmode{position:absolute;top:12px;right:12px;z-index:3;display:flex;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:99px;padding:3px}
.vmode button{border:0;background:transparent;font:inherit;font-size:12px;font-weight:600;padding:6px 14px;border-radius:99px;cursor:pointer;color:var(--ink)}
.vmode button.on{background:var(--ink);color:#fff}
.vmode.hide{display:none!important}
#famnav .nav{white-space:nowrap}#famnav .nav .count{flex:none;margin-left:auto}
@media (min-width:761px) and (max-width:1100px){body.detail-open .detail{left:var(--side)}}

/* V2 design flow ------------------------------------------------------------ */
#v-design,#v-build{--dz-y:#F3FF51;--dz-p:#CCAED0;--dz-b:#3A5BFF;--dz-g:#00AB84;--dz-ink:#1b1b19;--dz-cream:#f5f3ee;font-family:Inter,system-ui,sans-serif;color:var(--dz-ink)}
#v-design .hide,#v-build .hide{display:none!important}
.dz-start{display:inline-flex;align-items:center;gap:6px;text-decoration:none;margin-left:auto;padding:10px 20px;font-size:13.5px}
.dz-start:hover{background:var(--dz-b,#3A5BFF);color:#fff}
.dz-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 4px;padding:14px 16px;border-radius:14px;background:#F3FF51}
.dz-entry .primary{padding:10px 20px}.dz-entry .note{font-size:12.5px;color:#3d3d35}
.dz{padding:22px 0 40px}
.dz-top{position:sticky;top:var(--hdr);z-index:5;background:var(--bg,#f5f3ee);padding:10px 0 12px;margin-bottom:14px}
.dz-progress{height:6px;border-radius:99px;background:#e6e1d6;overflow:hidden}
.dz-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--dz-g),#7fd8b6 60%,var(--dz-y));border-radius:99px;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.dz-steps{list-style:none;display:flex;gap:6px;margin:10px 0 0;padding:0;overflow-x:auto;scrollbar-width:none}
.dz-steps::-webkit-scrollbar{display:none}
.dz-steps li button{display:flex;align-items:center;gap:7px;font:500 12.5px Inter,sans-serif;border:0;background:none;color:#8a867d;padding:6px 10px 6px 4px;border-radius:99px;white-space:nowrap;cursor:default}
.dz-steps li button i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid #ddd8cc;font-style:normal;font-size:11px;font-weight:600}
.dz-steps li.on button{color:var(--dz-ink);font-weight:600}.dz-steps li.on button i{background:var(--dz-ink);border-color:var(--dz-ink);color:#fff}
.dz-steps li.done button{color:var(--dz-ink);cursor:pointer}.dz-steps li.done button i{background:var(--dz-g);border-color:var(--dz-g);color:#fff}
.dz-steps li.done button:hover{background:#fff}
.dz-steps li.pre button i{background:var(--dz-p);border-color:var(--dz-p);color:var(--dz-ink)}
.dz-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.15fr) 260px;gap:26px;align-items:start}
.dz.isentry .dz-body{grid-template-columns:1fr}
.dz.isentry .dz-preview,.dz.isentry .dz-card{display:none}
.dz.isdone .dz-body{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 260px}
.dz-preview{position:sticky;top:calc(var(--hdr) + 92px)}
.dz-stage.stage{height:min(58vh,520px);border-radius:20px;background:radial-gradient(circle at 50% 40%,#fff 0%,#f3efe7 62%,#e9e3d7 100%)}
.dz.isdone .dz-stage.stage{height:min(66vh,600px)}
.dz-stage .stage-badge{z-index:3}
.dz-stage .vmode{z-index:3}
.dz-logoarea{position:absolute;left:50%;top:50%;width:24%;aspect-ratio:2.4/1;transform:translate(-50%,-50%);border:1.5px dashed rgba(58,91,255,.7);border-radius:8px;z-index:2;display:grid;place-items:center;pointer-events:none;transition:border-color .3s}
.dz-logoarea span{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);white-space:nowrap;font:600 10.5px Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--dz-b);background:rgba(255,255,255,.85);padding:3px 8px;border-radius:99px}
.dz-logoarea img{position:static!important;width:100%!important;height:100%!important;object-fit:contain;mix-blend-mode:multiply}
.dz-logoarea.has{border-color:transparent}.dz-logoarea.has span{opacity:0}
.dz-logoarea.emboss img{filter:grayscale(1) contrast(.5) brightness(1.15) drop-shadow(.6px .6px 0 rgba(0,0,0,.35)) drop-shadow(-.6px -.6px 0 rgba(255,255,255,.7));opacity:.75}
.dz-mood{columns:2;column-gap:10px;min-height:280px;background:#fff;border-radius:20px;padding:12px;border:1px solid var(--line,#e3dfd6)}
.dz-mood img,.dz-mood .dz-linktile{width:100%;display:block;margin:0 0 10px;border-radius:12px;break-inside:avoid}
.dz-moodempty{column-span:all;display:grid;place-items:center;align-content:center;gap:4px;min-height:256px;border:1.5px dashed #ddd6c8;border-radius:14px;color:#8a867d;text-align:center}
.dz-moodempty b{color:var(--dz-ink);font-size:16px}
.dz-linktile{display:block;padding:18px 12px;background:#efeafb;color:#3b2e5a;font-size:12.5px;font-weight:500;word-break:break-all}
.dz-linktile.sm{padding:10px;width:78px;height:78px;border-radius:10px;overflow:hidden;flex:none;font-size:10.5px}
.dz-fit{display:flex;flex-direction:column;gap:3px;margin-top:12px;padding:12px 14px;border-radius:14px;font-size:12.5px;transition:background .3s}
.dz-fit:empty{display:none}
.dz-fit b{display:flex;align-items:center;gap:8px;font-size:14px}
.dz-fit b i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-style:normal;font-size:12px;color:#fff}
.dz-fit.green{background:#e3f5ee;color:#0d5c47}.dz-fit.green b i{background:var(--dz-g)}
.dz-fit.amber{background:#fff4dc;color:#6b4a00}.dz-fit.amber b i{background:#f0a400}
.dz-main{min-width:0}
.dz-panel{animation:dzIn .35s ease}
@keyframes dzIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dz-panel .eyebrow{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#7a766d;margin:4px 0 6px}
.dz-panel h2{font-size:30px;line-height:1.1;margin:0 0 8px}
.dz-panel h2.dz-big{font-size:clamp(32px,4vw,52px);max-width:16ch}
.dz-lede{color:#5f5c55;font-size:15px;margin:0 0 20px;max-width:56ch}
.dz-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0 10px}
.dz-choice{position:relative;text-align:left;font:inherit;border:0;border-radius:22px;padding:30px 28px 26px;min-height:250px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:transform .25s,box-shadow .25s;color:var(--dz-ink)}
.dz-choice.a{background:var(--dz-p)}.dz-choice.b{background:var(--dz-y)}
.dz-choice:hover{transform:translateY(-4px);box-shadow:0 22px 44px -24px rgba(0,0,0,.35)}
.dz-choice b{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.dz-choice span{font-size:14.5px;line-height:1.45;max-width:36ch}
.dz-choice .dz-ico{font-size:30px;line-height:1}
.dz-choice em{margin-top:auto;font-style:normal;font-weight:600;font-size:14px;background:var(--dz-ink);color:#fff;align-self:flex-start;padding:9px 18px;border-radius:99px}
.dz-sub{margin:34px 0 10px;font-size:18px}.dz-sub small{font-weight:400;color:#8a867d;font-size:12.5px;margin-left:8px}
.dz-saved{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.dz-sv{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line,#e3dfd6);border-radius:14px;padding:10px 12px}
.dz-sv img{width:54px;height:54px;object-fit:contain;background:#f3efe7;border-radius:10px}
.dz-sv div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dz-sv b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dz-sv span{font-size:12px;color:#77736b;display:flex;align-items:center;gap:5px}
.dz-sv .x{border:0;background:none;cursor:pointer;color:#999;font-size:14px}
.dz-dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.12);vertical-align:-1px;margin-right:6px;flex:none}
.dz-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:150px;border:2px dashed #cfc8b8;border-radius:18px;background:#fff;cursor:pointer;text-align:center;padding:18px;transition:border-color .2s,background .2s}
.dz-drop:hover,.dz-drop.over{border-color:var(--dz-b);background:#f3f5ff}
.dz-drop input{display:none}.dz-drop b{font-size:16px}.dz-drop span{font-size:12.5px;color:#7a766d}
.dz-linkrow,.dz-ownrow{display:flex;gap:8px;margin:12px 0}
.dz-linkrow input,.dz-ownrow input:not([type=color]){flex:1;min-width:0;font:inherit;font-size:14px;padding:11px 14px;border:1px solid var(--line,#e3dfd6);border-radius:12px;background:#fff}
.dz-insp{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:6px}
.dz-it{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line,#e3dfd6);animation:dzPop .35s cubic-bezier(.2,1.4,.4,1)}
.dz-it img{width:100%;height:100%;object-fit:cover}
.dz-it .dz-linktile{height:100%;border-radius:0}
.dz-it .x{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(255,255,255,.92);cursor:pointer;font-size:11px}
@keyframes dzPop{from{transform:scale(.8);opacity:0}to{transform:none;opacity:1}}
.dz-tags{display:flex;flex-direction:column;gap:10px}
.dz-tagrow{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line,#e3dfd6);border-radius:16px;padding:10px}
.dz-tagrow img{width:78px;height:78px;object-fit:cover;border-radius:10px;flex:none}
.dz-chips,.dz-pf,.dz-qchips{display:flex;flex-wrap:wrap;gap:8px}
.dz-chips button,.dz-pf button,.dz-qchips button{font:500 13px Inter,sans-serif;border:1px solid #d9d3c5;background:#fff;color:var(--dz-ink);padding:8px 15px;border-radius:99px;cursor:pointer;transition:all .15s}
.dz-chips button.on,.dz-pf button.on,.dz-qchips button.on{background:var(--dz-ink);color:#fff;border-color:var(--dz-ink)}
.dz-chips button.on::before{content:'✓ '}
.dz-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.dz-cat,.dz-prod,.dz-opt{font:inherit;text-align:left;color:var(--dz-ink);background:#fff;border:1.5px solid var(--line,#e3dfd6);border-radius:18px;cursor:pointer;transition:border-color .15s,transform .2s,box-shadow .2s;position:relative}
.dz-cat:hover,.dz-prod:hover,.dz-opt:hover{transform:translateY(-2px);box-shadow:0 14px 30px -20px rgba(0,0,0,.3)}
.dz-cat.on,.dz-prod.on,.dz-opt.on{border-color:var(--dz-ink);box-shadow:0 0 0 3px var(--dz-y)}
.dz-cat.on::after,.dz-prod.on::after,.dz-opt.on::after{content:'✓';position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;background:var(--dz-ink);color:var(--dz-y);display:grid;place-items:center;font-size:12px;font-weight:700}
.dz-cat{display:flex;flex-direction:column;gap:2px;padding:12px 14px 14px}
.dz-cat img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#f3efe7;border-radius:12px;margin-bottom:8px}
.dz-cat b{font-size:17px}.dz-cat span{font-size:12.5px;color:#77736b}
.dz-pf{margin:0 0 14px}
.dz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;max-height:62vh;overflow-y:auto;padding:4px 4px 8px;margin:-4px}
.dz-grid.three{grid-template-columns:repeat(3,1fr);max-height:none}
.dz-prod{display:flex;flex-direction:column;gap:2px;padding:10px 10px 12px}
.dz-prod img{width:100%;aspect-ratio:1;object-fit:contain;background:#f3efe7;border-radius:12px;margin-bottom:6px}
.dz-prod b{font-size:13.5px}.dz-prod span{font-size:11.5px;color:#7a766d}
.dz-best{position:absolute;top:10px;left:10px;z-index:1;background:var(--dz-y);font-size:11px!important;font-weight:600;color:var(--dz-ink)!important;padding:3px 9px;border-radius:99px}
.dz-nofit{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:16px 18px;border-radius:16px;background:#efeafb}
.dz-nofit div{display:flex;flex-direction:column;gap:3px;font-size:13px}.dz-nofit b{font-size:15px}
.dz-sw{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin-bottom:18px}
.dz-sw button{font:500 12.5px Inter,sans-serif;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 12px;border:1.5px solid var(--line,#e3dfd6);background:#fff;border-radius:16px;cursor:pointer;color:var(--dz-ink);transition:all .15s}
.dz-sw button i{width:44px;height:44px;border-radius:50%;border:1px solid rgba(0,0,0,.1);transition:transform .2s}
.dz-sw button:hover i{transform:scale(1.08)}
.dz-sw button.on{border-color:var(--dz-ink);box-shadow:0 0 0 3px var(--dz-y)}
.dz-own{background:#fff;border:1.5px solid var(--line,#e3dfd6);border-radius:16px;padding:14px 16px}
.dz-own.on{border-color:#f0a400;box-shadow:0 0 0 3px #fff0c4}
.dz-own .lbl{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#7a766d}
.dz-own .cpick{width:46px;height:46px;border-radius:12px;overflow:hidden;border:1px solid var(--line,#e3dfd6);flex:none;display:block}
.dz-own .cpick input{width:200%;height:200%;margin:-50%;border:0;cursor:pointer}
.dz-flag{margin:4px 0 0;font-size:12.5px;color:#6b4a00;background:#fff4dc;padding:8px 12px;border-radius:10px}
.dz-opts{display:flex;flex-direction:column;gap:10px}
.dz-opts.two{flex-direction:column}
.dz-opt{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;padding:16px 46px 16px 16px;align-items:center}
.dz-opts.two .dz-opt{grid-template-columns:1fr;padding:13px 46px 13px 16px}
.dz-opt b{font-size:15.5px}.dz-opt span:not(.dz-oico){font-size:13px;color:#6f6c66;grid-column:2}
.dz-opts.two .dz-opt span{grid-column:1}
.dz-opt em{grid-column:2;font-style:normal;font-size:11.5px;color:#6b4a00;font-weight:500}
.dz-opts.two .dz-opt em{grid-column:1;justify-self:start;background:#fff4dc;padding:2px 8px;border-radius:99px}
.dz-oico{grid-row:1/span 3;width:48px;height:48px;border-radius:14px;background:#f3efe7;position:relative}
.dz-oico.c{background:linear-gradient(135deg,#CCAED0,#a6b39d)}
.dz-oico.p::after,.dz-oico.e::after{content:'LOGO';position:absolute;inset:0;display:grid;place-items:center;font:800 10px Inter,sans-serif;letter-spacing:.05em}
.dz-oico.p{background:#e9e3d7}.dz-oico.p::after{color:var(--dz-b)}
.dz-oico.e{background:#e9e3d7}.dz-oico.e::after{color:#e9e3d7;text-shadow:1px 1px 0 rgba(0,0,0,.25),-1px -1px 0 #fff}
.dz-logoacts{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.dz-qty{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.dz-qty .qstep{display:flex;align-items:center;border:1px solid var(--line,#e3dfd6);border-radius:99px;background:#fff;overflow:hidden}
.dz-qty .qstep button{width:42px;height:44px;border:0;background:none;font-size:18px;cursor:pointer}
.dz-qty .qstep input{width:90px;text-align:center;border:0;font:600 17px Inter,sans-serif;background:none;-moz-appearance:textfield}
.dz-qty .qstep input::-webkit-inner-spin-button{display:none}
.dz-impact{margin:6px 0 20px;padding:12px 14px;border-radius:12px;background:#e3f5ee;color:#0d5c47;font-size:13.5px}
.dz-panel .lbl{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#7a766d;margin:0 0 8px}
.dz-review{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line,#e3dfd6);border-radius:18px;overflow:hidden;margin-bottom:12px}
.dz-review button{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:10px;text-align:left;font:inherit;padding:14px 16px;border:0;border-bottom:1px solid #eee9df;background:none;cursor:pointer;color:var(--dz-ink)}
.dz-review button:last-child{border-bottom:0}.dz-review button:hover{background:#faf8f3}
.dz-review span{font-size:12.5px;color:#7a766d}.dz-review b{font-size:14.5px}.dz-review em{font-style:normal;font-size:12.5px;color:var(--dz-b)}
.dz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line,#e3dfd6)}
.dz-nav .btn{padding:11px 20px;font-size:14px;cursor:pointer}
.dz-nav .primary{padding:12px 30px;min-width:150px}
.dz-nav .primary:not(:disabled){box-shadow:0 0 0 0 rgba(243,255,81,.0)}
.dz-nav .primary:not(:disabled):hover{background:var(--dz-ink);box-shadow:0 0 0 4px var(--dz-y)}
.dz-card{position:sticky;top:calc(var(--hdr) + 92px);background:#fff;border:1px solid var(--line,#e3dfd6);border-radius:20px;padding:18px}
.dz-card .lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7a766d}
.dz-card h3{font-size:17px;line-height:1.25;margin:4px 0 12px;font-weight:700;letter-spacing:-.01em}
.dz-cimg{position:relative;aspect-ratio:4/3;background:#f3efe7;border-radius:14px;margin-bottom:10px;overflow:hidden}
.dz-cimg img{width:100%;height:100%;object-fit:contain}
.dz-cimg i{position:absolute;right:8px;bottom:8px;width:22px;height:22px;border-radius:50%;border:2px solid #fff}
.dz-crow{display:grid;grid-template-columns:78px 1fr 16px;gap:6px;align-items:baseline;padding:8px 0;border-bottom:1px solid #f0ece3;font-size:12.5px}
.dz-crow span{color:#8a867d}.dz-crow b{font-weight:500;word-break:break-word}.dz-crow b em{font-style:normal;color:#b9b4a8}
.dz-crow b small{display:block;color:#6b4a00;font-size:11px;font-weight:400}
.dz-crow>i{font-style:normal;color:var(--dz-g);font-weight:700;font-size:12px}
.dz-crow.ok{animation:dzFill .4s ease}
@keyframes dzFill{from{background:#fbffd0}to{background:transparent}}
.dz-cfoot{margin-top:12px;font-size:11.5px;color:#7a766d}
.dz-meter{height:5px;background:#eee9df;border-radius:99px;margin-top:6px;overflow:hidden}
.dz-meter i{display:block;height:100%;background:var(--dz-g);border-radius:99px;transition:width .5s ease}
/* finish screen */
.dz-done{position:relative;text-align:left;padding-top:6px}
.dz-seal{width:64px;height:64px;border-radius:50%;background:var(--dz-y);display:grid;place-items:center;font-size:30px;font-weight:700;margin-bottom:12px;animation:dzSeal .6s cubic-bezier(.2,1.6,.4,1)}
@keyframes dzSeal{0%{transform:scale(0) rotate(-40deg)}100%{transform:none}}
.dz-burst{position:absolute;left:32px;top:38px;width:0;height:0;pointer-events:none}
.dz-burst i{position:absolute;width:8px;height:8px;border-radius:2px;background:var(--c);transform:rotate(var(--a)) translateY(0);opacity:0;animation:dzBurst .9s ease-out .1s forwards}
@keyframes dzBurst{0%{opacity:1;transform:rotate(var(--a)) translateY(0)}100%{opacity:0;transform:rotate(var(--a)) translateY(-70px)}}
.dz-name{display:block;width:100%;font:700 30px/1.15 Inter,sans-serif;letter-spacing:-.02em;border:0;border-bottom:2px dashed transparent;background:none;padding:2px 0;margin:0 0 8px;color:var(--dz-ink)}
.dz-name:hover,.dz-name:focus{border-bottom-color:#d9d3c5;outline:0}
.dz-sumrow{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 20px}
.dz-sumrow span{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--line,#e3dfd6);border-radius:99px;padding:6px 12px;font-size:12.5px}
.dz-finacts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dz-finacts .primary{grid-column:1/-1;padding:14px;font-size:15px;background:var(--dz-ink)}
.dz-finacts .primary:hover{background:var(--dz-b)}
.dz-finacts .btn{padding:11px 12px;text-align:center;cursor:pointer;font-size:13.5px}
.dz-done .note{min-height:18px;margin:10px 0 4px;color:#0d5c47}
.dz-done .clearf{margin-top:6px}
@media (max-width:1180px){
  .dz-body,.dz.isdone .dz-body{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
  .dz-card{grid-column:1/-1;position:static}
}
@media (max-width:760px){
  .dz-start{margin-left:0;order:-1;width:100%;justify-content:center}
  .dz{padding:8px 0 90px}
  .dz-top{top:var(--hdr);padding:8px 0 8px;margin:0 -15px 10px;padding-left:15px;padding-right:15px}
  .dz-body,.dz.isdone .dz-body{display:flex;flex-direction:column;gap:14px}
  .dz-preview{position:static;width:100%}
  .dz-stage.stage,.dz.isdone .dz-stage.stage{height:290px!important}
  .dz-mood{min-height:160px;columns:3}.dz-moodempty{min-height:136px}
  .dz-main,.dz-card{width:100%}
  .dz-card{order:3}
  .dz-panel h2{font-size:24px}.dz-panel h2.dz-big{font-size:32px}
  .dz-choices{grid-template-columns:1fr;gap:12px;margin-top:16px}
  .dz-choice{min-height:0;padding:22px 20px}.dz-choice b{font-size:22px}
  .dz-grid{grid-template-columns:repeat(2,1fr);max-height:none}
  .dz-grid.three{grid-template-columns:repeat(2,1fr)}
  .dz-cats{grid-template-columns:repeat(2,1fr);gap:10px}
  .dz-sw{grid-template-columns:repeat(3,1fr)}
  .dz-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;margin:0;padding:10px 15px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line,#e3dfd6);box-shadow:0 -10px 24px -18px rgba(0,0,0,.3)}
  .dz-nav .primary{flex:1}
  .dz-nofit{flex-direction:column;align-items:flex-start}
  .dz-finacts{grid-template-columns:1fr}
  .dz-name{font-size:24px}
  .dz-review button{grid-template-columns:86px 1fr auto}
  .dz-saved{grid-template-columns:1fr}
}
.dz-resume{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:6px 0 0;padding:14px 18px;border-radius:16px;background:#fff;border:1px solid var(--line,#e3dfd6)}
.dz-resume div{display:flex;flex-direction:column;gap:2px;font-size:13px;color:#6f6c66}.dz-resume b{color:var(--dz-ink);font-size:15px}
.dz-card h3{text-transform:none!important}
textarea.dz-name{resize:none;overflow:hidden;font-family:Inter,sans-serif}
.dz-logoarea.emboss img{filter:grayscale(1) brightness(1.55) contrast(.55) drop-shadow(.7px .7px 0 rgba(0,0,0,.28)) drop-shadow(-.7px -.7px 0 rgba(255,255,255,.75));opacity:.6}
@media (max-width:760px){.dz.isdone .dz-card{display:none}}
/* R2 deck layout fixes */
.ov-row.cont{border-top:0}
.ov-row{border-bottom:.3mm solid #dcd7cc}
.ov-its{justify-content:space-evenly!important;gap:3mm!important}
.ov-it{flex:0 1 auto!important;min-width:18mm}
.ov-it b{font-size:8pt!important}
.sh-row{gap:4mm!important}.sh-it{margin:0!important}
.sh-row.front{bottom:30%!important}
.ov-it .lp{max-height:none!important}.ov-pic{overflow:visible}

/* R2 journeys: sidebar · global back · phone tab bar · build ------------------- */
.side .jn{margin:6px 0 2px;border-radius:14px;transition:background .2s}
.side .jh{display:grid;grid-template-columns:26px 1fr;column-gap:8px;align-items:baseline;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--ink)}
.side .jh .jno{grid-row:1/span 2;font-size:11px;font-weight:600;color:#9a958b}
.side .jh b{font-size:15px;font-weight:700;letter-spacing:-.01em}
.side .jh small{grid-column:2;font-size:11.5px;color:#8a867d;display:flex;align-items:center;gap:6px}
.side .jh:hover{background:#fff}
.side .jn.on{background:#fff;box-shadow:0 0 0 1px var(--line)}
.side .jn.on>.jh{background:#F3FF51}
.side .jn.on>.jh .jno{color:var(--ink)}
.side .jsub{padding:2px 4px 8px}
.side .jn:not([data-j="buy"]) .jsub{display:none}
.side .jsub .nav{padding:7px 10px;font-size:13.5px}
.side .jmini{font-size:12.5px!important;color:#8a867d;padding:6px 10px!important}
.side .jn[data-j="buy"]:not(.on) #famnav .nav.on{background:none}
.side .jh .count{background:#eee9df;border-radius:99px;padding:0 7px;font-size:10.5px;color:var(--ink)}
.side .jbag{display:flex;justify-content:space-between;align-items:center;margin:10px 0 0;padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);font-weight:600;font-size:14px}
.side .jbag .count{background:#eee9df;border-radius:99px;padding:1px 9px;font-size:12px}
.side .jbag .count.has{background:var(--ink);color:#F3FF51}
.side .jbag.on{background:#F3FF51;border-color:var(--ink)}
/* global back: top-left of the main window, on every view */
:root{--bk:50px}
.work{padding-top:var(--bk)!important}
.gback{position:fixed;top:var(--hdr);left:var(--side);right:0;height:var(--bk);display:flex;align-items:center;padding:0 32px;z-index:46;background:var(--bg,#f5f3ee);pointer-events:none}
.gback.hide{display:none}
.gbackbtn{pointer-events:auto;font:500 13px Inter,sans-serif;border:1px solid var(--line);background:var(--paper,#fff);color:var(--ink);border-radius:99px;padding:7px 15px;cursor:pointer}
.gbackbtn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (min-width:761px){body.detail-open .detail{top:calc(var(--hdr) + var(--bk))!important}}
.detail .dtop{justify-content:flex-start}
.dz-top{top:calc(var(--hdr) + var(--bk))!important}
.dz-preview,.dz-card{top:calc(var(--hdr) + var(--bk) + 92px)!important}
@media (max-width:1340px){.gback{padding:0 22px}}
/* phone tab bar */
.tabbar{display:none}
@media (max-width:760px){
  :root{--tab:62px;--bk:46px}
  .top .menu,#menuBtn,.side,body.side-open .scrim{display:none!important}
  .gback{left:0;padding:0 15px}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px -18px rgba(0,0,0,.35)}
  .tabbar a{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0 3px;text-decoration:none;color:#8a867d;font:600 10.5px Inter,sans-serif;border-radius:12px}
  .tabbar svg{width:23px;height:23px}
  .tabbar a.on{color:var(--ink)}
  .tabbar a.on svg{background:#F3FF51;border-radius:9px;padding:2px 8px;width:39px;box-sizing:border-box;overflow:visible}
  .tabbar a b{position:absolute;top:0;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#d9d3c5;color:var(--ink);font-size:10px;display:grid;place-items:center}
  .tabbar a b.has{background:var(--ink);color:#F3FF51}
  body{padding-bottom:calc(var(--tab) + env(safe-area-inset-bottom))}
  .work{padding-bottom:calc(var(--tab) + 30px)!important}
  .detail{bottom:calc(var(--tab) + env(safe-area-inset-bottom))!important;top:calc(var(--hdr) + var(--bk))!important}
  .dz-nav{bottom:calc(var(--tab) + env(safe-area-inset-bottom))!important}
  .dz{padding-bottom:150px!important}
  #toast{bottom:calc(var(--tab) + 16px)!important}
  footer{padding-bottom:20px}
}
/* build journey */
.bd .dz-top{margin-bottom:18px}
.bd-panel{animation:dzIn .35s ease;min-height:40vh}
.bd-panel>.eyebrow{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#7a766d;margin:4px 0 6px}
.bd-panel>h2{font-size:30px;line-height:1.1;margin:0 0 8px}
.bd-cats{grid-template-columns:repeat(4,1fr)!important}
.bd-prev{margin-top:16px}
.bd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.bd-card{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:10px 10px 12px;display:flex;flex-direction:column;gap:3px;transition:border-color .15s,box-shadow .15s}
.bd-card.on{border-color:var(--ink);box-shadow:0 0 0 3px #F3FF51}
.bd-card img{width:100%;aspect-ratio:1;object-fit:contain;background:#f3efe7;border-radius:12px;margin-bottom:6px;cursor:pointer}
.bd-card b{font-size:13.5px}.bd-card>span{font-size:11.5px;color:#7a766d}.bd-card small{font-size:11px;color:#55524b;min-height:14px}
.bd-tick{position:absolute;top:16px;right:16px;z-index:1;width:30px;height:30px;border-radius:50%;border:1.5px solid #cfc8b8;background:#fff;color:transparent;font-weight:700;cursor:pointer}
.bd-card.on .bd-tick{background:var(--ink);border-color:var(--ink);color:#F3FF51}
.bd-dots{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.bd-dots i{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.12);cursor:pointer;transition:transform .15s}
.bd-dots i:hover{transform:scale(1.15)}.bd-dots i.on{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--ink)}
.bd-tray{position:sticky;bottom:12px;z-index:4;background:var(--ink);color:#fff;border-radius:18px;padding:12px 14px;box-shadow:0 18px 40px -20px rgba(0,0,0,.5)}
.bd-trayh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bd-trayh b{font-size:14px}.bd-trayh .clearf{color:#F3FF51}
.bd-trayi{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin}
.bd-trayi span{position:relative;flex:none}.bd-trayi img{width:52px;height:52px;object-fit:contain;background:#f3efe7;border-radius:10px;display:block}
.bd-trayi button{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;border:0;background:#F3FF51;font-size:9px;cursor:pointer}
.bd-trayi em{font-size:12.5px;opacity:.7;font-style:normal}
.bd-form{display:grid;gap:14px;max-width:560px}
.bd-form label:not(.dz-drop){display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:#55524b}
.bd-form input:not([type=file]){font:inherit;font-size:15px;font-weight:400;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.bd-drop img{max-height:70px;max-width:60%;object-fit:contain}
.bd-styles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.bd-styles .dz-opt{grid-template-columns:1fr;padding:18px 46px 18px 18px}
.bd-styles .dz-opt span{grid-column:1!important}.bd-styles .dz-opt em{grid-column:1!important}
.bd-chk{display:flex;gap:8px;align-items:center;margin-top:14px;font-size:14px}
.bd-slides{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.bd-sl{display:flex;flex-direction:column;gap:4px}.bd-sl>span{font-size:11px;color:#8a867d}
.bd-slbox{position:relative;overflow:hidden;border-radius:10px;box-shadow:0 10px 30px -18px rgba(0,0,0,.35);background:#fff}
.bd-slbox .slide{transform-origin:0 0;position:absolute;left:0;top:0}
.bd-loading{padding:40px;text-align:center;color:#7a766d}
.bd-render{position:fixed;left:-20000px;top:0;width:297mm}
.bd-render .slide{display:block}
.bd-nav{align-items:center}.bd-count{font-size:13px;color:#55524b;font-weight:600}
.bd-done h2{font-size:32px;margin:0 0 6px}
.bd-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 20px}.bd-thumbs img{width:64px;height:64px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:12px}.bd-thumbs span{display:grid;place-items:center;width:64px;height:64px;border-radius:12px;background:#eee9df;font-weight:600}
.bd-done .dz-finacts{max-width:560px}
@media (max-width:1100px){.bd-cats{grid-template-columns:repeat(2,1fr)!important}.bd-styles{grid-template-columns:1fr}}
@media (max-width:760px){
  .bd-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .bd-panel>h2{font-size:24px}
  .bd-slides{grid-template-columns:1fr}
  .bd-tray{bottom:calc(var(--tab) + 74px)}
  .bd-count{display:none}
}
@media (max-width:760px){.tabbar{z-index:110}#landing{padding-bottom:calc(var(--tab) + env(safe-area-inset-bottom))}}
@media (max-width:760px){.bd-tray{padding:8px 10px;border-radius:14px}.bd-trayh{margin-bottom:5px}.bd-trayh b{font-size:12.5px}.bd-trayi img{width:36px;height:36px;border-radius:8px}.bd-trayi button{width:15px;height:15px;font-size:8px}}
@media (max-width:760px) and (max-height:700px){.bd-tray{position:static}}
label.chk:has(#dLogoShot){display:none}
/* R3 logo placement */
.dz-logoarea{aspect-ratio:auto!important;border-radius:3px!important}
.dz-logoarea.rot span,.dz-logoarea span{display:none}
.dz-logoarea:not(.has){background:rgba(58,91,255,.08)}
.dz-logoarea img{opacity:.92}
.stage img.stage-logo{opacity:.92}
/* R3 finish: one clear action */
.dz.isdone .dz-body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important}
.dz.isdone .dz-card{display:none!important}
.dz-fin .dz-name{font-size:28px;margin-bottom:6px}
.dz-fin .dz-sumrow{margin:2px 0 8px}
.dz-fitline{font-size:12.5px;margin:0 0 14px;padding:7px 12px;border-radius:10px;display:inline-block}
.dz-fitline.green{background:#e3f5ee;color:#0d5c47}.dz-fitline.amber{background:#fff4dc;color:#6b4a00}
.dz-send{display:grid;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}
.dz-send label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:#55524b}
.dz-send label small{font-weight:400;color:#9a958b}
.dz-send input,.dz-send textarea{font:inherit;font-size:15px;font-weight:400;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#fbfaf7;color:var(--ink);resize:vertical}
.dz-send input:focus,.dz-send textarea:focus{outline:0;border-color:var(--ink);background:#fff}
.dz-send input.bad{border-color:#d0342c;background:#fff6f5}
.dz-f2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dz-sendbtn{width:100%;padding:15px!important;font-size:15.5px!important;margin-top:4px}
.dz-sendbtn:hover{background:var(--dz-b,#3A5BFF)!important}
.dz-sendnote{margin:0!important;text-align:center;color:#55524b!important}
.dz-links{margin:4px 0 0;text-align:center;font-size:13px;color:#9a958b}
.linkbtn{font:inherit;font-size:13px;border:0;background:none;padding:0;color:#3d3b36;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.linkbtn:hover{color:var(--dz-b,#3A5BFF)}
.dz-sent .dz-sentname{font-size:30px;margin:0 0 8px}
.dz-sent .dz-links{text-align:left}
@media (max-width:760px){.dz-f2{grid-template-columns:1fr}.dz-fin .dz-name{font-size:23px}}
/* R3 phones: journeys row at the top (no fixed bottom bars) */
:root{--jr:0px}
.jrow{display:none}
.gback{top:calc(var(--hdr) + var(--jr))}
.dz-top{top:calc(var(--hdr) + var(--jr) + var(--bk))!important}
.lx-jm{display:none}
@media (max-width:760px){
  :root{--jr:44px}
  .tabbar{display:none!important}
  body{padding-bottom:env(safe-area-inset-bottom)!important}
  .work{padding-bottom:40px!important}
  .jrow{display:flex;position:sticky;top:var(--hdr);z-index:47;height:var(--jr);align-items:center;gap:6px;padding:0 12px;overflow-x:auto;scrollbar-width:none;background:rgba(245,243,238,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .jrow::-webkit-scrollbar{display:none}
  .jrow a{flex:none;display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:99px;font:600 13px Inter,sans-serif;color:#55524b;text-decoration:none;white-space:nowrap}
  .jrow a.on{background:#F3FF51;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
  .jrow a b{min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#e2ddd2;font-size:10.5px;display:inline-grid;place-items:center}
  .jrow a b.has{background:var(--ink);color:#F3FF51}
  .jrow a[data-j="bag"]{margin-left:auto}
  .detail{top:calc(var(--hdr) + var(--jr) + var(--bk))!important;bottom:0!important}
  .dz-nav,.bd-nav{position:static!important;box-shadow:none!important;background:none!important;backdrop-filter:none!important;border-top:1px solid var(--line)!important;padding:16px 0 0!important;margin-top:22px!important}
  .dz{padding-bottom:30px!important}
  .bd-tray{position:static!important}
  #toast{bottom:20px!important}
  /* landing: the four journeys as a list under Enter Studio */
  #landing{padding-bottom:0!important}
  .lx-jm{display:flex;flex-direction:column;margin-top:26px;border-top:1px solid #d8d8d1}
  .lx-jm a{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:15px 2px;border-bottom:1px solid #d8d8d1;text-decoration:none;color:#181916}
  .lx-jm span{font-size:12px;color:#8a867d}.lx-jm b{font-size:20px;font-weight:600}.lx-jm em{font-style:normal;font-size:13px;color:#535650}
}
.dz-logoarea.has{mix-blend-mode:multiply}.dz-logoarea.has img{mix-blend-mode:normal}
@media (max-width:760px){
  #landing .lx-jm{width:100%;max-width:none;padding:0;margin:26px 0 0}
  #landing .lx-jm a{display:grid!important;grid-template-columns:30px 1fr auto;width:100%;margin:0!important;padding:15px 2px!important;background:none!important;border:0;border-bottom:1px solid #d8d8d1;text-align:left}
  #landing .lx-jm a>*{margin:0!important;padding:0!important;position:static!important}
}
/* PORTAL53 · client catalogue edition (index.html). studio.html shows everything */
.catpdf{display:none}
body.cat-only .catpdf{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:10px 20px;font-size:13.5px;border-radius:99px}
body.cat-only [data-j="customise"],body.cat-only [data-j="design"],body.cat-only [data-j="build"],
body.cat-only .dz-start,body.cat-only .dz-entry,body.cat-only #cust,body.cat-only #selAll,body.cat-only .card .pick,
body.cat-only #selBar,body.cat-only .s19-acts,body.cat-only a[href="#compare"],body.cat-only #stageLogo{display:none!important}
@media (max-width:760px){body.cat-only .catpdf{width:100%;justify-content:center;order:-1;margin:0}}
