@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans.ttf') format('truetype');font-style:normal;font-weight:100 1000;font-display:swap}
:root{--ec-cyan:#00e0ed;--ec-muted:#bdc4cd;--ec-border:#48535d;--ec-background:#272f35}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(ellipse at 50% 43%,#30394100 30%,#1c252955 100%),var(--ec-background);color:#f5f7fa;font-family:'DM Sans',system-ui,sans-serif;font-size:16px;line-height:1.5}
body::before,body::after{content:'';position:fixed;z-index:-1;pointer-events:none;width:16px;height:16px;background:#65717a55;box-shadow:23px 19px #65717a55,42px 39px #65717a44,59px 60px #65717a44,80px 38px #65717a44,24px 82px #00e0ed,178px 12px #65717a55;left:24px;top:25px}
body::after{left:auto;top:auto;right:29px;bottom:27px;transform:rotate(180deg);box-shadow:23px 19px #65717a55,42px 39px #65717a44,59px 60px #65717a44,80px 38px #65717a44,24px 82px #ff454b,126px 25px #00e0ed,178px 12px #65717a55}
.wp-site-blocks{min-height:100vh;display:flex;flex-direction:column}
.wp-site-blocks::before,.wp-site-blocks::after{content:'';position:fixed;z-index:-1;pointer-events:none;width:16px;height:16px;background:#65717a55;right:24px;top:23px;box-shadow:-23px 20px #65717a55,-42px 40px #65717a44,-59px 60px #65717a44,-80px 40px #65717a44,-65px 86px #ff454b,-137px 104px #65717a44}
.wp-site-blocks::after{right:auto;top:auto;left:26px;bottom:24px;box-shadow:23px -20px #65717a55,42px 0 #65717a44,60px -40px #65717a44,80px 0 #65717a44,78px -55px #ff454b,0 -117px #65717a44,23px -98px #65717a44,152px -22px #65717a44}
.wp-site-blocks>header,.wp-site-blocks>footer{margin-block:0}
.wp-site-blocks>footer{margin-top:auto}
a{color:var(--ec-cyan);text-decoration:none;text-underline-offset:5px}
a:hover{text-decoration:underline}
button,input,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--ec-cyan);outline-offset:5px}
img{max-width:100%;height:auto}
figure,p{margin-top:0}
h1,h2,h3,h4{font-family:'DM Sans',system-ui,sans-serif;font-weight:700;line-height:1.15;letter-spacing:-.025em}
.ec-header{padding:17px 0 0;text-align:center;position:relative}
.ec-header>*{margin-block:0!important}
.ec-brand{width:270px;max-width:100%;margin-inline:auto!important}
.ec-brand:has(img[src*="ecation-logo-centered.png"]){height:48px;overflow:hidden}
.ec-brand a,.ec-brand img{display:block;width:100%;height:auto}
.ec-brand img[src*="ecation-logo-centered.png"]{position:relative;top:-10px}
.ec-header:has(.wp-block-site-logo img) .ec-brand{display:none}
.ec-header .wp-block-site-logo:empty{display:none}
.ec-tagline{color:#89939e;font-size:14px;letter-spacing:.2px;padding-top:5px}
.ec-nav{justify-content:center;font-size:14px;margin-top:5px!important;min-height:31px}
.ec-nav .wp-block-navigation__container{gap:30px;justify-content:center}
.ec-nav .ec-nav{margin-top:0!important;min-height:0}
.ec-nav a{color:#f5f7fa;position:relative;display:inline-block;padding:0 0 9px}
.ec-nav .current-menu-item>a,.ec-nav a[aria-current="page"]{color:var(--ec-cyan)}
.ec-nav .current-menu-item>a::after,.ec-nav a[aria-current="page"]::after{content:'';height:3px;border-radius:2px;background:var(--ec-cyan);position:absolute;bottom:0;left:-3px;right:-3px}
.ec-main{width:calc(100% - 48px);max-width:970px;margin:64px auto 16px!important;padding-inline:0!important;flex:1}
.ec-main>*,.ec-gallery>*{max-width:100%}
.ec-gallery-heading{text-align:center}
.ec-page-title{font-size:38px;font-weight:700;letter-spacing:.5px;margin:0!important}
.ec-page-title::after{content:'';display:block;width:66px;height:4px;background:var(--ec-cyan);margin:10px auto 8px}
.ec-intro{color:var(--ec-muted);font-size:16px;letter-spacing:.2px;margin:0!important}
.ec-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:17px 0!important}
.ec-filters[hidden]{display:none}
.ec-filters button{border:1px solid #6b7882;border-radius:999px;background:linear-gradient(#252d32,#20272c);color:#f5f7fa;padding:6px 27px;min-height:35px;font-size:14px;line-height:1.4;cursor:pointer;box-shadow:inset 0 1px 1px #ffffff12;transition:background .16s,border-color .16s,transform .16s}
.ec-filters button[aria-pressed="true"]{background:var(--ec-cyan);border-color:var(--ec-cyan);color:#071d22}
.ec-filters button:hover{border-color:var(--ec-cyan);transform:translateY(-1px)}
.ec-product-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 9px;margin-top:17px!important;align-items:stretch}
.ec-product-grid>.ec-card{margin:0!important;max-width:none}
.ec-card{border:1px solid var(--ec-border);border-radius:10px;background:linear-gradient(140deg,#222a3066,#20272c55);padding:11px 11px 10px;display:flex;flex-direction:column;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s}
.ec-card:first-child{border-color:var(--ec-cyan);box-shadow:inset 0 0 0 1px #00e0ed33}
.ec-card:hover,.ec-card:focus-within{border-color:var(--ec-cyan);box-shadow:0 5px 24px #0002}
.ec-card[hidden]{display:none!important}
.ec-art{position:relative;aspect-ratio:294/145;width:100%;overflow:hidden;border-radius:8px;background:#182027}
.ec-art img{display:block;width:100%;height:100%;object-fit:cover}
.ec-art img[src*="reference-gallery.png"]{position:absolute;max-width:none!important;width:568.707483%!important;height:auto!important;top:-213.103448%;left:var(--crop-x,-123.469388%)}
.ec-art-2{--crop-x:-235.034014%}.ec-art-3{--crop-x:-345.918367%}
.ec-art-4{--crop-x:-124.149660%}.ec-art-5{--crop-x:-235.034014%}.ec-art-6{--crop-x:-345.918367%}
.ec-art-4 img[src*="reference-gallery.png"],.ec-art-5 img[src*="reference-gallery.png"],.ec-art-6 img[src*="reference-gallery.png"]{top:-422.068966%}
.ec-badge{align-self:flex-start;display:inline-block;padding:3px 13px;border-radius:999px;color:#101921;font-size:11px;font-weight:500;line-height:1.55;margin-top:7px!important;margin-bottom:5px!important}
.ec-badge-games{background:#67c44a}.ec-badge-tools{background:#72aaff}.ec-badge-xr{background:#b779fa}.ec-badge-learning{background:#ffe24d}
.ec-card-badges{display:flex;gap:5px;flex-wrap:wrap}
.ec-art-placeholder{display:grid;place-items:center;background:radial-gradient(circle at 65% 30%,#00e0ed22,transparent 60%),#182027;color:#81919d;font-weight:700;letter-spacing:.16em}
.ec-empty-products{text-align:center;padding:55px 20px;color:var(--ec-muted)}
.ec-product-detail{padding-block:24px!important}.ec-product-detail .wp-block-post-featured-image img{border-radius:12px}.ec-product-action{margin-block:30px}
.ec-card-title{font-family:'DM Sans',system-ui,sans-serif;font-size:15.5px;line-height:1.3;font-weight:700;letter-spacing:-.15px}
.ec-card-description{font-size:14px;line-height:1.25;letter-spacing:.08px;color:var(--ec-muted);padding-top:4px;max-width:270px;flex:1}
.ec-project-link{font-size:14px;font-weight:600;padding-top:6px}
.ec-project-link a{display:inline-flex;align-items:center;gap:9px}
.ec-project-link span{font-size:20px;line-height:1;transition:transform .18s}
.ec-project-link a:hover span{transform:translateX(3px)}
.ec-footer{max-width:1014px!important;margin:0 auto!important;border-top:1px solid #45515b;padding:14px 21px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}
.ec-footer p{margin:0}
.ec-footer-links{display:flex;gap:25px;align-items:center;margin:0!important}
.ec-footer-note{color:var(--ec-muted)}
.ec-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ec-home-hero,.ec-contact{padding:65px 0 75px;max-width:790px!important}
.ec-eyebrow{color:var(--ec-cyan);font-size:12px;letter-spacing:2.5px;font-weight:600}
.ec-hero-title{font-size:clamp(48px,6.4vw,84px);letter-spacing:-1px;margin:18px 0}
.ec-hero-description{max-width:610px;color:var(--ec-muted);font-size:19px}
.ec-home-hero .wp-block-buttons{margin-top:28px}
.wp-block-button__link{display:inline-block;border-radius:999px;background:var(--ec-cyan);color:#071d22;padding:11px 23px;font-size:14px;font-weight:600}
.is-style-outline .wp-block-button__link{background:transparent;border:1px solid var(--ec-border);color:#f5f7fa}
.ec-featured{padding-bottom:30px}.ec-featured>h2{font-size:36px;margin-top:10px}
.ec-portfolio{text-align:center;padding-top:20px}.ec-portfolio .ec-product-grid{text-align:left;margin-block:35px}
.ec-contact-placeholder{border:1px dashed var(--ec-border);border-radius:10px;padding:24px;color:var(--ec-muted)}
.ec-post-card{padding:24px;border:1px solid var(--ec-border);border-radius:10px;margin-bottom:20px}
.wp-block-post-content{overflow-wrap:anywhere}.wp-block-post-content:empty{display:none}
.wp-block-post-content h2{font-size:32px}.wp-block-post-content h3{font-size:26px}
.wp-block-search__input,input,textarea{background:#1d252b;color:#f5f7fa;border:1px solid #6b7882;border-radius:6px;padding:12px}
.wp-block-search__button{background:var(--ec-cyan);color:#071d22;border:0;border-radius:6px;padding:10px 20px}
.wp-block-navigation__responsive-container.is-menu-open{background:#222a30!important;color:#f5f7fa!important;padding:35px}
.editor-styles-wrapper .ec-filters[hidden]{display:flex;opacity:.65}
.editor-styles-wrapper .ec-product-grid{display:grid!important}
@media(min-width:1400px){.ec-header::before,.ec-header::after{position:fixed;top:145px;white-space:pre;pointer-events:none;color:#76838c60;text-align:left;font:500 16px/1.2 'DM Sans',system-ui,sans-serif;letter-spacing:1px}.ec-header::before{content:'SMALL\A STUDIO\A BIG\A WORLDS';left:4%}.ec-header::after{content:'IDEAS\A GAMES\A TOOLS\A PEOPLE';right:2.5%;top:130px}}
@media(max-width:1050px){.ec-main{max-width:970px}.ec-card-title{font-size:15px}.ec-card-description{font-size:13px}.ec-filters button{padding-inline:22px}}
@media(max-width:760px){body{padding-inline:18px}.ec-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ec-page-title{font-size:34px}.ec-main{margin-top:40px!important}.ec-intro{font-size:15px}.ec-filters{gap:8px}.ec-filters button{padding:7px 17px}.ec-footer{padding-inline:0}.ec-footer-note{display:none}.ec-home-hero,.ec-contact{padding-block:40px}.ec-nav .wp-block-navigation__container{gap:22px}}
@media(max-width:480px){.ec-product-grid{grid-template-columns:1fr;gap:14px}.ec-card{padding:12px}.ec-card-title{font-size:17px}.ec-card-description{font-size:15px;max-width:none}.ec-project-link{font-size:15px;padding-top:12px}.ec-art{aspect-ratio:294/145}.ec-tagline{font-size:12px}.ec-page-title{font-size:32px}.ec-filters button{font-size:12px;padding-inline:14px;min-height:40px}.ec-footer{font-size:11px;gap:12px}.ec-footer-links{gap:0}.ec-hero-title{font-size:51px}.ec-hero-description{font-size:17px}body::before,body::after{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:760px){.ec-main{width:100%}.wp-site-blocks::before,.wp-site-blocks::after{display:none}}
/* Minimal front page: shared branding, a single showcase, quiet footer. */
.ec-minimal-home{background:#343b40}
.ec-minimal-home::before,.ec-minimal-home::after,.ec-minimal-home .wp-site-blocks::before,.ec-minimal-home .wp-site-blocks::after,.ec-minimal-home .ec-header::before,.ec-minimal-home .ec-header::after{display:none}
.ec-minimal-home .ec-header{padding-top:clamp(30px,6vh,76px)}
.ec-minimal-home .ec-brand{width:320px}
.ec-minimal-home .ec-brand:has(img[src*="ecation-logo-centered.png"]){height:58px}
.ec-minimal-home .ec-tagline{padding-top:6px}
.ec-minimal-home .ec-main{display:grid;place-items:center;max-width:700px;margin-block:0!important;min-height:480px}
.ec-minimal-home .ec-footer{justify-content:center;border:0;padding:24px 0 50px;font-size:13px}
.ec-minimal-home .ec-footer-links{display:none}
.ec-carousel{width:100%;padding:50px 0;text-align:center}
.ec-carousel-slides{display:grid}
.ec-carousel-slide{grid-area:1/1;min-width:0}
.ec-carousel-slide[hidden]{display:none}
.ec-carousel-link{display:inline-block;font-size:clamp(20px,3vw,28px);line-height:1.3;font-weight:600;text-decoration:underline;margin-bottom:30px;max-width:100%;overflow-wrap:anywhere}
.ec-carousel-art{display:flex;align-items:center;justify-content:center;width:min(460px,100%);aspect-ratio:1;margin-inline:auto;border-radius:50%;overflow:hidden;box-shadow:3px 5px 6px #0005}
/* Keep the reference sprite's original crop proportions inside the circular frame. */
.ec-carousel-art .ec-art{margin:0;width:202.758621%;flex-shrink:0;border-radius:0}
.ec-carousel-art .ec-art-placeholder{width:100%;height:100%;aspect-ratio:1}
.ec-carousel-image{width:100%;height:100%;margin:0}
.ec-carousel-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ec-carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px}
.ec-carousel-controls[hidden]{display:none}
.ec-carousel-controls button{border:0;background:transparent;color:#aab4bb;cursor:pointer;padding:8px;min-width:32px;min-height:36px}
.ec-carousel-controls button:hover{color:var(--ec-cyan)}
.ec-carousel-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:0;max-width:240px}
.ec-carousel-dots button{min-width:26px;padding:8px}
.ec-carousel-dots span{display:block;width:6px;height:6px;border-radius:50%;background:#89939b}
.ec-carousel-dots [aria-pressed="true"] span{background:var(--ec-cyan)}
.ec-carousel-controls .ec-carousel-pause{font-size:11px;min-width:42px}
.ec-carousel-empty h1{font-size:26px}.ec-carousel-empty p{color:var(--ec-muted)}
@media(max-width:480px){.ec-minimal-home .ec-brand{width:280px}.ec-minimal-home .ec-main{min-height:400px}.ec-carousel{padding:32px 0}.ec-carousel-art{width:340px;max-width:100%}.ec-carousel-link{margin-bottom:24px}.ec-minimal-home .ec-footer{padding-bottom:28px}}
/* Native WordPress contact/comment form, matching the previous site's workflow. */
.ec-contact-comments{max-width:790px;margin:32px auto 60px!important}
.ec-contact-comments .comment-reply-title,.ec-contact-comments .wp-block-comments-title{font-size:28px}
.ec-contact-comments .comment-notes,.ec-contact-comments .logged-in-as,.ec-contact-comments .comment-form-cookies-consent{color:var(--ec-muted);font-size:14px}
.ec-contact-comments label{display:block;margin-bottom:7px}
.ec-contact-comments input:not([type="checkbox"]):not([type="hidden"]),.ec-contact-comments textarea{width:100%;max-width:100%}
.ec-contact-comments textarea{min-height:160px;resize:vertical}
.ec-contact-comments .comment-form-cookies-consent{display:flex;align-items:flex-start;gap:10px}
.ec-contact-comments input[type="checkbox"]{margin-top:5px;accent-color:var(--ec-cyan)}
.ec-contact-comments .submit{width:auto!important;background:var(--ec-cyan);color:#071d22;border:0;border-radius:999px;padding:12px 26px;font-weight:600;cursor:pointer}
.ec-contact-comments .comment-form>p{margin-bottom:20px}
.ec-contact-comment{border-bottom:1px solid var(--ec-border);padding:20px 0}
.ec-contact-comment .wp-block-comment-date{font-size:12px;color:var(--ec-muted)}
.ec-contact-comments .wp-block-comment-template{padding-left:0;list-style:none}
.ec-contact-comments .wp-block-comment-template .children{padding-left:20px}
.ec-email-contact{max-width:790px;margin:10px auto 64px!important}
.ec-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ec-email-form label{display:block;margin-bottom:8px;font-size:14px;font-weight:500}
.ec-email-form input,.ec-email-form textarea{width:100%;border-radius:8px;background:#20282e}
.ec-email-form textarea{resize:vertical;min-height:170px}
.ec-email-form p{margin:0 0 22px}
.ec-email-form .ec-contact-privacy{color:var(--ec-muted);font-size:13px;line-height:1.6}
.ec-email-form button{cursor:pointer;border:0;border-radius:999px;padding:12px 26px;background:var(--ec-cyan);color:#071d22;font-weight:600}
.ec-contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ec-contact-status{padding:18px 22px;border:1px solid var(--ec-cyan);border-radius:10px;background:#00e0ed0a}
.ec-contact-status.is-error{border-color:#ffac93;background:#ffac930a}
@media(max-width:600px){.ec-contact-fields{grid-template-columns:1fr;gap:0}}
