@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap");

:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#173254;background:#f4f7fb;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0}
button,input,textarea{font:inherit}
button{cursor:pointer}
a{color:#1265bd}
a:hover{color:#0b4a95}
button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #38afff;outline-offset:3px}
.site-header{background:#fff;border-bottom:1px solid #e6edf5;padding:13px max(24px,calc((100vw - 1470px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 2px 10px #09214606}
.brand{display:flex;align-items:center;gap:13px;min-height:65px}
.brand img{display:block;width:266px;max-width:100%;height:auto;object-fit:contain}
.brand-fallback{display:none;font-size:24px;line-height:1.1;font-weight:900;letter-spacing:-.8px;color:#09245e}
.brand-fallback em{display:block;font-size:17px;color:#0d98e4;font-style:normal;letter-spacing:2px}
.header-caption{padding-left:17px;border-left:1px solid #dce6f2;color:#7990a8;font-size:12px;line-height:1.45}
.header-right{display:flex;align-items:center;gap:12px}
.demo-chip{border:1px solid #b9d9f9;background:#eaf5ff;color:#145a98;border-radius:100px;padding:10px 15px;text-align:center;font-size:11px;font-weight:800;letter-spacing:.04em}
.header-meta{color:#71859b;font-size:11px;white-space:nowrap}
main{max-width:1470px;margin:auto;padding:30px 24px 42px}
.hero{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:5px 0 24px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;font-weight:850;color:#0962ac;text-transform:uppercase;margin-bottom:12px}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:#08a3e5;box-shadow:0 0 0 4px #e0f4ff}
h1{font-size:clamp(26px,2.5vw,37px);margin:0 0 9px;letter-spacing:-1.15px;line-height:1.14;font-weight:850;color:#102c51}
.sub{color:#617b96;font-size:15px;line-height:1.55;margin:0;max-width:880px}
.hero-aside{flex-shrink:0;max-width:250px;background:#fff;border:1px solid #e2ebf5;border-radius:14px;padding:14px 16px;font-size:12px;line-height:1.6;color:#67829b}
.hero-aside strong{display:block;font-size:12px;color:#0f598d;margin-bottom:3px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 20px}
.step{border:1px solid #e0e9f3;background:white;border-radius:13px;padding:15px;display:flex;align-items:center;gap:12px;min-width:0}
.step-number{width:35px;height:35px;display:grid;place-items:center;flex:0 0 35px;border:1px solid #d4e9fa;border-radius:10px;background:linear-gradient(145deg,#e8f9ff,#e7f0ff);color:#0864ab;font-size:15px;font-weight:850}
.step strong{display:block;font-size:12px;color:#223c60;margin-bottom:3px}
.step small{display:block;font-size:11px;color:#8294a8;line-height:1.35}
.grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:20px;align-items:start}
.panel{background:#fff;border:1px solid #dfe8f3;border-radius:17px;overflow:hidden;box-shadow:0 8px 34px #092a5010}
.panel-title{padding:19px 23px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #e9eff6}
.panel-title h2{font-size:16px;line-height:1.3;font-weight:850;color:#193857;margin:0}
.panel-title h2 span{color:#1278c6;margin-right:4px}
.panel-title small{font-size:11px;color:#8095aa;text-align:right}
.inside{padding:21px 22px 24px}
.panel-hint{color:#6a8097;font-size:12px;line-height:1.45;margin:0 0 13px}
.doc-panel{position:sticky;top:14px}
.drop{width:100%;min-height:140px;border:2px dashed #9abfe1;border-radius:13px;background:linear-gradient(145deg,#f1faff,#f4f7ff);display:grid;place-content:center;text-align:center;gap:7px;padding:18px;transition:background .15s,border-color .15s}
.drop:hover,.drop.over{background:#e5f4ff;border-color:#0b87d8}
.upload-icon{height:40px;width:40px;margin:auto;display:grid;place-items:center;border-radius:12px;color:#0b80cc;background:#dff2ff;font-size:24px;font-weight:800}
.drop b{font-size:14px;color:#195c8d}
.drop small{color:#7b91a5;font-size:11px}
#file{display:none}
.preview{margin-top:17px;height:600px;background:#eef3f8;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#93a4b6;text-align:center;font-size:13px}
.preview iframe{width:100%;height:100%;border:none;background:white}
.preview img{max-width:100%;max-height:100%;object-fit:contain}
.filename{color:#6c839a;font-size:12px;margin-top:10px;min-height:17px;overflow-wrap:anywhere}
.doc-footnote{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#8798a9;margin-top:10px;line-height:1.45}
.dot{height:6px;width:6px;flex:0 0 6px;background:#3ca1d3;border-radius:50%;margin-top:5px}
.auth{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;margin-bottom:11px}
.auth label{white-space:nowrap;font-size:12px;font-weight:750;color:#59718c}
.auth input{padding:11px 12px;border:1px solid #d5e2ef;border-radius:9px;min-width:0;width:100%;color:#1f3550}
.buttons{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 13px}
.btn{border:0;background:linear-gradient(125deg,#1264ce,#078dcc);color:white;border-radius:10px;padding:12px 17px;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 4px 13px #167bc02e}
.btn:hover{filter:brightness(1.055)}
.btn.secondary{background:#eaf2fa;color:#185681;box-shadow:none}
.btn:disabled{opacity:.42;cursor:not-allowed}
.status{background:#edf6fe;border-left:3px solid #6bace1;color:#466f8e;border-radius:8px;padding:12px 13px;font-size:12px;line-height:1.55;margin:13px 0}
.status.error{background:#fff0ed;border-color:#e78564;color:#a33c34}
.status.ok{background:#ebf9f1;border-color:#4aaf80;color:#267348}
#results{display:none;margin-top:18px}
.result-hero{border-radius:13px;background:linear-gradient(120deg,#112e59,#125ca2);padding:19px 19px 17px;color:white}
.result-eyebrow{font-size:10px;color:#b7deff;letter-spacing:.13em;font-weight:850;margin-bottom:7px}
.result-hero strong{display:block;font-size:22px;line-height:1.25;letter-spacing:-.45px}
.result-hero p{font-size:12px;color:#d6e7f9;margin:8px 0 0;line-height:1.55}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.quick-card{border-radius:11px;background:#f6f9fd;border:1px solid #e4edf5;padding:13px;min-width:0}
.quick-card small{font-size:10px;color:#7790a9;display:block;margin-bottom:6px}
.quick-card strong{font-size:13px;color:#214262;display:block;overflow-wrap:anywhere;line-height:1.4}
.normative-card{margin:13px 0 20px;background:#f1f7ff;border:1px solid #c9def6;border-left:5px solid #2678c8;border-radius:13px;padding:18px;position:relative}
.normative-tag{display:inline-block;border:1px solid #aecce7;border-radius:50px;color:#236395;background:#e7f1fc;font-size:10px;letter-spacing:.035em;font-weight:800;padding:5px 9px}
.normative-caption{display:block;font-size:12px;font-weight:750;color:#527a9f;margin:12px 0 4px}
.normative-value{display:block;color:#0e3568;font-weight:850;font-size:clamp(25px,2.4vw,35px);letter-spacing:-.7px;line-height:1.25}
.normative-description{font-size:12px;color:#627f9b;line-height:1.55;margin-top:10px}
.normative-details{margin-top:12px;padding-top:12px;border-top:1px solid #d7e6f6;color:#345e84;font-size:12px;line-height:1.6}
.normative-details summary{font-weight:750;cursor:pointer}
.normative-details p{margin:9px 0 4px}
.normative-foot{font-size:11px;color:#8b6435;margin-top:11px;line-height:1.5}
.section-heading{display:flex;align-items:baseline;gap:12px;justify-content:space-between;margin:18px 0 6px}
.section-heading h3{font-size:17px;margin:0;line-height:1.2}
.section-heading small{font-size:11px;color:#8a9bac}
.field{padding:13px 0;border-bottom:1px solid #e9eff5}
.fieldline{display:flex;align-items:center;gap:13px}
.fieldmain{min-width:0;flex:1}
.field label{font-size:11px;color:#59728b;font-weight:800;display:block;margin-bottom:5px}
.field input{border:1px solid #d8e5f0;border-radius:9px;padding:10px 12px;width:100%;font-size:13px;color:#213d58;background:#fff}
.field input:focus{border-color:#348cd2}
.field:has(input[value=""]) input{background:#fafbfd}
.score{width:82px;flex:0 0 82px;text-align:right;font-size:11px;font-weight:850;color:#397b68}
.score.mid{color:#a47a20}
.score.low{color:#bb634d}
.score i{height:4px;background:#e8eef5;display:block;border-radius:8px;margin-top:7px;overflow:hidden}
.score em{display:block;height:100%;background:#29a57d}
.score.mid em{background:#d7a53b}
.score.low em{background:#df8064}
.field details{font-size:11px;color:#457495;margin:8px 0 0}
.field details summary{cursor:pointer}
.evidence{padding:11px;border-radius:8px;background:#f4f8fc;margin-top:8px;color:#567088;line-height:1.5;overflow-wrap:anywhere}
.more-fields{border:1px solid #dbeaf5;background:#f9fcff;border-radius:11px;margin:14px 0;overflow:hidden}
.more-fields>summary{font-size:12px;font-weight:850;cursor:pointer;padding:15px;color:#175c8c}
.more-fields>div{padding:0 15px 12px}
.notice{border-radius:11px;background:#fff9e8;border:1px solid #f2e2b7;padding:15px 17px;margin:16px 0;color:#806126;font-size:12px;line-height:1.6}
.notice strong{display:block;font-size:13px;margin-bottom:6px}
.notice ul{padding-left:18px;margin:6px 0}
.notice details{margin-top:8px}
.notice summary{cursor:pointer;color:#805a19;font-weight:750}
.confirm-area{background:#f7f9fc;border:1px solid #e2ecf4;border-radius:12px;padding:14px 16px;margin-top:16px}
.confirm-area .buttons{margin:0 0 6px}
.confirm-area small{display:block;font-size:11px;color:#8696a6;line-height:1.5}
.warning{background:#fff8eb;border-radius:9px;color:#88672e;padding:13px;font-size:11px;line-height:1.6;margin-top:14px}
.feedback{margin-top:20px}
.feedback>summary{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;cursor:pointer;font-size:14px;font-weight:850;list-style:none;color:#1c3c5c}
.feedback>summary::-webkit-details-marker{display:none}
.feedback>summary::after{content:"+";font-size:22px;color:#488fca;font-weight:500}
.feedback[open]>summary{border-bottom:1px solid #e6edf5}
.feedback[open]>summary::after{content:"−"}
.feedback .inside{padding-top:18px}
.feedback label{display:block;font-size:13px;font-weight:800;margin-bottom:5px}
.feedback p{font-size:12px;color:#798fa3;line-height:1.5}
.feedback textarea{width:100%;min-height:93px;resize:vertical;border:1px solid #d3e1ee;border-radius:9px;padding:12px}
.foot{color:#8597a9;font-size:11px;margin-top:17px;line-height:1.6}
footer{padding-bottom:10px}
@media(max-width:1180px){.header-meta,.hero-aside{display:none}.site-header{padding:12px 22px}.steps{gap:8px}.step{padding:11px}}
@media(max-width:980px){.grid{grid-template-columns:1fr}.doc-panel{position:static}.preview{height:490px}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){main{padding:20px 13px 32px}.site-header{padding:12px 14px;gap:8px}.brand img{width:190px}.header-caption{display:none}.demo-chip{font-size:9px;padding:7px 9px}.hero{margin-top:2px}.steps{gap:6px}.step{gap:8px;padding:10px 9px}.step-number{width:29px;height:29px;flex-basis:29px;font-size:12px}.step strong{font-size:11px}.step small{font-size:10px}.panel-title{padding:17px}.inside{padding:15px}.preview{height:380px}.quick-grid{grid-template-columns:1fr 1fr}.quick-card:last-child{grid-column:1/-1}.normative-card{padding:16px}.fieldline{gap:8px}.score{width:65px;flex-basis:65px;font-size:10px}.auth{grid-template-columns:1fr;gap:6px}.auth label{white-space:normal}}


/* --------------------------------------------------------
   CONTINUUM SAFETY / INDUSTRIAL CLEAN 01
   Editorial workshop-inspired direction. Intentional lines,
   readable labels and a process rail: no floating AI tiles.
   -------------------------------------------------------- */
:root {
  --ink:#162e39;
  --steel:#385365;
  --muted:#687c87;
  --rule:#c9d2d6;
  --paper:#f1f1ed;
  --surface:#fcfcfa;
  --blue:#075b9c;
  --bright:#0b9fdb;
  --mark:#e8b44a;
  --mono:"IBM Plex Mono",Consolas,"Courier New",monospace;
  --display:"Barlow Condensed","Bahnschrift SemiCondensed","Arial Narrow",sans-serif;
  --body:"IBM Plex Sans",Bahnschrift,"Segoe UI",Arial,sans-serif;
  font-family:var(--body);
  color:var(--ink);
  background:var(--paper);
  font-size:14px;
}
body { background:var(--paper); letter-spacing:-.005em; }
a {color:var(--blue);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:#033e70}
button,input,textarea {font-family:var(--body)}
button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{
  outline:2px solid #0783c8;outline-offset:3px
}
/* Identity: workshop plate, no pill-shaped "AI" chrome */
.site-header {
  border-top:5px solid var(--blue);
  border-bottom:1px solid #bdc9d0;
  background:#fff;
  box-shadow:none;
  min-height:103px;
  padding-top:14px;padding-bottom:14px;
  position:relative;
}
.site-header::after {
  content:"";position:absolute;left:0;bottom:-1px;width:19%;height:2px;background:var(--bright);
}
.brand {gap:22px;min-height:59px}
.brand img {width:276px}
.brand-fallback {font-family:var(--display);font-size:30px;letter-spacing:.045em}
.brand-fallback em{font-family:var(--display);font-size:22px;letter-spacing:.12em}
.header-caption {
  font-size:11px;line-height:1.6;letter-spacing:.015em;
  color:var(--steel);border-left:2px solid #c9d7df;padding-left:21px
}
.header-right {gap:20px}
.header-meta {
  font-family:var(--mono);font-size:10px;letter-spacing:.025em;color:#687984;
  white-space:normal;max-width:180px;text-align:right;
}
.demo-chip {
  background:transparent;color:var(--ink);border:1px solid var(--ink);
  border-left:4px solid var(--blue);border-radius:0;
  padding:10px 15px;font-family:var(--mono);font-size:10px;line-height:1.5;
  letter-spacing:0;font-weight:600;
}
main {max-width:1510px;padding-top:39px}
.hero {align-items:stretch;gap:38px;margin:0 0 27px;padding-left:22px;border-left:5px solid var(--blue)}
.hero>div:first-child{flex:1;min-width:0}
.eyebrow {
  font-family:var(--mono);font-size:10px;line-height:1.5;
  letter-spacing:.13em;font-weight:600;color:var(--blue);
  margin:1px 0 12px;gap:11px
}
.eyebrow i {
  width:18px;height:2px;box-shadow:none;background:var(--mark);border-radius:0;
}
h1 {
  font-family:var(--display);font-weight:700;
  font-size:clamp(42px,5vw,76px);
  letter-spacing:.012em;line-height:.97;text-transform:uppercase;
  color:var(--ink);margin:0 0 16px;
}
.sub {font-size:14px;line-height:1.65;color:#556d79;max-width:850px;font-weight:400}
.hero-aside {
  flex:0 0 260px;max-width:260px;
  background:transparent;border:0;border-left:1px solid #aebcc3;
  border-radius:0;padding:2px 0 0 19px;box-shadow:none;color:#647a85;
  font-size:12px;line-height:1.6;align-self:center
}
.hero-aside strong {
  font-family:var(--mono);font-size:10px;color:var(--steel);
  letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;
}
.hero-aside:after {
  content:"CS / HSE · DOCUMENT WORKFLOW";display:block;margin-top:16px;
  border-top:1px solid #c7d0d4;padding-top:9px;
  font:500 9px/1.5 var(--mono);letter-spacing:.01em;color:#86969c;
}
/* Linear process schematic; no 4 rounded boxes */
.steps {
  margin:0 0 21px;padding:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  background:transparent;border-top:2px solid var(--ink);border-bottom:1px solid #b9c7cd;
  list-style:none;
}
.step {
  min-width:0;position:relative;display:flex;align-items:center;gap:13px;
  border:0;border-right:1px solid #c6d2d7;border-radius:0;
  background:none;padding:17px 17px 18px 5px;
}
.step:not(:first-child){padding-left:26px}
.step:last-child{border-right:0}
.step:not(:last-child)::after {
  content:"›";position:absolute;z-index:1;right:-7px;top:50%;transform:translateY(-50%);
  color:var(--blue);font:500 22px/1 var(--display);background:var(--paper);padding:1px;
}
.step-number {
  display:inline-block;flex:0 0 auto;width:auto;height:auto;
  border:0;border-radius:0;background:transparent;
  font:600 12px/1.2 var(--mono);letter-spacing:.09em;
  color:var(--blue);padding-bottom:4px;border-bottom:2px solid var(--mark);
}
.step strong {
  font-family:var(--display);font-weight:700;font-size:19px;
  text-transform:uppercase;letter-spacing:.035em;color:var(--ink);
  line-height:1.1;margin-bottom:5px
}
.step small {font-family:var(--body);font-size:11px;color:#687f8b;line-height:1.45}
/* Product work surfaces */
.grid {gap:18px;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr)}
.panel {
  border:1px solid #bdcbd2;border-radius:2px;
  background:var(--surface);box-shadow:none;
}
.panel-title {
  min-height:62px;padding:16px 20px;align-items:center;
  border-bottom:1px solid #bccbd2;background:#f9faf8;
  position:relative;
}
.panel-title::before {content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue)}
.panel-title h2 {
  font-family:var(--display);font-size:23px;line-height:1.12;
  font-weight:700;letter-spacing:.015em;text-transform:uppercase;color:var(--ink);
  display:flex;align-items:center;gap:12px;
}
.panel-title h2 span {
  font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--blue);
  border-right:1px solid #a3b4bd;padding-right:13px;margin:0;text-transform:uppercase;
}
.panel-title small {font:500 10px/1.5 var(--mono);color:#637b87}
.inside {padding:21px 22px 24px}
.panel-hint {font-size:12px;line-height:1.65;color:#5d7280;margin-bottom:16px}
.doc-panel {top:10px}
.drop {
  min-height:132px;border:1px dashed #7fa0b0;border-radius:1px;
  background:#f1f6f7;gap:9px;padding:20px;
  place-content:center;transition:background .15s,border-color .15s;
}
.drop:hover,.drop.over {background:#e7f2f4;border-color:var(--blue)}
.upload-icon {
  width:34px;height:34px;border:1px solid var(--blue);
  border-radius:0;background:transparent;color:var(--blue);
  font:600 25px/32px var(--display);
}
.drop b {font:600 14px/1.45 var(--body);color:var(--ink)}
.drop small {font:400 10px/1.5 var(--mono);color:#758b95;letter-spacing:-.025em}
.preview {margin-top:14px;height:580px;border-radius:1px;background:#e5eaed;color:#788d99}
.filename,.doc-footnote {font-family:var(--mono);font-size:10px;color:#6b818d}
.dot{width:5px;height:5px;flex-basis:5px;border-radius:0;background:var(--blue)}
.auth label {font:600 11px/1.4 var(--mono);color:#526e7d;letter-spacing:-.04em}
.auth input {border:1px solid #afc1cb;border-radius:2px;padding:12px}
.buttons {gap:8px}
.btn {
  border:1px solid var(--blue);border-radius:1px;
  background:var(--blue);color:white;box-shadow:none;
  padding:12px 17px;text-transform:uppercase;
  font:700 13px/1.35 var(--display);letter-spacing:.065em;
  transition:background .15s,color .15s;
}
.btn:hover{filter:none;background:#063b69}
.btn.secondary {border:1px solid #a8bec9;border-radius:1px;box-shadow:none;background:transparent;color:#375b71}
.btn.secondary:hover{background:#edf3f5}
.status {
  border:0;border-left:2px solid #6391ad;border-radius:0;
  background:#eaf2f4;color:#4e6c7b;
  padding:12px 14px;font-size:12px;margin-top:14px
}
.status.ok{background:#ecf2ed;color:#315946;border-left-color:#639a75}
.status.error{background:#f9eeee;color:#923f3f;border-left-color:#bc7474}
.warning,.notice {
  background:#f7f2e8;border:1px solid #e5d7bb;border-left:3px solid var(--mark);
  border-radius:1px;color:#705f3c;padding:13px 15px;
}
.result-hero {border-radius:0;background:var(--ink);padding:21px 22px}
.result-eyebrow {font-family:var(--mono);letter-spacing:.1em;color:#9ad4e7}
.result-hero strong {font:700 30px/1.1 var(--display);text-transform:uppercase;letter-spacing:.025em}
.result-hero p{font-size:12px;color:#d5e1e6}
.quick-grid {gap:0;margin:14px 0 19px;border-top:1px solid #bacbd3;border-bottom:1px solid #bacbd3}
.quick-card {
  background:transparent;border:0;border-right:1px solid #cbd5da;
  border-radius:0;padding:16px 14px 16px 3px;
}
.quick-card:not(:first-child){padding-left:14px}
.quick-card:last-child{border-right:0}
.quick-card small {font:500 10px/1.45 var(--mono);letter-spacing:-.025em;color:#637b87}
.quick-card strong{font:600 13px/1.4 var(--body);color:var(--ink)}
.normative-card {
  background:#e9f1f3;border:1px solid #b9ccd4;border-left:4px solid var(--blue);
  border-radius:0;padding:22px 21px;margin:14px 0 24px
}
.normative-tag {
  background:transparent;border:0;border-bottom:1px solid #9fb7c3;
  color:#395c70;border-radius:0;padding:0 0 6px;
  font:600 10px/1.5 var(--mono);letter-spacing:.015em
}
.normative-caption {font-size:11px;font-weight:600;color:#59717d;margin:14px 0 5px}
.normative-value {
  color:#0a4c7d;
  font:700 clamp(36px,4vw,53px)/1 var(--display);
  letter-spacing:.015em
}
.normative-description {font-size:12px;color:#516c79;line-height:1.6;margin-top:11px}
.normative-details {border-top:1px solid #b9ccd4;color:#3f6172}
.normative-foot {font:400 10px/1.55 var(--mono);color:#806945}
.section-heading {border-bottom:2px solid var(--ink);padding-bottom:11px;margin-top:21px;align-items:end}
.section-heading h3 {font:700 22px/1.05 var(--display);letter-spacing:.015em;text-transform:uppercase}
.section-heading small {font:400 10px/1.4 var(--mono)}
.field {border-bottom:1px solid #d3dcdf}
.field label {font-family:var(--mono);font-size:10px;color:#5a7380}
.field input {border:1px solid #bfcdd3;border-radius:1px;color:var(--ink);background:white}
.evidence {border-radius:0;background:#edf3f5}
.more-fields {border:1px solid #bfcdd5;border-radius:1px;background:#f9faf9}
.more-fields>summary {font-family:var(--mono);font-size:11px}
.confirm-area {background:#f2f5f5;border:1px solid #ccd7dc;border-radius:1px}
.feedback {border-radius:1px}
.feedback>summary {
  font:700 19px/1.25 var(--display);text-transform:uppercase;
  letter-spacing:.02em;padding:19px 22px
}
.feedback>summary::after {color:var(--blue)}
.feedback textarea {border-radius:1px}
.foot {font:400 10px/1.6 var(--mono);color:#788a91;border-top:1px solid #bec9ce;padding-top:13px}

@media(max-width:1180px){
  .hero-aside{display:none}
  .site-header{padding:13px 23px}
  .step {padding:15px 10px 16px 4px}
  .step:not(:first-child){padding-left:15px}
  .step strong{font-size:17px}
}
@media(max-width:980px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .step:nth-child(2){border-right:0}
  .step:nth-child(-n+2){border-bottom:1px solid #c6d2d7}
  .step:nth-child(2)::after{display:none}
  .step:nth-child(3){padding-left:5px}
  .grid{grid-template-columns:1fr}
  .doc-panel{position:static}
  .preview{height:470px}
}
@media(max-width:600px){
  main{padding:27px 14px}
  .site-header{min-height:77px;padding:10px 14px}
  .brand{gap:10px}
  .brand img{width:160px}
  .header-caption{display:none}
  .demo-chip{padding:7px 8px;font-size:8px}
  .hero{padding-left:13px;border-left-width:3px;margin-bottom:24px}
  h1{font-size:clamp(40px,11.4vw,57px)}
  .eyebrow{font-size:9px}
  .steps{grid-template-columns:1fr 1fr}
  .step {gap:8px;padding:15px 5px}
  .step:not(:first-child){padding-left:10px}
  .step:nth-child(3){padding-left:5px}
  .step-number{font-size:10px}
  .step strong{font-size:15px}
  .step small{font-size:10px}
  .panel-title{padding:14px 15px;min-height:56px}
  .panel-title h2{font-size:20px;gap:9px}
  .panel-title h2 span{font-size:9px;padding-right:9px}
  .inside{padding:15px}
  .preview{height:360px}
  .quick-grid{grid-template-columns:1fr 1fr}
  .quick-card:last-child{grid-column:1/-1;border-top:1px solid #cbd5da}
  .auth{grid-template-columns:1fr}
}


/* Scadenza visibile anche come campo nel riepilogo operativo. */
.deadline-field {
  border-bottom:1px solid #bdcdd5;
  margin:8px 0 3px;
  padding:15px 0 19px;
}
.deadline-field label {
  display:block;
  font:600 10px/1.4 var(--mono);
  color:#415e6b;
  margin-bottom:7px;
}
.deadline-field input {
  width:100%;
  padding:11px 13px;
  border:1px solid #a7bcc8;
  border-left:3px solid var(--blue);
  border-radius:0;
  background:#f0f5f6;
  color:#124b72;
  font:700 18px/1.3 var(--display);
  letter-spacing:.015em;
  cursor:default;
}
.deadline-hint {
  display:block;
  font-size:11px;
  line-height:1.45;
  color:#657d89;
  margin-top:7px;
}
