.ce-landing .iso-landing__heading p { max-width:600px; }
.ce-landing__intro { padding-top:136px; }
.ce-landing__intro .iso-landing__heading { margin-bottom:40px; }
.ce-landing__intro::before { content:""; position:absolute; left:-270px; top:157px; width:900px; height:860px; background:linear-gradient(193deg,rgba(51,146,254,0) 15%,rgba(1,94,251,.8) 52%,rgba(186,57,255,.1) 90%); filter:blur(100px); pointer-events:none; }
.ce-landing__intro-panel { position:relative; background:#fcfdff; box-shadow:var(--shadow-control); }
.ce-landing__intro-copy { padding-top:40px; padding-bottom:36px; }
.ce-landing__intro-copy .ce-landing__intro-text p { margin:24px 0 0; font-size:16px; line-height:24px; }
.ce-landing__intro-copy > .iso-landing__button-wrap { margin-top:28px; }
.ce-landing__models { padding-top:140px; }
.ce-landing__models .iso-landing__heading, .ce-landing__requirements .iso-landing__heading { margin-bottom:80px; }
.ce-landing__viewport { overflow-x:auto; padding-block:20px; margin-block:-20px; scrollbar-width:none; scroll-snap-type:x mandatory; }
.ce-landing__viewport::-webkit-scrollbar { display:none; }
.ce-landing__track { display:flex; gap:16px; align-items:stretch; }
.ce-landing__track > article { flex-shrink:0; min-width:0; scroll-snap-align:start; scroll-snap-stop:always; }
.ce-landing__model { position:relative; isolation:isolate; display:flex; flex-direction:column; width:calc((100% - 48px)/4); min-height:300px; padding:67px 32px 32px; border-radius:20px; background:linear-gradient(90deg,#015efb,#679dff); box-shadow:var(--shadow-control); overflow:hidden; }
.ce-landing__model::before { content:""; position:absolute; z-index:-1; inset:51px 0 0; background:url('../images/ce-landing/model-face.svg') center top / 100% 100% no-repeat; }
.ce-landing__model::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 2px 6px rgba(255,255,255,.4); pointer-events:none; }
.ce-landing__model h3 { font-size:18px; line-height:26px; font-weight:500; color:#015efb; }
.ce-landing__model p { margin-top:auto; padding-top:48px; font-size:16px; line-height:24px; color:#000; }
.ce-landing__actions { position:relative; display:flex; justify-content:center; align-items:center; margin-top:60px; min-height:48px; }
.ce-landing__actions > .iso-landing__button-wrap { transform:translateX(-20px); }
.ce-landing__arrows { position:absolute; right:24px; display:flex; gap:8px; }
.ce-landing__arrows button { position:relative; width:48px; height:48px; padding:0; border:0; border-radius:50%; background:transparent; cursor:pointer; }
.ce-landing__arrows button::before { content:""; position:absolute; left:-14px; top:-8px; width:76px; height:76px; background:url('../images/ce-landing/arrow-normal.svg') center / 76px 76px no-repeat; pointer-events:none; }
.ce-landing__arrows button[data-ce-next]::before { transform:scaleX(-1); }
@media(hover:hover) { .ce-landing__arrows button:not(:disabled):hover::before { background-image:url('../images/ce-landing/arrow-hover.svg'); transform:scaleX(-1); } .ce-landing__arrows button[data-ce-next]:not(:disabled):hover::before { transform:none; } }
.ce-landing__arrows button:disabled { opacity:.4; cursor:default; }
.ce-landing__requirements { padding-top:64px; }
.ce-landing__requirement { position:relative; width:calc((100% - 32px)/3); min-height:390px; padding:86px 32px 32px; background:#fcfdff; border-radius:20px; box-shadow:var(--shadow-control); overflow:hidden; }
.ce-landing__requirement h3 { position:absolute; top:0; left:50%; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; width:calc(100% - 100px); min-height:46px; color:#fff; font-size:18px; line-height:26px; font-weight:600; text-align:center; }
.ce-landing__requirement h3::before { content:""; position:absolute; z-index:-1; inset:-8px -16px -24px; background:url('../images/ce-landing/requirement-ribbon.svg') center / 100% 100% no-repeat; }
.ce-landing__requirement > p { min-height:48px; margin:0 0 20px; font-size:16px; line-height:24px; color:#000; }
.ce-landing__requirement ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.ce-landing__requirement li { display:flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid #fff; border-radius:8px; background:linear-gradient(90deg,rgba(1,94,251,.08),rgba(1,94,251,0)); font-size:14px; line-height:22px; }
.ce-landing__requirement li img { flex-shrink:0; width:24px; height:24px; }
.ce-landing .iso-landing__showcase { padding-top:160px; }
.ce-certificates { max-width:1080px; margin:80px auto 0; }
.ce-certificates__viewport { padding:56px 32px 36px; margin:0; scroll-snap-type:x proximity; }
.ce-certificates__track { gap:0; width:max-content; min-width:100%; justify-content:center; padding-right:51px; }
.ce-certificates__slot { position:relative; width:164px; }
.ce-certificates__card { position:relative; display:block; width:215px; padding:10px; border-radius:12px; background:#fff; box-shadow:var(--shadow-control); transform:rotate(-6deg); transition:transform .2s; }
.ce-certificates__card img { display:block; width:195px; height:275px; object-fit:contain; border-radius:8px; }
.ce-certificates__card:focus-visible { z-index:2; }
.ce-certificates__controls { position:static; justify-content:center; margin:16px 0; }
.ce-certificates__dialog { width:min(920px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:20px; border:0; border-radius:16px; background:#f2f5fc; color:#1a233c; overflow:auto; }
.ce-certificates__dialog::backdrop { background:rgba(15,23,42,.75); }
.ce-certificates__dialog-content { display:flex; flex-direction:column; align-items:center; gap:12px; }
.ce-certificates__close { align-self:flex-end; min-height:44px; padding:8px 20px; border:0; border-radius:8px; background:#fff; color:#1a233c; font:inherit; cursor:pointer; }
.ce-certificates__dialog [data-certificate-full] { display:block; width:100%; height:calc(100dvh - 230px); min-height:160px; object-fit:contain; }
.ce-certificates__dialog [data-certificate-caption] { margin:0; text-align:center; overflow-wrap:anywhere; }
.ce-certificates__dialog [data-certificate-error] { color:#b42318; }
.ce-certificates__dialog .ce-certificates__controls { margin:0; }
.ce-certificates__controls [data-certificate-next]::before { transform:scaleX(-1); }
@media(hover:hover) { .ce-certificates__slot:hover { z-index:2; } .ce-certificates__slot:hover .ce-certificates__card { transform:translateY(-12px) rotate(-6deg); } .ce-certificates__controls [data-certificate-next]:not(:disabled):hover::before { transform:none; } }
@media(max-width:720px) { .ce-certificates { margin:48px 20px 0; } .ce-certificates__viewport { padding-inline:16px; } .ce-certificates__controls { align-self:auto; } .ce-certificates__dialog { padding:12px; } }
@media(prefers-reduced-motion:reduce) { .ce-certificates__card { transition:none; } }
@media(max-width:1100px) { .ce-landing__model { width:calc((100% - 16px)/2); } .ce-landing__requirement { width:calc((100% - 16px)/2); } .ce-landing__arrows { right:0; } .ce-landing__requirement h3 { width:calc(100% - 64px); } }
@media(max-width:720px) { .ce-landing__intro { padding-top:72px; } .ce-landing__intro-copy { padding:28px 12px 12px; } .ce-landing__models .iso-landing__heading, .ce-landing__requirements .iso-landing__heading { margin-bottom:40px; } .ce-landing__model,.ce-landing__requirement { width:100%; } .ce-landing__actions { flex-direction:column; gap:24px; margin-top:40px; } .ce-landing__arrows { position:static; align-self:flex-end; } .ce-landing__requirement { padding:80px 24px 24px; } .ce-landing .iso-landing__showcase { padding-top:72px; } }
@media(prefers-reduced-motion:reduce) { .ce-landing__viewport { scroll-behavior:auto; } }
@media(max-width:720px) { .ce-landing__actions > .iso-landing__button-wrap { transform:none; } }

.ce-landing__scope { padding-top:140px; }
.ce-landing__scope .iso-landing__heading { margin-bottom:72px; }
.ce-landing__scope .iso-landing__heading p { text-wrap:pretty; }
.ce-landing__scope-table-wrap { max-width:880px; margin:auto; overflow:hidden; border-radius:16px 16px 20px 20px; background:#fcfdff; box-shadow:var(--shadow-control); }
.ce-landing__scope-table { width:100%; border-collapse:collapse; table-layout:fixed; text-align:left; font-size:16px; line-height:24px; }
.ce-landing__scope-number-col { width:96px; }
.ce-landing__scope-category-col { width:280px; }
.ce-landing__scope-table thead { color:#fff; background:linear-gradient(180deg,#015efb,#679dff); box-shadow:inset 0 2px 6px rgba(255,255,255,.4),0 2px 6px rgba(1,94,251,.2); }
.ce-landing__scope-table thead th { padding:17px 20px 17px 40px; font-size:18px; line-height:26px; font-weight:600; }
.ce-landing__scope-table tbody th, .ce-landing__scope-table tbody td { padding:20px 20px 20px 40px; border-bottom:1px solid #f2f3f5; vertical-align:top; overflow-wrap:anywhere; text-wrap:pretty; font-weight:400; }
.ce-landing__scope-table tbody tr:last-child > * { border-bottom:0; }
.ce-landing__scope-toggle { display:block; width:100%; margin:0; min-height:46px; padding:12px 20px; border:0; border-radius:0 0 20px 20px; background:rgba(1,94,251,.1); color:#015efb; font:inherit; font-size:14px; line-height:22px; cursor:pointer; }
.ce-landing__scope-toggle:focus-visible { outline-offset:-4px; }
@media(hover:hover) { .ce-landing__scope-toggle:hover { background:rgba(1,94,251,.15); } .ce-landing__scope-table tbody tr:hover { background:linear-gradient(90deg,rgba(1,94,251,.08),rgba(1,94,251,0)); } }
@media(max-width:720px) {
 .ce-landing__scope { padding-top:72px; }
 .ce-landing__scope .iso-landing__heading { margin-bottom:32px; }
 .ce-landing__scope-table { display:block; }
 .ce-landing__scope-table colgroup { display:none; }
 .ce-landing__scope-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .ce-landing__scope-table tbody { display:block; }
 .ce-landing__scope-table tbody tr { display:grid; grid-template-columns:32px minmax(0,1fr); column-gap:12px; padding:20px; border-bottom:1px solid #e8edf6; }
 .ce-landing__scope-table tbody tr:last-child { border-bottom:0; }
 .ce-landing__scope-table tbody th, .ce-landing__scope-table tbody td { padding:0; border:0; }
 .ce-landing__scope-table tbody th { align-self:center; font-weight:600; }
 .ce-landing__scope-number span { display:block; width:28px; height:28px; border-radius:8px; background:#e6efff; color:#015efb; font-size:14px; line-height:28px; text-align:center; }
 .ce-landing__scope-table .ce-landing__scope-description { grid-column:2; margin-top:8px; font-size:14px; line-height:22px; color:#2f3649; }
}
