body:has(.gm-page) main.fx-shell { max-width:none; padding:0; }
.gm-page { --gm-bg:#111a2a; --gm-panel:#1b2941; --gm-text:#eff3fc; --gm-muted:#b1bfd5; --gm-line:#e1eaff2e; --gm-accent:#abc9ff; background:var(--gm-bg); color:var(--gm-text); font-family:Inter,ui-sans-serif,system-ui,sans-serif; overflow:clip; }
.theme-light .gm-page { --gm-bg:#f1f5fc; --gm-panel:#e3ecfa; --gm-text:#1b2d4b; --gm-muted:#536581; --gm-line:#24446f30; --gm-accent:#305da7; }
.gm-page *, .gm-page *::before, .gm-page *::after { box-sizing:border-box; }
.gm-page h1,.gm-page h2,.gm-page h3,.gm-page p,.gm-page ol { margin:0; }
.gm-page a { color:inherit; text-decoration:none; }
.gm-page button { font:inherit; }
.gm-page :focus-visible { outline:3px solid var(--gm-accent); outline-offset:5px; }
.gm-shell { width:min(100% - 96px,1240px); margin-inline:auto; }
.gm-section { padding-block:clamp(64px,8vw,116px); scroll-margin-top:80px; }
.gm-page p { line-height:1.75; }
.gm-page .gm-label { font-size:12px; font-weight:750; letter-spacing:.12em; line-height:1.6; color:var(--gm-accent); }
.gm-page h2 { font-size:clamp(36px,4.7vw,64px); line-height:1.08; font-weight:750; letter-spacing:-.045em; overflow-wrap:anywhere; }
.gm-page h2 em { font-family:Georgia,serif; font-weight:400; color:var(--gm-accent); }
.gm-hero { position:relative; isolation:isolate; height:min(900px,calc(100svh - 64px)); min-height:660px; color:#f4f7ff; background:#0e213b; --gm-accent:#b9d5ff; }
.gm-hero__image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:60% 50%; }
.gm-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#071527b8,#09182a55 45%,transparent 80%),linear-gradient(0deg,#08172988,transparent 35%); }
.gm-hero__inner { height:100%; display:flex; flex-direction:column; padding-block:24px; }
.gm-back { align-self:flex-start; font-size:14px; }
.gm-hero__copy { margin-block:auto; padding-block:28px; max-width:720px; }
.gm-hero h1 { font-size:clamp(80px,11vw,158px); font-weight:750; line-height:1; letter-spacing:-.07em; margin:20px 0 28px; }
.gm-hero h1 span { color:var(--gm-accent); display:inline-block; font-size:.45em; vertical-align:top; margin:.12em 0 0 .2em; }
.gm-page .gm-hero__lead { font-size:clamp(28px,3vw,42px); line-height:1.17; letter-spacing:-.025em; font-weight:550; }
.gm-page .gm-hero__text { font-size:17px; margin-top:22px; color:#d9e5f5; }
.gm-actions { display:flex; flex-wrap:wrap; gap:16px 28px; align-items:center; margin-top:28px; }
.gm-button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:56px; padding:16px 24px; background:#b9d5ff; color:#173253!important; font-size:15px; font-weight:750; transition:transform .2s,background .2s; }
.gm-button:hover { transform:translateY(-3px); background:#dbeaff; }
.gm-link { display:inline-flex; align-items:center; min-height:48px; font-size:15px; font-weight:650; border-bottom:1px solid currentColor; }
.gm-link:hover { color:var(--gm-accent); }
.gm-hero__footer { display:flex; justify-content:space-between; gap:16px; border-top:1px solid #ffffff40; padding-top:18px; font-size:13px; }
.gm-heading { margin-bottom:44px; }
.gm-heading .gm-label,.gm-files__intro .gm-label,.gm-workflow .gm-label,.gm-faq .gm-label,.gm-final .gm-label { margin-bottom:24px; }
.gm-heading > p:last-child:not(.gm-label),.gm-files__intro > p:last-child { max-width:680px; color:var(--gm-muted); font-size:17px; margin-top:24px; }
.gm-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.gm-capabilities article { border-top:1px solid var(--gm-line); padding-top:26px; min-width:0; }
.gm-number { color:var(--gm-accent); font-size:12px; font-weight:700; letter-spacing:.08em; }
.gm-capabilities h3 { font-size:clamp(25px,2.6vw,36px); font-weight:650; letter-spacing:-.035em; line-height:1.15; margin:36px 0 20px; overflow-wrap:anywhere; }
.gm-capabilities p { color:var(--gm-muted); font-size:16px; }
.gm-files { background:var(--gm-panel); }
.gm-files__intro { margin-bottom:44px; }
.gm-file-lab { border:1px solid var(--gm-line); }
.gm-format-switch { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--gm-line); }
.gm-format-switch button { cursor:pointer; border:0; border-right:1px solid var(--gm-line); background:transparent; color:var(--gm-muted); padding:24px; text-align:left; transition:background .2s,color .2s; }
.gm-format-switch button:last-child { border-right:0; }
.gm-format-switch button strong { display:block; font-size:24px; font-weight:650; overflow-wrap:anywhere; }
.gm-format-switch button span { display:block; margin-top:6px; font-size:14px; }
.gm-format-switch button[aria-pressed=true] { background:#b9d5ff; color:#173253; }
.gm-file-preview { padding:36px; min-height:340px; min-width:0; }
.gm-file-preview__top { display:flex; justify-content:space-between; gap:20px; font-size:13px; color:var(--gm-accent); }
.gm-file-preview__top span:first-child { font-family:ui-monospace,Consolas,monospace; overflow-wrap:anywhere; }
.gm-file-preview > p[data-gm-prompt] { margin-top:24px; font-size:18px; }
.gm-file-preview pre { padding:24px 0; white-space:pre-wrap; overflow-wrap:anywhere; font-family:ui-monospace,Consolas,monospace; font-size:15px; line-height:1.85; min-height:150px; color:var(--gm-text); background:none; margin:0; }
.gm-page .gm-demo-note { font-size:13px; color:var(--gm-muted); line-height:1.6; }
.gm-file-bottom { display:flex; justify-content:space-between; align-items:center; gap:32px; margin-top:28px; }
.gm-file-bottom p { font-size:16px; }
.gm-file-bottom p span { font-size:14px; color:var(--gm-muted); }
.gm-page .gm-format-note { border-top:1px solid var(--gm-line); padding-top:24px; margin-top:32px; font-size:14px; color:var(--gm-muted); }
.gm-format-note a { text-decoration:underline; text-underline-offset:4px; color:var(--gm-accent); }
.gm-workflow { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; }
.gm-workflow h2 { font-size:clamp(36px,3.8vw,52px); }
.gm-workflow ol { list-style:none; padding:0; }
.gm-workflow li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:24px; border-top:1px solid var(--gm-line); padding-block:28px; }
.gm-workflow li > span { color:var(--gm-accent); font-size:13px; }
.gm-workflow h3 { font-size:23px; line-height:1.2; margin-bottom:14px; font-weight:650; }
.gm-workflow p { color:var(--gm-muted); font-size:15px; }
.gm-model-section { background:var(--gm-panel); }
.gm-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(--gm-line); }
.gm-model:last-child { border-bottom:1px solid var(--gm-line); }
.gm-model h3 { font-size:clamp(23px,2.5vw,32px); line-height:1.2; font-weight:650; margin:10px 0; overflow-wrap:anywhere; }
.gm-model p { color:var(--gm-muted); font-size:15px; max-width:580px; }
.gm-model__meta { display:grid; gap:10px; color:var(--gm-muted); font-size:14px; }
.gm-arrow { font-size:25px; color:var(--gm-accent); transition:transform .2s; }
.gm-model:hover h3 { color:var(--gm-accent); }
.gm-model:hover .gm-arrow { transform:translate(4px,-4px); }
.gm-faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; }
.gm-faq h2 { font-size:clamp(36px,4vw,52px); }
.gm-faq details { border-top:1px solid var(--gm-line); }
.gm-faq details:last-child { border-bottom:1px solid var(--gm-line); }
.gm-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; }
.gm-faq summary::-webkit-details-marker { display:none; }
.gm-faq summary span { color:var(--gm-accent); font-size:24px; flex-shrink:0; transition:transform .2s; }
.gm-faq details[open] summary span { transform:rotate(45deg); }
.gm-faq details p { padding-bottom:26px; color:var(--gm-muted); font-size:15px; }
.gm-final { background:#b9d5ff; color:#16355d; --gm-accent:#305a91; }
.gm-final h2 { font-size:clamp(40px,6vw,80px); max-width:920px; }
.gm-final .gm-button { margin-top:32px; background:#17365a; color:#eff5ff!important; }
.gm-final p:last-child { margin-top:20px; font-size:14px; }
.gm-related { display:flex; flex-wrap:wrap; gap:20px 36px; padding-block:32px; font-size:14px; }
.gm-related > span { margin-right:auto; color:var(--gm-muted); }
.gm-related a:hover { color:var(--gm-accent); }
.gm-pending { opacity:0; transform:translateY(22px); }
.gm-reveal { transition:opacity .65s,transform .65s; }
.gm-hero__copy { animation:gm-enter .8s both; }
@keyframes gm-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@media(min-width:821px) and (max-height:760px) { .gm-hero { min-height:620px; } .gm-hero h1 { font-size:110px; margin-block:14px 20px; } .gm-hero__copy { padding-block:20px; } }
@media(max-width:1000px) { .gm-shell { width:calc(100% - 48px); } .gm-capabilities { gap:24px; } .gm-workflow,.gm-faq { gap:36px; } }
@media(max-width:700px) { .gm-shell { width:calc(100% - 36px); } .gm-hero { height:auto; min-height:calc(100svh - 64px); } .gm-hero__inner { min-height:660px; } .gm-hero__image { object-position:67% center; } .gm-hero::after { background:linear-gradient(90deg,#08172cde,#08172c66),linear-gradient(0deg,#08172c99,transparent); } .gm-hero h1 { font-size:clamp(60px,15vw,104px); } .gm-hero__footer { font-size:12px; flex-wrap:wrap; } .gm-capabilities,.gm-workflow,.gm-faq { grid-template-columns:1fr; gap:36px; } .gm-capabilities h3 { margin-top:24px; font-size:32px; } .gm-format-switch button { padding:20px 12px; } .gm-format-switch button strong { font-size:clamp(15px,4.5vw,22px); } .gm-format-switch button span { font-size:13px; } .gm-file-preview { padding:24px 18px; min-height:410px; } .gm-file-preview pre { font-size:13px; } .gm-file-bottom { flex-direction:column; align-items:flex-start; gap:16px; } .gm-model { grid-template-columns:minmax(0,1fr) 24px; gap:20px; } .gm-model__meta { grid-column:1; } .gm-arrow { grid-column:2; grid-row:1 / span 2; } .gm-faq h2 { font-size:40px; } .gm-related > span { flex-basis:100%; } }
@media(prefers-reduced-motion:reduce) { .gm-page *, .gm-page *::before, .gm-page *::after { animation:none!important; transition:none!important; } .gm-pending { opacity:1; transform:none; } }
