/* CodeLinSoft Nova 4.8.5 — Orme rich project page */
.cls-orme-page{--orme-navy:#06334f;--orme-navy2:#07577a;--orme-cyan:#12bde9;--orme-blue:#0787f9;--orme-text:#17384d;--orme-muted:#617c8c;--orme-line:#d9e8f0;--orme-bg:#f4f9fc;font-family:var(--cls-font,"Cantarell",sans-serif);color:var(--orme-text);background:linear-gradient(180deg,#f8fbfd,#f2f8fb 58%,#fff)}
.cls-orme-hero{position:relative;overflow:hidden;background:radial-gradient(900px 460px at 88% 8%,rgba(18,189,233,.2),transparent 62%),radial-gradient(700px 380px at 8% 100%,rgba(7,135,249,.14),transparent 60%),linear-gradient(135deg,#052f49,#075b7d 58%,#0886a5);color:#fff}
.cls-orme-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent)}
.cls-orme-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.65fr);gap:54px;align-items:center;min-height:520px;padding-top:64px;padding-bottom:64px}
.cls-orme-hero h1{margin:8px 0 14px;color:#fff;font-size:clamp(56px,8vw,92px);line-height:.92;letter-spacing:-.055em}.cls-orme-hero__lead{max-width:820px;margin:0;color:#d8edf5;font-size:clamp(18px,2.2vw,24px);line-height:1.55}
.cls-orme-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.cls-orme-hero .cls-button--ghost{border:1px solid rgba(255,255,255,.28)!important;background:rgba(255,255,255,.07)!important;color:#fff!important;box-shadow:none!important}.cls-orme-hero .cls-button--ghost:hover{background:rgba(255,255,255,.14)!important}
.cls-orme-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.cls-orme-badges span{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.075);color:#dff4fb;font-size:13px}.cls-orme-badges strong{color:#fff}
.cls-orme-hero__panel{padding:28px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(3,33,51,.36);box-shadow:0 24px 60px rgba(0,20,32,.18);backdrop-filter:blur(10px)}.cls-orme-hero__mark{display:grid;place-items:center;width:72px;height:72px;margin-bottom:18px;border-radius:20px;background:linear-gradient(135deg,#fff,#d8f5ff);font-size:38px;box-shadow:0 12px 28px rgba(0,0,0,.12)}.cls-orme-hero__panel>strong{display:block;color:#fff;font-size:23px;line-height:1.25}.cls-orme-hero__panel>p{margin:10px 0 18px;color:#d5eaf3;line-height:1.65}.cls-orme-hero__mini{display:flex;gap:9px;align-items:center;padding:9px 0;border-top:1px solid rgba(255,255,255,.09);color:#e7f7fb;font-weight:700;font-size:13px}
.cls-orme-localnav{position:sticky;top:0;z-index:20;border-bottom:1px solid #d8e7ef;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(4,48,72,.04)}body.admin-bar .cls-orme-localnav{top:32px}.cls-orme-localnav .cls-shell{display:flex;gap:6px;overflow-x:auto;padding-top:9px;padding-bottom:9px;scrollbar-width:none}.cls-orme-localnav .cls-shell::-webkit-scrollbar{display:none}.cls-orme-localnav a{flex:0 0 auto;padding:7px 11px;border-radius:9px;color:#315b72;font-size:13px;font-weight:800;text-decoration:none}.cls-orme-localnav a:hover{background:#edf8fd;color:#087eb1}
.cls-orme-main{padding:34px 0 70px}.cls-orme-overview{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:28px;align-items:stretch}.cls-orme-overview__copy{padding:clamp(26px,4vw,44px);border:1px solid var(--orme-line);border-radius:22px;background:#fff;box-shadow:0 16px 42px rgba(5,56,82,.06)}.cls-orme-overview__copy h2,.cls-orme-section h2,.cls-orme-cta h2{margin:7px 0 13px;color:var(--orme-navy);font-size:clamp(30px,4vw,44px);line-height:1.08;letter-spacing:-.035em}.cls-orme-overview__copy p{color:var(--orme-muted);font-size:16px;line-height:1.75}
.cls-orme-overview__stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cls-orme-overview__stats article{display:flex;flex-direction:column;justify-content:center;min-height:150px;padding:22px;border:1px solid var(--orme-line);border-radius:18px;background:linear-gradient(145deg,#fff,#f5fbfe);box-shadow:0 12px 30px rgba(5,56,82,.045)}.cls-orme-overview__stats strong{color:#0782bd;font-size:34px;letter-spacing:-.04em}.cls-orme-overview__stats span{margin-top:3px;color:#607b8c;font-weight:700;font-size:13px;line-height:1.4}
.cls-orme-section{margin-top:28px;padding:clamp(24px,3.5vw,42px);border:1px solid var(--orme-line);border-radius:22px;background:#fff;box-shadow:0 16px 42px rgba(5,56,82,.055)}.cls-orme-section__head{max-width:920px;margin-bottom:26px}.cls-orme-section__head p{margin:0;color:var(--orme-muted);font-size:16px;line-height:1.7}
.cls-orme-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cls-orme-feature{padding:22px;border:1px solid #dceaf1;border-radius:16px;background:linear-gradient(145deg,#fff,#f8fcfe)}.cls-orme-feature>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:14px;border-radius:14px;background:linear-gradient(135deg,#eaf8ff,#dff6fb);font-size:25px}.cls-orme-feature h3{margin:0 0 7px;color:#0b415f;font-size:19px}.cls-orme-feature p{margin:0;color:#617b8c;font-size:14px;line-height:1.62}
.cls-orme-principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}.cls-orme-principles article{padding:22px;border-radius:18px;background:linear-gradient(145deg,#063b59,#087394);color:#fff;box-shadow:0 14px 32px rgba(4,57,82,.12)}.cls-orme-principles span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.12);color:#83e8ff;font-weight:900;font-size:12px}.cls-orme-principles h3{margin:13px 0 7px;color:#fff;font-size:19px}.cls-orme-principles p{margin:0;color:#d6edf6;font-size:13px;line-height:1.6}
.cls-orme-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.cls-orme-game{display:grid;grid-template-columns:58px minmax(0,1fr);gap:15px;padding:18px;border:1px solid #dce9f0;border-radius:16px;background:linear-gradient(145deg,#fff,#f8fcfe);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.cls-orme-game:hover{transform:translateY(-2px);border-color:#b6ddec;box-shadow:0 13px 28px rgba(6,45,70,.075)}.cls-orme-game__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,#edf9ff,#dff4fb);font-size:28px}.cls-orme-game__topline{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cls-orme-game__topline small{display:block;margin-bottom:2px;color:#7a94a3;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.cls-orme-game h3{margin:0;color:#0a3b58;font-size:19px;line-height:1.2}.cls-orme-game__topline>span{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#e7f7fe;color:#087ca9;font-size:10px;font-weight:850}.cls-orme-game__concept{display:block;margin-top:7px;color:#0784c0;font-size:12px}.cls-orme-game p{margin:6px 0 0;color:#607b8c;font-size:13px;line-height:1.58}
.cls-orme-path{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.72fr);gap:30px;align-items:center;background:radial-gradient(600px 300px at 100% 0,rgba(18,189,233,.12),transparent 70%),#fff}.cls-orme-path__copy>p{color:var(--orme-muted);line-height:1.75}.cls-orme-path__errors{margin-top:20px;padding:18px;border-left:5px solid var(--orme-cyan);border-radius:0 14px 14px 0;background:#f2faff}.cls-orme-path__errors strong{color:#0c4563}.cls-orme-path__errors ul{margin:10px 0 0 20px;color:#577486;line-height:1.7}.cls-orme-level-card{padding:28px;border-radius:20px;background:linear-gradient(145deg,#063650,#08799a);color:#fff;box-shadow:0 20px 45px rgba(3,55,83,.15)}.cls-orme-level-card__number{display:block;color:#64dcff;font-size:72px;line-height:.9;letter-spacing:-.05em}.cls-orme-level-card h3{margin:8px 0 10px;color:#fff;font-size:25px}.cls-orme-level-card p{margin:0;color:#d4eaf3;line-height:1.65}.cls-orme-level-card__flow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.cls-orme-level-card__flow span{padding:9px 10px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.07);font-size:12px;font-weight:800}
.cls-orme-mechanics__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.cls-orme-mechanics__grid article{padding:20px;border:1px solid #dce9f0;border-radius:15px;background:#fbfdfe}.cls-orme-mechanics__grid span{font-size:27px}.cls-orme-mechanics__grid h3{margin:10px 0 6px;color:#0b405e;font-size:18px}.cls-orme-mechanics__grid p{margin:0;color:#617b8b;font-size:13px;line-height:1.6}
.cls-orme-architecture{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.cls-orme-architecture article{padding:20px;border:1px solid #dce9f0;border-radius:15px;background:linear-gradient(145deg,#fff,#f8fcfe)}.cls-orme-architecture code{display:inline-block;margin-bottom:11px;padding:4px 7px;border-radius:7px;background:#eaf7fd;color:#07608a;font-size:11px;font-weight:800}.cls-orme-architecture h3{margin:0 0 6px;color:#0b405e;font-size:18px}.cls-orme-architecture p{margin:0;color:#617b8b;font-size:13px;line-height:1.6}
.cls-orme-build{background:linear-gradient(145deg,#f4fbff,#fff)}.cls-orme-build__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:24px;align-items:center}.cls-orme-requirements{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cls-orme-requirements div{padding:14px;border:1px solid #dbe9f0;border-radius:12px;background:#fff}.cls-orme-requirements strong,.cls-orme-requirements span{display:block}.cls-orme-requirements strong{color:#0b4160}.cls-orme-requirements span{margin-top:3px;color:#6c8391;font-size:11px;line-height:1.45}.cls-orme-code-card{overflow:hidden;border:1px solid #173e56;border-radius:17px;background:#08283f;box-shadow:0 16px 36px rgba(4,36,55,.16)}.cls-orme-code-card__bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.09);background:#062237}.cls-orme-code-card__bar span{width:10px;height:10px;border-radius:50%;background:#4bbddd}.cls-orme-code-card__bar span:nth-child(2){opacity:.7}.cls-orme-code-card__bar span:nth-child(3){opacity:.45}.cls-orme-code-card__bar strong{margin-left:7px;color:#a9c9d8;font-size:12px}.cls-orme-code-card pre{margin:0;padding:22px;overflow:auto;background:transparent;color:#dff5ff;font:600 13px/1.8 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cls-orme-platforms{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.cls-orme-platforms span{padding:7px 10px;border:1px solid #d9e8ef;border-radius:999px;background:#fff;color:#416477;font-size:11px;font-weight:800}
.cls-orme-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}.cls-orme-steps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;padding:16px;border:1px solid #dce9f0;border-radius:14px;background:#fbfdfe}.cls-orme-steps li>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#087ee2,#10aaf0);color:#fff;font-weight:900}.cls-orme-steps strong{display:block;color:#0b405e;font-size:16px}.cls-orme-steps p{margin:4px 0 0;color:#617b8b;font-size:13px;line-height:1.55}.cls-orme-steps code{padding:1px 5px;border-radius:5px;background:#edf7fb;color:#07608a}
.cls-orme-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:28px;padding:clamp(26px,4vw,42px);border:1px solid #cfe5ef;border-radius:22px;background:radial-gradient(500px 240px at 100% 0,rgba(18,189,233,.12),transparent 70%),linear-gradient(145deg,#edf9ff,#fff)}.cls-orme-cta p{max-width:820px;margin:0;color:#587586;line-height:1.7}.cls-orme-cta .cls-button{flex:0 0 auto}.cls-orme-editor-content .cls-content{color:#587586}
@media(max-width:1100px){.cls-orme-hero__inner{grid-template-columns:1fr;gap:26px;min-height:0}.cls-orme-hero__panel{max-width:760px}.cls-orme-overview{grid-template-columns:1fr}.cls-orme-principles{grid-template-columns:1fr 1fr}.cls-orme-games{grid-template-columns:1fr}.cls-orme-path{grid-template-columns:1fr}.cls-orme-feature-grid,.cls-orme-mechanics__grid,.cls-orme-architecture{grid-template-columns:repeat(2,minmax(0,1fr))}.cls-orme-build__grid{grid-template-columns:1fr}}
@media(max-width:782px){body.admin-bar .cls-orme-localnav{top:46px}}
@media(max-width:767px){.cls-orme-hero__inner{padding-top:38px;padding-bottom:38px}.cls-orme-hero h1{font-size:56px}.cls-orme-hero__lead{font-size:16px}.cls-orme-hero__panel{padding:20px}.cls-orme-hero__actions{display:grid;grid-template-columns:1fr}.cls-orme-hero__actions .cls-button{width:100%}.cls-orme-badges span{font-size:11px}.cls-orme-main{padding-top:22px}.cls-orme-overview__stats{grid-template-columns:1fr 1fr}.cls-orme-overview__stats article{min-height:120px;padding:17px}.cls-orme-overview__stats strong{font-size:28px}.cls-orme-section{margin-top:18px;padding:22px 16px;border-radius:17px}.cls-orme-section h2,.cls-orme-overview__copy h2,.cls-orme-cta h2{font-size:31px}.cls-orme-feature-grid,.cls-orme-mechanics__grid,.cls-orme-architecture,.cls-orme-principles{grid-template-columns:1fr}.cls-orme-game{grid-template-columns:48px minmax(0,1fr);padding:15px 12px}.cls-orme-game__icon{width:44px;height:44px;font-size:23px}.cls-orme-game__topline{display:block}.cls-orme-game__topline>span{display:inline-block;margin-top:6px}.cls-orme-level-card{padding:22px}.cls-orme-level-card__number{font-size:58px}.cls-orme-requirements{grid-template-columns:1fr}.cls-orme-code-card pre{padding:16px;font-size:11px}.cls-orme-cta{display:block;padding:24px 18px}.cls-orme-cta .cls-button{width:100%;margin-top:18px}}
@media(max-width:430px){.cls-orme-overview__stats{grid-template-columns:1fr}.cls-orme-level-card__flow{grid-template-columns:1fr}.cls-orme-badges span{width:calc(50% - 5px);justify-content:center;text-align:center}}

/* ========================================================================
 * Nova 4.8.9 — Gutenberg-native Orme page
 * Every visible card/section now exists in post_content as an editable block.
 * ======================================================================== */
.cls-orme-page .wp-block-group,
.cls-orme-page .wp-block-buttons,
.cls-orme-page .wp-block-button,
.cls-orme-page .wp-block-code{margin-block-start:0;margin-block-end:0}
.cls-orme-page .wp-block-group__inner-container{width:100%}
.cls-orme-page .cls-orme-hero__copy,.cls-orme-page .cls-orme-hero__panel{min-width:0}
.cls-orme-page .cls-orme-hero__panel h3{margin:0 0 10px;color:#fff;font-size:23px;line-height:1.25}
.cls-orme-page .cls-orme-hero__actions .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:10px;background:linear-gradient(135deg,#0b84f3,#13acee);color:#fff!important;font-weight:800;text-decoration:none;box-shadow:0 10px 24px rgba(2,96,158,.18)}
.cls-orme-page .cls-orme-hero__actions .cls-button--ghost .wp-block-button__link{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.07);box-shadow:none}
.cls-orme-page .cls-orme-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.cls-orme-page .cls-orme-badges>p{display:inline-flex;align-items:center;gap:5px;margin:0;padding:7px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.075);color:#dff4fb;font-size:13px}
.cls-orme-page .cls-orme-badges strong{color:#fff}
.cls-orme-page .cls-orme-localnav>.wp-block-group__inner-container{max-width:none}
.cls-orme-page .cls-orme-localnav .wp-block-buttons{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding-top:9px;padding-bottom:9px;scrollbar-width:none}
.cls-orme-page .cls-orme-localnav .wp-block-button{flex:0 0 auto}
.cls-orme-page .cls-orme-localnav .wp-block-button__link{padding:7px 11px;border-radius:9px;background:transparent;color:#315b72!important;font-size:13px;font-weight:800;text-decoration:none}
.cls-orme-page .cls-orme-localnav .wp-block-button__link:hover{background:#edf8fd;color:#087eb1!important}
.cls-orme-page .cls-orme-stat{display:flex;flex-direction:column;justify-content:center;min-height:150px;padding:22px;border:1px solid var(--orme-line);border-radius:18px;background:linear-gradient(145deg,#fff,#f5fbfe);box-shadow:0 12px 30px rgba(5,56,82,.045)}
.cls-orme-page .cls-orme-stat h3{margin:0;color:#0782bd;font-size:34px;letter-spacing:-.04em}.cls-orme-page .cls-orme-stat p{margin:3px 0 0;color:#607b8c;font-weight:700;font-size:13px;line-height:1.4}
.cls-orme-page .cls-orme-principle{padding:22px;border-radius:18px;background:linear-gradient(145deg,#063b59,#087394);color:#fff;box-shadow:0 14px 32px rgba(4,57,82,.12)}
.cls-orme-page .cls-orme-principle__icon{display:inline-grid;place-items:center;width:34px;height:34px;margin:0;border-radius:9px;background:rgba(255,255,255,.12);color:#83e8ff;font-weight:900;font-size:12px}.cls-orme-page .cls-orme-principle h3{margin:13px 0 7px;color:#fff;font-size:19px}.cls-orme-page .cls-orme-principle p:not(.cls-orme-principle__icon){margin:0;color:#d6edf6;font-size:13px;line-height:1.6}
.cls-orme-page .cls-orme-game{display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:15px;row-gap:3px;padding:18px;border:1px solid #dce9f0;border-radius:16px;background:linear-gradient(145deg,#fff,#f8fcfe);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.cls-orme-page .cls-orme-game>*:not(.cls-orme-game__icon){grid-column:2}.cls-orme-page .cls-orme-game__icon{grid-column:1;grid-row:1/6;display:grid;place-items:center;width:52px;height:52px;margin:0;border-radius:15px;background:linear-gradient(135deg,#edf9ff,#dff4fb);font-size:28px}.cls-orme-page .cls-orme-game__kicker{margin:0;color:#7a94a3;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.cls-orme-page .cls-orme-game h3{margin:0;color:#0a3b58;font-size:19px;line-height:1.2}.cls-orme-page .cls-orme-game__concept{margin:4px 0 0;color:#0784c0;font-size:12px;font-weight:750}.cls-orme-page .cls-orme-game p:last-child{margin:4px 0 0;color:#607b8c;font-size:13px;line-height:1.58}
.cls-orme-page .cls-orme-mechanic{padding:20px;border:1px solid #dce9f0;border-radius:15px;background:#fbfdfe}.cls-orme-page .cls-orme-mechanic__icon{margin:0;font-size:27px}.cls-orme-page .cls-orme-mechanic h3{margin:10px 0 6px;color:#0b405e;font-size:18px}.cls-orme-page .cls-orme-mechanic p:last-child{margin:0;color:#617b8b;font-size:13px;line-height:1.6}
.cls-orme-page .cls-orme-architecture__item{padding:20px;border:1px solid #dce9f0;border-radius:15px;background:linear-gradient(145deg,#fff,#f8fcfe)}.cls-orme-page .cls-orme-architecture__code{margin:0 0 11px}.cls-orme-page .cls-orme-architecture__code code{display:inline-block;padding:4px 7px;border-radius:7px;background:#eaf7fd;color:#07608a;font-size:11px;font-weight:800}.cls-orme-page .cls-orme-architecture__item h3{margin:0 0 6px;color:#0b405e;font-size:18px}.cls-orme-page .cls-orme-architecture__item p:last-child{margin:0;color:#617b8b;font-size:13px;line-height:1.6}
.cls-orme-page .cls-orme-requirement{padding:14px;border:1px solid #dbe9f0;border-radius:12px;background:#fff}.cls-orme-page .cls-orme-requirement h3{margin:0;color:#0b4160;font-size:16px}.cls-orme-page .cls-orme-requirement p{margin:3px 0 0;color:#6c8391;font-size:11px;line-height:1.45}
.cls-orme-page pre.cls-orme-code-card{margin-top:18px;padding:22px;overflow:auto;border:1px solid #173e56;border-radius:17px;background:#08283f;color:#dff5ff;font:600 13px/1.8 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;box-shadow:0 16px 36px rgba(4,36,55,.16)}
.cls-orme-page .cls-orme-platforms{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.cls-orme-page .cls-orme-platforms>p{margin:0;padding:7px 10px;border:1px solid #d9e8ef;border-radius:999px;background:#fff;color:#416477;font-size:11px;font-weight:800}
.cls-orme-page .cls-orme-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;padding:16px;border:1px solid #dce9f0;border-radius:14px;background:#fbfdfe}.cls-orme-page .cls-orme-step>*:not(.cls-orme-step__number){grid-column:2}.cls-orme-page .cls-orme-step__number{grid-column:1;grid-row:1/4;display:grid;place-items:center;width:38px;height:38px;margin:0;border-radius:11px;background:linear-gradient(135deg,#087ee2,#10aaf0);color:#fff;font-weight:900}.cls-orme-page .cls-orme-step h3{margin:0;color:#0b405e;font-size:16px}.cls-orme-page .cls-orme-step p:last-child{margin:4px 0 0;color:#617b8b;font-size:13px;line-height:1.55}
.cls-orme-page .cls-orme-cta__actions{flex:0 0 auto}.cls-orme-page .cls-orme-cta__actions .wp-block-button__link{padding:11px 18px;border-radius:10px;background:linear-gradient(135deg,#087ee2,#10aaf0);color:#fff!important;font-weight:800;text-decoration:none}
@media(max-width:767px){.cls-orme-page .cls-orme-game{grid-template-columns:48px minmax(0,1fr);padding:15px 12px}.cls-orme-page .cls-orme-game__icon{width:44px;height:44px;font-size:23px}.cls-orme-page .cls-orme-hero__actions{display:grid;grid-template-columns:1fr}.cls-orme-page .cls-orme-hero__actions .wp-block-button,.cls-orme-page .cls-orme-hero__actions .wp-block-button__link{width:100%}.cls-orme-page .cls-orme-badges>p{font-size:11px}.cls-orme-page .cls-orme-cta__actions,.cls-orme-page .cls-orme-cta__actions .wp-block-button,.cls-orme-page .cls-orme-cta__actions .wp-block-button__link{width:100%}}
@media(max-width:430px){.cls-orme-page .cls-orme-badges>p{width:calc(50% - 5px);justify-content:center;text-align:center}}

/* Gutenberg editor canvas: make full-width Orme blocks useful while editing. */
.editor-styles-wrapper .cls-orme-page{--orme-navy:#06334f;--orme-navy2:#07577a;--orme-cyan:#12bde9;--orme-blue:#0787f9;--orme-text:#17384d;--orme-muted:#617c8c;--orme-line:#d9e8f0;--orme-bg:#f4f9fc;font-family:var(--cls-font,"Cantarell",sans-serif)}
.editor-styles-wrapper .cls-orme-page.alignfull{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}

/* ========================================================================
 * Nova 4.9.0 — Gutenberg block-layout repair
 * WordPress/theme compatibility may insert .wp-block-group__inner-container
 * around Group content. The 4.8.9 composition expected direct children, so
 * grids/flex rows collapsed into one long column. These rules support BOTH
 * DOM shapes and neutralize Gutenberg constrained-layout max-width rules.
 * ======================================================================== */

/* Orme owns its composition widths. Gutenberg must not auto-center/restrict
   every nested child inside these project blocks. */
.cls-orme-page :where(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: none;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* If an inner-container compatibility wrapper exists, flatten it for the
   composition groups whose direct children are grid/flex items. */
.cls-orme-page :where(
    .cls-orme-hero__inner,
    .cls-orme-overview,
    .cls-orme-overview__stats,
    .cls-orme-feature-grid,
    .cls-orme-principles,
    .cls-orme-games,
    .cls-orme-path,
    .cls-orme-mechanics__grid,
    .cls-orme-architecture,
    .cls-orme-requirements,
    .cls-orme-steps,
    .cls-orme-cta,
    .cls-orme-badges,
    .cls-orme-platforms
) > .wp-block-group__inner-container {
    display: contents;
}

/* Full-width wrappers and shell must never collapse to the Gutenberg
   content-size when Orme is rendered through a page builder/theme bridge. */
.cls-orme-page,
.cls-orme-page > .wp-block-group__inner-container,
.cls-orme-page .cls-main,
.cls-orme-page .cls-main > .wp-block-group__inner-container,
.cls-orme-page .cls-shell,
.cls-orme-page .cls-shell > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
}
.cls-orme-page .cls-shell {
    max-width: var(--cls-shell, 1640px);
    margin-inline: auto !important;
}

/* HERO: real two-column layout on desktop. 4.8.9 could stack the panel in
   the left column when a Group inner wrapper was present. */
.cls-orme-page .cls-orme-hero__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr) !important;
    gap: clamp(28px, 4vw, 58px) !important;
    align-items: center !important;
    min-height: 500px;
}
.cls-orme-page .cls-orme-hero__copy {
    grid-column: 1;
    min-width: 0;
    max-width: 900px;
}
.cls-orme-page .cls-orme-hero__panel {
    grid-column: 2;
    min-width: 0;
    width: 100%;
    max-width: 560px;
    justify-self: end;
}

/* Hero badges: support direct <p> or <p> inside compatibility wrapper. */
.cls-orme-page .cls-orme-badges,
.cls-orme-page .cls-orme-badges > .wp-block-group__inner-container {
    display: flex !important;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 26px;
}
.cls-orme-page .cls-orme-badges > p,
.cls-orme-page .cls-orme-badges > .wp-block-group__inner-container > p {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    width: auto !important;
    margin: 0 !important;
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 999px;
    background: rgba(255,255,255,.075);
    color: #dff4fb;
    font-size: 13px;
}
.cls-orme-page .cls-orme-hero__panel > p,
.cls-orme-page .cls-orme-hero__panel > .wp-block-group__inner-container > p {
    color: #d5eaf3;
}
.cls-orme-page .cls-orme-hero__panel > .cls-orme-hero__mini,
.cls-orme-page .cls-orme-hero__panel > .wp-block-group__inner-container > .cls-orme-hero__mini {
    display: flex;
    gap: 9px;
    align-items: center;
    margin: 0 !important;
    padding: 9px 0;
    border-top: 1px solid rgba(255,255,255,.09);
    color: #e7f7fb;
    font-weight: 700;
    font-size: 13px;
}

/* All major Gutenberg grid wrappers: define the grid again at the end of the
   cascade so older @media rules and Block layout-support CSS cannot win. */
.cls-orme-page .cls-orme-overview {
    display: grid !important;
    grid-template-columns: minmax(0,1.05fr) minmax(340px,.95fr) !important;
    gap: 28px !important;
    align-items: stretch;
}
.cls-orme-page .cls-orme-overview__stats {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 12px !important;
}
.cls-orme-page .cls-orme-feature-grid,
.cls-orme-page .cls-orme-mechanics__grid,
.cls-orme-page .cls-orme-architecture {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 14px !important;
}
.cls-orme-page .cls-orme-principles {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 12px !important;
}
.cls-orme-page .cls-orme-games {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 13px !important;
}
.cls-orme-page .cls-orme-path {
    display: grid !important;
    grid-template-columns: minmax(0,1.2fr) minmax(300px,.72fr) !important;
    gap: 30px !important;
    align-items: center;
}
.cls-orme-page .cls-orme-requirements {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 10px !important;
}
.cls-orme-page .cls-orme-steps {
    display: grid !important;
    gap: 10px !important;
}
.cls-orme-page .cls-orme-cta {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

/* Feature cards generated as Gutenberg Groups (not <article>/<span>). */
.cls-orme-page .cls-orme-feature {
    min-width: 0;
    padding: 22px;
    border: 1px solid #dceaf1;
    border-radius: 16px;
    background: linear-gradient(145deg,#fff,#f8fcfe);
}
.cls-orme-page .cls-orme-feature__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin: 0 0 14px !important;
    border-radius: 14px;
    background: linear-gradient(135deg,#eaf8ff,#dff6fb);
    font-size: 25px;
}
.cls-orme-page .cls-orme-feature h3 {
    margin: 0 0 7px;
    color: #0b415f;
    font-size: 19px;
}
.cls-orme-page .cls-orme-feature p:last-child {
    margin: 0;
    color: #617b8c;
    font-size: 14px;
    line-height: 1.62;
}

/* Card internals: old WordPress may wrap inner blocks. Make the inner wrapper
   the card's internal grid when necessary. */
.cls-orme-page .cls-orme-game > .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: 58px minmax(0,1fr);
    column-gap: 15px;
    row-gap: 3px;
}
.cls-orme-page .cls-orme-game > .wp-block-group__inner-container > :not(.cls-orme-game__icon) {
    grid-column: 2;
}
.cls-orme-page .cls-orme-game > .wp-block-group__inner-container > .cls-orme-game__icon {
    grid-column: 1;
    grid-row: 1 / 6;
}
.cls-orme-page .cls-orme-step > .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    gap: 14px;
    align-items: start;
}
.cls-orme-page .cls-orme-step > .wp-block-group__inner-container > :not(.cls-orme-step__number) {
    grid-column: 2;
}
.cls-orme-page .cls-orme-step > .wp-block-group__inner-container > .cls-orme-step__number {
    grid-column: 1;
    grid-row: 1 / 4;
}

/* Gutenberg editor: same composition as frontend, with a sane canvas width. */
.editor-styles-wrapper .cls-orme-page {
    width: 100% !important;
    max-width: none !important;
}
.editor-styles-wrapper .cls-orme-page .cls-shell {
    max-width: 1480px !important;
    padding-inline: 24px;
}
.editor-styles-wrapper .cls-orme-page :where(.wp-block-group) {
    box-sizing: border-box;
}

/* Keep two columns until the page is genuinely tablet-sized. The previous
   1100px breakpoint caused desktop/zoomed views to look like one huge empty
   blue area with every block stacked on the left. */
@media (min-width: 961px) {
    .cls-orme-page .cls-orme-hero__inner {
        grid-template-columns: minmax(0,1.18fr) minmax(320px,.82fr) !important;
    }
    .cls-orme-page .cls-orme-hero__copy { grid-column: 1 !important; }
    .cls-orme-page .cls-orme-hero__panel { grid-column: 2 !important; }
    .cls-orme-page .cls-orme-overview {
        grid-template-columns: minmax(0,1.05fr) minmax(340px,.95fr) !important;
    }
    .cls-orme-page .cls-orme-feature-grid,
    .cls-orme-page .cls-orme-mechanics__grid,
    .cls-orme-page .cls-orme-architecture {
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    }
    .cls-orme-page .cls-orme-principles {
        grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    }
    .cls-orme-page .cls-orme-games {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
    .cls-orme-page .cls-orme-path {
        grid-template-columns: minmax(0,1.2fr) minmax(300px,.72fr) !important;
    }
}

@media (max-width: 960px) {
    .cls-orme-page .cls-orme-hero__inner,
    .cls-orme-page .cls-orme-overview,
    .cls-orme-page .cls-orme-path {
        grid-template-columns: 1fr !important;
    }
    .cls-orme-page .cls-orme-hero__copy,
    .cls-orme-page .cls-orme-hero__panel {
        grid-column: 1 !important;
        max-width: none;
        justify-self: stretch;
    }
    .cls-orme-page .cls-orme-feature-grid,
    .cls-orme-page .cls-orme-mechanics__grid,
    .cls-orme-page .cls-orme-architecture {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
    .cls-orme-page .cls-orme-principles,
    .cls-orme-page .cls-orme-overview__stats {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
    .cls-orme-page .cls-orme-games {
        grid-template-columns: 1fr !important;
    }
    .cls-orme-page .cls-orme-hero__inner {
        min-height: 0;
    }
}

@media (max-width: 640px) {
    .cls-orme-page .cls-orme-feature-grid,
    .cls-orme-page .cls-orme-mechanics__grid,
    .cls-orme-page .cls-orme-architecture,
    .cls-orme-page .cls-orme-principles,
    .cls-orme-page .cls-orme-overview__stats,
    .cls-orme-page .cls-orme-requirements {
        grid-template-columns: 1fr !important;
    }
    .cls-orme-page .cls-orme-cta {
        display: block !important;
    }
}
