/*
Theme Name: conceptAlpha Studio
Theme URI: https://conceptalpha.co.uk
Author: Aaron Thorne
Description: An independent games and software showcase with a native WordPress development blog. Works with the conceptAlpha Content plugin and existing Themify portfolio records.
Version: 1.0.4
Requires at least: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: conceptalpha-studio
*/
:root,.dark{--background:#101110;--foreground:#f1f1eb;--card:#1a1c19;--card-foreground:#f1f1eb;--popover:#1a1c19;--popover-foreground:#f1f1eb;--primary:#d5ff5f;--primary-foreground:#101110;--secondary:#252821;--secondary-foreground:#f1f1eb;--muted:#252821;--muted-foreground:#aaaDa4;--accent:#d5ff5f;--accent-foreground:#101110;--border:#34372f;--input:#34372f;--ring:#d5ff5f;--radius:.5rem;--font-sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--primary);outline-offset:7px}::selection{background:var(--primary);color:#101110}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.header{height:96px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2b2d27;gap:32px}.brand{font-size:25px;letter-spacing:-1.3px;font-weight:400;display:flex;align-items:center}.brand>span:not(.brand-symbol){font-weight:750}.brand-symbol{font-size:42px;margin-right:10px;color:var(--primary);line-height:1}.brand i{height:6px;width:6px;border-radius:50%;background:var(--primary);margin:13px 0 0 3px}nav{display:flex;gap:34px}nav a,.contact-link{font-size:14px;display:flex;gap:5px;align-items:center}nav a{color:#b7b9af}nav a:hover,.text-link:hover{color:var(--primary)}.contact-link{border:1px solid #515449;padding:12px 18px;border-radius:5px}.hero{padding-top:55px}.eyebrow{font-family:monospace;font-size:12px;letter-spacing:1.7px;line-height:1.6;margin:0}.dot{display:inline-block;width:7px;height:7px;background:var(--primary);border-radius:50%;margin-right:10px}.hero>.eyebrow{color:#c6c8bf}.hero-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin:25px 0 43px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(56px,6.6vw,100px);font-weight:600;letter-spacing:-6px;line-height:1.02;margin-bottom:0}em{font-style:normal;color:var(--primary)}.hero-aside{padding-bottom:5px;min-width:295px}.hero-aside p{font-size:16px;line-height:1.7;color:#b1b4aa;margin-bottom:25px}.button{display:inline-flex;gap:28px;align-items:center;background:var(--primary);color:#15180d;padding:16px 23px;border-radius:4px;font-size:14px;font-weight:600;transition:background .2s}.button:hover{background:#e5ffa2}.feature{display:block;position:relative;overflow:hidden;border-radius:10px;height:460px;background:#202323}.feature>img{height:100%;width:100%;object-fit:cover;object-position:center 43%;transition:transform .8s}.feature:hover>img{transform:scale(1.025)}.feature-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,8,10,.96),rgba(3,8,10,.06) 80%),linear-gradient(90deg,#03080a44,transparent)}.feature-top,.feature-bottom{position:absolute;left:34px;right:34px;display:flex;justify-content:space-between}.feature-top{top:27px;font-family:monospace;font-size:12px;letter-spacing:1px}.feature-top>span:first-child{background:#0e141acc;backdrop-filter:blur(10px);padding:9px 12px;border:1px solid #ffffff29;border-radius:4px}.feature-bottom{bottom:32px;align-items:flex-end}.feature-bottom .eyebrow{color:#d7ff8b}.feature h2{font-size:58px;letter-spacing:-2px;margin:6px 0 8px;font-weight:600}.feature-bottom p:last-child{color:#c8cdd0;margin:0;font-size:16px}.feature-cta{display:flex;align-items:center;gap:20px;font-size:14px}.round{width:49px;height:49px;border:1px solid #999f97;border-radius:50%;display:grid;place-items:center}.hero-foot{display:flex;justify-content:space-between;align-items:center;font:11px monospace;letter-spacing:1.5px;color:#989d90;padding:20px 0;border-bottom:1px solid var(--border)}.hero-foot span:last-child{display:flex;align-items:center;gap:14px}.games-section{padding-top:105px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:42px}.section-heading .eyebrow,.about .eyebrow{color:var(--primary);margin-bottom:20px}.section-heading h2,.about h2{font-size:clamp(36px,4vw,56px);line-height:1.08;letter-spacing:-2.5px;font-weight:500;margin-bottom:0}.section-heading h2 span{color:#999e91}.section-heading>p{color:#a4a89c;font-size:16px;line-height:1.7;margin-bottom:0}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 25px}.game-card:first-child{grid-column:span 2}.game-card:first-child .game-image{aspect-ratio:2.4}.game-image{position:relative;overflow:hidden;border-radius:7px;aspect-ratio:1.15;background:#21251d}.game-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s}.game-card:hover img{transform:scale(1.04);filter:brightness(1.1)}.game-number{position:absolute;top:14px;left:14px;font:12px monospace;background:#111b;padding:7px 9px;border-radius:4px}.game-open{position:absolute;bottom:15px;right:15px;background:#111c;width:37px;height:37px;display:grid;place-items:center;border-radius:50%}.game-meta{display:flex;align-items:center;justify-content:space-between;color:#999f90;margin:18px 0 9px;font:11px monospace;letter-spacing:1px}.game-card h3{font-size:27px;letter-spacing:-.8px;font-weight:500;margin-bottom:9px}.game-card p{color:#a9ada1;line-height:1.6;font-size:15px;max-width:470px;margin:0}.software{background:#181a16;border-block:1px solid #30342b;padding:90px 0}.software-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.software-card{border:1px solid #424a35;border-radius:9px;padding:32px;background:radial-gradient(ellipse at 100% 0,#37492755,transparent 70%)}.software-card.media{background:radial-gradient(ellipse at 100% 0,#2c3e6055,transparent 70%);border-color:#37444b}.software-top{display:flex;align-items:center;justify-content:space-between;color:#d5ff5f;margin-bottom:52px}.media .software-top{color:#a2bdff}.software-top span{font:11px monospace;letter-spacing:1.3px;border:1px solid #67715577;border-radius:30px;padding:7px 10px}.software-card h3{font-size:38px;letter-spacing:-1.6px;font-weight:500;margin-bottom:12px;display:flex;justify-content:space-between}.software-card h3 span{color:#788071;font-weight:300}.software-card>p{color:#a9af9f;font-size:16px;margin-bottom:35px}.software-bottom{padding-top:24px;border-top:1px solid #4c534033;display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#aab19e}.software-bottom a{display:flex;align-items:center;gap:8px;color:#e5e8df}.about{padding-block:100px;display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.about-copy{padding-top:36px}.about-copy p{color:#a9ae9f;font-size:17px;line-height:1.8}.about-copy p:first-child{color:#eceee7;font-size:23px;line-height:1.5}.text-link{display:inline-flex;gap:20px;align-items:center;border-bottom:1px solid #737968;padding-bottom:10px;font-size:14px}.closing{border-top:1px solid var(--border);padding-top:40px;padding-bottom:52px}.closing>.eyebrow{color:#a0a694}.closing>a{display:flex;justify-content:space-between;align-items:center;color:var(--primary);font-size:clamp(65px,10vw,140px);line-height:1.25;letter-spacing:-6px}.closing svg{width:90px;height:90px;stroke-width:1}footer{border-top:1px solid var(--border);padding-block:32px 38px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px;color:#9ca28f}footer .brand{color:#eff0e9;font-size:21px}footer>div{display:flex;gap:24px}footer>div a{display:flex;align-items:center;gap:3px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;z-index:50;background:var(--primary);color:#111;padding:15px}
@media(min-width:1600px){.feature{height:510px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.header{padding-inline:32px}nav{gap:20px}.hero-heading{gap:20px}h1{letter-spacing:-4px;font-size:68px}.hero-aside{min-width:240px}.hero-aside p{font-size:14px}.feature{height:400px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card:first-child{grid-column:auto}.game-card:first-child .game-image,.game-image{aspect-ratio:1.5}.about{gap:45px}.software-bottom{flex-direction:column}.software-card h3{font-size:32px}footer{flex-wrap:wrap}.back-top{display:none}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.header{height:auto;min-height:83px;padding:20px;flex-wrap:wrap;gap:20px}.header .brand{font-size:22px}.brand-symbol{font-size:32px}.contact-link{margin-left:auto;padding:9px 12px}nav{order:3;width:100%;justify-content:space-between;border-top:1px solid #30332b;padding-top:15px}.hero{padding-top:35px}.hero>.eyebrow{font-size:10px;letter-spacing:1.1px}.hero-heading{display:block;margin-bottom:30px}h1{font-size:clamp(49px,12vw,70px);letter-spacing:-3px}.hero-aside{margin-top:24px}.hero-aside p{font-size:16px}.hero-aside p br:nth-child(1){display:none}.button{padding:14px 18px}.feature{height:420px}.feature>img{object-position:55% center}.feature-top,.feature-bottom{left:20px;right:20px}.feature-top>span:last-child{display:none}.feature-bottom{display:block;bottom:24px}.feature h2{font-size:46px}.feature-cta{margin-top:22px;justify-content:space-between}.round{height:39px;width:39px}.hero-foot{font-size:10px;letter-spacing:.5px}.hero-foot span:last-child{display:none}.games-section{padding-block:65px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px}.section-heading h2,.about h2{font-size:40px;letter-spacing:-1.7px}.game-grid{grid-template-columns:1fr;gap:34px}.game-card:first-child .game-image,.game-image{aspect-ratio:1.55}.software{padding-block:60px}.software-grid{grid-template-columns:1fr}.software-card{padding:25px}.software-top{margin-bottom:34px}.software-bottom{gap:14px}.about{padding-block:65px;grid-template-columns:1fr;gap:25px}.about-copy{padding:0}.closing{padding-block:30px}.closing>a{letter-spacing:-3px}.closing svg{width:50px;height:50px}footer{gap:22px}footer>span{font-size:11px}footer>div{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}/* WordPress content and editor integration. */
.nav-menu{list-style:none;display:flex;gap:30px;margin:0;padding:0}.nav-menu li{position:relative}.nav-menu .sub-menu{position:absolute;top:100%;left:0;min-width:190px;display:none;list-style:none;background:#1a1c19;border:1px solid #43483c;padding:14px;z-index:20}.nav-menu li:hover>.sub-menu,.nav-menu li:focus-within>.sub-menu{display:grid;gap:12px}.hero-aside{max-width:310px}.software-symbol{font-size:36px!important;border:0!important;padding:0!important}.project-journal{display:inline-block;color:#c4ccb7;font-size:14px;margin-top:20px;text-decoration:underline;text-underline-offset:5px}.journal-section{padding-block:90px;border-bottom:1px solid var(--border)}.project-nav{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 35px}.project-nav a{border:1px solid #515747;border-radius:30px;padding:10px 18px;font-size:14px}.project-nav a:hover{background:var(--primary);color:#101110}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 25px}.post-card{min-width:0}.post-card h3{font-size:26px;line-height:1.2;letter-spacing:-.6px;margin:15px 0}.post-card h3 a:hover{color:var(--primary)}.post-card>p{color:#b0b5a5;line-height:1.7}.post-image{display:flex;aspect-ratio:1.7;background:#20251b;overflow:hidden;border-radius:7px;align-items:center;justify-content:center}.post-image img{width:100%;height:100%;object-fit:cover}.post-type-mark{font-size:85px;line-height:1;color:#d5ff5f;text-align:center}.post-type-mark>span{display:block;font:11px monospace;letter-spacing:2px;margin-top:15px;color:#a6af97}.post-meta{display:flex;gap:10px;flex-wrap:wrap;color:#b1bba5;font-size:13px;margin-top:18px;line-height:1.5}.post-meta a{color:#d5ff5f}.post-meta .post-categories{display:contents;list-style:none}.blog-index{padding-block:75px 100px;min-height:65vh}.blog-index h1{font-size:clamp(45px,6vw,80px);letter-spacing:-3px;overflow-wrap:anywhere}.search-form{max-width:450px;margin:25px 0 40px}.search-form label{display:block;margin-bottom:10px;font-size:14px}.search-form>div{display:flex}.search-form input{width:100%;min-width:0;border-radius:5px 0 0 5px}.search-form button{border-radius:0 5px 5px 0}input,textarea,select{background:#1f231a;border:1px solid #626b56;color:#f1f1eb;font:inherit;padding:12px;border-radius:4px}input:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:2px}button,input[type=submit]{background:var(--primary);color:#101110;padding:12px 20px;border:0;font:inherit;cursor:pointer}.navigation{margin-top:45px;border-top:1px solid #363d2f;padding-top:25px;display:block}.nav-links{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.page-numbers{padding:10px 14px;border:1px solid #515947}.page-numbers.current{background:#d5ff5f;color:#101110}.article-shell{padding-block:65px 90px;min-height:65vh}.article-header{max-width:950px;margin:0 auto 40px}.article-header h1{font-size:clamp(42px,5.2vw,76px);letter-spacing:-2.8px;line-height:1.08;margin:24px 0;overflow-wrap:anywhere}.article-header p{font-size:18px;color:#b0b6a7;line-height:1.7}.article-feature{max-width:1100px;margin:0 auto 50px}.article-feature img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;border-radius:8px}.entry-content{max-width:780px;margin:auto;font-size:18px;line-height:1.85;color:#d4d8cd;overflow-wrap:anywhere}.entry-content:after{content:'';display:table;clear:both}.entry-content h2{font-size:35px;line-height:1.2;color:#f1f1eb;margin-top:50px;letter-spacing:-1px}.entry-content h3{font-size:27px;line-height:1.3;color:#f1f1eb;margin-top:36px}.entry-content h4,.entry-content h5,.entry-content h6{font-size:21px;line-height:1.4}.entry-content a{color:#d5ff5f;text-decoration:underline;text-underline-offset:4px}.entry-content ul,.entry-content ol{padding-left:28px;margin-block:25px}.entry-content li{margin-bottom:8px}.entry-content img,.entry-content video{max-width:100%;height:auto;border-radius:5px}.entry-content iframe{max-width:100%;border:0}.entry-content .wp-block-embed__wrapper iframe{width:100%;aspect-ratio:16/9;height:auto}.entry-content figure{margin:32px 0}.entry-content figcaption{color:#a8b19c;font-size:14px;line-height:1.5}.entry-content blockquote{border-left:3px solid #d5ff5f;padding:15px 25px;margin:35px 0;background:#1b2016}.entry-content pre{overflow:auto;background:#080a07;padding:24px;border-radius:6px;font-size:14px;line-height:1.6}.entry-content code{font-family:monospace}.entry-content table{border-collapse:collapse;width:100%;font-size:16px}.entry-content td,.entry-content th{border:1px solid #4e5841;padding:12px}.wp-block-table{overflow-x:auto}.entry-content .alignwide{max-width:100%}.entry-content .alignleft{float:left;margin:0 24px 20px 0}.entry-content .alignright{float:right;margin:0 0 20px 24px}.entry-content .aligncenter{display:block;margin-inline:auto}.wp-caption{max-width:100%}.entry-content .wp-block-button__link{background:#d5ff5f;color:#101110;text-decoration:none}.article-tags,.article-shell>.navigation{max-width:780px;margin:35px auto}.comments-area{max-width:780px;margin:60px auto 0;border-top:1px solid #38422d;padding-top:30px}.comments-area label{display:block;margin-bottom:8px}.comments-area input:not([type=checkbox]):not([type=submit]),.comments-area textarea{width:100%}.comment-form-cookies-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px}.comment-form-cookies-consent label{display:inline}.comment-list{padding-left:20px}.comment-list li{padding:15px 0}.comment-metadata{font-size:13px;color:#abb59d}.comment-author img{border-radius:50%;margin-right:10px}.image-title{display:grid;place-items:center;height:100%;padding:25px;color:#d5ff5f;font-size:30px}.empty-state{grid-column:1/-1;color:#b9c1af;padding:25px 0;line-height:1.7}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.screen-reader-text:focus{position:static;width:auto;height:auto;clip:auto}.admin-bar .header{margin-top:0}body{line-height:1.5}h1,h2,h3{line-height:1.12}.feature-bottom p:last-child{max-width:640px}.feature-cta{white-space:nowrap}.entry-content .wp-block-gallery img{border-radius:5px}
@media(max-width:1000px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-menu{gap:18px}.feature-bottom p:last-child{max-width:450px}}
@media(max-width:650px){.post-grid{grid-template-columns:1fr}.journal-section{padding-block:60px}.nav-menu{width:100%;gap:16px;justify-content:space-between}.nav-menu .sub-menu{position:static}.header nav{display:block}.hero-aside{max-width:none}.entry-content{font-size:17px}.entry-content h2{font-size:29px}.article-header h1{letter-spacing:-1.5px}.article-shell,.blog-index{padding-block:45px 60px}.entry-content .alignleft,.entry-content .alignright{float:none;margin:24px 0}.project-nav{gap:9px}.project-nav a{padding:9px 13px}.article-header .post-meta{margin-top:24px}}

/* Display the supplied logo unchanged; crop only its transparent canvas padding. */
.brand.brand-logo{position:relative;display:block;width:240px;aspect-ratio:1332/456;overflow:hidden;flex-shrink:0}
.brand-logo .brand-logo-image{position:absolute;display:block;width:102.552553%;max-width:none;height:auto;left:-.525526%;top:-35.526316%}
footer .brand.brand-logo{width:190px}
@media(max-width:650px){.header .brand.brand-logo{width:185px}footer .brand.brand-logo{width:170px}}
@media(max-width:360px){.header .brand.brand-logo{width:155px}}

.post-image .post-fallback-image{width:65%;height:72%;object-fit:contain;padding:12px}
.post-stream-more{text-align:center;margin-top:40px}.post-stream-more:empty{display:none}.post-stream-more a{display:inline-block;border:1px solid var(--border);border-radius:5px;padding:12px 20px;color:var(--primary)}.post-stream-more a[aria-disabled="true"]{opacity:.6;cursor:wait}.post-stream-status{text-align:center;color:var(--muted-foreground);font-size:14px;margin:18px 0 0;min-height:1.5em}
