
:root{--bg:#0d0e10;--bg2:#17181a;--panel:#191a1c;--line:#35373a;--text:#f5f5f4;--muted:#b4b6b7;--accent:#d6d8d9;--accent2:#c4b492;--card:#1d1e20;--max:1170px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img,svg{max-width:100%}::selection{background:#d8d9d8;color:#181818}
.skip{position:absolute;transform:translateY(-200%);background:#fff;color:#000;padding:.7rem;z-index:100}.skip:focus{transform:translateY(0)}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}.narrow{max-width:850px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.74rem;font-weight:800;color:var(--accent)}.highlight{color:var(--accent)}.gold{color:var(--accent2)}
header{position:sticky;top:0;z-index:40;background:rgba(12,12,13,.94);backdrop-filter:blur(18px);border-bottom:1px solid #ffffff18}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1.8rem}.brand{display:flex;align-items:center;gap:13px;min-width:max-content}.brand-symbol{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--accent);color:var(--accent);font-size:.95rem;letter-spacing:-.09em;font-weight:900;transform:rotate(-6deg)}.brand-text{font-size:.98rem;letter-spacing:.07em;font-weight:850;line-height:1.12}.brand-text small{display:block;font-size:.57rem;letter-spacing:.25em;color:var(--muted);font-weight:700;margin-top:4px}
.nav-links{display:flex;align-items:center;gap:1.65rem}.nav-links a{font-size:.85rem;color:#dedee0;font-weight:620}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:1rem}.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:.5rem;color:var(--text);cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);color:#151515!important;padding:.79rem 1.25rem;border:1px solid var(--accent);border-radius:5px;font-size:.86rem;font-weight:800;transition:.2s}.btn:hover{transform:translateY(-2px);background:#ffffff}.btn.outline{background:transparent;color:var(--text)!important;border-color:#656569}.btn.outline:hover{border-color:var(--accent);color:var(--accent)!important}.btn.small{padding:.55rem 1rem;font-size:.79rem}
.hero{position:relative;overflow:hidden;padding:111px 0 97px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 76% 34%,#41414355 0,transparent 39%),linear-gradient(145deg,#18191a 0%,#0d0e10 75%)}.hero:after{content:"";position:absolute;pointer-events:none;inset:0;background-image:linear-gradient(#e7e7e708 1px,transparent 1px),linear-gradient(90deg,#e7e7e708 1px,transparent 1px);background-size:45px 45px;mask-image:linear-gradient(to left,#000,transparent 65%)}.hero-content{position:relative;z-index:1;max-width:760px}.hero h1,.intro h1{font-size:clamp(2.5rem,5.9vw,5.4rem);line-height:1.085;letter-spacing:-.055em;margin:19px 0 26px;font-weight:790}.hero p{max-width:655px;font-size:1.09rem;color:#c7c7c7;line-height:1.8}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-bottom{display:flex;gap:32px;flex-wrap:wrap;margin-top:60px;padding-top:24px;border-top:1px solid #4d4d4e70}.hero-bottom span{font-size:.75rem;color:#b9b9b9;text-transform:uppercase;letter-spacing:.12em}.hero-bottom b{display:block;color:#f9f9f9;font-size:.95rem;text-transform:none;letter-spacing:normal;margin-top:5px}
section{padding:90px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.section-head h2{font-size:clamp(1.85rem,3.5vw,3rem);line-height:1.15;letter-spacing:-.04em;margin:12px 0 0}.section-head p{max-width:420px;color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px}.muted{color:var(--muted)}.smalltext{font-size:.89rem}.soft{background:#191a1b}.border-top{border-top:1px solid var(--line)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{display:flex;flex-direction:column;min-height:280px;background:linear-gradient(146deg,#262729,#161718);border:1px solid #37393b;border-radius:9px;padding:27px;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-3px);border-color:#85878a}.card h3{font-size:1.23rem;line-height:1.28;letter-spacing:-.023em;margin:14px 0 9px}.card p{font-size:.91rem;color:#c0c0c0;line-height:1.75;margin:0 0 22px}.card .link{margin-top:auto;color:var(--accent);font-weight:780;font-size:.86rem}.card .tag{width:max-content;border:1px solid #6c6c6e;border-radius:30px;padding:3px 9px;color:#e4e4e4;letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:800}.tag.prep{border-color:#6c6050;color:#e8d7b7}.tag.future{border-color:#505050;color:#d5d5d5}.tile-number{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid #54565a;color:var(--accent);font-weight:800;border-radius:7px}
.feature{border:1px solid #35373a;border-radius:10px;padding:40px;background:linear-gradient(120deg,#242526,#101112);position:relative;overflow:hidden}.feature:after{content:"";position:absolute;right:-100px;top:-100px;width:350px;height:350px;border:1px solid #b5b5b51f;border-radius:50%;box-shadow:0 0 0 45px #b5b5b508,0 0 0 95px #b5b5b505;pointer-events:none}.feature h2{font-size:clamp(1.8rem,3.2vw,2.8rem);margin:10px 0 16px;line-height:1.16;letter-spacing:-.04em}.feature p{max-width:690px;color:#c4c5c6}.proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:45px}.proof div{border-left:1px solid #a6a6a6;padding-left:19px}.proof b{display:block;font-size:1.05rem}.proof span{font-size:.86rem;color:var(--muted)}
.intro{padding:83px 0 56px;background:radial-gradient(circle at 85% 25%,#34353740,transparent 45%);border-bottom:1px solid var(--line)}.intro h1{font-size:clamp(2.7rem,5vw,4.2rem);margin:12px 0 15px}.intro p{font-size:1.05rem;max-width:770px;color:var(--muted);margin:0}.breadcrumbs{font-size:.78rem;color:var(--muted);margin-bottom:23px}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs span{padding:0 10px}
.list{list-style:none;padding:0;margin:20px 0}.list li{padding:12px 0;border-bottom:1px solid var(--line);color:#c6c6c6}.list li::before{content:"↗";color:var(--accent);margin-right:13px}
.prose{font-size:1.01rem;color:#d1d1d1}.prose h2{font-size:1.48rem;line-height:1.25;color:var(--text);margin:36px 0 12px}.prose h3{font-size:1.1rem;color:var(--text);margin:22px 0 8px}.prose p{margin:0 0 20px}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose ul{padding-left:1.3rem}.prose li{margin:10px 0}.note{border-left:3px solid var(--accent);padding:16px 20px;background:#232426;margin:22px 0;border-radius:0 5px 5px 0;color:#f3f3f3}
.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(255px,1fr);gap:42px}.sidebox{padding:26px;background:#202124;border:1px solid var(--line);border-radius:8px;height:max-content}.sidebox h3{margin:0 0 14px}.sidebox a:not(.btn){display:block;color:var(--accent);font-size:.88rem;margin-top:13px}.stateline{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #424346;font-size:.87rem}.stateline span{color:var(--muted)}
.filterbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:25px}.filter{border:1px solid #69696c;background:transparent;color:#e2e2e2;border-radius:30px;padding:7px 16px;cursor:pointer;font-size:.82rem}.filter.active,.filter:hover{background:var(--accent);border-color:var(--accent);color:#151515}
.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:44px;border:1px solid #47494c;background:#242527;border-radius:10px}.contact-panel h2{font-size:2rem;line-height:1.2;margin:0 0 13px}.contact-panel p{color:var(--muted)}.bigmail{font-size:clamp(.9rem,1.8vw,1.33rem);font-weight:700;color:var(--accent);overflow-wrap:anywhere}.faq details{padding:19px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:700}.faq details p{color:var(--muted)}
footer{background:#090a0b;border-top:1px solid var(--line);padding:56px 0 27px}.footgrid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:40px}.footgrid h4{font-size:.83rem;margin:3px 0 15px;text-transform:uppercase;letter-spacing:.12em}.footgrid a{display:block;color:var(--muted);margin:10px 0;font-size:.85rem}.footgrid a:hover{color:var(--accent)}.footgrid .brand{margin-bottom:18px}.footgrid p{max-width:300px;font-size:.85rem;color:var(--muted)}.footbottom{margin-top:50px;padding-top:21px;border-top:1px solid #303133;display:flex;justify-content:space-between;gap:20px;color:#a8a9ac;font-size:.78rem}
@media(max-width:900px){.nav-links{gap:.85rem}.nav-links a{font-size:.78rem}.nav-actions .btn{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.footgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.container{width:min(var(--max),calc(100% - 34px))}.nav{min-height:70px}.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:69px;left:0;right:0;background:#191a1b;padding:17px 25px 25px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{font-size:.97rem;padding:7px 0}.hero{padding:76px 0 65px}.hero-bottom{margin-top:40px;gap:20px}.intro{padding:60px 0 45px}section{padding:60px 0}.section-head{display:block}.section-head p{margin-top:16px}.cards,.cards.two,.split,.detail-grid,.contact-panel,.proof{grid-template-columns:1fr}.card{min-height:240px}.feature{padding:29px}.contact-panel{padding:27px}.footgrid{gap:22px}.footbottom{flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

[hidden]{display:none!important}

/* Official CG-3D identity: the submitted emblem is kept intact as an image. */
.brand-artwork{width:68px;flex:0 0 68px;display:flex;align-items:center;justify-content:center;background:#f4f4f4;border-radius:3px;border:1px solid #ffffff4d;overflow:hidden;line-height:0;padding:2px}
.brand-artwork img{display:block;width:100%;height:auto;aspect-ratio:300/220;object-fit:contain}
.brand:focus-visible,.nav-links a:focus-visible,.btn:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
footer .brand-artwork{width:105px;flex-basis:105px}
footer .brand-text{font-size:1.06rem}
.hero>.container{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);align-items:center;column-gap:42px}
.hero-content{min-width:0}
.hero h1{font-size:clamp(2.8rem,5vw,5rem)}
.hero-bottom{grid-column:1/-1}
.hero-emblem{margin:0;align-self:center;text-align:center;max-width:360px;position:relative;z-index:1}
.hero-emblem .emblem-frame{border-radius:8px;padding:14px;background:#f2f2f2;box-shadow:0 22px 58px #0007,0 0 0 1px #ffffff24}
.hero-emblem img{display:block;width:100%;height:auto;aspect-ratio:300/220;object-fit:contain}
.hero-emblem figcaption{color:#c6c6c6;font-size:.63rem;letter-spacing:.13em;font-weight:780;margin-top:17px}
.about-brand{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:center;gap:40px;padding:27px;margin-bottom:52px;border:1px solid var(--line);background:linear-gradient(125deg,#262729,#171819);border-radius:9px}
.about-brand img{display:block;max-width:100%;height:auto;background:#f2f2f2;border-radius:3px}
.about-brand h2{font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:-.035em;line-height:1.2;margin:9px 0 14px}
.about-brand p{max-width:500px}
@media(max-width:980px){.hero>.container{grid-template-columns:minmax(0,1fr) 235px;column-gap:20px}.hero h1{font-size:clamp(2.55rem,4.7vw,4.4rem)}.hero-emblem .emblem-frame{padding:8px}}
@media(max-width:750px){.hero>.container{grid-template-columns:1fr}.hero-emblem{margin:35px auto 0;max-width:300px}.hero-bottom{grid-column:auto}.about-brand{grid-template-columns:1fr;gap:20px}.about-brand img{width:min(300px,100%)}}
@media(max-width:680px){.brand-artwork{width:61px;flex-basis:61px}.brand{gap:9px}.brand-text{font-size:.87rem}}

/* CG-3D official monochrome identity · black, white and engineered gray.
   A quiet champagne tone is reserved for highlights, not primary surfaces. */
:root{color-scheme:dark;--bg:#0d0e10;--bg2:#17181a;--panel:#191a1c;--card:#1d1e20;--line:#35373a;--text:#f5f5f4;--muted:#b4b6b7;--accent:#e0e0df;--accent2:#c4b492}
body{background:#0d0e10}
header{background:rgba(12,12,13,.95);border-color:#434447}
header .nav-links a:hover,header .nav-links a[aria-current="page"]{color:#fff}
.eyebrow{color:#c4b492}
.highlight{color:#ececeb}
.gold{color:#c4b492}
.btn{color:#141414!important;background:#e0e0df;border-color:#e0e0df}
.btn:hover{background:#fff;border-color:#fff}
.btn.outline{background:transparent;color:#efefef!important;border-color:#86878a}
.btn.outline:hover{background:#27282a;color:#fff!important;border-color:#dedede}
.link,.prose a,.bigmail{color:#e5e4e1}
.card{background:linear-gradient(155deg,#232426,#171819);border-color:#47484a}
.card:hover{border-color:#8e8e90}
.card .link{color:#e3e3e1;text-underline-offset:4px}
.card .link:hover,.prose a:hover{color:#fff;text-decoration:underline}
.tag{color:#eee;border-color:#777}
.tag.prep{color:#e4d5b9;border-color:#7a6d59}
.tag.future{color:#dfdfe0;border-color:#68696d}
.feature{background:linear-gradient(118deg,#27282a 0%,#121314 85%);border-color:#46474a}
.note{background:#242526;border-left-color:#c4b492}
.filter.active,.filter:hover{background:#e0e0df;color:#101011}
.contact-panel{background:#222325}
.brand-artwork{background:#f4f4f4;border-color:#555}
.hero-emblem .emblem-frame{background:#f2f2f2}
.hero:after{opacity:.55}
footer{background:#090a0b}
:focus-visible{outline:2px solid #d3c3a6;outline-offset:3px}
