body:has(.cg-page) main.fx-shell { max-width: none; padding: 0; }
.cg-page { --cg-bg:#161c18; --cg-panel:#202a23; --cg-text:#f4f0e5; --cg-muted:#b6c1b7; --cg-line:#e4eee02d; --cg-accent:#c2d7ac; background:var(--cg-bg); color:var(--cg-text); font-family:Inter,ui-sans-serif,system-ui,sans-serif; overflow:clip; }
.theme-light .cg-page { --cg-bg:#f6f3eb; --cg-panel:#e9eee2; --cg-text:#223025; --cg-muted:#586352; --cg-line:#24372130; --cg-accent:#48652e; }
.cg-page *, .cg-page *::before, .cg-page *::after { box-sizing:border-box; }
.cg-page h1,.cg-page h2,.cg-page h3,.cg-page p,.cg-page ol { margin:0; }
.cg-page a { color:inherit; text-decoration:none; }
.cg-page button { font:inherit; }
.cg-page :focus-visible { outline:3px solid var(--cg-accent); outline-offset:5px; }
.cg-shell { width:min(100% - 96px,1240px); margin-inline:auto; }
.cg-section { padding-block:clamp(64px,8vw,116px); scroll-margin-top:80px; }
.cg-page p { line-height:1.75; }
.cg-page .cg-label { font-size:12px; font-weight:750; letter-spacing:.12em; line-height:1.6; color:var(--cg-accent); }
.cg-page h2 { font-size:clamp(36px,4.7vw,64px); line-height:1.08; font-weight:750; letter-spacing:-.045em; overflow-wrap:anywhere; }
.cg-page h2 em { font-family:Georgia,serif; font-weight:400; color:var(--cg-accent); }
.cg-hero { position:relative; isolation:isolate; height:min(900px,calc(100svh - 64px)); min-height:660px; color:#faf5e9; background:#192016; --cg-accent:#d8e4ba; }
.cg-hero__image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:60% 55%; }
.cg-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#0c150cca,#0c150c66 45%,transparent 78%),linear-gradient(0deg,#0b110d99,transparent 35%); }
.cg-hero__inner { height:100%; display:flex; flex-direction:column; padding-block:24px; }
.cg-back { align-self:flex-start; font-size:14px; }
.cg-hero__copy { margin-block:auto; padding-block:28px; max-width:720px; }
.cg-hero h1 { font-size:clamp(80px,10.5vw,150px); font-weight:800; line-height:1; letter-spacing:-.07em; margin:20px 0 28px; }
.cg-hero h1 span { color:var(--cg-accent); }
.cg-page .cg-hero__lead { font-size:clamp(28px,3vw,42px); line-height:1.17; letter-spacing:-.025em; font-weight:550; }
.cg-page .cg-hero__text { font-size:17px; margin-top:22px; color:#e3e6d7; }
.cg-actions { display:flex; flex-wrap:wrap; gap:16px 28px; align-items:center; margin-top:28px; }
.cg-button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:56px; padding:16px 24px; background:#d8e4ba; color:#243323!important; font-size:15px; font-weight:750; transition:transform .2s,background .2s; }
.cg-button:hover { transform:translateY(-3px); background:#eff5dc; }
.cg-link { display:inline-flex; align-items:center; min-height:48px; font-size:15px; font-weight:650; border-bottom:1px solid currentColor; }
.cg-link:hover { color:var(--cg-accent); }
.cg-hero__footer { display:flex; justify-content:space-between; gap:16px; border-top:1px solid #ffffff40; padding-top:18px; font-size:13px; }
.cg-heading { margin-bottom:44px; }
.cg-heading .cg-label,.cg-files__heading .cg-label,.cg-faq .cg-label,.cg-final .cg-label { margin-bottom:24px; }
.cg-heading > p:last-child:not(.cg-label) { max-width:680px; color:var(--cg-muted); font-size:17px; margin-top:24px; }
.cg-task { display:grid; grid-template-columns:36px minmax(0,.9fr) minmax(0,1.2fr); gap:32px; align-items:center; padding-block:32px; border-top:1px solid var(--cg-line); }
.cg-task:last-child { border-bottom:1px solid var(--cg-line); }
.cg-number { font-size:13px; color:var(--cg-accent); }
.cg-task h3 { font-size:clamp(26px,3vw,40px); line-height:1.13; letter-spacing:-.04em; font-weight:700; overflow-wrap:anywhere; }
.cg-task p { font-size:16px; color:var(--cg-muted); }
.cg-files { background:var(--cg-panel); }
.cg-files__heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:48px; align-items:end; margin-bottom:42px; }
.cg-files__heading > p { color:var(--cg-muted); font-size:17px; }
.cg-workbench { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); border-top:1px solid var(--cg-line); border-bottom:1px solid var(--cg-line); }
.cg-demo-controls { padding-right:40px; }
.cg-demo-controls button { display:grid; grid-template-columns:24px 1fr auto; align-items:center; gap:16px; width:100%; min-height:92px; padding:20px 0; border:0; border-bottom:1px solid var(--cg-line); background:transparent; color:var(--cg-muted); text-align:left; cursor:pointer; font-size:13px; transition:color .2s; }
.cg-demo-controls button strong { font-size:19px; font-weight:650; }
.cg-demo-controls button[aria-pressed=true] { color:var(--cg-accent); }
.cg-demo-controls button[aria-pressed=true] strong::after { content:' ↗'; }
.cg-demo-paper { background:#f4f0e6; color:#263023; padding:36px; min-width:0; min-height:450px; }
.cg-demo-caption { font-size:12px; letter-spacing:.12em; font-weight:750; color:#5e6d50; }
.cg-page .cg-demo-prompt { margin-top:14px; font-size:18px; min-height:64px; line-height:1.5; }
.cg-document { margin-top:28px; padding:26px; border:1px solid #35452d33; background:#fffcf5; }
.cg-document__type { font-size:12px; font-weight:750; letter-spacing:.12em; color:#5e6d50; }
.cg-document h3 { font-family:Georgia,serif; font-size:30px; line-height:1.2; margin:12px 0; overflow-wrap:anywhere; }
.cg-document p { font-size:14px; color:#53604d; }
.cg-paper-lines { display:grid; gap:10px; margin-top:24px; }
.cg-paper-lines i { display:block; height:1px; background:#53604d40; }
.cg-paper-lines i:last-child { width:65%; }
.cg-page .cg-demo-note { margin-top:24px; font-size:13px; color:#5b6657; line-height:1.6; }
.cg-files__footer { display:flex; justify-content:space-between; align-items:center; gap:32px; margin-top:28px; }
.cg-files__footer p { font-size:16px; }
.cg-files__footer p span { font-size:14px; color:var(--cg-muted); }
.cg-model { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.45fr) 24px; gap:32px; align-items:center; padding:30px 0; border-top:1px solid var(--cg-line); }
.cg-model:last-child { border-bottom:1px solid var(--cg-line); }
.cg-model h3 { font-size:clamp(23px,2.5vw,32px); line-height:1.2; font-weight:650; margin:10px 0; overflow-wrap:anywhere; }
.cg-model p { color:var(--cg-muted); font-size:15px; max-width:580px; }
.cg-model__meta { display:grid; gap:10px; color:var(--cg-muted); font-size:14px; }
.cg-arrow { font-size:25px; color:var(--cg-accent); transition:transform .2s; }
.cg-model:hover h3 { color:var(--cg-accent); }
.cg-model:hover .cg-arrow { transform:translate(4px,-4px); }
.cg-how { border-block:1px solid var(--cg-line); }
.cg-how ol { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:36px; }
.cg-how li > span { font-family:Georgia,serif; font-style:italic; font-size:52px; color:var(--cg-accent); }
.cg-how h3 { font-size:23px; line-height:1.2; font-weight:650; margin:22px 0 14px; }
.cg-how p { color:var(--cg-muted); font-size:15px; }
.cg-faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; }
.cg-faq h2 { font-size:clamp(36px,4vw,52px); }
.cg-faq details { border-top:1px solid var(--cg-line); }
.cg-faq details:last-child { border-bottom:1px solid var(--cg-line); }
.cg-faq summary { display:flex; align-items:center; justify-content:space-between; gap:24px; cursor:pointer; list-style:none; font-size:16px; font-weight:650; min-height:78px; padding-block:20px; }
.cg-faq summary::-webkit-details-marker { display:none; }
.cg-faq summary span { color:var(--cg-accent); font-size:24px; flex-shrink:0; transition:transform .2s; }
.cg-faq details[open] summary span { transform:rotate(45deg); }
.cg-faq details p { padding-bottom:26px; color:var(--cg-muted); font-size:15px; }
.cg-final { background:#d8e4ba; color:#263723; --cg-accent:#4b6738; }
.cg-final h2 { font-size:clamp(40px,6vw,80px); max-width:900px; }
.cg-final .cg-button { margin-top:32px; background:#253721; color:#f6f7e9!important; }
.cg-final p:last-child { margin-top:20px; font-size:14px; }
.cg-related { display:flex; flex-wrap:wrap; gap:20px 36px; padding-block:32px; font-size:14px; }
.cg-related > span { margin-right:auto; color:var(--cg-muted); }
.cg-related a:hover { color:var(--cg-accent); }
.cg-pending { opacity:0; transform:translateY(22px); }
.cg-reveal { transition:opacity .65s,transform .65s; }
.cg-hero__copy { animation:cg-enter .8s both; }
@keyframes cg-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@media(min-width:821px) and (max-height:760px) { .cg-hero { min-height:620px; } .cg-hero h1 { font-size:110px; margin-block:14px 20px; } .cg-hero__copy { padding-block:20px; } }
@media(max-width:1000px) { .cg-shell { width:calc(100% - 48px); } .cg-files__heading { grid-template-columns:1fr; gap:24px; } .cg-workbench { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); } .cg-demo-controls { padding-right:24px; } .cg-demo-controls button { grid-template-columns:1fr auto; } .cg-demo-controls button strong { grid-column:1; } .cg-demo-paper { padding:26px; } .cg-faq { gap:36px; } }
@media(max-width:700px) { .cg-shell { width:calc(100% - 36px); } .cg-hero { height:auto; min-height:calc(100svh - 64px); } .cg-hero__inner { min-height:660px; } .cg-hero__image { object-position:65% center; } .cg-hero::after { background:linear-gradient(90deg,#0b150dde,#0b150d66),linear-gradient(0deg,#0b110d99,transparent); } .cg-hero h1 { font-size:clamp(58px,14vw,98px); } .cg-hero__footer { font-size:12px; flex-wrap:wrap; } .cg-task { grid-template-columns:24px minmax(0,1fr); gap:16px; } .cg-task p { grid-column:2; } .cg-workbench { grid-template-columns:1fr; } .cg-demo-controls { padding:0; display:flex; gap:20px; overflow:auto; } .cg-demo-controls button { display:flex; flex-direction:column; gap:8px; flex:1; min-width:78px; font-size:12px; } .cg-demo-controls button strong { font-size:16px; } .cg-demo-controls button[aria-pressed=true] strong::after { content:none; } .cg-demo-paper { padding:24px 20px; min-height:460px; } .cg-document { padding:20px; } .cg-files__footer { flex-direction:column; align-items:flex-start; gap:16px; } .cg-model { grid-template-columns:minmax(0,1fr) 24px; gap:20px; } .cg-model__meta { grid-column:1; } .cg-arrow { grid-column:2; grid-row:1 / span 2; } .cg-how ol,.cg-faq { grid-template-columns:1fr; gap:36px; } .cg-how li { border-top:1px solid var(--cg-line); padding-top:24px; } .cg-faq h2 { font-size:40px; } .cg-related > span { flex-basis:100%; } }
@media(prefers-reduced-motion:reduce) { .cg-page *, .cg-page *::before, .cg-page *::after { animation:none!important; transition:none!important; } .cg-pending { opacity:1; transform:none; } }
