/* V3 additions use GP5's existing typefaces and palette. */
#gp5-home .gp5-language {font:11px/1.2 var(--mono,monospace);letter-spacing:.08em;display:inline-flex;gap:6px;align-items:center;white-space:nowrap;opacity:.72;margin-left:4px;padding:10px 2px;text-decoration:none;border-bottom:1px solid transparent;}
#gp5-home .gp5-language:hover,#gp5-home .gp5-language:focus-visible{opacity:1;border-color:#d9fa52;}
#gp5-home .im-orb-brand {opacity:1;gap:5%;}
#gp5-home .im-orb-brand img{width:66%;}
#gp5-home .im-orb-brand span{font-size:7px;line-height:1.35;}
#gp5-home .im-orb-fallback{background:radial-gradient(circle at 32% 23%,#75796d,#22271f 34%,#0d100c 66%,#454d33 85%,#d9fa52);}
#gp5-home .im-orb-fallback::after{inset:18%;border:2px solid #d9fa52aa;background:radial-gradient(circle at 25% 20%,#55594a,#171916 60%);box-shadow:0 0 0 9px #151811,0 0 0 12px #68704f,0 10px 25px #0008;}
#gp5-home .im-orb-fallback b{position:relative;z-index:2;}
#gp5-home .im-build-piece{overflow:hidden;isolation:isolate;}
#gp5-home .im-build-piece .v3-process-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.85;}
#gp5-home .im-build-piece::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10140ee0 0%,#10140ed4 45%,#10140e7a 100%);z-index:-1;pointer-events:none;}
#gp5-home .im-build-piece small,#gp5-home .im-build-piece b,#gp5-home .im-build-piece span{position:relative;z-index:1;text-shadow:0 1px 8px #000;}
#gp5-home .im-build-piece b{color:#f0efe8;}
#gp5-home .im-film{padding:18px;display:flex;align-items:flex-end;}
#gp5-home .im-film span{padding:0!important;}
#gp5-home .v3-conversation-entry{padding:clamp(70px,9vw,140px) 5%;text-align:center;border-top:1px solid #f0efe819;border-bottom:1px solid #f0efe819;}
#gp5-home .v3-conversation-entry h2{max-width:850px;margin:15px auto 26px;}
#gp5-home .v3-conversation-entry>p:not(.gp5-mono){max-width:660px;margin:0 auto 28px;}
#gp5-home .v3-prompt-form{display:flex;align-items:center;gap:12px;max-width:760px;margin:32px auto 15px;padding:9px 10px 9px 22px;border:1px solid #f0efe83b;border-radius:8px;background:#252820;}
#gp5-home .v3-prompt-form input{width:100%;min-width:0;margin:0;border:0;background:transparent;color:#f0efe8;font:inherit;outline:none;padding:12px 0;}
#gp5-home .v3-prompt-form:focus-within{border-color:#d9fa52;box-shadow:0 0 0 2px #d9fa5222;}
#gp5-home .v3-prompt-form button{flex:none;width:44px;height:44px;background:#d9fa52;color:#171916;border:0;border-radius:4px;font-size:24px;cursor:pointer;}
#gp5-home .v3-entry-note{font-size:11px;letter-spacing:.08em;opacity:.65;}
#gp5-home .v3-entry-light{background:#f0efe8;color:#171916;}
#gp5-home .v3-web-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center;min-height:90vh;padding:160px 5% 80px;}
#gp5-home .v3-web-hero h1{font-size:clamp(58px,6vw,110px);line-height:.95;}
#gp5-home .v3-web-hero .gp5-lead{max-width:640px;}
#gp5-home .v3-web-visual{margin:0;position:relative;}
#gp5-home .v3-web-visual img{width:100%;height:55vh;min-height:320px;object-fit:cover;border-radius:3px;}
#gp5-home .v3-web-visual figcaption{font-size:11px;line-height:1.5;opacity:.65;margin-top:12px;}
#gp5-home .v3-three{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px;}
#gp5-home .v3-three article{padding-top:24px;border-top:1px solid currentColor;}
#gp5-home .v3-three h3{font-size:clamp(28px,3vw,44px);line-height:1.05;margin:15px 0;}
#gp5-home .v3-three p{font-size:17px;line-height:1.6;}
#gp5-home .v3-intro{max-width:800px;}
#gp5-home .v3-intro h2{font-size:clamp(48px,6vw,90px);}
#gp5-home .v3-process{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;list-style:none;padding:0;margin:50px 0 0;}
#gp5-home .v3-process li{border-top:1px solid #f0efe833;padding-top:20px;}
#gp5-home .v3-process h3{font-size:30px;margin:15px 0;}
#gp5-home .v3-answer-list{max-width:1000px;margin-top:45px;}
#gp5-home .v3-answer-list details{border-top:1px solid currentColor;padding:20px 0;}
#gp5-home .v3-answer-list summary{cursor:pointer;font-size:22px;line-height:1.4;}
#gp5-home .v3-answer-list p{max-width:800px;padding:10px 0 0;}
#gp5-home .v3-text-link{color:inherit;text-decoration:underline;text-underline-offset:4px;}
#gp5-home .v3-single-cta{padding:60px 0 0;}
/* Conversational brief: semantic controls and native keyboard navigation. */
body.v3-chat-page{background:#171916;color:#f0efe8;}
#gp5-home .v3-chat-shell{min-height:100svh;display:flex;flex-direction:column;max-width:1040px;margin:auto;padding:0 5%;}
#gp5-home .v3-chat-header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #f0efe825;padding:24px 0;}
#gp5-home .v3-chat-header img{width:74px;height:auto;}
#gp5-home .v3-chat-tools{display:flex;align-items:center;gap:20px;font-size:12px;}
#gp5-home .v3-chat-tools button{color:inherit;background:none;border:1px solid #f0efe833;padding:10px 12px;cursor:pointer;}
#gp5-home .v3-chat-intro{padding:38px 0 15px;}
#gp5-home .v3-chat-intro h1{font-size:clamp(38px,5vw,66px);margin:0;}
#gp5-home .v3-chat-intro p{font-size:14px;opacity:.7;}
#gp5-home .v3-chat-log{flex:1;display:flex;flex-direction:column;gap:20px;padding:20px 0 35px;}
#gp5-home .v3-chat-message{max-width:88%;padding:18px 22px;border:1px solid #f0efe825;border-radius:12px 12px 12px 2px;background:#24271f;font-size:17px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;}
#gp5-home .v3-chat-message[data-role=user]{align-self:flex-end;background:#d9fa5212;border-color:#d9fa5240;border-radius:12px 12px 2px 12px;}
#gp5-home .v3-chat-message small{display:block;color:#d9fa52;font-size:10px;letter-spacing:.12em;margin-bottom:7px;}
#gp5-home .v3-chat-composer{position:sticky;bottom:0;background:linear-gradient(transparent,#171916 15%);padding:25px 0 18px;}
#gp5-home .v3-chat-compose-row{display:flex;gap:12px;background:#24271f;border:1px solid #f0efe83b;border-radius:8px;padding:10px;align-items:flex-end;}
#gp5-home .v3-chat-compose-row textarea{resize:vertical;min-height:48px;max-height:160px;margin:0;width:100%;background:none;color:inherit;border:0;font:inherit;padding:10px;outline:none;}
#gp5-home .v3-chat-compose-row:focus-within{border-color:#d9fa52;}
#gp5-home .v3-chat-compose-row button{border:0;background:#d9fa52;color:#171916;width:48px;height:48px;cursor:pointer;font-size:24px;flex:none;}
#gp5-home .v3-chat-compose-row button:disabled{opacity:.4;cursor:wait;}
#gp5-home .v3-chat-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:12px;}
#gp5-home .v3-chat-actions a,#gp5-home .v3-chat-actions button{font:inherit;font-size:13px;color:#f0efe8;background:none;border:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:6px 0;}
#gp5-home .v3-chat-actions a{color:#d9fa52;}
#gp5-home .v3-chat-status{min-height:18px;font-size:12px;opacity:.75;margin:8px 0;}
#gp5-home .v3-chat-private{font-size:11px;line-height:1.45;opacity:.6;margin:10px 0 0;}
@media(max-width:1000px){#gp5-home .v3-web-hero{grid-template-columns:1fr;padding-top:130px;}#gp5-home .v3-web-visual img{height:40vh;}#gp5-home .v3-three{grid-template-columns:1fr 1fr;}#gp5-home .v3-process{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){#gp5-home .v3-three,#gp5-home .v3-process{grid-template-columns:1fr;}#gp5-home .v3-web-hero h1{font-size:56px;}#gp5-home .v3-chat-message{max-width:96%;font-size:16px;}#gp5-home .v3-chat-tools{gap:10px;}#gp5-home .gp5-language{padding:12px 0;}#gp5-home .v3-prompt-form{padding-left:12px;}#gp5-home .v3-prompt-form input{font-size:15px;}#gp5-home .v3-chat-header img{width:58px;}}
@media(prefers-reduced-motion:reduce){#gp5-home .v3-chat-message{animation:none;}}
#gp5-home .im-film{aspect-ratio:1.16;}
#gp5-home .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
#gp5-home .v3-chat-privacy-note{margin-top:60px;}
#gp5-home .v3-chat-shell{height:100svh;min-height:0;overflow:hidden;}
#gp5-home .v3-chat-header,#gp5-home .v3-chat-intro,#gp5-home .v3-chat-composer{flex-shrink:0;}
#gp5-home .v3-chat-log{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:10px;}
#gp5-home .v3-chat-composer{position:relative;padding-top:12px;}
@media(max-width:600px){#gp5-home .v3-chat-intro{padding:18px 0 5px;}#gp5-home .v3-chat-intro h1{font-size:34px;}#gp5-home .v3-chat-intro p{font-size:12px;}#gp5-home .v3-chat-header{padding:14px 0;}#gp5-home .v3-chat-private{font-size:10px;}#gp5-home .v3-chat-message{padding:14px;}}
