:root{--navy:#073653;--ink:#102f44;--blue:#075482;--orange:#ed6b35;--muted:#61717d;--line:#dce3e8;--soft:#f4f6f8;--white:#fff;--radius:12px;--font:"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--font);font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}p{color:var(--muted);margin:0 0 22px}h1,h2,h3{line-height:1.15;letter-spacing:-.035em;margin:0 0 22px}h1{font-size:clamp(42px,4.6vw,66px);font-weight:750}h2{font-size:clamp(30px,3vw,42px);font-weight:700}h3{font-size:21px;letter-spacing:-.02em}img{max-width:100%;display:block}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #1684bc;outline-offset:4px}[hidden]{display:none!important}.container{width:min(1180px,calc(100% - 80px));margin:auto}.header{height:98px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand img{width:126px;height:auto}.header nav{display:flex;gap:36px;height:100%;align-items:center}.header nav a{font-size:14px;font-weight:600;position:relative;height:100%;display:flex;align-items:center;white-space:nowrap}.header nav a[aria-current=page]:after{content:"";height:3px;background:var(--orange);position:absolute;bottom:0;left:0;right:0}.header nav a:hover,.text-link:hover{color:var(--orange)}.header-contact{font-size:14px;font-weight:600;border:1px solid var(--line);border-radius:6px;padding:10px 19px}.header-contact span{margin-left:20px}.skip{position:fixed;top:-70px;left:20px;background:#fff;z-index:100;padding:12px}.skip:focus{top:8px}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:45px;padding-top:56px;padding-bottom:56px;align-items:center}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700;color:var(--blue);margin-bottom:24px}.eyebrow:before{content:"";height:2px;width:28px;background:var(--orange);flex-shrink:0}.hero h1{margin-bottom:25px;line-height:1.06;letter-spacing:-.055em}.hero h1 em{font-style:normal;color:var(--blue)}.hero-title{font-size:21px;line-height:1.5;color:var(--ink);margin-bottom:18px}.hero-title strong{display:block;font-size:16px;letter-spacing:.1em;margin-top:6px}.hero-description{max-width:440px;font-size:15px}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 23px;border-radius:6px;font-size:14px;font-weight:650;line-height:1.5;transition:background .2s,transform .2s,box-shadow .2s;min-height:49px;text-align:center}.button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #07365312}.primary{background:var(--orange);color:#fff}.primary:hover{background:#cd5120}.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.light{background:white;color:var(--navy)}.text-link{background:none;padding:0;display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:650;color:var(--navy)}.micro{font-size:12px;line-height:1.65}.hero .micro{margin:20px 0 0}.hero-media{height:535px;position:relative;border-radius:12px;overflow:hidden;background:var(--soft)}.hero-media img{height:100%;width:100%;object-fit:cover;object-position:65% center}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:70px 28px 28px;background:linear-gradient(transparent,#062a43dd);color:white}.image-caption span{font-size:10px;letter-spacing:.15em;display:block}.image-caption strong{font-size:19px;display:block;margin-top:7px}.facts{background:var(--navy);color:#fff}.facts-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:30px}.facts-inner>div{display:flex;align-items:center;gap:22px;padding-inline:32px;border-right:1px solid #ffffff25}.facts-inner>div:first-child{padding-left:0}.facts-inner>div:last-child{border:0}.fact-number{color:#91b1c6;font-size:14px;font-weight:600}.facts p{margin:0;color:white;line-height:1.6}.facts strong{font-size:16px;display:block}.facts p span{display:block;font-size:12px;color:#c0d3df}.section{padding-block:95px}.overview{display:grid;grid-template-columns:1fr 1fr;gap:105px}.overview>div>p{font-size:15px}.note{border-left:3px solid var(--orange);padding:0 0 0 22px;margin-top:30px}.note p{font-size:14px;margin:9px 0 0}.program-details{border-top:3px solid var(--orange);padding-top:28px}.program-details h3{font-size:24px}.program-details dl{margin:25px 0}.program-details dl>div{display:flex;justify-content:space-between;gap:28px;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.program-details dt{color:var(--muted);flex-shrink:0}.program-details dd{margin:0;text-align:right;font-weight:600}.program-details .micro{margin-top:15px}.soft-section{background:var(--soft)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:75px;margin-bottom:48px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:440px;font-size:15px;margin-bottom:0}.competency-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.competency-grid article{display:flex;gap:24px;border-top:1px solid var(--line);padding:30px 0}.competency-grid article>span{color:var(--orange);font-size:20px;font-weight:650}.competency-grid h3{font-size:20px;margin-bottom:12px}.competency-grid p{font-size:14px;margin:0}.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.journey article{border-top:1px solid var(--line);padding-top:25px}.journey article>span{font-size:32px;font-weight:300;color:var(--orange);display:block;margin-bottom:25px}.journey h3{font-size:19px;line-height:1.3}.journey p{font-size:14px;margin:0}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faqs details{border-bottom:1px solid var(--line)}.faqs details:first-child{border-top:1px solid var(--line)}.faqs summary{cursor:pointer;list-style:none;padding:24px 35px 24px 0;position:relative;font-size:15px;font-weight:650}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:"+";position:absolute;right:5px;font-size:24px;font-weight:300;top:16px}.faqs details[open] summary:after{content:"−"}.faqs details p{font-size:14px;padding-right:25px}.closing{background:var(--navy);padding:65px 0;color:#fff}.closing .container{display:flex;align-items:center;justify-content:space-between;gap:40px}.closing .eyebrow{color:#a9c7d9}.closing p{color:#c1d3de;margin-bottom:0}.closing h2{font-size:42px}.closing .eyebrow{margin-bottom:24px}.workspace{background:var(--soft);padding:48px 0 70px;min-height:80vh}.page-heading{margin-bottom:38px}.page-heading .eyebrow{margin-bottom:16px}.page-heading h1{font-size:46px;line-height:1.1;margin-bottom:17px}.page-heading>p:last-child{font-size:16px;margin-bottom:0}.registration-layout{display:grid;grid-template-columns:320px 1fr;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 40px #07365304}.registration-rail{background:var(--navy);color:#fff;padding:38px;display:flex;flex-direction:column;justify-content:space-between}.rail-label{font-size:10px;letter-spacing:.16em;color:#a6c4d6}.registration-rail h2,.payment-summary h2{font-size:36px;margin:12px 0}.registration-rail p,.payment-summary p{color:#d4e1e9;font-size:15px;line-height:1.65}.rail-rule{height:1px;background:#ffffff28;margin:30px 0;position:relative}.rail-rule:before{position:absolute;content:"";width:35px;background:var(--orange);height:2px;top:-1px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:16px;padding-bottom:34px;position:relative;align-items:center;opacity:.55}.steps li:before{content:"";position:absolute;top:37px;bottom:0;left:17px;width:1px;background:#ffffff35}.steps li:last-child:before{display:none}.steps li[aria-current=step],.steps li.complete{opacity:1}.steps li>span{width:35px;height:35px;border-radius:50%;background:#ffffff20;color:#fff;display:grid;place-items:center;font-size:13px;flex-shrink:0}.steps li[aria-current=step]>span{background:var(--orange)}.steps strong{font-size:13px;display:block}.steps small{font-size:11px;color:#c2d6e3}.rail-bottom{margin-top:70px}.rail-bottom p{font-size:21px;font-weight:300;line-height:1.45}.rail-bottom a{font-size:12px;color:#c2d6e3}.form-panel{padding:40px 44px;min-width:0}.form-heading h2{font-size:27px;margin:8px 0 12px}.step-label{font-size:10px;letter-spacing:.15em;color:var(--muted)}.form-heading p{font-size:13px;margin-bottom:28px}.form-heading p span{display:block}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 24px}.full{grid-column:1/-1}.field-grid label{font-size:12px;font-weight:650;color:var(--ink)}.optional{font-weight:400;color:var(--muted);font-size:11px}input:not([type=checkbox]),select,textarea{width:100%;display:block;margin-top:8px;background:#fff;border:1px solid #cad5dd;border-radius:5px;padding:12px 13px;font-size:14px;color:var(--ink);transition:border-color .2s;min-width:0}input::placeholder,textarea::placeholder{color:#83929e;font-size:13px}textarea{resize:vertical;min-height:100px}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#b13627;background:#fff9f8}label small{display:block;font-weight:400;color:var(--muted);font-size:11px;margin-top:5px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:25px;border-top:1px solid var(--line);margin-top:28px}.form-actions .micro{margin:0}.form-actions .primary{margin-left:auto;min-width:150px}.error{color:#ac2d20;font-size:13px;margin:16px 0 0}.error:empty{display:none}.notice{font-size:12px;background:#f1f6f9;border-left:2px solid #8caabf;padding:15px 18px;margin:25px 0 0;color:#4e6575}.workspace-footnote{text-align:center;font-size:13px;margin:24px 0 0}.workspace-footnote a{text-decoration:underline}.review-data{margin:0}.review-data>div{display:grid;grid-template-columns:170px 1fr;padding:11px 0;border-bottom:1px solid var(--line);gap:12px;font-size:13px}.review-data dt{color:var(--muted)}.review-data dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.legal-links{display:flex;gap:10px 25px;flex-wrap:wrap;margin:25px 0;font-size:12px;color:var(--blue)}.legal-links a{text-decoration:underline}.checkbox{display:flex;gap:12px;align-items:flex-start;font-size:12px;color:var(--muted)}input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--blue);margin-top:3px}.success-mark{display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:#e9f3ed;color:#28754b;font-size:32px;margin-bottom:25px}#registration-ready h2{font-size:32px}#registration-ready p{font-size:14px}.next-instructions{padding-left:20px;font-size:14px;color:var(--muted);line-height:1.8;margin:30px 0}.next-instructions li{padding:7px 0;overflow-wrap:anywhere}#registration-ready>.text-link{display:block;margin-top:25px}.payment-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:25px;align-items:start}.payment-main{background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:285px minmax(0,1fr);padding:28px 0;min-height:570px}.payment-methods{padding:0 22px;border-right:1px solid var(--line)}.payment-methods h2{font-size:18px;letter-spacing:-.02em;margin:0 0 7px}.method-list{display:grid;gap:10px}.method-list button{display:flex;align-items:center;gap:11px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:7px;padding:15px 12px;color:var(--ink);transition:background .2s,border-color .2s;min-height:77px}.method-list button:hover{background:#f4f7fa}.method-list button[aria-pressed=true]{border-color:var(--orange);background:#fff8f4}.method-icon{font-size:11px;color:var(--muted)}.method-list strong{font-size:12px;display:block;line-height:1.4}.method-list small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.radio-dot{width:13px;height:13px;border:1px solid #9aaab5;border-radius:50%;margin-left:auto;flex-shrink:0}.method-list button[aria-pressed=true] .radio-dot{border:4px solid var(--orange)}.payment-details{padding:0 26px;min-width:0}.payment-details h2{font-size:21px;margin:0 0 12px}.payment-details>p{font-size:13px}.bank-mark{font-style:italic;font-size:31px;font-weight:800;color:#004b8f;border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:18px}.bank-mark span{color:var(--orange)}.bank-data{margin:0}.bank-data>div{margin-bottom:19px}.bank-data dt{font-size:11px;color:var(--muted)}.bank-data dd{margin:4px 0 0;font-size:13px;font-weight:650}.copy-row{display:flex;align-items:center;gap:10px;background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:9px 11px;margin-top:6px;flex-wrap:wrap}.copy-row code{font-family:var(--font);font-size:14px;letter-spacing:.02em;overflow-wrap:anywhere}.copy-button{background:transparent;color:var(--blue);font-size:11px;padding:5px 0;margin-left:auto;font-weight:650}.payment-details .notice{margin-top:18px;font-size:11px}.payment-details ol{padding-left:20px;font-size:13px;color:var(--muted)}.payment-details li{margin-bottom:13px}.payment-details .button{font-size:12px;gap:12px;width:100%;margin-top:15px}.card-brands{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.card-brands span{padding:7px 10px;border:1px solid var(--line);border-radius:4px;font-size:12px;font-weight:700}.payment-summary{background:var(--navy);color:#fff;border-radius:var(--radius);padding:29px 26px}.payment-summary dl{font-size:12px}.payment-summary dl>div{margin-bottom:17px}.payment-summary dt{color:#a6c4d6;font-size:11px}.payment-summary dd{margin:3px 0 0}.investment{border-top:1px solid #ffffff28;padding-top:22px;margin:25px 0}.investment small,.investment strong,.investment span{display:block}.investment small{font-size:11px;color:#a6c4d6}.investment strong{font-size:23px;line-height:1.3;margin:10px 0}.investment span{font-size:12px;color:#c2d6e3}.payment-summary .button{width:100%;font-size:12px;padding-inline:14px}.payment-summary .micro{font-size:11px;margin:18px 0;color:#bdcfdc}.summary-link{font-size:11px;text-decoration:underline}.receipt-panel{display:flex;align-items:flex-start;gap:18px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-top:23px;flex-wrap:wrap}.receipt-icon{font-size:25px;line-height:1.2;color:var(--orange)}.receipt-panel>div{flex:1;min-width:190px}.receipt-panel h2{font-size:21px;margin-bottom:12px}.receipt-panel p{font-size:13px;margin-bottom:10px}.receipt-panel a:not(.button){overflow-wrap:anywhere;color:var(--blue);text-decoration:underline}.receipt-panel .micro{font-size:11px}.receipt-panel .button{font-size:12px;margin-left:42px}.payment-help{padding-top:35px;margin-top:30px;border-top:1px solid var(--line);text-align:center}.payment-help h3{font-size:21px;margin-bottom:10px}.payment-help p{font-size:13px;margin-bottom:10px}.payment-help a{font-size:13px;color:var(--blue);overflow-wrap:anywhere}footer{border-top:1px solid var(--line);background:#fff;padding:30px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-inner img{width:103px;height:auto}.footer-inner p{font-size:11px;margin:0}.footer-inner>div{display:flex;gap:25px;font-size:12px}.footer-inner small{font-size:10px;color:var(--muted)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;border-radius:8px;padding:13px 24px;box-shadow:0 8px 35px #0003;z-index:50;font-size:14px;max-width:90vw}.noscript{padding:20px;background:#fff3e8}.view{animation:appear .35s ease-out}@keyframes appear{from{opacity:.65;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1450px){.hero{padding-block:75px}.hero-media{height:570px}}
@media(max-width:1100px){.container{width:calc(100% - 48px)}.hero{gap:30px}.hero-media{height:510px}.hero h1{font-size:53px}.overview{gap:55px}.registration-layout{grid-template-columns:270px 1fr}.registration-rail{padding:30px}.form-panel{padding:32px}.payment-layout{grid-template-columns:1fr 250px;gap:18px}.payment-main{grid-template-columns:225px 1fr}.payment-methods{padding:0 15px}.payment-details{padding:0 20px}.method-icon{display:none}.payment-summary{padding:25px 20px}.header nav{gap:25px}.facts-inner>div{padding-inline:20px;gap:15px}.facts strong{font-size:14px}}
@media(max-width:850px){.header-contact{display:none}.hero{grid-template-columns:1fr 1fr;gap:20px}.hero h1{font-size:42px}.hero-title{font-size:18px}.hero-media{height:480px}.hero .actions{gap:18px}.section{padding-block:65px}.overview{gap:35px}.section-heading{gap:35px}.section-heading>p{max-width:330px}.journey{grid-template-columns:1fr 1fr}.faq-layout{gap:35px}.payment-layout{grid-template-columns:1fr}.payment-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}.payment-summary .rail-label,.payment-summary>h2,.payment-summary>p,.payment-summary .rail-rule{grid-column:1}.payment-summary .rail-rule{margin:5px 0}.payment-summary dl{grid-column:1}.payment-summary .investment{grid-column:2;grid-row:1/5;border:0;margin:0}.payment-summary>.button{grid-column:2;grid-row:5}.payment-summary>.micro{grid-column:1/-1;margin:0}.payment-main{grid-template-columns:280px 1fr}.registration-layout{grid-template-columns:220px 1fr}.registration-rail{padding:28px 23px}.steps li{gap:10px}.steps small{display:none}.form-panel{padding:30px 25px}.field-grid{gap:18px 16px}.footer-inner{gap:25px;flex-wrap:wrap}.closing h2{font-size:34px}}
@media(max-width:620px){.container{width:calc(100% - 36px)}.header{height:auto;position:relative}.header-inner{display:block;padding-top:15px}.brand{display:block;width:98px;margin:0 auto 10px}.brand img{width:98px}.header nav{height:48px;justify-content:center;gap:28px}.header nav a{font-size:12px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-block:34px;gap:30px}.eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:21px}.hero h1{font-size:clamp(39px,10vw,55px)}.hero-title{font-size:19px}.hero-description{font-size:14px}.hero-media{height:325px}.hero .micro{font-size:11px}.hero .actions{gap:20px}.button{padding:14px 18px;font-size:13px}.hero .text-link{font-size:12px}.facts-inner{grid-template-columns:1fr;padding-block:8px}.facts-inner>div,.facts-inner>div:first-child{padding:18px 0;border:0;border-bottom:1px solid #ffffff25;gap:25px}.facts-inner>div:last-child{border:0}.facts strong{font-size:15px}.facts p span{font-size:12px}.section{padding-block:53px}.overview,.faq-layout{grid-template-columns:1fr;gap:35px}.program-details{padding-top:25px}.program-details dl>div{gap:12px;font-size:12px}.program-details dt{flex-shrink:1}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:none;font-size:14px}.competency-grid{grid-template-columns:1fr}.competency-grid article{padding:25px 0}.journey{gap:28px 22px}.journey h3{font-size:17px}.journey p{font-size:13px}.journey article>span{font-size:28px;margin-bottom:18px}.closing{padding-block:45px}.closing .container{display:block}.closing h2{font-size:33px}.closing p{font-size:14px}.closing .button{margin-top:28px}.workspace{padding:30px 0 45px}.page-heading h1{font-size:35px}.page-heading>p:last-child{font-size:14px}.page-heading{margin-bottom:28px}.registration-layout{grid-template-columns:1fr}.registration-rail{padding:22px}.registration-rail .rail-label,.registration-rail h2,.registration-rail>div>p,.registration-rail .rail-rule,.rail-bottom{display:none}.steps{display:flex;justify-content:space-between;gap:12px}.steps li{display:block;text-align:center;padding:0;flex:1}.steps li:before{display:none}.steps li>span{margin:0 auto 7px;width:29px;height:29px;font-size:12px}.steps strong{font-size:10px;line-height:1.4}.form-panel{padding:25px 22px}.form-heading h2{font-size:25px}.field-grid{grid-template-columns:1fr;gap:19px}.form-actions{flex-wrap:wrap;gap:12px}.form-actions .micro{width:100%;order:3;font-size:10px}.form-actions .primary{min-width:130px}.review-data>div{grid-template-columns:1fr;gap:3px}.payment-main{grid-template-columns:1fr;padding:22px 0;min-height:0}.payment-methods{padding:0 20px 23px;border:0;border-bottom:1px solid var(--line)}.method-list{grid-template-columns:1fr;gap:8px}.method-list button{min-height:64px;padding:12px}.method-icon{display:block}.method-list strong{font-size:13px}.method-list small{font-size:11px}.payment-details{padding:26px 20px 0}.payment-details .button{width:auto}.payment-details h2{font-size:23px}.bank-data>div{margin-bottom:20px}.payment-summary{display:block;padding:28px}.payment-summary .investment{border-top:1px solid #ffffff28;margin:25px 0}.payment-summary .micro{margin:18px 0}.receipt-panel{padding:22px;gap:12px}.receipt-panel .button{margin-left:35px}.receipt-panel h2{font-size:20px}.payment-help a{font-size:12px}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:22px}.footer-inner>div{gap:18px}.footer-inner small{font-size:9px}.next-instructions{font-size:13px}.header nav a[aria-current=page]:after{height:2px}html{scroll-padding-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Institutional shell and readable certification forms — October 2026. */
body { font-size: 18px; }
.event-header__nav { font-size: 14px; }
.event-header__nav summary { letter-spacing: 0; }
.event-header__submenu { z-index: 70; }
.cert-nav { position: sticky; top: 0; z-index: 30; background: #fff; border-bottom: 1px solid var(--line); }
.cert-nav__inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 66px; }
.cert-nav__title { font-size: 12px; letter-spacing: .08em; color: var(--muted); }
.cert-nav__title strong { color: var(--navy); margin-left: 8px; font-size: 15px; }
.cert-nav__inner > div { display: flex; gap: 36px; align-self: stretch; }
.cert-nav [data-route] { display: flex; align-items: center; position: relative; font-size: 16px; font-weight: 600; padding: 18px 0; }
.cert-nav [aria-current="page"] { color: var(--blue); }
.cert-nav [aria-current="page"]::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: var(--orange); }
.hero-title { font-size: 24px; }
.hero-title strong { font-size: 20px; }
.hero-description, .overview > div > p, .section-heading > p { font-size: 18px; }
.eyebrow, .hero .micro { font-size: 13px; }
.button, .text-link { font-size: 16px; }
.facts strong { font-size: 18px; }
.facts p span, .note p, .competency-grid p, .journey p, .faqs details p, .program-details dl > div { font-size: 16px; }
.faqs summary { font-size: 18px; }
.program-details .micro { font-size: 14px; }
.page-heading > p:last-child { font-size: 18px; }
.registration-layout { grid-template-columns: 310px minmax(0, 1fr); border-radius: 16px; }
.registration-rail { padding: 38px 30px; }
.registration-rail > div:first-child { position: sticky; top: 100px; }
.registration-rail p { font-size: 17px; }
.rail-label { font-size: 12px; }
.rail-bottom a { font-size: 14px; }
.rail-bottom { margin-top: 65px; }
.steps li { opacity: 1; align-items: flex-start; }
.steps strong { font-size: 16px; line-height: 1.4; }
.steps small { font-size: 13px; line-height: 1.6; display: block; margin-top: 4px; }
.step-button { display: flex; gap: 14px; width: 100%; text-align: left; color: #fff; background: transparent; padding: 0; align-items: flex-start; }
.step-button:disabled { cursor: default; color: #c4d6e2; }
.step-button > span { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: #ffffff17; font-size: 15px; transition: background .25s, box-shadow .25s; }
.steps [aria-current="step"] .step-button > span { background: var(--orange); box-shadow: 0 0 0 5px #ed6b3519; }
.steps .complete .step-button > span { background: #36755f; }
.form-panel { padding: 40px 44px 32px; }
.form-progress { margin-bottom: 35px; }
.form-progress > div:first-child { display: flex; justify-content: space-between; gap: 16px; font-size: 14px; font-weight: 600; margin-bottom: 13px; color: var(--muted); }
.progress-track { height: 5px; background: #edf1f4; overflow: hidden; border-radius: 4px; }
.progress-track span { display: block; width: 33.333%; height: 100%; background: var(--orange); border-radius: inherit; transition: width .4s ease; }
.form-heading .step-label { display: none; }
.form-heading h2 { font-size: 32px; margin-bottom: 16px; }
.form-heading p { font-size: 16px; margin-bottom: 30px; }
.form-heading p span { margin-top: 6px; font-size: 14px; }
.field-grid { gap: 26px 24px; }
.field-section { border-top: 1px solid var(--line); padding-top: 28px; margin-top: 8px; }
.field-section h3 { font-size: 20px; margin-bottom: 9px; }
.field-section p { font-size: 15px; margin-bottom: 0; }
.field-grid label { font-size: 15px; line-height: 1.5; }
.optional { font-size: 13px; }
input:not([type="checkbox"]), select, textarea { min-height: 56px; padding: 15px; font-size: 16px; line-height: 1.5; border-radius: 8px; transition: border-color .2s, box-shadow .2s, background .2s; }
input:not([type="checkbox"]):focus, select:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 4px #0754820d; }
input::placeholder, textarea::placeholder { font-size: 15px; font-weight: 400; color: #6b7e8b; }
label small { font-size: 13px; margin-top: 8px; line-height: 1.5; }
.field-error { color: #a32c22; font-weight: 500; }
#experience-count { display: block; text-align: right; font-variant-numeric: tabular-nums; }
.notice, .checkbox { font-size: 15px; line-height: 1.7; }
.notice { padding: 20px; border-radius: 0 6px 6px 0; margin-top: 30px; }
.legal-links { gap: 14px 24px; margin: 30px 0; font-size: 14px; }
.checkbox { gap: 15px; }
.checkbox input { margin-top: 5px; width: 20px; height: 20px; }
.checkbox { flex-wrap: wrap; }
.checkbox > span { flex: 1; }
.checkbox .field-error { flex-basis: 100%; margin-left: 35px; }
.form-actions { padding-top: 28px; margin-top: 32px; gap: 22px; flex-wrap: wrap; }
.form-actions .button { min-height: 54px; }
.form-actions .micro { font-size: 13px; max-width: 195px; }
.workspace-footnote { font-size: 15px; margin-top: 30px; }
.error { font-size: 15px; }
.review-section { border: 1px solid var(--line); border-radius: 10px; padding: 25px; margin-bottom: 22px; }
.review-section__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.review-section__header h3 { font-size: 20px; margin: 0; }
.review-section__header button { font-size: 14px; padding: 7px 10px; border-radius: 5px; background: #f0f5f8; color: var(--blue); font-weight: 600; }
.review-data > div { grid-template-columns: 155px minmax(0, 1fr); gap: 20px; font-size: 16px; padding: 16px 0; }
.review-data > div:last-child { border: 0; padding-bottom: 0; }
.review-data dt { font-size: 14px; }
.review-data dd { font-weight: 500; }
.form-step:not([hidden]), #registration-ready:not([hidden]) { animation: step-in .32s ease-out; }
@keyframes step-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.form-step h2 { scroll-margin-top: 95px; }
#registration-ready p, .next-instructions { font-size: 16px; }
#registration-ready .text-link { margin-top: 28px; }
.payment-layout { grid-template-columns: minmax(0, 1fr) 310px; }
.payment-main { grid-template-columns: 275px minmax(0, 1fr); }
.payment-methods h2 { font-size: 20px; }
.payment-methods .micro, .method-list small, .bank-data dt { font-size: 13px; }
.method-list strong, .payment-details > p, .payment-details ol, .bank-data dd { font-size: 15px; }
.method-list button { min-height: 90px; }
.payment-details .notice, .payment-details .micro, .payment-summary .micro { font-size: 13px; }
.payment-summary p, .payment-summary dl, .investment span { font-size: 15px; }
.payment-summary dt, .investment small, .summary-link { font-size: 13px; }
.receipt-panel p, .payment-help p, .payment-help a { font-size: 15px; }
.receipt-panel .micro { font-size: 13px; }
.payment-details .button, .payment-summary .button, .receipt-panel .button { font-size: 14px; }
.iso-footer { padding: 0; color: #9aa5b2; background: #151d27 url("../images/footer-bg.jpg") repeat; background-size: 100% 100%; border: 0; }
.iso-footer__inner { display: grid; gap: 28px; padding: 44px 0 26px; }
.iso-footer__brand { display: grid; justify-items: center; gap: 14px; color: #fff; text-align: center; }
.iso-footer__brand img { width: 178px; height: auto; }
.iso-footer__brand p { margin: 0; color: #fff; font-size: 14px; font-weight: 800; text-transform: uppercase; }
.iso-footer__info { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 20px; border-top: 1px solid #ffffff14; font-size: 14px; }
.iso-footer__info p { margin: 0; color: #b5c2ce; }
.iso-whatsapp { position: fixed; z-index: 40; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 20px; border-radius: 999px; background: #18c65e; color: #fff; font-size: 14px; font-weight: 700; line-height: 1; box-shadow: 0 4px 16px #0002; transition: background .2s, transform .2s; }
.iso-whatsapp:hover { background: #128c46; transform: translateY(-3px); }
.iso-whatsapp img { width: 22px; height: 22px; filter: brightness(0) invert(1); }
.toast { bottom: 88px; }
@media(max-width:1100px) {
  .registration-layout { grid-template-columns: 260px minmax(0,1fr); }
  .registration-rail { padding: 32px 25px; }
  .form-panel { padding: 32px; }
  .payment-layout { grid-template-columns: 1fr; }
  .payment-main { grid-template-columns: 290px minmax(0,1fr); }
  .payment-summary { max-width: none; }
}
@media(max-width:850px) {
  .registration-layout { grid-template-columns: 1fr; }
  .registration-rail { padding: 25px 30px; }
  .registration-rail > div:first-child { position: static; }
  .registration-rail .rail-label, .registration-rail h2, .registration-rail > div > p, .registration-rail .rail-rule, .rail-bottom { display: none; }
  .steps { display: flex; gap: 22px; }
  .steps li { flex: 1; padding: 0; }
  .steps li::before { display: none; }
  .steps small { display: none; }
  .step-button { align-items: center; }
  .steps strong { font-size: 14px; }
  .cert-nav__title { display: none; }
  .cert-nav__inner { justify-content: center; }
}
@media(max-width:620px) {
  .event-header__nav { font-size: 12px; gap: 2px 16px; }
  .event-header__inner { gap: 9px; }
  .cert-nav__inner { width: calc(100% - 30px); min-height: 58px; }
  .cert-nav__inner > div { width: 100%; justify-content: space-between; gap: 14px; }
  .cert-nav [data-route] { font-size: 14px; padding: 17px 0; }
  .hero-title { font-size: 22px; }
  .hero-description { font-size: 17px; }
  .hero .text-link { font-size: 15px; }
  .hero .actions { gap: 22px; }
  .eyebrow { font-size: 11px; }
  .hero .micro { font-size: 13px; }
  .page-heading > p:last-child { font-size: 17px; }
  .registration-rail { padding: 24px 14px; }
  .steps { gap: 10px; }
  .step-button { flex-direction: column; gap: 12px; text-align: center; }
  .step-button > span { margin: 0 auto; }
  .steps strong { font-size: 12px; }
  .form-panel { padding: 28px 20px; }
  .form-heading h2 { font-size: 28px; }
  .form-progress { margin-bottom: 28px; }
  .field-grid { gap: 26px; }
  .field-grid label { font-size: 15px; }
  .field-section { padding-top: 24px; }
  .form-actions .micro { max-width: none; }
  .form-actions .button { flex: 1; }
  .review-section { padding: 19px; }
  .review-section__header h3 { font-size: 18px; }
  .review-data > div { grid-template-columns: 1fr; gap: 5px; }
  .review-data dt { font-size: 14px; }
  .notice, .checkbox { font-size: 14px; }
  .payment-main { grid-template-columns: 1fr; }
  .method-list button { min-height: 78px; }
  .iso-whatsapp { width: 54px; height: 54px; padding: 0; right: 16px; bottom: 16px; }
  .iso-whatsapp span { display: none; }
  .iso-whatsapp img { width: 26px; height: 26px; }
  .iso-footer__inner { padding-bottom: 90px; }
  .iso-footer__info { flex-direction: column; align-items: flex-start; }
  .iso-footer__info > span { display: none; }
  .form-actions { padding-right: 28px; }
  html { scroll-padding-top: 80px; }
}
@media(prefers-reduced-motion:reduce) {
  .form-step:not([hidden]), #registration-ready:not([hidden]) { animation: none; }
  .progress-track span, .step-button > span, .iso-whatsapp { transition: none; }
}

/* Estado de conexión y revisión de la integración Siscert. */
.form-panel, .field-grid > label { min-width: 0; }
.field-grid select { width: 100%; min-width: 0; text-overflow: ellipsis; }
.connection-status { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; margin-bottom: 32px; border: 1px solid var(--line); border-left: 3px solid var(--blue); border-radius: 6px; background: #f5f9fc; font-size: 14px; line-height: 1.6; }
.connection-status[data-state="error"] { background: #fff7f3; border-left-color: #b64b23; }
.connection-status[data-state="ready"] { background: #f3f8f5; border-left-color: #36755f; }
.connection-status button { background: white; border: 1px solid var(--line); border-radius: 5px; padding: 9px 12px; color: var(--blue); font-size: 14px; flex-shrink: 0; }
.button:disabled { opacity: .55; cursor: not-allowed; box-shadow: none; transform: none; }
select:disabled { background: #f4f6f8; color: #61717d; cursor: wait; }
.payload-preview { margin: 28px 0; padding: 20px; border: 1px solid var(--line); border-radius: 8px; text-align: left; }
.payload-preview summary { cursor: pointer; color: var(--navy); font-weight: 600; font-size: 16px; }
.payload-preview .micro { margin-top: 16px; }
.payload-preview .review-data > div { grid-template-columns: minmax(0,1fr) minmax(0,1.5fr); }
.review-data dd, .payload-preview dt { overflow-wrap: anywhere; }
#registration-ready { scroll-margin-top: 90px; }
#registration-ready > .text-link { display: flex; justify-content: center; }
@media(max-width:640px) {
  .connection-status { align-items: flex-start; flex-direction: column; }
  .payload-preview { padding: 15px; }
  .payload-preview .review-data > div { grid-template-columns: 1fr; }
}

/* Iconos direccionales compartidos. Reutilizan los recursos del sitio. */
.icons-derecha, .icons-back {
  display: inline-block; width: 18px; height: 18px; flex: 0 0 18px;
  background-color: currentColor; vertical-align: -.17em;
  -webkit-mask: var(--direction-icon) center / contain no-repeat;
  mask: var(--direction-icon) center / contain no-repeat;
}
.icons-derecha { --direction-icon: url('../images/icons/icons-derecha.png'); }
.icons-back { --direction-icon: url('../images/icons/icons-back.png'); }
.button > :is(.icons-derecha,.icons-back), .text-link > :is(.icons-derecha,.icons-back) { transition: transform .2s ease; }
.button:hover > .icons-derecha, .text-link:hover > .icons-derecha { transform: translateX(3px); }
.receipt-icon .icons-derecha { width: 22px; height: 22px; }

/* Programa ISO 55001: sistema visual corporativo, independiente de Siscert. */
.program-page {
  --program-ink: #0b2d48; --program-copy: #506577; --program-blue: #075482;
  --program-tint: #f1f7fb; --program-line: #dbe7ef; --program-accent: #c94b17;
  --program-radius: 10px; --program-shadow: 0 4px 16px #0b2d4806;
  color: var(--program-ink); font-family: Arial, 'Segoe UI', sans-serif;
  scroll-margin-top: 96px;
}
.program-page h1, .program-page h2, .program-page h3 { color: var(--program-ink); font-weight: 750; letter-spacing: -.035em; }
.program-page h2 { font-size: clamp(30px,3vw,42px); line-height: 1.16; margin-bottom: 20px; }
.program-page h3 { font-size: 23px; line-height: 1.3; margin-bottom: 14px; }
.program-page p { font-size: 17px; line-height: 1.7; color: var(--program-copy); margin-bottom: 20px; }
.program-page .eyebrow { display: flex; gap: 12px; align-items: center; font-size: 11px; font-weight: 700; letter-spacing: .09em; line-height: 1.4; color: var(--program-blue); text-transform: uppercase; margin-bottom: 18px; }
.program-page .eyebrow::before { content: ''; width: 28px; height: 2px; flex: 0 0 28px; background: #ed6b35; }
.program-page .button { min-height: 48px; padding: 13px 22px; gap: 14px; font-size: 15px; font-weight: 700; border-radius: 5px; }
.program-page .primary { background: var(--program-accent); color: white; box-shadow: 0 4px 12px #c94b1712; }
.program-page .primary:hover { background: #b23f10; box-shadow: 0 6px 18px #c94b1720; }
.program-page .secondary, .program-document-link { background: white; color: var(--program-blue); border: 1px solid var(--program-blue); }
.program-page .secondary:hover, .program-document-link:hover { background: #edf5fa; }
.program-page .text-link { gap: 10px; color: var(--program-blue); font-size: 15px; line-height: 1.5; }
.program-page .text-link:hover { color: #073653; }
.program-page :is(button,a,summary):focus-visible { outline: 3px solid #1684bc; outline-offset: 4px; }
.program-page [role='tabpanel']:focus-visible { outline: 3px solid #1684bc; outline-offset: -3px; }
.program-section { padding-block: 64px; }
.program-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.program-card { background: white; border: 1px solid var(--program-line); border-radius: var(--program-radius); box-shadow: var(--program-shadow); }
.program-audience-band, .program-curriculum-band, .program-faq-band { background: linear-gradient(105deg,#edf6fc,#f5f9fc); }
.program-page .program-section-lead { margin: -6px 0 26px; }
.program-hero { display: grid; grid-template-columns: 1fr 1.05fr; align-items: center; gap: 48px; padding-block: 42px 36px; }
.program-hero h1 { font-size: clamp(40px,4.25vw,60px); line-height: 1.06; letter-spacing: -.05em; margin-bottom: 23px; }
.program-hero h1 em { color: var(--program-blue); font-style: normal; }
.program-hero .program-hero__title { font-size: 20px; line-height: 1.45; color: var(--program-ink); font-weight: 700; margin-bottom: 17px; }
.program-hero__title strong { display: block; }
.program-hero .program-hero__description { font-size: 17px; max-width: 490px; margin-bottom: 24px; }
.program-hero .actions { gap: 20px; }
.program-hero .text-link { text-decoration: underline; text-underline-offset: 4px; }
.program-hero__media { margin: 0; min-width: 0; }
.program-hero__media img { width: 100%; height: 440px; object-fit: cover; object-position: 67% center; border-radius: 10px; }
.program-hero__media figcaption { font-size: 12px; color: var(--program-copy); text-align: right; margin-top: 10px; }
.program-facts { border-block: 1px solid var(--program-line); background: #fff; }
.program-facts dl { display: grid; grid-template-columns: repeat(4,1fr); padding-block: 26px; }
.program-facts dl > div { position: relative; display: flex; flex-direction: column; padding: 54px 12px 0; text-align: center; border-right: 1px solid var(--program-line); }
.program-facts dl > div:last-child { border: 0; }
.program-facts dt strong { display: block; font-size: 16px; line-height: 1.4; }
.program-facts dt > span:last-child { display: block; font-size: 12px; color: var(--program-copy); line-height: 1.6; margin-top: 4px; }
.program-facts dd { order: -1; margin: 0 0 3px; font-size: 37px; font-weight: 750; line-height: 1.1; letter-spacing: -.045em; }
.program-stat-icon { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 46px; height: 46px; display: grid; place-items: center; background: var(--program-blue); border-radius: 50%; }
.program-stat-icon img { width: 25px; height: 25px; filter: brightness(0) invert(1); object-fit: contain; }
.program-purpose { background: linear-gradient(110deg,#fff 60%,#fafcfe); }
.program-purpose__intro p { max-width: 510px; }
.program-document-link img { object-fit: contain; }
.program-outcomes { background: linear-gradient(115deg,#edf7fd,#e8f3fa); padding: 28px; border-radius: var(--program-radius); }
.program-outcomes h3 { font-size: 25px; }
.program-checklist { padding: 0; margin: 0; list-style: none; }
.program-checklist li { display: flex; align-items: center; gap: 13px; padding: 13px 15px; border-radius: 6px; background: #fff; font-size: 15px; line-height: 1.5; color: var(--program-copy); }
.program-checklist li + li { margin-top: 8px; }
.program-check { position: relative; width: 25px; height: 25px; flex: 0 0 25px; background: #d9521d; border-radius: 50%; }
.program-check::after { content: ''; position: absolute; width: 10px; height: 6px; border-left: 2px solid white; border-bottom: 2px solid white; top: 8px; left: 7px; transform: rotate(-45deg); }
.program-disclosure > summary, .program-topic > summary, .program-faqs summary { position: relative; cursor: pointer; list-style: none; }
.program-page summary::-webkit-details-marker { display: none; }
.program-disclosure > summary { padding: 16px 28px 16px 0; font-weight: 700; font-size: 15px; }
.program-toggle { position: absolute; right: 2px; top: 50%; width: 14px; height: 14px; color: var(--program-blue); transform: translateY(-50%); }
.program-toggle::before, .program-toggle::after { content: ''; position: absolute; top: 6px; left: 0; width: 14px; height: 2px; background: currentColor; transition: transform .2s; }
.program-toggle::after { transform: rotate(90deg); }
.program-page details[open] > summary .program-toggle::after { transform: rotate(0); }
.program-objectives-details { margin-top: 16px; border-top: 1px solid #c9dfeF; }
.program-objectives-details > summary { padding-bottom: 0; }
.program-objectives-details[open] > summary { padding-bottom: 16px; }
.program-objectives, .program-requirements, .program-standards { padding: 0; margin: 0; list-style: none; }
.program-objectives li { display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding: 12px 0; border-top: 1px solid #d0e2ee; }
.program-objectives li > span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #91b3cb; border-radius: 50%; color: var(--program-blue); font-size: 12px; font-weight: 700; }
.program-objectives p { font-size: 14px; margin: 0; }
.program-profile { margin-top: 28px; overflow: hidden; }
.program-profile > summary { display: flex; gap: 22px; align-items: center; position: relative; padding: 12px 48px 12px 12px; cursor: pointer; list-style: none; }
.program-profile > summary:focus-visible { outline-offset: -4px; }
.program-profile__photo { width: 105px; height: 74px; flex: 0 0 105px; object-fit: cover; object-position: 76% center; border-radius: 5px; }
.program-profile summary strong { display: block; font-size: 19px; font-weight: 700; line-height: 1.4; }
.program-profile__description { display: block; color: var(--program-copy); font-size: 14px; margin-top: 5px; line-height: 1.5; }
.program-profile .program-toggle { right: 23px; }
.program-profile__content { padding: 22px 30px; border-top: 1px solid var(--program-line); }
.program-profile__content ul { columns: 2; column-gap: 45px; }
.program-profile__content li { break-inside: avoid; }
.program-audience-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; }
.program-audience-card { padding: 22px 19px; transition: transform .25s, box-shadow .25s, border-color .25s; }
.program-audience-card:hover { transform: translateY(-4px); box-shadow: 0 9px 24px #0b2d480c; border-color: #b7cfdE; }
.program-card-icon { width: 36px; height: 36px; object-fit: contain; margin-bottom: 17px; filter: brightness(0) saturate(100%) invert(15%) sepia(34%) saturate(1054%) hue-rotate(163deg) brightness(93%) contrast(97%); }
.program-card-icon[src$="features/tools.png"] { filter: grayscale(1) sepia(.5) hue-rotate(155deg) saturate(2) brightness(.85); }
.program-audience-card h3 { font-size: 18px; margin-bottom: 10px; letter-spacing: -.02em; }
.program-audience-card p { font-size: 14px; line-height: 1.65; margin: 0; }
.program-admission { align-items: center; }
.program-requirements { display: grid; gap: 9px; margin-top: 24px; }
.program-requirements li { display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 15px; padding: 12px 16px; border: 1px solid var(--program-line); border-radius: 7px; box-shadow: var(--program-shadow); }
.program-requirements li > span { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--program-blue); border-radius: 50%; color: var(--program-blue); font-size: 13px; font-weight: 700; }
.program-requirements p { font-size: 15px; line-height: 1.5; margin: 0; color: var(--program-ink); }
.program-prior { padding: 36px; border-radius: var(--program-radius); background: linear-gradient(100deg,#073653f7,#073653d9),url('assets/auditor-industrial.png') center/cover; color: white; }
.program-prior__icon { background: #fff; border-radius: 6px; padding: 10px; box-sizing: content-box; object-fit: contain; margin-bottom: 25px; width: 34px; height: 34px; }
.program-prior h3 { font-size: 26px; color: white; }
.program-prior p { color: #d9e6ef; font-size: 16px; }
.program-standards li { font-size: 16px; padding: 8px 0 8px 18px; position: relative; }
.program-standards li::before { content: ''; width: 4px; height: 4px; background: #bcd3e4; border-radius: 50%; position: absolute; left: 1px; top: 19px; }
.program-admission-details { border-top: 1px solid #ffffff30; margin-top: 24px; }
.program-admission-details summary { color: white; font-size: 15px; padding-bottom: 0; }
.program-admission-details[open] summary { padding-bottom: 15px; }
.program-admission-details .program-toggle { color: white; }
.program-admission-details p { margin: 0; font-size: 14px; line-height: 1.7; }
.program-curriculum { display: grid; grid-template-columns: .8fr 1.25fr; align-items: start; gap: 64px; }
.program-curriculum > div:first-child { position: sticky; top: 100px; }
.program-page .program-small { font-size: 13px; }
.program-topic { border: 1px solid var(--program-line); background: white; box-shadow: var(--program-shadow); border-radius: 7px; margin-bottom: 10px; overflow: hidden; transition: border-color .2s; }
.program-topic:hover { border-color: #aac7da; }
.program-topic summary { display: grid; grid-template-columns: 27px 1fr; gap: 15px; padding: 17px 43px 17px 19px; font-size: 16px; font-weight: 700; line-height: 1.45; }
.program-topic summary:focus-visible { outline-offset: -4px; }
.program-topic[open] summary { background: #f7fbfe; border-bottom: 1px solid var(--program-line); }
.program-topic__number { font-size: 14px; color: var(--program-blue); }
.program-topic .program-toggle { right: 20px; }
.program-topic__body { padding: 18px 27px 24px 56px; }
.program-bullets { margin: 0; padding-left: 18px; font-size: 15px; line-height: 1.7; color: var(--program-copy); }
.program-bullets li { padding: 5px 0 5px 4px; }
.program-bullets li::marker { color: var(--program-blue); }
.program-method { color: white; background: linear-gradient(105deg,#073653fa,#075482ed),url('assets/auditor-industrial.png') center 45%/cover; }
.program-method .program-section { padding-block: 52px; }
.program-method__heading { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin-bottom: 30px; }
.program-method h2 { color: white; margin-bottom: 0; }
.program-method .eyebrow { color: #d5e5f0; }
.program-method p { color: #d7e6f0; font-size: 16px; }
.program-method .program-method__note { font-size: 13px; margin-bottom: 0; }
.program-step-controls { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; margin-bottom: 24px; }
.program-step-controls::before { content: ''; position: absolute; height: 1px; left: 12.5%; right: 12.5%; top: 25px; background: #7da2ba; }
.program-step-controls button { position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; background: none; color: #dbe9f3; font-size: 14px; font-weight: 600; line-height: 1.4; padding: 0 5px; }
.program-step-number { display: grid; place-items: center; width: 51px; height: 51px; border: 1px solid #abc9de; border-radius: 50%; background: #073d5b; font-size: 19px; transition: background .2s, transform .2s, box-shadow .2s; }
.program-step-controls button:hover .program-step-number { background: #12628c; transform: translateY(-2px); }
.program-step-controls button[aria-selected='true'] { color: white; }
.program-step-controls button[aria-selected='true'] .program-step-number { background: white; border-color: white; color: var(--program-blue); box-shadow: 0 0 0 4px #ffffff15; }
.program-method-stage { position: relative; background: white; color: var(--program-ink); border-radius: 9px; padding: 25px 30px; }
.program-method-panel { display: grid; grid-template-columns: 60px 1fr; align-items: center; gap: 22px; padding-right: 120px; min-height: 145px; }
.program-method-icon { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: #edf5fa; }
.program-method-icon img { width: 29px; height: 29px; object-fit: contain; }
.program-method-panel h3 { color: var(--program-ink); font-size: 24px; margin-bottom: 8px; }
.program-method-panel p { color: var(--program-copy); font-size: 15px; margin-bottom: 12px; }
.program-method-panel .program-step-caption { font-size: 10px; font-weight: 700; letter-spacing: .12em; color: var(--program-blue); margin-bottom: 8px; }
.program-method-panel .text-link { font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.program-step-navigation { position: absolute; right: 30px; top: 50%; transform: translateY(-50%); display: flex; gap: 10px; }
.program-step-navigation button { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--program-blue); color: white; transition: background .2s, transform .2s; }
.program-step-navigation button:hover:not(:disabled) { background: var(--program-ink); transform: translateY(-2px); }
.program-step-navigation button:disabled { background: #edf3f7; color: #7a91a1; cursor: default; }
.program-method :is(button,a):focus-visible { outline-color: #f6aa7b; }
.program-certificate { align-items: center; }
.program-certificate__delivery { padding: 30px; border-top: 3px solid var(--program-blue); }
.program-certificate__heading { display: flex; align-items: center; gap: 22px; padding-bottom: 22px; margin-bottom: 18px; border-bottom: 1px solid var(--program-line); }
.program-certificate__heading h3 { margin: 0 0 5px; }
.program-certificate__heading p { margin: 0; font-size: 14px; }
.program-certificate__icon { width: 60px; height: 60px; object-fit: contain; }
.program-certificate__delivery .program-checklist li { padding-inline: 0; }
.program-certificate__delivery .program-certificate__note { margin: 20px 0 0; font-size: 13px; }
.program-split--balanced { display: grid; grid-template-columns: .8fr 1.25fr; gap: 64px; }
.program-faqs details, .program-faqs details:first-child { background: white; border: 1px solid var(--program-line); border-radius: 7px; box-shadow: var(--program-shadow); margin-bottom: 10px; padding-inline: 20px; }
.program-faqs summary { font-size: 16px; padding: 17px 28px 17px 0; line-height: 1.5; }
.program-faqs summary::after { content: '+'; position: absolute; right: 0; top: 14px; font-size: 22px; line-height: 1.4; color: var(--program-blue); }
.program-faqs details[open] summary::after { content: '−'; }
.program-faqs details p { font-size: 15px; margin-bottom: 18px; padding: 0; }
.program-faqs .text-link { font-size: 14px; margin-bottom: 22px; }
.program-cta { padding-block: 27px; background: #073653; color: white; border-bottom: 1px solid #ffffff18; }
.program-cta > .container { display: flex; justify-content: space-between; align-items: center; gap: 25px; }
.program-cta h2 { color: white; font-size: 30px; margin: 0; }
.program-cta .actions { gap: 27px; }
.program-cta .text-link { color: white; font-size: 14px; }
.program-cta .text-link:hover { color: #c0dfef; }

/* Movimiento de entrada progresivo: nunca oculta contenido si JavaScript falla. */
.program-reveal.is-in-view { animation: program-rise .45s ease-out both; }
.program-audience-grid > :nth-child(2).is-in-view { animation-delay: .05s; }
.program-audience-grid > :nth-child(3).is-in-view { animation-delay: .10s; }
.program-audience-grid > :nth-child(4).is-in-view { animation-delay: .15s; }
.program-audience-grid > :nth-child(5).is-in-view { animation-delay: .20s; }
.program-facts .is-in-view .program-stat-icon img { animation: program-icon-in .45s ease-out both; }
.program-page [data-program-panel]:not([hidden]), .program-topic[open] .program-topic__body, .program-profile[open] .program-profile__content, .program-faqs details[open] p, .program-objectives-details[open] ol { animation: program-rise .25s ease-out both; }
@keyframes program-rise { from { opacity: .35; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes program-icon-in { from { opacity: .4; transform: scale(.86); } to { opacity: 1; transform: scale(1); } }
@media (max-width: 1100px) {
  .program-grid, .program-curriculum, .program-split--balanced, .program-method__heading { gap: 38px; }
  .program-audience-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .program-audience-card { padding: 23px; }
  .program-hero { gap: 32px; }
  .program-hero h1 { font-size: 47px; }
  .program-hero__media img { height: 420px; }
  .program-prior { padding: 28px; }
}
@media (max-width: 850px) {
  .program-section { padding-block: 48px; }
  .program-hero h1 { font-size: 40px; }
  .program-hero .program-hero__title { font-size: 18px; }
  .program-hero__media img { height: 420px; }
  .program-facts dt strong { font-size: 14px; }
  .program-facts dt > span:last-child { font-size: 11px; }
  .program-grid, .program-curriculum, .program-split--balanced { grid-template-columns: 1fr; gap: 28px; }
  .program-purpose__grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .program-purpose h2 { font-size: 30px; }
  .program-purpose__intro p { font-size: 15px; }
  .program-outcomes { padding: 22px; }
  .program-outcomes h3 { font-size: 22px; }
  .program-checklist li { font-size: 14px; padding: 11px; }
  .program-curriculum > div:first-child { position: static; }
  .program-method__heading { gap: 28px; }
  .program-method-stage { padding: 24px; }
  .program-method-panel { padding-right: 0; min-height: 175px; }
  .program-method-panel > div { padding-right: 0; }
  .program-step-navigation { position: static; transform: none; justify-content: flex-end; margin-top: 15px; }
}
@media (max-width: 620px) {
  .program-section { padding-block: 38px; }
  .program-page h2 { font-size: 31px; }
  .program-page p { font-size: 16px; }
  .program-page .eyebrow { font-size: 10px; margin-bottom: 15px; }
  .program-page .button { font-size: 14px; padding: 12px 17px; }
  .program-hero { grid-template-columns: 1fr; padding-block: 30px; gap: 24px; }
  .program-hero h1 { font-size: clamp(37px,10vw,48px); }
  .program-hero .program-hero__title { font-size: 18px; }
  .program-hero .program-hero__description { font-size: 16px; }
  .program-hero .text-link { font-size: 14px; }
  .program-hero__media img { height: 280px; }
  .program-hero__media figcaption { font-size: 11px; }
  .program-facts dl { grid-template-columns: 1fr 1fr; padding-block: 0; }
  .program-facts dl > div { padding: 72px 10px 20px; }
  .program-stat-icon { top: 18px; }
  .program-facts dl > div:nth-child(2) { border-right: 0; }
  .program-facts dl > div:nth-child(-n+2) { border-bottom: 1px solid var(--program-line); }
  .program-facts dd { font-size: 34px; }
  .program-purpose__grid, .program-method__heading { grid-template-columns: 1fr; }
  .program-outcomes { padding: 24px 20px; }
  .program-profile summary { gap: 14px; padding: 14px 35px 14px 12px; }
  .program-profile__photo { width: 66px; height: 76px; flex-basis: 66px; object-position: 82% center; }
  .program-profile summary strong { font-size: 16px; }
  .program-profile__description { font-size: 12px; }
  .program-profile .program-toggle { right: 12px; }
  .program-profile__content { padding: 20px; }
  .program-profile__content ul { columns: 1; }
  .program-audience-grid { grid-template-columns: 1fr; gap: 12px; }
  .program-audience-card { display: grid; grid-template-columns: 32px 1fr; gap: 0 15px; padding: 22px; }
  .program-card-icon { width: 32px; height: 32px; grid-row: span 2; margin: 0; }
  .program-audience-card h3 { font-size: 18px; }
  .program-audience-card p { font-size: 14px; }
  .program-requirements li { padding: 11px 13px; gap: 12px; }
  .program-requirements p { font-size: 14px; }
  .program-prior { padding: 28px 25px; }
  .program-prior h3 { font-size: 25px; }
  .program-prior p { font-size: 15px; }
  .program-standards li { font-size: 15px; }
  .program-admission-details p { font-size: 14px; }
  .program-topic summary { font-size: 14px; grid-template-columns: 22px 1fr; gap: 10px; padding: 16px 35px 16px 14px; }
  .program-topic .program-toggle { right: 14px; }
  .program-topic__body { padding: 15px 20px 20px 37px; }
  .program-method .program-section { padding-block: 38px; }
  .program-method__heading { gap: 20px; }
  .program-method h2 br { display: none; }
  .program-step-controls { gap: 4px; }
  .program-step-controls::before { top: 23px; }
  .program-step-controls button { font-size: 11px; padding: 0 2px; gap: 11px; }
  .program-step-number { width: 46px; height: 46px; font-size: 17px; }
  .program-method-stage { padding: 23px 20px; }
  .program-method-panel { grid-template-columns: 1fr; gap: 14px; align-items: start; min-height: 235px; }
  .program-method-icon { width: 46px; height: 46px; }
  .program-method-icon img { width: 24px; height: 24px; }
  .program-method-panel h3 { font-size: 22px; }
  .program-method-panel p { font-size: 14px; }
  .program-step-navigation { padding-right: 58px; }
  .program-certificate__delivery { padding: 24px; }
  .program-certificate__heading { gap: 15px; }
  .program-certificate__heading h3 { font-size: 22px; }
  .program-certificate__heading p { font-size: 13px; }
  .program-certificate__icon { width: 48px; height: 48px; }
  .program-faqs details { padding-inline: 16px; }
  .program-faqs summary { font-size: 15px; }
  .program-faqs details p { font-size: 14px; }
  .program-cta { padding-block: 27px; }
  .program-cta > .container { flex-direction: column; align-items: flex-start; gap: 20px; }
  .program-cta h2 { font-size: 28px; }
  .program-cta .actions { gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .program-page *, .program-page *::before, .program-page *::after,
  .icons-derecha, .icons-back { animation: none !important; transition: none !important; }
}
