@font-face{font-family:Inter;src:url('../assets/fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url('../assets/fonts/manrope-extrabold.ttf') format('truetype');font-style:normal;font-weight:800;font-display:swap}
:root{--navy:#101e39;--red:#bf2c3d;--gold:#e4b448;--ink:#182337;--muted:#657085;--line:#e0e5ec;--paper:#f5f7fa}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--navy)}
button,input{font:inherit}
button,a,input{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.75}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.wrap{width:calc(100% - 64px);max-width:1440px;margin-inline:auto}
.skip-link{position:absolute;top:-100px;left:20px;padding:12px;background:#fff;z-index:5}
.skip-link:focus{top:12px}
.utility-header{background:#fff;border-bottom:1px solid var(--line);position:relative}
.utility-header:after{content:'';height:3px;position:absolute;bottom:-1px;inset-inline:0;background:linear-gradient(90deg,var(--navy) 0 87%,var(--red) 87% 98%,var(--gold) 98%)}
.utility-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.signature-brand{width:310px;display:block;text-decoration:none;flex:none}
.signature-brand picture,.signature-brand img{display:block;width:100%;height:auto}
.signature-brand small{display:block;margin:-5px 0 13px 68px;color:var(--navy);font-size:9.3px;font-weight:600;line-height:1.4;white-space:nowrap}
.back-link{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;text-decoration:none;min-height:44px}
.back-link:hover{color:var(--red)}
.back-link svg,.btn svg{width:20px;height:20px;flex:none}
.hero{padding:54px 0 29px}
.eyebrow{margin:0 0 17px;display:flex;align-items:center;gap:10px;color:var(--navy);font-size:10px;font-weight:800;letter-spacing:.16em}
.eyebrow span{height:6px;width:6px;background:var(--red)}
h1,h2,h3{margin:0;color:var(--navy)}
h1{font-family:Manrope,Inter,Arial,sans-serif;font-size:clamp(32px,3.7vw,50px);line-height:1.12;letter-spacing:-.045em;font-weight:800}
.lead{margin:17px 0 0;color:var(--muted);max-width:635px;font-size:15px;line-height:1.8}
.generator{display:grid;grid-template-columns:328px minmax(0,1fr);gap:28px;align-items:start;margin:0 0 48px}
.panel{min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}
.form-panel{border-top:3px solid var(--navy)}
.section-title{display:flex;align-items:center;gap:10px;min-width:0}
.section-title h2{font-size:18px;line-height:1.45;font-weight:750;letter-spacing:-.035em}
.step-number{color:var(--red);font-size:10px;font-weight:800;letter-spacing:.06em;flex:none}
.hint{font-size:12px;color:var(--muted);line-height:1.75;margin:8px 0 22px}
.field{margin-bottom:17px}
.field label{display:block;font-size:11px;font-weight:700;margin-bottom:8px;color:var(--navy)}
.field input{width:100%;min-height:45px;padding:11px 12px;border:1px solid #dce2ea;border-radius:5px;color:var(--ink);background:#fcfdfe;font-size:13px;line-height:1.5;transition:border-color .15s}
.field input::placeholder{color:#778398;opacity:1}
.field input:focus{border-color:var(--navy);outline:2px solid rgba(8,11,53,.12);outline-offset:1px}
.field input[aria-invalid=true]{border-color:var(--red)}
.field small{display:block;margin-top:6px;font-size:10px;line-height:1.6;color:var(--muted)}
.field-error{color:#a31821;font-size:11px;line-height:1.6;margin:7px 0 0}
.office-note{border-top:1px solid var(--line);margin:20px 0 16px;padding-top:14px;font-size:11px;line-height:1.7;color:var(--muted)}
.btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 18px;min-height:47px;width:100%;border:1px solid var(--navy);border-radius:5px;background:var(--navy);color:#fff;font-size:12px;font-weight:700;text-decoration:none;line-height:1.4}
.btn:hover{background:#151a4c}
.btn.copied{background:#246b47;border-color:#246b47}
.btn-secondary{background:#fff;color:var(--navy);border-color:#cdd5e0;margin-top:9px}
.btn-secondary:hover{background:#f1f4f8}
.status-msg{font-size:11px;color:var(--muted);line-height:1.7;margin:10px 0 0;min-height:0}
.status-msg:empty{display:none}
.preview-panel{padding:24px;overflow:hidden}
.preview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.preview-badge{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:600;white-space:nowrap;color:var(--muted)}
.preview-badge i{display:block;height:5px;width:5px;background:#528463;border-radius:50%}
.preview-panel .hint{margin-bottom:17px}
.preview-frame{border:1px solid var(--line);border-radius:5px;background:#fff;padding:18px;overflow:auto;max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-color:#adb7c7 #eff2f6;scrollbar-width:thin}
#sigOutput{width:860px;min-width:860px;text-align:center}
#sigOutput>table{margin-inline:auto!important}
.preview-note{margin:15px 0 0;color:var(--muted);font-size:11px;line-height:1.8}
.preview-note strong{color:var(--navy);font-weight:600}
.steps-section{margin:0 0 32px;max-width:1040px}
.steps-section>.section-title h2{font-size:23px}
.tabs{display:flex;gap:24px;border-bottom:1px solid #d6dce5;margin:20px 0 5px}
.tab-btn{padding:11px 0 13px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:12px;font-weight:650;line-height:1.6;text-align:left;min-height:44px}
.tab-btn.active{color:var(--navy);border-bottom-color:var(--red)}
.steps{list-style:none;margin:0;padding:0;counter-reset:step}
.steps li{counter-increment:step;display:flex;gap:17px;padding:18px 0;border-bottom:1px solid var(--line)}
.steps li:last-child{border-bottom:0}
.steps li:before{content:counter(step,decimal-leading-zero);font-size:10px;font-weight:750;color:#7c899e;margin-top:3px;min-width:20px}
.step-body{min-width:0}
.step-body h3{font-size:13px;font-weight:700;line-height:1.6;margin-bottom:4px}
.step-body p{font-size:12px;line-height:1.8;color:var(--muted);margin:0;overflow-wrap:anywhere}
.step-body code{font-family:inherit;background:#e9edf3;padding:2px 5px;border-radius:3px;color:#344258;font-size:11px;white-space:normal}
.tips{display:flex;gap:36px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);padding:25px 28px;border-radius:5px;margin:0 0 48px}
.tips h3{font-size:15px;line-height:1.5;margin:0 0 6px}
.tips p{font-size:12px;line-height:1.8;margin:0;color:var(--muted);max-width:780px}
.tips .btn{width:auto;margin:0;flex:none}
.utility-footer{border-top:1px solid var(--line);background:#fff}
.utility-footer .wrap{display:flex;justify-content:space-between;gap:20px;padding:24px 0;color:var(--muted);font-size:10px;line-height:1.7}
.utility-footer span:first-child{font-weight:650;color:var(--navy)}
@media(min-width:1600px){.generator{grid-template-columns:350px minmax(0,1fr)}}
@media(max-width:1080px){.wrap{width:calc(100% - 48px)}.generator{grid-template-columns:290px minmax(0,1fr);gap:20px}.panel{padding:20px}.preview-badge{display:none}}
@media(max-width:800px){.generator{grid-template-columns:1fr;gap:20px}.form-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.form-panel>.section-title,.form-panel>.hint,.form-panel>.office-note,.form-panel>.btn,.form-panel>.status-msg{grid-column:1/-1}.form-panel>.office-note{margin-top:0}.form-panel>.hint{margin-bottom:20px}.preview-badge{display:inline-flex}.hero{padding-top:36px}.tips{gap:24px;padding:24px}.tips .btn{font-size:11px}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.utility-inner{min-height:78px;gap:14px}.signature-brand{width:190px;max-width:calc(100% - 86px)}.signature-brand small{margin:-4px 0 10px 0;text-align:center;font-size:6.9px;line-height:1.6;white-space:normal}.back-link{font-size:10px;gap:5px;white-space:nowrap}.back-link svg{width:15px;height:15px}.hero{padding:31px 0 24px}.eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:13px}h1{font-size:33px}.lead{font-size:13px;line-height:1.8;margin-top:14px}.panel{padding:19px}.form-panel{display:block}.hint{font-size:11px}.field input{font-size:16px;min-height:47px}.field label{font-size:11px}.field{margin-bottom:16px}.form-panel>.office-note{margin-top:20px}.preview-heading{gap:8px}.preview-heading h2{font-size:16px}.preview-badge{font-size:8px}.preview-frame{padding:14px}.generator{margin-bottom:36px}.tabs{gap:21px}.tab-btn{font-size:11px}.steps-section>.section-title h2{font-size:21px}.tips{display:block;padding:21px;margin-bottom:32px}.tips .btn{margin-top:17px;width:100%;font-size:12px}.utility-footer .wrap{display:block;padding-block:21px}.utility-footer span{display:block}.utility-footer span+span{margin-top:5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
