/* contact-page.css: the production page styles of contact.html scoped to its content, like the Codex prototype generator did for about/legal; maintained here. Scoped to .pp-public pages; see docs/PUBLIC_PAGES_CHANGE_IMPACT.md. */
.pp-public .public-page *{margin: 0; padding: 0; box-sizing: border-box;}
.pp-public .public-page{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 100%);
            min-height: 100vh;
            color: #1a1a1a;}
.pp-public .public-page .btn{padding: 10px 20px;
            border-radius: 8px;
            font-weight: 500;
            text-decoration: none;
            transition: all 0.2s;
            border: none;
            cursor: pointer;
            font-size: 14px;}
.pp-public .public-page .btn-secondary{background: #f5f5f5; color: #1a1a1a;}
.pp-public .public-page .btn-secondary:hover{background: #e8e8e8;}
.pp-public .public-page .btn-primary{background: #91BD62; color: white;}
.pp-public .public-page .btn-primary:hover{background: #7DA854;}
.pp-public .public-page .hero{text-align: center;
            padding: 60px 24px 40px;
            max-width: 900px;
            margin: 0 auto;}
.pp-public .public-page .hero h1{font-size: 2.5rem;
            font-weight: 700;
            margin-bottom: 16px;
            background: linear-gradient(135deg, #1a1a1a 0%, #444 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;}
.pp-public .public-page .hero p{font-size: 1.1rem;
            color: #666;
            line-height: 1.6;
            max-width: 600px;
            margin: 0 auto;}
.pp-public .public-page .contact-section{max-width: 1100px;
            margin: 0 auto;
            padding: 40px 24px 80px;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 48px;}
@media (max-width: 768px){.pp-public .public-page .contact-section{grid-template-columns: 1fr;
                gap: 32px;}.pp-public .public-page .hero h1{font-size: 2rem;}}
.pp-public .public-page .contact-info{background: white;
            border-radius: 16px;
            padding: 40px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.06);}
.pp-public .public-page .contact-info h2{font-size: 1.5rem;
            font-weight: 600;
            margin-bottom: 24px;
            color: #1a1a1a;}
.pp-public .public-page .info-item{display: flex;
            align-items: flex-start;
            gap: 16px;
            padding: 16px 0;
            border-bottom: 1px solid #f0f0f0;}
.pp-public .public-page .info-item:last-child{border-bottom: none;}
.pp-public .public-page .info-icon{width: 40px;
            height: 40px;
            background: #f5f7fa;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;}
.pp-public .public-page .info-icon i{color: #91BD62;}
.pp-public .public-page .info-content h3{font-size: 14px;
            font-weight: 600;
            color: #1a1a1a;
            margin-bottom: 4px;}
.pp-public .public-page .info-content p{color: #666;
            font-size: 14px;
            line-height: 1.5;}
.pp-public .public-page .company-details{margin-top: 32px;
            padding-top: 24px;
            border-top: 2px solid #f0f0f0;}
.pp-public .public-page .company-details h3{font-size: 14px;
            font-weight: 600;
            color: #1a1a1a;
            margin-bottom: 16px;
            text-transform: uppercase;
            letter-spacing: 0.5px;}
.pp-public .public-page .detail-row{display: flex;
            justify-content: space-between;
            padding: 8px 0;
            font-size: 14px;}
.pp-public .public-page .detail-label{color: #666;}
.pp-public .public-page .detail-value{color: #1a1a1a; 
            font-weight: 500;
            font-family: 'SF Mono', Monaco, monospace;}
.pp-public .public-page .contact-form-card{background: white;
            border-radius: 16px;
            padding: 40px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.06);}
.pp-public .public-page .contact-form-card h2{font-size: 1.5rem;
            font-weight: 600;
            margin-bottom: 8px;
            color: #1a1a1a;}
.pp-public .public-page .contact-form-card > p{color: #666;
            margin-bottom: 24px;
            font-size: 14px;}
.pp-public .public-page .form-group{margin-bottom: 20px;}
.pp-public .public-page .form-group label{display: block;
            font-size: 14px;
            font-weight: 500;
            color: #1a1a1a;
            margin-bottom: 8px;}
.pp-public .public-page .form-group input,.pp-public .public-page .form-group textarea,.pp-public .public-page .form-group select{width: 100%;
            padding: 12px 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            font-size: 14px;
            font-family: inherit;
            transition: border-color 0.2s, box-shadow 0.2s;}
.pp-public .public-page .form-group input:focus,.pp-public .public-page .form-group textarea:focus,.pp-public .public-page .form-group select:focus{outline: none;
            border-color: #91BD62;
            box-shadow: 0 0 0 3px rgba(145, 189, 98, 0.1);}
.pp-public .public-page .form-group textarea{min-height: 120px;
            resize: vertical;}
.pp-public .public-page .form-submit{width: 100%;
            padding: 14px 24px;
            background: #91BD62;
            color: white;
            border: none;
            border-radius: 8px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;}
.pp-public .public-page .form-submit:hover{background: #7DA854;}
.pp-public .public-page .form-submit:disabled{background: #ccc;
            cursor: not-allowed;}
.pp-public .public-page .alert{padding: 16px;
            border-radius: 8px;
            margin-bottom: 20px;
            font-size: 14px;}
.pp-public .public-page .alert-success{background: #d4edda;
            color: #155724;
            border: 1px solid #c3e6cb;}
.pp-public .public-page .alert-error{background: #f8d7da;
            color: #721c24;
            border: 1px solid #f5c6cb;}
/* Production additions (no prototype exists for this page): the shared gold palette and page width. */
.pp-public .public-page.page-contact{background:transparent}
.pp-public .page-contact .contact-section{max-width:1360px;width:min(1360px,calc(100% - 96px));padding-left:0;padding-right:0}
@media(max-width:850px){.pp-public .page-contact .contact-section{width:calc(100% - 48px)}}
@media(max-width:600px){.pp-public .page-contact .contact-section{width:calc(100% - 40px)}}
.pp-public .page-contact .info-icon i{color:#765035}
.pp-public .page-contact .form-group input:focus,.pp-public .page-contact .form-group textarea:focus,.pp-public .page-contact .form-group select:focus{border-color:#765035;box-shadow:0 0 0 3px #7650351f}
.pp-public .page-contact .form-submit{background:#765035}
.pp-public .page-contact .form-submit:hover{background:#39291f}
