/*
Theme Name: CGA Simulation
Version: 1.2.0
Description: The original CGA layout rebuilt on clean WordPress without its legacy theme and plugins.
Requires at least: 7.1
Requires PHP: 8.3
Text Domain: cga-simulation
*/
@font-face{font-family:CgaRaleway;src:url('assets/raleway-regular-webfont.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:CgaRaleway;src:url('assets/raleway-medium-webfont.woff') format('woff');font-weight:500;font-display:swap}
@font-face{font-family:CgaRaleway;src:url('assets/raleway-semibold-webfont.woff') format('woff');font-weight:600;font-display:swap}
@font-face{font-family:CgaRaleway;src:url('assets/raleway-bold-webfont.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:CgaRaleway;src:url('assets/raleway-light-webfont.woff') format('woff');font-weight:300;font-display:swap}
@font-face{font-family:CgaIcons;src:url('assets/fontawesome-webfont.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--accent:#fda527;--ink:#222;--muted:#888;--width:1180px;--header:80px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:#fff;color:var(--muted);font:14px/22px CgaRaleway,"Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.5px;-webkit-font-smoothing:antialiased}a{color:#b8700a;text-decoration:none}a:hover{color:#222}img{max-width:100%;height:auto;border:0}button,input,textarea{font:inherit}a,button,input,textarea,summary{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent)}h1,h2,h3,h4,h5,h6{color:#222;line-height:1.5;margin:0 0 15px;font-weight:400}h1{font-size:30px}h2{font-size:22px}h3{font-size:17px}p{margin:0 0 20px}strong,b{font-weight:700}.wrap{max-width:1180px;width:calc(100% - 100px);margin-inline:auto}.skip{position:fixed;top:-90px;left:15px;background:#fff;color:#222;padding:12px;z-index:1000}.skip:focus{top:10px}.preview-bar{position:fixed;left:10px;bottom:10px;z-index:300;padding:5px 10px;background:#111d;color:#ddd;font:10px/16px Arial,sans-serif;letter-spacing:0;border:1px solid #ffffff30;border-radius:2px}.site-header{position:fixed;inset:0 0 auto;z-index:100;height:80px;background:rgba(18,18,18,.95);box-shadow:0 1px 4px #0002;transition:background .25s}.home .site-header:not(.is-scrolled){background:transparent;box-shadow:none}.header-inner{display:flex;align-items:center;justify-content:space-between;height:80px;padding:0 10px;gap:20px}.brand{display:block;flex-shrink:0;line-height:0}.brand img{display:block;width:216px;height:auto;max-height:60px;object-fit:contain}.main-nav{margin-left:auto;font-weight:500;font-size:11px;letter-spacing:1px;text-transform:uppercase}.nav-list,.nav-submenu{list-style:none;margin:0;padding:0}.nav-list{display:flex;align-items:center}.nav-list>li{position:relative}.nav-list>li:not(:last-child):after{content:'·';position:absolute;right:-14px;top:0;line-height:80px;color:#999;font-size:11px}.nav-list>li>a{display:block;padding-left:25px;line-height:80px;white-space:nowrap;color:#999}.home .site-header:not(.is-scrolled) .nav-list>li>a{color:#fff}.nav-list>li>a:hover,.nav-list>li.current>a,.home .site-header:not(.is-scrolled) .nav-list>li>a:hover{color:var(--accent)}.nav-list>li:first-child>a{padding-left:0}.nav-submenu{position:absolute;left:10px;top:100%;min-width:265px;display:none;background:#fff;border-top:2px solid var(--accent);box-shadow:0 2px 8px #0002;padding:8px 0;font-size:11px;letter-spacing:.5px}.nav-submenu a{display:block;padding:10px 18px;line-height:1.5;color:#777}.nav-submenu a:hover{color:var(--accent);background:#fafafa}.has-submenu:hover>.nav-submenu,.has-submenu:focus-within>.nav-submenu{display:block}.nav-toggle,.submenu-toggle{display:none}
.hero{height:100svh;min-height:480px;position:relative;display:flex;align-items:center;justify-content:center;color:#fff;isolation:isolate;overflow:hidden}.hero-art{position:absolute;inset:0;background-size:cover;background-position:0 0;z-index:-2}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:rgba(44,62,80,.2) url('assets/overlay-pattern.png') repeat}.hero-inner{width:100%;max-width:1180px;padding:0 10px;text-align:center}.hero-description{display:inline-block;color:#fff;font-size:12px;font-weight:400;line-height:22px;text-transform:uppercase;padding-bottom:5px;margin:0 0 10px;border-bottom:2px solid #ffffff40}.hero-title{font-size:70px;font-weight:600;line-height:1.25;letter-spacing:.5px;text-transform:uppercase;color:#fff;margin:0;transition:opacity .28s;overflow-wrap:normal}.hero-title span{color:var(--accent)}.hero-title.is-changing{opacity:0}.about-section{background:#f8f8f8;padding:50px 0 0;text-align:center;position:relative}.anchor-target{position:absolute;top:0}.section-title{font-size:30px;line-height:45px;font-weight:700;color:#494c50;margin:0 0 20px;padding-bottom:16px;position:relative}.section-title:after{content:'';position:absolute;bottom:0;left:50%;width:30px;height:1px;transform:translateX(-50%);background:#494c50}.about-lead{max-width:826px;padding:0 10px;margin:0 auto 50px;font-size:15.75px;line-height:1.5}.about-lead p{margin:0 0 20px}.about-consultation{padding:0 10px 15px;font-size:17px;font-weight:700;line-height:1.5;margin:0;color:#494c50}.about-spacer{height:40px;background:#f8f8f8}.contact-section{position:relative;background:#fff;color:#fff;padding:80px 0 120px;isolation:isolate}.contact-section:before{content:'';position:absolute;inset:0;background:rgba(44,62,80,.6) url('assets/overlay-pattern.png') repeat;z-index:-1}.contact-heading{text-align:center;margin-bottom:50px}.contact-heading h2{font-size:30px;line-height:45px;font-weight:600;color:#fff;background:url('assets/divider.png') center top repeat-x;display:inline-block;padding-top:20px;margin:0 0 25px}.contact-heading p{font-size:15.75px;line-height:1.5;margin:0}.contact-heading p span{color:var(--accent)}.contact-layout{display:grid;grid-template-columns:45% 50%;column-gap:5%;align-items:start}.contact-panel{background:rgba(255,255,255,.15);padding:30px 30px 10px;margin:0 10px}.contact-panel h3{color:#f1c40f;font-size:17px;font-weight:400;margin:0 0 20px}.contact-details{list-style:none;padding:0;margin:0 0 20px;font-size:12px;line-height:22px;text-transform:uppercase}.contact-details li{position:relative;padding-left:15px}.contact-details a{color:#fff}.contact-details a:hover{color:var(--accent)}.contact-icon{font-family:CgaIcons;position:absolute;left:0;color:var(--accent);font-size:11px}.contact-form label{display:block;color:#fff;font-size:12px;line-height:22px;text-transform:uppercase}.contact-form p{margin:0 0 20px}.contact-form input:not([type=submit]):not([type=hidden]),.contact-form textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:10px;background:rgba(0,0,0,.5);border:0;border-radius:0;color:#fff;letter-spacing:.5px;font:13.333px Arial,sans-serif;min-height:38px}.contact-form textarea{height:178px;resize:vertical}.contact-form input[type=submit]{font:11px/12px CgaRaleway,Arial,sans-serif;letter-spacing:.5px;text-transform:uppercase;background:var(--accent);border:0;border-radius:2px;color:#fff;padding:8px 12px;cursor:pointer}.contact-form input[type=submit]:hover{background:#e59320}.contact-form .wpcf7-not-valid-tip{font-size:11px;text-transform:none;line-height:1.5;padding-top:5px;color:#ffdb91}.contact-form .wpcf7-response-output{font-size:12px;line-height:1.6;margin:15px 0 20px}.staging-note{font-size:10px;line-height:1.6;color:#fffbd7;margin-top:15px}.site-footer{position:relative;background:#fff;text-align:center;padding:30px 0;color:#aaa;font-size:10px;line-height:18px}.site-footer h3{color:#222;font-size:17px;line-height:25.5px;margin:0 0 4px;font-weight:400}.site-footer p{margin:0}.site-footer a{color:#333}.to-top{position:absolute;top:-40px;left:calc(50% - 20px);display:block;width:40px;height:40px;line-height:40px;border-radius:3px 3px 0 0;background:#fff;color:var(--accent)!important;font-family:CgaIcons;font-size:23px}.site-footer a:hover{color:var(--accent)}
main:not(.home-main){padding-top:80px}.page-banner{background:#fff;padding:80px 10px 50px}.page-banner h1{font-size:30px;font-weight:600;line-height:45px;color:#222;text-align:center;display:flex;align-items:center;gap:20px;max-width:806px;margin:0 auto;letter-spacing:.5px}.page-banner h1:before,.page-banner h1:after{content:'';flex:1;min-width:20px;height:8px;background:url('assets/divider.png') repeat}.content-body{max-width:none;padding:0 10px 50px;font-size:14px;line-height:22px;overflow-wrap:break-word}.content-body:after{content:'';display:table;clear:both}.content-body h1,.content-body h2,.content-body h3{font-weight:600;color:#222}.content-body h1{font-size:30px}.content-body h2{font-size:22px;margin:0 0 10px}.content-body h3{font-size:17px;margin:0 0 15px}.content-body img{max-width:100%;height:auto;border-radius:0}.content-body iframe{display:block;max-width:100%;width:100%;height:auto;aspect-ratio:16/9;border:0}.content-body video{max-width:100%;height:auto}.content-body figure{max-width:100%;margin:0 0 20px}.content-body figure.wp-block-video,.content-body figure.wp-block-embed{margin:20px 0}.content-body .aligncenter{display:block;margin-left:auto;margin-right:auto}.content-body figure.aligncenter{display:table;width:fit-content;margin:0 auto 20px}.content-body figure.aligncenter img{display:block;margin-inline:auto}.content-body .alignleft{float:left;margin:0 20px 20px 0}.content-body .alignright{float:right;margin:0 0 20px 20px}.content-body .has-text-align-center{text-align:center}.content-body .has-text-align-right{text-align:right}.content-body figcaption{font-size:12px;line-height:18px;text-align:center;color:#888}.content-body ul,.content-body ol{padding-left:30px;margin:0 0 20px}.content-body li{margin-bottom:5px}.content-body table{width:100%;border-collapse:collapse;margin-bottom:20px}.content-body th,.content-body td{border:1px solid #eee;padding:7px;text-align:left}.content-body .wp-block-button__link{display:inline-block;background:#333;color:#eee;font-size:16px;font-weight:400;border-radius:999px;padding:10px 20px;line-height:25px;text-decoration:none}.content-body .wp-block-button__link:hover{background:var(--accent);color:#fff}.content-body .wp-block-buttons{margin-bottom:0}.content-body .wp-block-columns{display:flex;gap:2em;margin-bottom:20px}.content-body .wp-block-column{min-width:0;flex-grow:1;flex-basis:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-grid figure{margin:0}.gallery-grid a{display:block;aspect-ratio:1.5;overflow:hidden;background:#eee}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}.gallery-grid a:hover img{opacity:.85}.blog-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:40px;padding:0 10px 60px}.blog-entry{margin:0 0 55px;border-bottom:1px solid #eee;padding-bottom:35px}.blog-entry h1,.blog-entry h2{font-size:22px;font-weight:600;line-height:1.5;color:#222;margin:0 0 10px}.blog-entry h1 a,.blog-entry h2 a{color:#222}.blog-entry h2 a:hover{color:var(--accent)}.entry-meta{font-size:11px;line-height:18px;text-transform:uppercase;margin-bottom:20px}.entry-meta time{color:#b8700a}.blog-entry img{max-width:100%;height:auto;margin-bottom:20px;border-radius:0}.blog-entry .read-more{font-size:12px;text-transform:uppercase}.blog-entry .content-body{padding:0}.single .blog-layout{padding-top:80px}.blog-sidebar{font-size:12px;line-height:22px}.blog-sidebar h3{font-size:17px;color:#222;font-weight:600;margin:0 0 20px}.blog-sidebar section{margin-bottom:35px}.blog-sidebar ul{padding:0;margin:0;list-style:none}.blog-sidebar li{padding:7px 0;border-bottom:1px solid #eee}.blog-sidebar a{color:#888}.blog-sidebar a:hover{color:#b8700a}.blog-sidebar input[type=search]{width:100%;padding:10px;border:1px solid #ddd;font:12px CgaRaleway,Arial,sans-serif;box-sizing:border-box}.blog-sidebar .search-submit{font-size:11px;border:0;background:#fda527;color:#fff;padding:8px 12px;margin-top:8px;cursor:pointer}.pagination{margin:25px 0}.pagination a,.pagination span{padding:7px 10px;border:1px solid #eee}.not-found{text-align:center;padding:150px 0 100px!important}.not-found h1{font-size:30px}.not-found a{color:#b8700a}
@media(max-width:1150px){.wrap{width:calc(100% - 50px)}.header-inner{gap:20px}.brand img{width:190px}.nav-list>li>a{padding-left:18px;font-size:10px;letter-spacing:.7px}.nav-list>li:not(:last-child):after{right:-10px}.hero-title{font-size:60px}.contact-panel{padding:25px 25px 10px}}
@media(max-width:960px){.header-inner{padding:0 10px}.nav-toggle{display:block;border:0;background:transparent;color:#fff;padding:9px;font-size:22px;line-height:1;cursor:pointer}.main-nav{display:none;position:absolute;top:80px;left:0;right:0;background:#121212f5;max-height:calc(100svh - 80px);overflow:auto;padding:10px 25px 20px}.main-nav.is-open{display:block}.nav-list{display:block}.nav-list>li:after{display:none}.nav-list>li>a,.nav-list>li:first-child>a{padding:10px 0;line-height:22px;font-size:11px;color:#bbb!important}.nav-list>li.current>a{color:var(--accent)!important}.nav-submenu{position:static;border:0;background:transparent;box-shadow:none;padding:0 0 5px 15px;display:none!important}.has-submenu.submenu-open>.nav-submenu{display:block!important}.nav-submenu a{padding:8px 0;color:#bbb}.submenu-toggle{display:block;position:absolute;right:0;top:6px;border:0;background:#ffffff10;color:#fff;padding:4px 12px;font-size:18px;cursor:pointer}.hero-title{font-size:50px}.hero-description{font-size:11px}.contact-layout{grid-template-columns:1fr 1fr;gap:20px}.contact-panel{margin:0}.page-banner h1{font-size:27px}.blog-layout{grid-template-columns:minmax(0,1fr) 220px;gap:25px}}
@media(max-width:767px){.wrap{width:calc(100% - 30px)}.brand img{width:190px}.header-inner{padding:0 10px}.hero{min-height:450px}.hero-art{background-position:center center}.hero-description{font-size:10px;line-height:18px;max-width:320px;margin-bottom:15px}.hero-title{font-size:38px;line-height:1.25;max-width:650px;margin:auto}.hero-inner{padding:0 12px}.about-section{padding-top:45px}.section-title{font-size:28px}.about-lead{font-size:15px;line-height:1.6;margin-bottom:35px;padding:0 10px}.about-consultation{font-size:17px;line-height:1.5;padding-bottom:25px}.about-spacer{height:20px}.contact-section{padding:60px 0 90px}.contact-heading{margin-bottom:35px}.contact-heading h2{font-size:28px}.contact-layout{display:block;padding:0 10px}.contact-panel{padding:25px 22px 10px;margin:0 0 25px}.contact-details{font-size:12px}.page-banner{padding:55px 10px 40px}.page-banner h1{font-size:25px;line-height:1.5;gap:12px}.page-banner h1:before,.page-banner h1:after{min-width:12px}.content-body{padding:0 10px 35px;line-height:1.7}.content-body .wp-block-columns{flex-wrap:wrap}.content-body .wp-block-column{flex-basis:100%!important}.content-body .alignleft,.content-body .alignright{float:none;margin:0 auto 20px;display:block}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.blog-layout{display:block;padding:0 10px 35px}.blog-sidebar{margin-top:40px}.single .blog-layout{padding-top:55px}.blog-entry h1,.blog-entry h2{font-size:22px}.preview-bar{font-size:9px;line-height:14px;max-width:calc(100% - 20px)}.site-footer{padding-bottom:38px}}
@media(max-width:420px){.hero-title{font-size:32px}.hero-description{max-width:285px;font-size:9px}.brand img{width:180px}.gallery-grid{grid-template-columns:1fr}.page-banner h1{font-size:23px}.page-banner h1:before,.page-banner h1:after{display:none}.contact-layout{padding:0 5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Readable project context and links preserve the original page layout. */
.about-services{max-width:1040px;margin:0 auto;padding:10px 10px 15px;font-size:13px;line-height:22px}.about-services a{text-decoration:underline;text-underline-offset:3px}.project-summary{font-size:15.75px;line-height:1.6;margin:0 0 25px;color:#666}.related-work{clear:both;margin:40px 0 0;padding:25px 0 0;border-top:1px solid #eee}.content-body .related-work h2{font-size:17px}.related-work ul{display:flex;flex-wrap:wrap;gap:10px 30px;list-style:none;padding:0}.related-work p{margin-bottom:0}.footer-links{font-size:11px;margin:8px 0}
