.gc-prototype { margin:0; }
.gc-prototype [hidden] { display:none!important; }
.prototype-header { max-width:1440px; margin:auto; padding:30px 5%; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.prototype-header>span,.prototype-note { color:var(--muted); font:13px/1.5 Arial,sans-serif; }
.explorer { max-width:1440px; margin:20px auto 0; padding:0 5% 40px; }
.explorer-heading { text-align:center; margin-bottom:38px; }
.explorer-heading :is(h1,h2) { font:40px/1.1 'Bowlby One SC',sans-serif; margin:0 0 14px; }
.explorer-heading>p { font:clamp(32px,4vw,52px)/1.1 Georgia,serif; margin:0; }
.context-bar { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.context-bar>p { margin:0; font:15px/1.5 Arial,sans-serif; color:var(--muted); }
.context-bar strong { color:var(--ink); }
.return-control { border:0; padding:10px 0 10px 14px; background:none; color:var(--tgc-purple); font:600 15px/1.5 Arial,sans-serif; cursor:pointer; flex-shrink:0; }
.stage { position:relative; min-height:720px; }
.capabilities { position:absolute; inset:0; display:flex; justify-content:space-between; align-items:center; z-index:1; }
.capability-side { display:flex; flex-direction:column; gap:56px; width:23%; }
.capability-side.right { text-align:right; }
.capability-side button { border:0; background:none; padding:16px 0; text-align:inherit; color:var(--ink); font:clamp(21px,2vw,28px)/1.2 Georgia,serif; cursor:pointer; }
.capability-side button:hover { color:var(--tgc-purple); }
.gc-prototype button:focus-visible { outline:3px solid var(--tgc-purple); outline-offset:5px; border-radius:4px; }
.gc-frame { position:relative; z-index:3; width:48%; margin-left:26%; padding:25px; min-height:650px; border-radius:4px; background:var(--canvas); transition:transform 300ms cubic-bezier(.2,.7,.2,1); }
.gc-frame .preview-brand { font-size:28px; margin-bottom:28px; }
.gc-frame .preview-spectrum { margin-top:13px; height:4px; }
.gc-frame .preview-experience { margin-bottom:22px; }
.gc-frame .preview-experience h3 { font-size:28px; }
.gc-frame .preview-private { min-height:420px; }
.gc-frame .preview-private-body { padding:20px; justify-content:space-between; gap:26px; }
#personal-content { flex:1; display:flex; flex-direction:column; justify-content:center; }
#personal-content h3 { font:700 22px/1.25 Arial,sans-serif; margin:0 0 12px; }
#personal-content p { font:16px/1.5 Arial,sans-serif; margin:0 0 16px; }
.explorer[data-direction="right"] .gc-frame { transform:translateX(54%); }
.explorer[data-direction="left"] .gc-frame { transform:translateX(-54%); }
.contextual-content { position:absolute; top:0; width:46%; padding:25px 8px 25px 0; }
.explorer[data-direction="right"] .contextual-content { left:0; }
.explorer[data-direction="left"] .contextual-content { right:0; padding:25px 0 25px 8px; }
.contextual-content h2 { font:28px/1.2 Georgia,serif; margin:0 0 8px; }
.contextual-content .section-caption { font:13px/1.5 Arial,sans-serif; color:var(--muted); margin:0 0 22px; }
.contextual-content .preview-messages { gap:14px; padding:0 0 20px; }
.contextual-content .preview-bubble { transition:box-shadow 150ms; }
.contextual-content .preview-bubble p { font-size:16px; }
.contextual-content .preview-bubble.source-active { box-shadow:0 0 0 3px var(--tgc-purple); }
.contextual-content .preview-bubble:focus { outline:3px solid var(--tgc-purple); outline-offset:4px; }
.detail-list { display:grid; gap:12px; margin:0 0 20px; }
.detail-list button { background:transparent; border:0; border-bottom:1px solid var(--line); padding:10px 0 14px; text-align:left; color:var(--ink); font:16px/1.4 Arial,sans-serif; cursor:pointer; }
.detail-list button strong { display:block; margin-bottom:4px; }
.detail-list button span { color:var(--tgc-purple); font-size:13px; }
.private-request { align-self:flex-end; background:color-mix(in srgb,var(--tgc-purple) 13%,var(--paper)); padding:12px 15px; border-radius:20px 20px 5px 20px; }
.findings { padding-left:20px; margin:0 0 18px; font:15px/1.6 Arial,sans-serif; }
.findings li { margin-bottom:8px; }
#personal-content .disclaimer,.roadmap .disclaimer { font:13px/1.5 Arial,sans-serif; color:var(--muted); }
.draft-label { color:var(--tgc-purple); font:700 12px/1.5 Arial,sans-serif; letter-spacing:1px; margin:0 0 8px; }
.draft-composer { display:block; padding:16px; color:var(--ink); font:16px/1.55 Arial,sans-serif; }
.draft-composer p { margin:0 0 14px; }
.draft-composer span { font-size:13px; color:var(--muted); }
.summary-label { color:var(--tgc-purple); font:700 12px/1.5 Arial,sans-serif!important; letter-spacing:1px; margin:8px 0!important; }
.roadmap { padding-top:65px; }
.roadmap .eyebrow { color:var(--tgc-purple); font:700 12px/1.5 Arial,sans-serif; letter-spacing:1.5px; margin:0 0 20px; }
.roadmap h2 { font-size:34px; margin-bottom:24px; }
.roadmap h3 { font:700 18px/1.4 Arial,sans-serif; margin:28px 0 8px; }
.roadmap p { font:17px/1.6 Arial,sans-serif; }
.roadmap .disclaimer { margin-top:28px; }
.prototype-note { text-align:center; margin:26px 0 0; }
@media(max-width:850px) {
 .prototype-header { padding:22px 6%; align-items:flex-start; }
 .prototype-header>span { max-width:130px; text-align:right; font-size:11px; }
 .prototype-header .wordmark { font-size:15px; }
 .explorer { padding-inline:6%; margin-top:24px; }
 .explorer-heading { margin-bottom:25px; }
 .explorer-heading :is(h1,h2) { font-size:32px; }
 .context-bar { align-items:flex-start; flex-direction:column; margin-bottom:20px; gap:8px; }
 .return-control { padding:8px 0; }
 .stage { display:flex; flex-direction:column; min-height:0; }
 .capabilities { position:static; order:0; gap:20px; align-items:flex-start; margin-bottom:20px; }
 .capability-side { width:50%; gap:8px; }
 .capability-side button { font-size:22px; min-height:68px; }
 .gc-frame { width:100%; margin:0; padding:20px 0; min-height:0; transform:none!important; transition:none; }
 .gc-frame .preview-brand { font-size:26px; }
 .gc-frame .preview-private-header { gap:8px; padding:16px 12px; }
 .gc-frame .preview-private-body { padding:18px 15px; }
 .gc-frame .preview-private { min-height:350px; }
 .contextual-content { position:static; width:100%; padding:28px 0!important; }
 .roadmap { padding-top:0; }
 .prototype-note { margin-top:12px; }
}
@media(prefers-reduced-motion:reduce) { .gc-frame,.contextual-content .preview-bubble { transition:none; } }

.explorer[data-direction="right"] .capability-side.left,
.explorer[data-direction="left"] .capability-side.right { visibility:hidden; }
@media(max-width:850px) { .explorer:not([data-state="rest"]) .capabilities { display:none; } }
.gc-prototype .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

/* The shared product identity stays still; only the Personal frame moves. */
.shared-product-heading { margin:12px 0 24px; }
.shared-product-heading .preview-brand { font-size:28px; margin-bottom:28px; }
.shared-product-heading .preview-spectrum { height:4px; margin-top:13px; }
.shared-product-heading .preview-experience { margin:0; }
.shared-product-heading .preview-experience h3 { font-size:28px; }
.stage { display:grid; grid-template-columns:100%; min-height:0; }
.gc-frame { grid-area:1 / 1; padding:0; min-height:570px; display:flex; flex-direction:column; align-self:stretch; }
.gc-frame .preview-private { flex:1; }
.contextual-content { grid-area:1 / 1; position:relative; top:auto; padding:0!important; display:flex; flex-direction:column; align-self:stretch; }
.explorer[data-direction="right"] .contextual-content { left:auto; justify-self:start; }
.explorer[data-direction="left"] .contextual-content { right:auto; justify-self:end; }
.contextual-content .section-caption { display:flex; align-items:center; min-height:80px; margin:0; padding:20px 0; }
.contextual-content .preview-conversation { flex:1; padding:0; }
.contextual-content .preview-messages { flex:1; }
.draft-actions { display:flex; gap:16px; align-items:flex-end; justify-content:space-between; }
.draft-composer .preview-send { font-size:24px; color:var(--muted); border:0; padding:0; }
@media(max-width:850px) {
 .stage { display:flex; }
 .gc-frame { min-height:0; padding:0; }
 .contextual-content { padding-top:26px!important; }
 .shared-product-heading .preview-brand { font-size:26px; }
 .shared-product-heading { margin-top:0; }
}
