/* Generator page */
.hidden{display:none!important}
.gen-hero{padding:clamp(48px,7vw,88px) 0 clamp(28px,4vw,48px)}
.gen-hero h1{margin:14px 0 22px}
.gen-body{padding-bottom:clamp(48px,6vw,80px)}
.gen-grid{align-items:start;display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:1.25fr .75fr}
.gen-form fieldset{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin:0 0 18px;padding:26px 26px 18px}
.gen-form legend{align-items:center;display:flex;font-family:var(--serif);font-size:1.5rem;gap:12px;padding:0 8px;margin-left:-8px}
.gen-form legend .n{align-items:center;background:var(--sage-light);border-radius:50%;display:inline-flex;font-family:var(--sans);font-size:1rem;font-weight:700;height:36px;justify-content:center;width:36px}
.gen-form .row{display:grid;gap:0 16px;grid-template-columns:1fr 1fr}
.gen-form .field{display:grid;gap:6px;margin:14px 0 4px}
.gen-form .field span{color:var(--ink-soft);font-size:.92rem;font-weight:600}
.gen-form .field small{color:var(--ink-mute);font-weight:400}
.gen-form input,.gen-form select,.gen-form textarea{background:var(--cream);border:2px solid var(--line);border-radius:12px;color:var(--ink);font:inherit;font-size:1.05rem;min-height:54px;padding:12px 16px;width:100%}
.gen-form textarea{resize:vertical}
.gen-form input:focus,.gen-form select:focus,.gen-form textarea:focus{border-color:var(--ink);outline:none;background:var(--paper)}
.gen-form input.invalid,.gen-form textarea.invalid,.gen-form select.invalid{border-color:#b0533f}
.gen-form .hint{color:var(--ink-mute);font-size:.95rem;margin:8px 0 4px}
.gen-form .check{align-items:center;display:flex;font-weight:600;gap:12px;margin:18px 0 6px}
.gen-form .check input{height:24px;width:24px;min-height:0;accent-color:var(--ink)}
.linkbtn{background:none;border:0;color:var(--sage-dark);cursor:pointer;font:inherit;font-weight:600;margin-top:10px;padding:6px 0;text-decoration:underline;text-underline-offset:4px}
.gen-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}
.gen-actions .btn{font-size:1.1rem;min-height:60px;padding:0 32px}
.gen-side{position:sticky;top:96px;display:grid;gap:18px}
.side-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.side-card .eyebrow{margin-bottom:14px}
.side-card.sub{background:var(--sage-light);border-color:transparent}
.side-card .big{font-family:var(--serif);font-size:2.4rem;letter-spacing:-.02em;line-height:1;margin:0 0 10px}
.side-card .big span{color:var(--ink-mute);font-family:var(--sans);font-size:1rem;letter-spacing:0}
.side-card p{color:var(--ink-soft);font-size:1rem}
.side-card .btn{margin-top:16px;width:100%}
.tiny{color:var(--ink-mute)!important;font-size:.88rem!important;margin-top:12px}

/* Preview */
.gen-preview{background:var(--paper);border-top:1px solid var(--line);padding:clamp(40px,6vw,72px) 0 clamp(56px,8vw,96px)}
.preview-bar{align-items:end;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-bottom:22px}
.preview-actions{display:flex;flex-wrap:wrap;gap:10px}
.preview-actions .btn{min-height:52px;padding:0 20px;font-size:1rem}
.unlock{align-items:center;background:var(--cream);border:1px solid var(--line);border-radius:var(--r);display:grid;gap:16px 28px;grid-template-columns:1.2fr .8fr;margin-bottom:22px;padding:24px 28px}
.unlock h3{font-size:1.4rem;margin-bottom:6px}
.unlock p{color:var(--ink-mute);font-size:.98rem}
.code-form{display:flex;gap:10px}
.code-form input{background:var(--paper);border:2px solid var(--line);border-radius:12px;flex:1;font:inherit;font-size:1.15rem;font-weight:600;letter-spacing:.08em;min-height:56px;padding:0 16px;text-transform:uppercase}
.code-form input:focus{border-color:var(--ink);outline:none}
.unlock .form-status{grid-column:1/-1;margin:0}
.downloads{background:var(--lime);border-radius:var(--r);margin-bottom:22px;padding:24px 28px}
.downloads h3{font-size:1.4rem;margin-bottom:14px}
.dl-grid{display:flex;flex-wrap:wrap;gap:10px}
.dl-grid .btn{min-height:52px;padding:0 20px;font-size:1rem}

.paper{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 30px 60px -40px rgba(20,37,26,.4);margin:0 auto;max-width:860px;overflow:hidden;position:relative}
.doc{color:#111;font-family:Georgia,"Times New Roman",serif;font-size:1rem;line-height:1.5;padding:clamp(28px,5vw,64px) clamp(22px,5vw,64px)}
.doc .brandline{color:#5f7f63;font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.doc h1{font-size:2rem;margin:6px 0 14px}
.doc h2{font-size:1.35rem;margin:26px 0 8px;font-family:Georgia,serif}
.doc h3{font-size:1.1rem;margin:16px 0 6px;font-family:Georgia,serif}
.doc p{margin:0 0 10px}
.doc p.small{color:#444;font-size:.88rem}
.doc p.note{background:#f3f5ef;border-left:3px solid #7f9f82;padding:8px 12px;font-size:.92rem}
.doc ul{margin:0 0 10px 22px;padding:0}
.doc li{margin-bottom:4px}
.doc table{border-collapse:collapse;margin:8px 0 14px;width:100%}
.doc th,.doc td{border:1px solid #bbb;font-size:.92rem;padding:7px 10px;text-align:left;vertical-align:top}
.doc th{background:#eef1ea}
.doc .fieldline b{font-weight:600}
.doc .sig{border:1px solid #bbb;margin:10px 0;padding:12px 14px}
.doc .sig b{display:block;margin-bottom:8px}
.doc .sig span{display:inline-block;margin-right:24px}
.doc .foot{color:#555;font-size:.8rem;margin-top:26px}
.doc h4{font-family:Georgia,serif;font-size:1rem;margin:14px 0 6px}
.doc ol{margin:0 0 12px 22px;padding:0}
.doc table.part td.ref{font-weight:700;white-space:nowrap;width:4.2em}
.doc table.part td.val{width:46%;white-space:pre-wrap}
.doc table.part td.val.filled,.doc table.sigt td.filled{color:#14251a;font-weight:600}
.doc table.part tr.sec th{background:#eef1ea}
.doc table.sigt td:first-child{width:34%}
.doc table.sigt td.blank{height:2.1em}
.doc .gridwrap{overflow-x:auto}
.doc table.grid td,.doc table.grid th{font-size:.82rem}
.doc .pb{border-top:1px dashed #d6dccf;margin:22px 0}
.page-break{border-top:2px dashed #c9cfc2}

/* Watermark */
.wm-layer{display:none}
.paper.wm .wm-layer{display:block;inset:0;pointer-events:none;position:absolute;z-index:2;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22520%22%20height%3D%22300%22%3E%3Ctext%20x%3D%22260%22%20y%3D%22160%22%20text-anchor%3D%22middle%22%20transform%3D%22rotate%28-24%20260%20160%29%22%20font-family%3D%22Arial%2CHelvetica%2Csans-serif%22%20font-size%3D%2230%22%20font-weight%3D%22700%22%20letter-spacing%3D%224%22%20fill%3D%22rgba%2820%2C37%2C26%2C0.13%29%22%3EPREVIEW%20%C2%B7%20RENT%20RIGHT%20KIT%3C%2Ftext%3E%3C%2Fsvg%3E");background-size:520px 300px;background-repeat:repeat}

@media (max-width:900px){.gen-grid{grid-template-columns:1fr}.gen-side{position:static}.unlock{grid-template-columns:1fr}}
@media (max-width:600px){.gen-form .row{grid-template-columns:1fr}.gen-form fieldset{padding:20px 18px 14px}.code-form{flex-direction:column}.preview-actions .btn,.dl-grid .btn{width:100%}}

/* Print: only the documents */
@media print{
  .doc .pb{border:0;margin:0;page-break-before:always;break-before:page}
  .doc table.part tr,.doc table.sigt,.doc table.grid tr{page-break-inside:avoid;break-inside:avoid}
  @page{margin:18mm}
  body{background:#fff;font-size:11pt}
  .header,.footer,.gen-hero,.gen-body,.preview-bar,.unlock,.downloads{display:none!important}
  .gen-preview{padding:0;border:0;background:#fff}
  .wrap{max-width:none;padding:0}
  .paper{border:0;box-shadow:none;max-width:none;overflow:visible;border-radius:0}
  .doc{padding:0}
  .page-break{break-before:page;border:0;padding-top:0}
  .paper.wm .wm-layer{position:fixed;inset:0;display:block}
  
}
