/* GIXFLOW structural base only; no visual theme is selected for the public frontend. */
:root { font-family: system-ui, sans-serif; color-scheme: light; }
*, *::before, *::after { box-sizing: border-box; }
body { margin:0; line-height:1.55; color:#1f2937; background:#fff; }
a { color:inherit; }
:focus-visible { outline: 2px solid currentColor; outline-offset:3px; }
.topbar, .footer { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; padding:1rem max(1rem,calc((100vw - 72rem)/2)); border-bottom:1px solid #ddd; }
.topbar nav { margin-left:auto; display:flex; align-items:center; flex-wrap:wrap; gap:1rem; }
.container { width:min(72rem,100%); margin:auto; padding:1.25rem; }
.content-grid { display:grid; grid-template-columns: minmax(0,2fr) minmax(14rem,1fr); gap:1.5rem; }
.content-grid.one-column { grid-template-columns:1fr; }
@media(max-width:48rem){ .content-grid { grid-template-columns:1fr; } }
img,video,canvas,svg { max-width:100%; }
input,textarea,button,select { font:inherit; }
.form { display:grid; gap:.75rem; }
.footer { border-bottom:0; border-top:1px solid #ddd; }
.inline-form { display:inline; }
/* v0.5: purely structural layout variants; themes can override these tokens. */
.gx-layout-wide {width:min(90rem,100%)}
.gx-layout-fullscreen {width:100%;max-width:none;padding-inline:clamp(.75rem,2vw,2rem)}
.gx-layout-sidebar-left .content-grid{grid-template-columns:minmax(12rem,1fr) minmax(0,3fr)}
.gx-layout-sidebar-right .content-grid{grid-template-columns:minmax(0,3fr) minmax(12rem,1fr)}
.gx-layout-three-column .content-grid{grid-template-columns:minmax(10rem,1fr) minmax(0,3fr) minmax(10rem,1fr)}
.gx-layout-three-column .gx-sidebar-left{order:-1}
.gx-node{min-width:0;margin-block:1rem}
.gx-team-list,.gx-price-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem;padding:0;list-style:none}
.gx-team-member,.gx-price-entry{min-width:0}
.gx-team-member img{max-width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.gx-team-links,.gx-price-features{list-style:disc;padding-inline-start:1.5rem}
@media(max-width:50rem){.gx-layout-sidebar-left .content-grid,.gx-layout-sidebar-right .content-grid,.gx-layout-three-column .content-grid{grid-template-columns:minmax(0,1fr)} }

.gx-layout-standard .content-grid,.gx-layout-wide .content-grid,.gx-layout-fullscreen .content-grid{grid-template-columns:minmax(0,1fr)}
