@font-face{
  font-family:"Anton";
  src:url("templates/preview/fonts/Anton-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Courier Prime";
  src:url("templates/preview/fonts/CourierPrime-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Courier Prime";
  src:url("templates/preview/fonts/CourierPrime-Bold.ttf") format("truetype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Hubot Sans";
  src:url("templates/preview/fonts/HubotSans-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Hubot Sans";
  src:url("templates/preview/fonts/HubotSans-SemiBold.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}

:root{
  --cream:#f5f2eb;
  --paper:#fffdf7;
  --black:#111;
  --yellow:#f5f300;
  --accent:var(--black);
  --line:#d5cec1;
  --muted:#6f695f;
  --font-title:"Anton","Arial Narrow",Arial,sans-serif;
  --font-accent:"Courier Prime","Courier New",monospace;
  --font-body:"Hubot Sans",Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--black);font-family:var(--font-body)}
button,input,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.tool-header{
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  align-items:center;
  gap:28px;
  padding:16px 4vw 14px;
  background:rgba(245,242,235,.92);
  border-bottom:1px solid rgba(17,17,17,.1);
  backdrop-filter:blur(12px);
}
.brand{
  display:flex;
  align-items:flex-end;
  gap:14px;
  color:var(--black);
  line-height:1;
  text-decoration:none;
}
.brand img{
  display:block;
  width:clamp(150px,17vw,250px);
  height:auto;
}
.brand span{
  display:block;
  margin-bottom:2px;
  color:var(--black);
  font-family:var(--font-accent);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
}
.tool-header nav{
  margin-left:auto;
  display:flex;
  gap:8px;
}
.tool-header nav button{
  border:1px solid transparent;
  background:transparent;
  padding:8px 10px;
  color:var(--black);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.tool-header nav button.active{
  border-color:var(--black);
  background:var(--yellow);
}
.selection-tool{padding-bottom:8vh}
.selection-hero{
  min-height:62vh;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.45fr);
  align-items:end;
  gap:4vw;
  padding:12vh 5vw 7vh;
  background:var(--yellow);
}
.kicker{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.selection-hero h1{
  max-width:980px;
  margin:.25em 0;
  font-family:Georgia,serif;
  font-size:clamp(52px,7vw,118px);
  line-height:.92;
  font-weight:500;
  letter-spacing:0;
}
.selection-hero p{max-width:720px;font-size:18px;line-height:1.5}
.source-card{
  background:var(--black);
  color:white;
  padding:24px;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.source-refresh{
  align-self:flex-start;
  margin-top:14px;
  min-height:34px;
  border:1px solid white;
  background:white;
  color:var(--black);
  padding:0 12px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.source-refresh:hover:not(:disabled){
  background:var(--yellow);
  border-color:var(--yellow);
}
.source-refresh:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.source-card span,.rules span,.reference-card span,.reference-card em,.preview-head span,.preview-head em{
  font-family:monospace;
  font-size:11px;
  text-transform:uppercase;
  color:var(--muted);
}
.source-card span{color:var(--yellow)}
.source-card strong{font-family:Georgia,serif;font-size:34px;line-height:1}
.source-card p{font-size:15px;color:#ddd}
.source-status{
  margin-top:18px;
  padding:8px 10px;
  background:rgba(245,243,0,.12);
  border:1px solid rgba(245,243,0,.45);
  font-family:monospace;
  font-size:11px;
  line-height:1.3;
  text-transform:uppercase;
  color:var(--yellow);
}
.step-nav{
  display:flex;
  gap:8px;
  padding:28px 5vw 0;
}
.step-nav span{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  border:1px solid var(--line);
  background:var(--paper);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.step-nav span.active{
  background:var(--black);
  color:white;
  border-color:var(--black);
}
.workbench{
  display:grid;
  grid-template-columns:minmax(280px,.34fr) minmax(0,1fr) minmax(260px,.28fr);
  gap:24px;
  padding:32px 5vw 5vw;
  align-items:start;
}
.controls,.library,.preview,.selection-next{
  min-width:0;
}
.controls{
  position:sticky;
  top:92px;
}
form,.rules,.library,.preview-paper{
  background:var(--paper);
  border:1px solid var(--line);
}
form{padding:22px}
label,legend{font-size:12px;font-weight:900;text-transform:uppercase}
textarea{
  width:100%;
  margin:12px 0 22px;
  padding:12px;
  border:1px solid var(--line);
  background:white;
  resize:vertical;
  line-height:1.35;
}
fieldset{
  margin:0 0 20px;
  padding:16px 0 0;
  border:0;
  border-top:1px solid var(--line);
}
fieldset label{
  display:flex;
  gap:8px;
  align-items:center;
  margin:10px 0;
  text-transform:none;
  font-weight:400;
  line-height:1.3;
}
.actions,.export-actions,.filters{display:flex;gap:10px;flex-wrap:wrap}
.primary,.secondary,.filters button,.view-toggle button,.reference-card button,.export-actions button{
  min-height:40px;
  border:1px solid var(--black);
  padding:0 14px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  background:transparent;
}
.primary,.export-actions button:not(:disabled){background:var(--black);color:white}
.primary:hover,.export-actions button:not(:disabled):hover,.reference-card button:hover{background:var(--yellow);color:var(--black)}
.secondary{border-color:var(--line)}
.rules{margin-top:16px;padding:18px}
.rules p{margin:.7em 0 0;line-height:1.45;color:#3a362f}
.library{padding:24px}
.library-head{display:flex;gap:18px;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.library h2{
  margin:.25em 0;
  font-family:Georgia,serif;
  font-size:clamp(32px,3.4vw,60px);
  line-height:1;
  font-weight:500;
}
.selection-count{
  min-width:118px;
  padding:14px;
  border-left:4px solid var(--black);
  background:var(--cream);
}
.selection-count strong{display:block;font-size:38px;line-height:1}
.selection-count span{font-size:11px;text-transform:uppercase}
.filters{
  align-items:flex-end;
  margin-bottom:18px;
  padding:12px;
  border:1px solid var(--line);
  background:#ebe5d8;
}
.filters label{
  min-width:190px;
  display:grid;
  gap:7px;
  color:#4f493f;
  font-family:var(--font-accent);
  font-size:11px;
  font-weight:700;
  line-height:1;
  text-transform:uppercase;
}
.filters .filter-search{
  flex:1 1 360px;
  min-width:min(100%,320px);
  padding:10px;
  border:1px solid var(--black);
  background:white;
}
.filters .filter-search:focus-within{
  outline:3px solid var(--yellow);
  outline-offset:0;
}
.filters select,
.filters input{
  min-height:40px;
  border:1px solid var(--black);
  border-radius:0;
  padding:0 34px 0 10px;
  background:white;
  color:var(--black);
  font-family:var(--font-body);
  font-size:13px;
}
.filters .filter-search input{
  width:100%;
  min-height:34px;
  border:0;
  border-top:1px solid var(--line);
  margin-top:2px;
  padding:8px 0 0;
  outline:0;
  font-size:16px;
}
.filters .filter-search input::placeholder{
  color:#908779;
}
.filters input{
  padding:0 10px;
}
.view-toggle{
  display:flex;
  gap:6px;
  align-items:flex-end;
  margin-left:auto;
}
.view-toggle button{
  border-color:var(--line);
  background:white;
}
.view-toggle button.active{
  border-color:var(--black);
  background:var(--yellow);
}
.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.reference-card{
  min-height:260px;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px;
  border:1px solid var(--line);
  background:white;
}
.reference-card.is-selected{outline:3px solid var(--yellow)}
.reference-card.is-blocked{opacity:.56}
.reference-card-head{display:flex;gap:12px;justify-content:space-between;align-items:center}
.reference-card h3{
  margin:0;
  font-family:Georgia,serif;
  font-size:28px;
  line-height:1.02;
  font-weight:500;
}
.reference-card p{margin:0;line-height:1.42;color:#35312b}
.reference-card small{margin-top:auto;font-weight:900}
.reference-tags{display:flex;gap:6px;flex-wrap:wrap}
.reference-tags b{
  padding:5px 7px;
  background:var(--cream);
  font-size:11px;
  text-transform:uppercase;
}
.reference-card button:disabled{cursor:not-allowed;color:#777;border-color:#aaa}
.reference-grid.is-list-view{
  display:block;
}
.reference-grid.is-list-view .reference-card{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(170px,.28fr) minmax(0,1fr) auto;
  gap:10px 16px;
  align-items:center;
  padding:12px 14px;
  border-bottom:0;
}
.reference-grid.is-list-view .reference-card:last-child{
  border-bottom:1px solid var(--line);
}
.reference-grid.is-list-view .reference-card-head{
  display:contents;
}
.reference-grid.is-list-view .reference-card-head span{
  grid-column:1;
  grid-row:1;
}
.reference-grid.is-list-view .reference-card-head button{
  grid-column:3;
  grid-row:1 / span 3;
}
.reference-grid.is-list-view .reference-card h3{
  grid-column:2;
  grid-row:1;
  font-size:19px;
  line-height:1.05;
}
.reference-grid.is-list-view .reference-card p{
  grid-column:2;
  grid-row:2;
  font-size:12px;
  line-height:1.25;
}
.reference-grid.is-list-view .reference-card small{
  grid-column:1;
  grid-row:2;
  margin:0;
}
.reference-grid.is-list-view .reference-tags{
  grid-column:2;
  grid-row:3;
}
.reference-grid.is-list-view .reference-card em{
  grid-column:1;
  grid-row:3;
}
.selection-next{
  position:sticky;
  top:92px;
  padding:22px;
  background:var(--black);
  color:white;
}
.selection-next span{
  font-family:"Courier New",monospace;
  font-size:12px;
  text-transform:uppercase;
  color:var(--yellow);
}
.selection-next strong{
  display:block;
  margin:12px 0;
  font-size:26px;
  line-height:1;
}
.selection-next b{
  font-size:64px;
  line-height:.8;
  color:var(--yellow);
}
.selection-next p{
  color:#ddd;
  line-height:1.45;
}
.selection-next button{
  width:100%;
  margin-top:10px;
}
.selection-next button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.export-screen{
  padding:32px 5vw 5vw;
}
.export-top{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:24px;
  align-items:start;
  margin-bottom:24px;
}
.export-top h2{
  max-width:900px;
  margin:.1em 0 0;
  font-family:Impact,"Arial Black",Arial,sans-serif;
  font-size:clamp(42px,5vw,86px);
  line-height:.9;
  text-transform:uppercase;
  font-weight:900;
}
.preview{display:block}
.preview-paper{
  min-height:0;
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  align-items:start;
  padding:20px;
  background:white;
}
.basket-panel{
  max-width:980px;
}
.preview-head{display:grid;gap:6px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}
.preview-head strong{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:44px;line-height:.9;font-weight:900;text-transform:uppercase}
.basket-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.basket-toolbar span{
  display:block;
  margin-bottom:4px;
  font-family:monospace;
  font-size:11px;
  text-transform:uppercase;
  color:var(--muted);
}
.basket-toolbar strong{
  display:block;
  font-family:Georgia,serif;
  font-size:24px;
  line-height:1;
  font-weight:500;
}
.basket-list{
  display:grid;
  gap:10px;
  margin-top:18px;
}
.basket-item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:12px;
  border:1px solid var(--line);
  background:var(--cream);
}
.order-tools{
  display:grid;
  gap:5px;
}
.order-tools button{
  width:30px;
  height:28px;
  border:1px solid var(--line);
  background:white;
  font-weight:900;
}
.order-tools button:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.basket-item span{
  display:block;
  margin-bottom:4px;
  font-family:monospace;
  font-size:11px;
  text-transform:uppercase;
  color:var(--muted);
}
.basket-item strong{
  display:block;
  font-size:15px;
  line-height:1.2;
}
.basket-options{
  grid-column:2;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.kind-switch{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.kind-switch label{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  border:1px solid var(--line);
  background:white;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.kind-switch label.active{
  border-color:var(--black);
  background:var(--black);
  color:white;
}
.kind-switch input{
  width:1px;
  height:1px;
  opacity:0;
  position:absolute;
}
.remove-reference{
  min-height:34px;
  border:1px solid var(--line);
  background:transparent;
  padding:0 10px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.remove-reference:hover,.order-tools button:hover{
  background:var(--yellow);
  color:var(--black);
}
.preview-alerts{
  grid-column:1 / -1;
}
.empty-preview{
  min-height:320px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px;
  background:var(--black);
  color:white;
}
.empty-preview span,.client-label,.type-label{
  display:inline-block;
  width:max-content;
  font-family:monospace;
  font-size:13px;
  line-height:1.1;
}
.empty-preview span,.type-label{
  background:var(--yellow);
  color:var(--black);
  padding:2px 5px;
}
.empty-preview strong{
  display:block;
  margin:12px 0;
  font-family:Impact,"Arial Black",Arial,sans-serif;
  font-size:36px;
  line-height:.9;
  font-weight:900;
  text-transform:uppercase;
}
.empty-preview p{max-width:360px;color:#ddd;line-height:1.42}
.export-page{
  position:relative;
  aspect-ratio:16/9;
  min-height:520px;
  width:100%;
  overflow:hidden;
  background:var(--black);
  color:white;
  font-family:var(--font-body);
  container-type:inline-size;
  hyphens:none;
  -webkit-hyphens:none;
  line-break:strict;
  word-break:normal;
  overflow-wrap:normal;
  page-break-after:always;
  break-after:page;
}
.export-page h3,
.export-page p,
.export-page strong,
.export-page span,
.export-page small{
  hyphens:none;
  -webkit-hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}
.simple-sheet{
  position:relative;
  aspect-ratio:16/9;
  min-height:520px;
  display:block;
  padding:7% 8% 8%;
  overflow:hidden;
  background:var(--black);
  color:white;
  border:1px solid #000;
}
.case-cover,
.case-approach,
.case-realisations,
.case-number,
.case-visual,
.case-summary{
  padding:42px;
}
.case-media-slot,
.case-wide-media,
.case-full-media,
.case-vertical-media,
.summary-media-slot{
  position:absolute;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:6px;
  padding:18px;
  border:2px dashed rgba(255,255,255,.78);
  background:#2a2a2a;
  overflow:hidden;
}
.case-media-slot img,
.case-wide-media img,
.case-full-media img,
.case-vertical-media img,
.summary-media-slot img,
.sheet-image-slot img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.case-media-slot.has-image,
.case-wide-media.has-image,
.case-full-media.has-image,
.case-vertical-media.has-image,
.summary-media-slot.has-image,
.sheet-image-slot.has-image{
  border-style:solid;
}
.case-media-slot.has-image:before,
.case-media-slot.has-image:after,
.case-wide-media.has-image:before,
.case-wide-media.has-image:after,
.case-full-media.has-image:before,
.case-full-media.has-image:after,
.case-vertical-media.has-image:before,
.case-vertical-media.has-image:after,
.summary-media-slot.has-image:before,
.summary-media-slot.has-image:after,
.sheet-image-slot.has-image:before,
.sheet-image-slot.has-image:after{
  display:none;
}
.video-link{
  position:absolute;
  top:18px;
  right:18px;
  z-index:3;
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--yellow);
  color:var(--black);
  border:0;
  text-decoration:none;
}
.video-link span{
  display:block;
  padding:0;
  background:transparent;
  color:var(--black);
  font-family:var(--font-accent);
  font-size:14px;
  line-height:1;
  transform:translateX(1px);
}
.video-link:hover{
  background:white;
}
.case-cover .case-media-slot .video-link{
  top:62px;
}
.case-media-slot .media-caption,
.case-wide-media .media-caption,
.case-full-media .media-caption,
.case-vertical-media .media-caption,
.summary-media-slot .media-caption{
  position:relative;
  z-index:1;
  width:max-content;
  max-width:100%;
  padding:2px 5px;
  background:white;
  color:var(--black);
  font-family:var(--font-accent);
  font-size:14px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.case-media-slot:before,
.case-media-slot:after,
.case-wide-media:before,
.case-wide-media:after,
.case-full-media:before,
.case-full-media:after,
.case-vertical-media:before,
.case-vertical-media:after,
.summary-media-slot:before,
.summary-media-slot:after{
  content:"";
  position:absolute;
  left:-10%;
  right:-10%;
  top:50%;
  height:2px;
  background:rgba(255,255,255,.45);
  transform:rotate(28deg);
}
.case-media-slot:after,
.case-wide-media:after,
.case-full-media:after,
.case-vertical-media:after,
.summary-media-slot:after{transform:rotate(-28deg)}
.case-media-slot{
  right:0;
  top:0;
  bottom:0;
  width:50.8%;
  border-top:0;
  border-right:0;
  border-bottom:0;
}
.case-cover-title{
  position:absolute;
  left:8%;
  top:12%;
  width:38%;
  max-height:30%;
  overflow:hidden;
}
.case-logo-slot{
  width:34%;
  min-height:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:4.5% 0 0;
  border:1px solid rgba(255,255,255,.72);
  color:white;
  font-family:var(--font-accent);
  font-size:clamp(10px,.95cqw,14px);
  line-height:1;
  text-transform:uppercase;
}
.case-logo-slot img,
.sheet-logo-slot img{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.case-logo-slot.has-logo,
.sheet-logo-slot.has-logo{
  padding:4px;
  border-color:transparent;
}
.case-cover h3,
.case-visual h3{
  margin:0;
  font-family:var(--font-title);
  font-size:clamp(48px,6.4cqw,124px);
  line-height:.92;
  text-transform:uppercase;
  font-weight:400;
  letter-spacing:0;
  text-wrap:balance;
  overflow-wrap:normal;
}
.case-cover .client-label,
.case-number .client-label,
.case-visual .client-label,
.case-summary .client-label{
  z-index:5;
}
.case-cover-title .client-label{
  position:static;
  max-width:100%;
  margin:0 0 18px;
}
.case-cover-grid{
  position:absolute;
  left:8%;
  right:50.8%;
  top:35%;
  bottom:3%;
  height:auto;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:35% 29% 36%;
  border-top:2px solid white;
  border-bottom:2px solid white;
  overflow:hidden;
}
.case-cover-grid section,
.summary-left-export section{
  min-width:0;
  overflow:hidden;
}
.case-cover-grid section{padding:1.15cqw 2.35cqw 1.9cqw}
.summary-left-export section{padding:1.05cqw 2.3cqw 1.1cqw}
.case-cover-grid section:first-child{grid-column:auto;border-bottom:2px solid white}
.case-cover-grid section:nth-child(2){border-right:0;border-bottom:2px solid white}
.case-cover-grid strong,
.case-approach aside>strong,
.case-yellow-panel strong,
.summary-left-export strong,
.summary-right-export strong{
  display:block;
  margin-bottom:.8cqw;
  padding:0;
  background:transparent;
  color:var(--black);
  font-family:var(--font-accent);
  font-size:clamp(11px,1.05cqw,15px);
  line-height:1;
  text-transform:uppercase;
}
.highlight-line{
  display:table;
  width:max-content;
  max-width:100%;
  margin:0;
  padding:2px 5px;
  background:var(--yellow);
  color:var(--black);
  line-height:1.06;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.case-cover-grid strong{
  display:block;
  max-width:100%;
  margin-bottom:1cqw;
  font-size:clamp(12px,1.12cqw,17px);
}
.case-cover-grid section:first-child strong{
  font-size:clamp(13px,1.24cqw,19px);
  margin-bottom:1.05cqw;
}
.case-cover-grid p,
.summary-left-export p,
.summary-right-export p{
  margin:0;
  font-size:clamp(10px,.92cqw,14px);
  line-height:1.17;
}
.case-cover-grid p,
.summary-left-export p{
  line-height:1.14;
}
.case-cover-grid section p,
.summary-left-export section p{
  margin-top:.8cqw;
}
.case-cover-grid p{
  font-size:clamp(8px,.76cqw,12px);
}
.summary-left-export p{
  font-size:clamp(10px,.92cqw,14px);
}
.case-cover-grid p,
.summary-left-export p,
.summary-right-export p,
.case-approach p,
.case-number p,
.case-bullets p{
  max-height:100%;
  overflow:hidden;
}
.case-bullets mark{background:var(--yellow);color:var(--black)}
.case-cover-grid section:nth-child(3) p{
  color:white;
}
.export-signature{
  position:absolute;
  right:-2.2%;
  bottom:11%;
  z-index:5;
  width:clamp(112px,11.5cqw,182px);
  height:auto;
  object-fit:contain;
  display:block;
  transform:rotate(-90deg);
  transform-origin:center center;
}
.export-signature.dark{
  filter:invert(1);
}
.case-approach{
  display:grid;
  grid-template-columns:36% 1fr;
  gap:3%;
}
.case-approach aside{
  min-width:0;
  max-height:90%;
  overflow:hidden;
  padding-top:5%;
}
.case-approach aside div{margin-top:4%}
.case-approach b{
  display:block;
  font-family:var(--font-title);
  font-size:clamp(44px,5.2cqw,76px);
  line-height:.86;
  font-weight:400;
  color:var(--yellow);
}
.case-approach .approach-word{
  display:inline-block;
  padding:2px 6px;
  background:var(--yellow);
  color:var(--black);
  font-family:var(--font-accent);
  font-size:clamp(13px,1.2cqw,18px);
  line-height:1.05;
}
.case-approach aside div>strong{
  display:block;
  margin-top:8px;
  color:var(--black);
  font-family:var(--font-accent);
  font-size:clamp(13px,1.2cqw,18px);
  line-height:1.05;
  text-transform:uppercase;
}
.case-approach p{margin:7px 0 0;font-size:clamp(11px,1.08cqw,16px);line-height:1.18}
.case-wide-media{
  left:42%;
  right:5%;
  top:12%;
  bottom:12%;
}
.case-full-media{inset:0;border:0}
.case-yellow-panel{
  position:absolute;
  top:22%;
  right:8%;
  width:30%;
  min-height:56%;
  max-height:66%;
  padding:3.2% 3.4%;
  background:var(--yellow);
  color:var(--black);
  clip-path:polygon(0 0,84% 0,100% 12%,100% 100%,0 100%);
  overflow:hidden;
}
.case-yellow-panel strong{
  color:white;
  font-size:clamp(16px,1.65cqw,25px);
  line-height:1.02;
}
.case-yellow-panel strong .highlight-line{
  display:table;
  width:max-content;
  max-width:100%;
  background:var(--black);
  color:white;
}
.case-yellow-panel p{
  margin:7% 0 0;
  font-size:clamp(12px,1.18cqw,18px);
  line-height:1.16;
}
.case-yellow-panel mark{
  display:table;
  width:max-content;
  max-width:100%;
  padding:2px 5px;
  background:var(--black);
  color:white;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.case-yellow-panel p span{
  display:block;
  margin-top:.52cqw;
  color:var(--black);
  font-family:var(--font-body);
  font-size:clamp(10px,.95cqw,14px);
  line-height:1.15;
}
.case-number{
  display:grid;
  place-items:center;
  text-align:center;
  background:var(--yellow);
  color:var(--black);
}
.case-number>div{
  max-width:72%;
}
.case-number b{
  display:block;
  font-family:var(--font-title);
  font-size:clamp(82px,11cqw,180px);
  line-height:.92;
  font-weight:400;
}
.case-number strong{
  display:inline-block;
  padding:0 10px;
  background:var(--black);
  color:white;
  font-family:var(--font-title);
  font-size:clamp(28px,3.6cqw,56px);
  line-height:1;
  font-weight:400;
}
.case-number p{max-width:72%;margin:2.2% auto 0;font-size:clamp(15px,1.55cqw,23px);line-height:1.16}
.case-number .has-proof-copy strong{
  font-family:var(--font-accent);
  font-size:clamp(12px,1.05cqw,17px);
  line-height:1.05;
}
.case-number .has-proof-copy b{
  display:inline-block;
  padding:0 .06em;
  background:transparent;
  color:var(--black);
  font-size:clamp(86px,12.5cqw,210px);
  line-height:.9;
}
.case-number .has-proof-copy p{
  max-width:650px;
  margin-top:2%;
  font-size:clamp(14px,1.35cqw,22px);
  line-height:1.18;
}
.case-visual h3{
  position:absolute;
  left:8%;
  top:10%;
  width:40%;
  max-height:26%;
  overflow:hidden;
}
.case-bullets{
  position:absolute;
  left:8%;
  top:44%;
  width:39%;
  max-height:42%;
  overflow:hidden;
}
.case-bullets p{margin:0 0 3%;font-size:clamp(15px,1.55cqw,23px);line-height:1.15}
.case-vertical-media{
  right:8%;
  top:18%;
  width:38%;
  height:70%;
}
.case-summary{
  display:grid;
  grid-template-columns:.46fr .54fr;
  gap:5%;
  padding:8% 8% 5%;
}
.summary-media-slot{
  position:relative;
  min-height:430px;
  align-self:center;
}
.summary-left-export{
  align-self:center;
  display:block;
  border-top:2px solid white;
  border-bottom:2px solid white;
  overflow:hidden;
}
.summary-left-export section + section{border-top:2px solid white}
.summary-right-export{
  align-self:center;
  max-height:650px;
  overflow:hidden;
}
.summary-right-export p{font-size:clamp(16px,1.75cqw,26px);line-height:1.2}
.client-label{
  position:absolute;
  top:4.5%;
  right:4.5%;
  display:inline-block;
  width:max-content;
  background:white;
  color:var(--black);
  margin-bottom:7px;
  padding:2px 5px;
  font-family:var(--font-accent);
  font-size:clamp(9px,.92cqw,14px);
  line-height:1.08;
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
}
.type-label{
  position:absolute;
  top:7.5%;
  right:4.5%;
  display:block;
  font-family:var(--font-accent);
  font-size:clamp(11px,1.15cqw,16px);
  line-height:1.08;
}
.sheet-left{
  position:absolute;
  left:8%;
  top:12%;
  width:42%;
  min-width:0;
  padding-right:0;
  max-height:46%;
  overflow:hidden;
}
.sheet-logo-slot{
  width:26%;
  min-height:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.72);
  color:white;
  font-family:var(--font-accent);
  font-size:clamp(10px,.95cqw,14px);
  line-height:1;
  text-transform:uppercase;
  margin:-2% 0 4%;
}
.sheet-left h3{
  max-width:760px;
  margin:0 0 4%;
  font-family:var(--font-title);
  font-size:clamp(46px,6.2cqw,112px);
  line-height:.9;
  font-weight:400;
  text-transform:uppercase;
  text-wrap:balance;
  overflow-wrap:normal;
  max-height:28cqw;
  overflow:hidden;
}
.sheet-focus-title{
  display:block;
  max-width:92%;
  margin:0 0 2.2%;
  padding:0;
  background:transparent;
  color:var(--black);
  font-family:var(--font-accent);
  font-size:clamp(15px,1.42cqw,23px);
  line-height:1.16;
  text-transform:uppercase;
}
.sheet-focus{
  margin:2.5% 0 0;
  max-width:100%;
  max-height:12.5cqw;
  overflow:hidden;
  font-size:clamp(14px,1.34cqw,22px);
  line-height:1.15;
  color:white;
}
.sheet-image-strip{
  position:absolute;
  right:7%;
  top:13%;
  width:39%;
  height:42%;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  gap:3%;
}
.sheet-image-slot{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:6px;
  padding:18px;
  border:2px dashed rgba(255,255,255,.78);
  background:#2a2a2a;
  overflow:hidden;
}
.sheet-image-square{
  width:58%;
  aspect-ratio:1;
}
.sheet-image-vertical{
  height:100%;
  aspect-ratio:9/16;
}
.sheet-image-slot:before,
.sheet-image-slot:after{
  content:"";
  position:absolute;
  left:-10%;
  right:-10%;
  top:50%;
  height:2px;
  background:rgba(255,255,255,.45);
  transform:rotate(28deg);
}
.sheet-image-slot:after{transform:rotate(-28deg)}
.sheet-image-slot .media-caption{
  position:relative;
  z-index:1;
  width:max-content;
  max-width:100%;
  padding:2px 5px;
  background:white;
  color:var(--black);
  font-family:var(--font-accent);
  font-size:clamp(11px,1.05cqw,15px);
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.simple-sheet .client-label{
  top:4.5%;
  right:4.5%;
  max-width:none;
  white-space:nowrap;
  line-height:1.08;
}
.sheet-focus:before{
  content:"";
}
.sheet-right{
  position:absolute;
  left:8%;
  right:8%;
  bottom:8%;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  padding-right:0;
  border-top:1px solid white;
  border-bottom:1px solid white;
  height:31%;
  max-height:none;
  overflow:hidden;
}
.sheet-right section{
  min-height:0;
  overflow:hidden;
  padding:5.8% 5% 4%;
  border-top:0;
  border-right:1px solid white;
}
.sheet-right section:last-child{
  border-right:0;
}
.sheet-right strong{
  display:block;
  max-width:100%;
  background:transparent;
  color:var(--black);
  font-family:var(--font-accent);
  font-size:clamp(9px,.95cqw,14px);
  line-height:1.05;
}
.sheet-right p{
  margin:10px 0 0;
  font-size:clamp(10px,1cqw,14px);
  line-height:1.18;
  max-height:68%;
  overflow:hidden;
}
.sheet-mark{
  position:absolute;
  right:92px;
  bottom:54px;
  font-family:var(--font-title);
  font-size:92px;
  line-height:.8;
  font-weight:400;
  color:var(--yellow);
  opacity:.9;
}
.case-template-preview{
  position:relative;
  aspect-ratio:16/9;
  min-height:520px;
  display:grid;
  grid-template-columns:1fr .72fr;
  gap:30px;
  padding:42px;
  overflow:hidden;
  background:var(--black);
  color:white;
}
.case-template-preview:before{
  content:"";
  position:absolute;
  right:-4%;
  bottom:-12%;
  width:46%;
  aspect-ratio:1;
  background:var(--yellow);
  transform:rotate(-8deg);
}
.case-template-preview h3{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0 0 36px;
  font-family:Impact,"Arial Black",Arial,sans-serif;
  font-size:clamp(78px,8vw,156px);
  line-height:.78;
  text-transform:uppercase;
  font-weight:900;
}
.case-template-preview p{
  position:relative;
  z-index:1;
  max-width:560px;
  font-size:28px;
  line-height:1.12;
}
.case-template-preview ol{
  position:relative;
  z-index:1;
  align-self:end;
  margin:0;
  padding-left:24px;
}
.case-template-preview li{
  margin:14px 0;
  font-weight:900;
  font-size:20px;
  line-height:1.12;
}
.page-chip{
  position:absolute;
  right:22px;
  bottom:18px;
  display:inline-flex;
  min-height:34px;
  align-items:center;
  padding:0 10px;
  background:var(--black);
  color:white;
  font-family:"Courier New",monospace;
  font-size:14px;
  text-transform:uppercase;
}
.preview-alerts p{margin:8px 0;padding:10px;background:#fff2b8;border-left:4px solid var(--yellow);line-height:1.35}
.export-actions{margin-top:12px}
.export-actions button:disabled{opacity:.45;cursor:not-allowed}
.export-status{
  margin-top:12px;
  padding:14px;
  border:1px solid var(--line);
  background:white;
}
.export-status[data-tone="success"]{
  border:2px solid var(--black);
  background:#f5f300;
}
.export-status[data-tone="error"]{
  border:2px solid #b3261e;
  background:#fff4f2;
}
.export-status strong{
  display:block;
  margin-bottom:6px;
  font-family:"Courier New",monospace;
  font-size:13px;
  text-transform:uppercase;
}
.export-status[data-tone="success"] strong{
  font-size:15px;
}
.export-status p{
  margin:0;
  color:#34312b;
  line-height:1.4;
}
.export-progress{
  height:10px;
  margin-top:12px;
  overflow:hidden;
  background:var(--cream);
  border:1px solid var(--black);
}
.export-progress span{
  display:block;
  height:100%;
  background:var(--yellow);
  transition:width .26s ease;
}
.print-ready-button{
  min-height:40px;
  margin-top:12px;
  border:1px solid var(--black);
  padding:0 14px;
  background:var(--black);
  color:white;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.print-ready-button:hover{
  background:var(--yellow);
  color:var(--black);
}
.export-status pre{
  max-height:260px;
  overflow:auto;
  margin:12px 0 0;
  padding:10px;
  background:var(--black);
  color:white;
  font-size:11px;
  line-height:1.35;
}
.export-note{
  max-width:520px;
  margin:12px 0 0;
  color:#4b463d;
  font-size:13px;
  line-height:1.35;
}
.media-screen{
  padding:5vh 5vw 8vh;
}
.media-board-layout{
  display:grid;
  grid-template-columns:minmax(260px,.28fr) minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.media-rules-panel,
.media-board{
  background:white;
  border:1px solid var(--line);
  padding:20px;
}
.media-rules-panel{
  position:sticky;
  top:92px;
}
.media-rules-panel span,
.media-board-head span,
.media-task-meta,
.media-upload-grid label span{
  display:block;
  font-family:monospace;
  font-size:11px;
  text-transform:uppercase;
  color:var(--muted);
}
.media-rules-panel strong,
.media-board-head strong{
  display:block;
  margin:4px 0 14px;
  font-family:var(--font-title);
  font-size:clamp(34px,4vw,58px);
  line-height:.92;
  font-weight:400;
  text-transform:uppercase;
}
.media-rules-panel ul{
  margin:0 0 18px;
  padding-left:18px;
  line-height:1.45;
}
.media-rules-panel p{
  color:#4b463d;
  line-height:1.4;
}
.media-board-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-end;
  margin-bottom:18px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.media-board-filters{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.media-board-filters button{
  min-height:28px;
  border:1px solid var(--line);
  background:white;
  color:var(--black);
  padding:0 10px;
  font-size:10px;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
}
.media-board-filters button.active{
  background:var(--black);
  color:white;
}
.media-task-list{
  display:grid;
  gap:22px;
}
.media-task-group{
  display:grid;
  gap:12px;
}
.media-task-group-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-top:2px solid var(--black);
  border-bottom:1px solid var(--line);
}
.media-task-group-head span{
  font-family:var(--font-title);
  font-size:clamp(28px,3vw,44px);
  line-height:.9;
  text-transform:uppercase;
}
.media-task-group-head strong{
  display:grid;
  place-items:center;
  min-width:34px;
  height:34px;
  padding:0 8px;
  background:var(--yellow);
  color:var(--black);
  font-family:var(--font-accent);
  font-size:14px;
  line-height:1;
}
.media-group-empty{
  margin:0;
  padding:14px;
  border:1px dashed #b7ae9e;
  color:#5b554c;
  font-size:13px;
  line-height:1.35;
}
.media-task{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);
  gap:18px;
  padding:16px;
  border:1px solid var(--line);
  background:var(--cream);
}
.media-task.is-complete{
  background:#f5f2e9;
  border-color:#191714;
}
.media-task h3{
  margin:5px 0 8px;
  font-family:var(--font-body);
  font-size:20px;
  line-height:1.1;
}
.media-task-priority{
  display:inline-block;
  width:max-content;
  padding:2px 6px;
  background:var(--yellow);
  color:var(--black);
  font-family:var(--font-accent);
  font-size:12px;
  line-height:1.1;
  text-transform:uppercase;
}
.media-format-chips{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:12px;
}
.media-format-chips span{
  display:inline-block;
  padding:4px 7px;
  background:white;
  border:1px solid var(--line);
  font-family:var(--font-accent);
  font-size:11px;
  line-height:1.1;
}
.media-missing-summary{
  margin:12px 0 0;
  color:#5b554c;
  font-size:12px;
  line-height:1.35;
}
.media-upload-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.media-upload-slot{
  display:grid;
  gap:5px;
  padding:9px;
  border:1px dashed #b7ae9e;
  background:white;
}
.media-upload-slot.has-media{
  border-style:solid;
  border-color:#191714;
}
.media-upload-head{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
}
.media-upload-head span{
  display:block;
  flex:1;
  font-family:monospace;
  font-size:11px;
  text-transform:uppercase;
  color:var(--muted);
}
.media-upload-head strong{
  display:inline-block;
  padding:2px 5px;
  background:var(--yellow);
  color:var(--black);
  font-family:var(--font-accent);
  font-size:9px;
  line-height:1;
  text-transform:uppercase;
}
.media-upload-slot em{
  color:#191714;
  font-family:var(--font-accent);
  font-size:10px;
  font-style:normal;
  line-height:1.15;
}
.media-upload-slot p{
  margin:0;
  color:#5b554c;
  font-size:11px;
  line-height:1.25;
}
.media-info-button{
  position:relative;
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--yellow);
  color:var(--black);
  font-family:var(--font-accent);
  font-size:11px;
  font-weight:900;
  line-height:1;
  cursor:help;
}
.media-info-button::after{
  content:attr(data-tooltip);
  position:absolute;
  right:0;
  bottom:calc(100% + 8px);
  z-index:20;
  width:min(260px,64vw);
  padding:9px 10px;
  border:1px solid var(--line);
  background:var(--black);
  color:white;
  font-family:var(--font-body);
  font-size:12px;
  font-weight:500;
  line-height:1.25;
  text-align:left;
  text-transform:none;
  opacity:0;
  pointer-events:none;
  transform:translateY(4px);
  transition:opacity .12s ease, transform .12s ease;
}
.media-info-button::before{
  content:"";
  position:absolute;
  right:5px;
  bottom:calc(100% + 3px);
  z-index:21;
  border:5px solid transparent;
  border-top-color:var(--black);
  opacity:0;
  pointer-events:none;
  transition:opacity .12s ease;
}
.media-info-button:hover::after,
.media-info-button:focus-visible::after,
.media-info-button:hover::before,
.media-info-button:focus-visible::before{
  opacity:1;
  transform:translateY(0);
}
.media-upload-slot.has-draft{
  border-style:solid;
  border-color:#191714;
}
.media-file-input{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}
.media-file-button{
  display:grid;
  place-items:center;
  min-height:32px;
  border:1px solid var(--line);
  background:var(--black);
  color:white;
  font-size:10px;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
  cursor:pointer;
}
.media-file-button:hover,
.media-file-input:focus + .media-file-button{
  background:var(--yellow);
  color:var(--black);
}
.media-local-preview{
  display:grid;
  place-items:center;
  min-height:74px;
  border:1px solid var(--line);
  background:#f8f5ec;
  overflow:hidden;
}
.media-local-preview img{
  width:100%;
  height:88px;
  object-fit:contain;
  background:#191714;
}
.media-local-preview small{
  max-width:100%;
  padding:6px;
  overflow:hidden;
  color:#5b554c;
  font-family:var(--font-accent);
  font-size:10px;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.media-upload-slot button{
  min-height:28px;
  border:1px solid var(--line);
  background:var(--cream);
  color:var(--black);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.media-task-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.media-task-actions button{
  min-height:34px;
  border:1px solid var(--line);
  background:white;
  padding:0 10px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.media-task-actions button:disabled,
.media-upload-slot button:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.media-write-note{
  margin:10px 0 0;
  color:#5b554c;
  font-size:12px;
  line-height:1.3;
}

@media(max-width:1180px){
  .workbench{grid-template-columns:1fr 1fr}
  .selection-next{position:relative;top:auto;grid-column:1 / -1}
  .preview-paper{grid-template-columns:1fr}
  .preview-paper{min-height:auto}
}
@media(max-width:780px){
  .tool-header{align-items:flex-start;flex-direction:column;gap:12px}
  .tool-header nav{margin-left:0}
  .selection-hero,.workbench,.export-top,.media-board-layout{grid-template-columns:1fr}
  .selection-hero{padding:9vh 20px 40px}
  .step-nav,.workbench,.export-screen,.media-screen{padding-left:20px;padding-right:20px}
  .reference-grid{grid-template-columns:1fr}
  .reference-grid.is-list-view .reference-card{
    display:flex;
    align-items:stretch;
  }
  .library-head{display:block}
  .simple-sheet,.case-template-preview{grid-template-columns:1fr;aspect-ratio:auto}
  .simple-sheet,.case-template-preview{padding:26px;min-height:auto}
  .sheet-left{padding-right:0;padding-top:60px}
  .client-label,.type-label{left:26px;right:auto}
  .client-label{top:24px}
  .type-label{top:52px}
  .basket-item{grid-template-columns:1fr}
  .basket-options{grid-column:1}
  .kind-switch{justify-content:flex-start}
  .sheet-right{grid-template-columns:1fr}
  .sheet-right section{border-right:0;border-bottom:1px solid white}
  .sheet-mark{position:relative;right:auto;top:auto}
  .media-task{grid-template-columns:1fr}
  .media-rules-panel{position:relative;top:auto}
}
