.letter-page{width:min(1160px,calc(100% - 40px));margin:auto;padding:38px 0 80px}
.letter-page h1{max-width:none;margin-bottom:13px}
.letter-page .lead{max-width:74ch;margin-bottom:22px}
.letter-hint{max-width:900px;background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:14px;padding:17px 20px;margin-bottom:27px}
.letter-hint strong{font:500 1.32rem/1.2 Georgia,serif}.letter-hint p{color:var(--muted);margin:7px 0 0}
.letter-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(340px,1.1fr);gap:20px;align-items:start}
.letter-form,.letter-preview{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px}
.letter-form h2{font:500 1.45rem Georgia,serif;margin:0 0 18px}.letter-form h2:not(:first-child){margin-top:25px}
.letter-form label{display:block;font-weight:650;font-size:.93rem;margin:13px 0}
.letter-form :is(input,textarea,select){display:block;width:100%;padding:10px 12px;margin-top:6px;background:var(--paper);border:1px solid var(--line);border-radius:10px;color:var(--ink);font:inherit;font-weight:400}
.letter-form textarea{resize:vertical}.letter-form label[hidden]{display:none}
.letter-form .period-toggle{display:flex;align-items:center;gap:10px;margin:22px 0 10px;cursor:pointer}.letter-form .period-toggle input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--green)}
.letter-form fieldset{border:1px solid var(--line);border-radius:13px;padding:10px 16px 15px;margin:0}.letter-form fieldset[hidden],.letter-form .form-pair[hidden]{display:none}.letter-form legend{font:500 1.25rem Georgia,serif;padding:0 6px}
.letter-form .letter-delivery{margin-top:23px}.letter-delivery label{display:flex;align-items:flex-start;flex-wrap:wrap;column-gap:10px;margin:10px 0;cursor:pointer}.letter-delivery input{width:19px;height:19px;flex:none;margin:2px 0 0;accent-color:var(--green)}.letter-delivery small{width:100%;padding-left:29px;color:var(--muted);font-size:.82rem;font-weight:400}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-explain{color:var(--muted);font-size:.89rem}
.letter-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.letter-actions button{border:1px solid var(--green);border-radius:999px;padding:10px 15px;background:var(--green);color:var(--accent-ink,#fff);font-weight:700;cursor:pointer}
.letter-actions button.secondary{background:transparent;color:var(--green)}
.letter-preview{min-height:760px;box-shadow:0 10px 30px rgba(50,45,35,.06);font:400 .94rem/1.45 Arial,sans-serif;overflow-wrap:anywhere}
.letter-brand{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:8px;color:var(--green-dark);font:500 1rem Georgia,serif}.letter-brand span{font:600 .7rem system-ui,sans-serif;color:var(--muted)}
.letter-sender,.letter-recipient{white-space:pre-line}.letter-sender{margin-top:18px;font-size:.85em;min-height:3.5em}.letter-address{margin-top:14px;min-height:150px;width:min(100%,320px)}.letter-return{font-size:.67em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid var(--line);padding-bottom:3px;margin-bottom:13px;color:var(--muted)}.letter-recipient{line-height:1.4}
.letter-date{text-align:right;margin-top:7px}.letter-preview .letter-subject{font:700 1.07em/1.35 Arial,sans-serif;margin:30px 0 26px;color:inherit}.letter-body p{margin:0 0 1.2em}.letter-periods{white-space:pre-line}.letter-signoff{margin-top:22px!important;margin-bottom:0!important}.letter-signature{height:46px}.letter-footer{max-width:850px;color:var(--muted);font-size:.9rem;margin:26px 0}
.letter-preview[data-delivery="digital"] .letter-return{display:none}.letter-preview[data-delivery="digital"] .letter-address{min-height:110px}.letter-preview[data-delivery="digital"] .letter-recipient{padding-top:0}
.certificate-area{width:min(100%,795px);margin:46px auto 0}.certificate-area>h2{font:500 1.7rem Georgia,serif;margin-bottom:7px}.certificate-area>p{color:var(--muted);margin:0 0 18px}
.certificate-preview{box-sizing:border-box;min-height:960px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(50,45,35,.06);padding:52px 75px 76px 94px;font:400 .94rem/1.5 Arial,sans-serif;overflow-wrap:anywhere}
.certificate-header{display:flex;justify-content:space-between;gap:12px;color:var(--green-dark);font:500 1rem Georgia,serif}.certificate-header span{color:var(--muted);font:600 .7rem system-ui,sans-serif}
.certificate-kicker{font-size:.78em;color:var(--muted);margin:56px 0 6px}.certificate-preview h3{font:700 1.16em/1.35 Arial,sans-serif;margin:0 0 7px}.certificate-caption,.certificate-note{color:var(--muted);font-size:.82em}.certificate-caption{margin:0 0 25px}
.certificate-field{display:grid;grid-template-columns:minmax(180px,40%) 1fr;gap:12px;align-items:baseline;border-bottom:1px solid var(--line);padding:9px 0}.certificate-field span{color:var(--muted)}.certificate-field strong{font-weight:600;white-space:pre-line}
.certificate-preview h4{font-size:1em;margin:27px 0 9px}.certificate-periods{white-space:pre-line;line-height:1.7}.certificate-note{margin:9px 0}.certificate-employer-section{border-top:1px solid var(--line);margin-top:28px}.certificate-employer-section p{line-height:1.5;margin:11px 0}
.certificate-choice{display:flex;gap:9px;align-items:baseline}.certificate-choice i,.certificate-options i{box-sizing:border-box;display:inline-block;width:13px;height:13px;border:1px solid currentColor;flex:none;vertical-align:middle}.certificate-write-line{border-bottom:1px solid var(--line);height:22px}.certificate-inline-line{display:inline-block;min-width:66px;height:1em;border-bottom:1px solid currentColor;vertical-align:baseline}.certificate-options{display:flex;flex-wrap:wrap;gap:7px 22px;font-size:.86em}.certificate-options>span{display:inline-flex;align-items:center;gap:6px}.certificate-signatures{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:40px;font-size:.82em}.certificate-signatures span{display:block;border-bottom:1px solid currentColor;height:40px}
@media(max-width:850px){.letter-layout{grid-template-columns:1fr}.letter-page{width:calc(100% - 32px);padding-top:28px}.letter-preview{min-height:0}}
@media(max-width:480px){.form-pair{grid-template-columns:1fr}.letter-form,.letter-preview,.certificate-preview{padding:18px}.certificate-preview{min-height:0}.certificate-field{display:block}.certificate-field span{display:block}.certificate-signatures{gap:14px}}
@media print{@page{size:A4;margin:0}html{color-scheme:light!important}body{background:#fff!important;color:#252b27!important}.site-header{display:none!important}.letter-page{width:auto;margin:0;padding:0}.letter-page> :not(.letter-layout):not(.certificate-area),.letter-form{display:none!important}.letter-layout{display:block}.letter-preview{box-sizing:border-box;width:210mm;min-height:297mm;margin:0;border:0;border-radius:0;box-shadow:none;padding:14mm 20mm 20mm 25mm;background:#fff!important;color:#252b27!important;font:11pt/1.4 Arial,sans-serif}.letter-brand{height:6mm;padding:0;border-bottom:0;color:#355f4f!important;font-size:10pt}.letter-brand span{font-size:8pt;color:#667069!important}.letter-sender{margin-top:5mm;min-height:0;font-size:9pt;line-height:1.3}.letter-address{box-sizing:border-box;margin-top:8mm;width:85mm;height:45mm;min-height:0}.letter-return{height:5mm;margin:0;padding:0;font-size:7pt;color:#667069!important}.letter-recipient{padding-top:10mm;font-size:10pt;line-height:1.32}.letter-date{margin-top:2mm}.letter-preview .letter-subject{margin:10mm 0 9mm;font-size:11pt}.letter-body p{margin-bottom:5mm}.letter-signoff{margin-top:6mm!important}.letter-signature{height:15mm}}
@media print{.letter-preview[data-delivery="digital"] .letter-address{height:35mm;min-height:0}}
@media print{body[data-print-target="letter"] .certificate-area,body[data-print-target="certificate"] .letter-layout{display:none!important}.letter-layout{break-after:page}.certificate-area{width:auto;margin:0}.certificate-area>h2,.certificate-area>p{display:none!important}.certificate-preview{box-sizing:border-box;width:210mm;min-height:297mm;margin:0;padding:14mm 20mm 20mm 25mm;border:0;border-radius:0;box-shadow:none;background:#fff!important;color:#252b27!important;font:10.5pt/1.42 Arial,sans-serif}.certificate-header{height:6mm;color:#355f4f!important;font-size:10pt}.certificate-header span{color:#667069!important;font-size:8pt}.certificate-kicker{margin-top:14mm}.certificate-caption,.certificate-note,.certificate-field span{color:#667069!important}.certificate-preview h4{margin-top:8mm}.certificate-employer-section{margin-top:8mm}.certificate-write-line{height:5mm}.certificate-signatures{margin-top:10mm}.certificate-signatures span{height:13mm}}
