*{box-sizing:border-box} :root{--blue:#0099cc;--green:#99cc33;--dark:#113442;--muted:#5a707a;--line:#d7e4e9;--soft:#f3f8fa}
html{scroll-behavior:smooth}body{margin:0;background:#edf3f6;color:var(--dark);font:18px/1.55 "Times New Roman",Times,serif}
a{color:#006b92}p{margin:.55em 0 1em}h1,h2,h3{line-height:1.18}h1{font-size:clamp(2.1rem,4vw,3.6rem);margin:.25em 0 .35em}h2{font-size:2.05rem;margin:.25em 0 .7em}h3{font-size:1.25rem;margin:0 0 .5em}small,.small{font-size:.84rem}
.site-head{background:#fff;border-bottom:1px solid var(--line);padding:15px max(24px,calc((100vw - 1220px)/2));display:flex;align-items:center;gap:24px;justify-content:space-between;flex-wrap:wrap}.site-head img{width:150px;max-height:64px;object-fit:contain}.site-head nav{display:flex;gap:17px;font:700 13px/1.4 Arial,sans-serif}.site-head nav a{color:#275260;text-decoration:none}.site-head nav a:hover{text-decoration:underline}
.wrap{max-width:1220px;margin:auto;padding:0 30px}.cover{background:#fff;padding:62px 0 48px}.eyebrow{font:700 12px Arial,sans-serif;color:#0085b5;letter-spacing:.14em;text-transform:uppercase}.cover p{max-width:900px;font-size:1.14rem}.meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.meta span{font:700 12px Arial,sans-serif;color:#375969;background:#eef5f8;border-radius:16px;padding:8px 14px}.meta .pending{background:#fff3e3;color:#805920}
.toc{background:#fff;margin:28px auto;border-radius:16px;padding:26px 32px;border:1px solid var(--line)}.toc h2{font-size:1.45rem}.toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 28px;padding:0;margin:0;list-style:none}.toc li a{padding:11px 0;display:flex;gap:12px;border-bottom:1px solid #e8eef0;text-decoration:none}.toc li a b{font:700 12px Arial,sans-serif;color:var(--blue);padding-top:5px}.toc li a:hover{color:var(--blue)}
.section{padding:30px 0 38px;scroll-margin-top:20px}.section>.wrap>.section-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.return{font:700 12px Arial,sans-serif;text-decoration:none;white-space:nowrap}.intro{max-width:940px;font-size:1.05rem;color:#3e5861}.compare{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:18px 0 24px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;min-width:0}.panel header{margin-bottom:17px}.panel header p{margin:0;color:var(--muted);font-size:.88rem}.stage{display:flex;justify-content:center;align-items:start;gap:12px;min-height:430px;flex-wrap:wrap;padding:22px 10px;background:radial-gradient(circle at 50% 12%,#fff 0%,#f0f5f7 80%);border-radius:12px}.panel .asset{max-height:408px;max-width:100%;width:auto;border-radius:7px;box-shadow:0 8px 22px #1233}.stage.source-stage{gap:14px}.stage.source-stage .asset{max-width:47%;height:390px;object-fit:fill}.tag{font:700 10px/1.4 Arial,sans-serif;letter-spacing:.06em;display:inline-block;border-radius:10px;background:#e2eff5;color:#315365;padding:5px 9px;margin-bottom:12px}.tag.warn{background:#fff3d8;color:#78501b}.review-note{margin:17px 0;background:#f1f7fa;padding:15px 18px;border-radius:12px;font-size:.92rem}.review-note strong{color:#0a718f}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.review-grid div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;font-size:.92rem}.review-grid b{display:block;margin-bottom:4px}
/* Identity mockups: deliberately distinct from the reader typography. */
.id-card{font-family:Arial,Helvetica,sans-serif;display:flex;flex-direction:column;position:relative;background:#fff;overflow:hidden;flex:0 0 auto;color:#173645;box-shadow:0 8px 24px rgba(0,46,67,.14)}
.badge-model{width:251px;aspect-ratio:54/86;border-radius:8px;}
.badge-model .b-top{background:var(--blue);height:20%;padding:13px 10px;display:flex;align-items:center;justify-content:space-between;gap:3px}
.badge-model .b-top img{width:75px;height:65px;object-fit:contain}
.badge-model .b-code{color:white;font-weight:700;font-size:10px;text-align:right;line-height:1.4;max-width:126px}
.badge-model .b-body{text-align:center;flex:1;padding:11px 10px 2px;display:flex;flex-direction:column;align-items:center;gap:5px}
.badge-model .b-optional{font-size:10px;color:#ad3030;font-weight:700;min-height:15px}
.badge-model .portrait{background:#d8eff6;width:111px;height:111px;border-radius:50%;display:flex;justify-content:center;align-items:flex-end;overflow:hidden;position:relative;box-shadow:0 0 0 6px #eff7f9;margin:4px 0}
.badge-model .portrait::before{content:"";position:absolute;top:19px;left:38px;width:38px;height:45px;background:#a0bfcd;border-radius:50%}
.badge-model .portrait::after{content:"";position:absolute;bottom:-11px;left:14px;width:84px;height:62px;background:#87b6cc;border-radius:47% 47% 0 0}
.badge-model .b-name{font-size:18px;font-weight:800;line-height:1.09;margin-top:9px}
.badge-model .b-role{font-size:11px;font-weight:700;line-height:1.24;margin-top:5px}
.badge-model .b-dept{font-size:10px;color:#426372;line-height:1.3}
.badge-model .b-qr{height:24px;margin:10px 16px 4px;position:relative;background:repeating-linear-gradient(90deg,#202c33 0 2px,#fff 2px 5px,#202c33 5px 6px,#fff 6px 9px,#202c33 9px 12px,#fff 12px 15px)}
.badge-model .b-qr::after{content:"DÉMONSTRATION";position:absolute;left:0;top:3px;width:100%;text-align:center;background:#fffe;font-size:9px;font-weight:900;letter-spacing:.06em}
.badge-model .b-bottom{text-align:center;font-size:9px;font-weight:700;padding:0 10px 11px;line-height:1.3}
.badge-model.back .b-back-logo{height:57%;display:flex;align-items:center;justify-content:center;padding:27px}
.badge-model.back .b-back-logo img{width:185px;max-height:135px;object-fit:contain}
.badge-model.back .b-return{background:var(--green);color:#21391c;font-size:12px;font-weight:700;line-height:1.35;text-align:center;padding:12px 14px;margin-top:auto}
.badge-model.back .b-back-date{text-align:center;font-size:11px;font-weight:700;padding:11px 4px 0}
.badge-model.back .b-qr{height:28px;margin:10px 20px 16px}
/* Card is explicitly a proposal: no historic AMSODE business card exists in the references. */
.visit-card{width:345px;aspect-ratio:85/55;border-radius:8px;padding:19px 20px 16px;justify-content:space-between}
.visit-card.front{background:linear-gradient(160deg,#fff 70%,#f0f8fa)}
.visit-card.front::after{content:"";height:4px;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(90deg,var(--blue) 0 72%,var(--green) 72% 100%)}
.visit-card .c-logo{width:132px;height:51px;object-fit:contain;object-position:left top}
.visit-card .c-name{font-size:20px;font-weight:800;line-height:1.1}
.visit-card .c-role{font-size:12px;color:#14789b;font-weight:700;margin-top:4px}
.visit-card .c-contact{font-size:11px;line-height:1.5;color:#344e5b;display:grid;grid-template-columns:1fr 1fr;gap:1px 7px;margin-top:7px}
.visit-card.back{background:linear-gradient(155deg,#eff8fb,#fff);text-align:center;align-items:center;justify-content:center;gap:7px}
.visit-card.back img{width:195px;height:126px;object-fit:contain}
.visit-card.back p{font-size:10px;margin:0;line-height:1.25;color:#47616e}
.visit-card.back::after{content:"";height:5px;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(90deg,var(--blue) 0 75%,var(--green) 75% 100%)}
.old-visit{height:221px;width:345px;border-radius:9px;background:#fff;border:1px solid #cbdce4;box-shadow:0 8px 24px rgba(0,46,67,.10);font-family:Arial,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:21px}
.old-visit img{max-width:175px;max-height:110px;object-fit:contain}.old-visit small{font-size:11px;color:#345969}.old-visit .o-text{width:100%;font-size:13px;line-height:1.45}.old-visit strong{font-size:15px;display:block}
.audit{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px 30px;margin:22px 0 40px}.audit table{border-collapse:collapse;width:100%;font-size:.92rem}.audit th,.audit td{text-align:left;vertical-align:top;padding:13px 10px;border-bottom:1px solid #e0eaef}.audit th{font:700 12px Arial,sans-serif;letter-spacing:.02em;color:#356071;background:#f0f6f9}.audit td:first-child{font-weight:700;max-width:180px}.audit .foot{font-size:.88rem;color:#426373}.footer{text-align:center;padding:28px 12px 48px;font-size:.88rem;color:#53717b}
@media(max-width:900px){.compare{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.toc ol{grid-template-columns:1fr}.panel{padding:18px}.wrap{padding:0 18px}}
@media(max-width:460px){.site-head{padding:14px 17px}.site-head img{width:115px}.site-head nav{gap:8px}.stage.source-stage .asset{height:285px}.badge-model{width:235px}.stage{min-height:330px}.visit-card,.old-visit{width:min(345px,100%)}.visit-card{min-height:210px}.compare{gap:12px}.cover{padding:34px 0}}
@media print{body{background:#fff}.site-head{display:none}.wrap{max-width:100%;padding:0 12mm}.cover{padding:16mm 0}.toc{margin:0 0 18mm}.section{break-before:page}.panel,.audit{break-inside:avoid}.compare{grid-template-columns:1fr 1fr}.stage{min-height:330px}.footer{display:none}}

.docs-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.docs-actions a{font:700 13px Arial,sans-serif;padding:10px 14px;border-radius:7px;text-decoration:none;background:#0099cc;color:#fff}.docs-actions a.secondary{background:#eef7fa;color:#146886;border:1px solid #d9e8ef}.docs-actions a:hover{text-decoration:underline}
