

/* pages.css - styles specific to individual pages like founder, executive hub, product, etc. */

/* ====================================
FOUNDER PAGE
==================================== */

.founder-header img{
    width:160px;
    height:160px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid var(--primary);
}

.founder-header {
    display: flex;
    align-items: center;
    justify-content: center; /* Centers the whole group in the page */
    gap: 30px;
    margin-bottom: 30px;
    text-align: left;        /* Keeps text professional on the right */
}

/* On Mobile, stack them */
@media (max-width: 768px) {
    .founder-header {
        flex-direction: column;
        text-align: center;
    }
}

.founder-info h1 {
    margin-bottom: 10px;
}

.founder-info p {
    margin: 5px 0;
}


.resume-container {
    width: 100%;
    margin: 0 auto;
    max-width: var(--max-width);
    padding: 0 12px;
    border: 1px solid #e9e6e6;
    box-shadow: 0 0 10px rgba(220, 218, 218, 0.1);

        /* overflow-y: auto; */
    overflow: visible;
}


.highlight {
    background: #f8fafc;
    border-left: 5px solid var(--primary);;
    padding: 16px 20px;
    margin-top: 30px;
    border-radius: 8px;
}

.page_card {
      background: #f8fafc;
      border-left: 5px solid var(--bg-accent);;
      padding: 16px 20px;
      margin-top: 30px;
      border-radius: 8px;
    }
.resume_card {
      background: white !important;
      border: 5px solid var(--bg-accent);
      padding-top: 80px !important;
      padding-bottom: 80px !important;
      /* padding: 16px 10px; */
      padding-left: 60px;
      padding-right: 60px;
      margin-top: 0;
      margin-bottom: 80px;
      
    }

.space_card {

      padding-top: 80px !important;
      padding-bottom: 80px !important;
      /* padding: 16px 10px; */
      padding-left: 10px;
      padding-right: 10px;
      margin-top: 0;
      margin-bottom: 80px;
      background: transparent !important;
      
    }
 

.founder-info {
    text-align: center !important;
}

.page_container {
    width: 100%;
    max-width: var(--max-width);
    /* margin: 80px 0; */
    margin-top: 20px;
    margin-bottom: 80px;
    padding: 0 24px;
    
}

.about-page_container {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 12px;
        /* overflow-y: auto; */
    overflow: visible;
}

@media (max-width: 768px) {

  .page_container,
  .resume-container {
    width: 100%;
    padding: 0 16px;
  }

}
/* ======================
engage PAGE container
========================= */


.page-engage-container {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 12px;
    /* overflow-y: auto; */
    overflow: visible;
}

.engage-container {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 12px;
  /* overflow-y: auto; */
  overflow: visible;
}


.engage_page_h1 {
    font-size: 2.6rem;
    text-align: center;
    margin-bottom: 10px;
}

.engage_page_h2{
    border-bottom:none;
    padding-bottom:6px;
    padding-top:20px;
    text-align:center;
    color:var(--primary) !important;
    display:block;
    margin-left:auto;
    margin-right:auto;
    font-size: 1.6rem;
    
}

/* ======================
product PAGE container
========================= */
.product_page_container {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 10 24px;
}


/* The tagline needs to be muted but crisp */
.tagline-professional {
    color: #475569 !important; /* Slate color from your design system */
    font-size: 1.125rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
    display: block;
}

.resume_h2{
    border-bottom:2px solid var(--primary);
    padding-bottom:6px;
    margin-top:30px;
    margin-bottom:15px;
    font-size:20px;
    display:block;
}


.product_page_h2{
    padding-top:60px;
}
    
.price_page_h2{
    border-bottom:none;
    padding-bottom:6px;
    padding-top:30px;
    text-align:center;
    color:var(--primary);
    display:block;
    margin-left:auto;
    margin-right:auto;
    font-size: 32px;
}


/* Class to remove the border on certain section sub-titles/headers */
.no-border {
  border-bottom: none !important;
}
        
.no-border_service {
  border-bottom: none !important;
  color: var(--primary);
  text-align: center;
  display: block;
  margin: 0 auto 10px auto;
  font-size: 32px;
}


.contact-info, .job-title {
  margin-bottom: 15px;
}

        
.contact-info p {
  margin: 0;
}

        
.dates {
  font-style: italic;
  float: right;
}

.skills-list {
  list-style: none;
  padding: 0;
  margin: 5px 0 10px 0;
}

.skills-list li {
  display: inline-block;
  margin-right: 15px;
  padding: 3px 8px;
  background-color: #f0f0f0;
  border-radius: 3px;
  font-size: 14px;
}

/* Custom list styling for job/education/certifications */
.bullet-list {
  list-style-type: disc;
  padding-left: 20px;
  margin-top: 5px;
  margin-bottom: 20px;
}

.bullet-list li {
  margin-bottom: 15px;
  line-height: 1.4;
}

.bullet-list li strong {
  font-size: 16px;
  font-weight: bold;
}

.bullet-list li .dates {
  font-weight: normal; /* To counteract the strong tag */
}

        /* General bullet list style */
ul {
  padding-left: 20px;
}

@media (max-width:768px) {
  .hero h1 { font-size:2.4rem; }
  .nav-links { display:none; }
  }

/* ====================================
EXECUTIVE INTELLIGENCE HUB PAGE
==================================== */

.exec-hub-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 65px 45px;
    border: 1px solid #ddd;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.07);
    background-color: #fff;
}

.exec-hub-container h2 {
    color: #1a1a1a;
    font-size: 28px;
    border-bottom: 3px solid var(--primary);
    padding-bottom: 10px;
    margin-top: 0;
    margin-bottom: 25px;
}

.exec-hub-container h3 {
    color: var(--primary);
    font-size: 22px;
    margin-top: 35px;
    margin-bottom: 10px;
}

.exec-hub-container h4 {
    color: var(--primary);
    font-size: 18px;
    margin-bottom: 10px;
}

.exec-hub-container p {
    margin-bottom: 18px;
}

.exec-hub-container ul {
    list-style: none;
    padding-left: 0;
}

.exec-hub-container ul li {
    margin-bottom: 12px;
    padding-left: 24px;
    position: relative;
}

.exec-hub-container ul li::before {
    content: "▶";
    color: var(--primary);
    font-weight: bold;
    position: absolute;
    left: 0;
}

.exec-hub-highlight {
    background-color: #eef6ff;
    border-left: 4px solid var(--primary);
    padding: 12px 18px;
    margin: 25px 0;
    border-radius: 6px;
}

.exec-hub-divider {
    border: none;
    border-top: 2px solid #e0e0e0;
    margin: 40px 0;
}

.exec-hub-footer {
    max-width: 900px;
    margin: 25px auto 0;
    padding: 10px 0;
    text-align: center;
    font-size: 12px;
    color: #777;
    border-top: 1px solid #eee;
}
/* ====================================
PRICES PAGE UNDER CONSTRUCTION MESSAGE
==================================== */


.implementation-message {
  display: none;
  position: absolute;
  bottom: 70px; /* appears above button */
  left: 50%;
  transform: translateX(-50%);
  width: 85%;
  padding: 0.8rem 1rem;
  background: #fff3cd;
  color: #856404;
  border-radius: 8px;
  font-size: 0.9rem;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
  z-index: 10;
  animation: fadeIn 0.25s ease;
}

/* optional arrow */
.implementation-message::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: #1e293b transparent transparent transparent;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translate(-50%, 10px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

/* ====================================
INTAKE FORM IMPROVEMENTS
==================================== */

/* Make form wider */
.contact-box {
  max-width: var(--form-max-width);   /* increased from 600px */
  width: 100%;
  margin: 0 auto;
}

/* Form layout */
#clientForm {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ====================================
FORM FIELD BORDERS (VISIBLE + PREMIUM)
==================================== */

#clientForm input,
#clientForm select,
#clientForm textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid #cbd5e1;   /* stronger visible border */
  border-radius: 8px;
  font-size: 0.95rem;
  font-family: inherit;
  background: #ffffff;
  transition: all 0.2s ease;
}

/* Hover effect */
#clientForm input:hover,
#clientForm select:hover,
#clientForm textarea:hover {
  border-color: #94a3b8;
}

/* Focus (important for UX) */
#clientForm input:focus,
#clientForm select:focus,
#clientForm textarea:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}

/* Larger textarea */
#clientForm textarea {
  min-height: 140px;
  resize: vertical;
}

/* Button alignment */
#clientForm button {
  align-self: flex-start;
}

#clientForm input::placeholder,
#clientForm textarea::placeholder {
  color: #94a3b8;
}

/* =========================
   ALTERNATING SECTIONS
========================= */

.section-alt {
  background: #f8fafc;
  padding: 30px 0;
  border-radius: 12px;
}

.section-normal {
  padding: 30px 0;/* 4consistent padding with alt sections */
}

/* =========================
   SECTION SPACING
========================= */

.section-block {
  margin-top: 40px;
 
}

.section-block:first-child {
  margin-top: 40px;
}

button:disabled,
button.submit-btn:disabled {
  background-color: #ccc;
  color: #666;
  cursor: not-allowed;
  opacity: 0.7;
}

/* ========================
   LEGAL PAGE, TERMS, PRIVACY
========================= */

.legal-container {
    width: 100%;
    margin: 0 auto;
    max-width: var(--max-width);
    padding: 80px 50px;
    overflow-y: auto;
    border: 1px solid #e9e6e6;
    box-shadow: 0 0 10px rgba(220, 218, 218, 0.1);
    background-color: white;
}


.legal-container h1 {
  font-size: 2.5rem;
  text-align: center;
  margin-bottom: 20px;
}

.legal-container h2 {
  font-size: 1.8rem;
  margin-top: 30px;
  margin-bottom: 15px;
  border-bottom: 2px solid var(--primary);
  padding-bottom: 6px;
}

.legal-container p {
  margin-top: 16px;
  font-size: 1.05rem;
  line-height: 1.6;
}







/* ================================
ARCHITECTURE CARD
================================ */

.architecture-card{
    width:100%;
    grid-column:1 / -1; /* full width */
    max-width: 100%;
    /*overflow: hidden;  Prevent horizontal scroll on parent */
}

.architecture-frame-wrapper{
    position:relative;
    width:100%;

    height:min(90vh, 1255px);
   

    margin-top:20px;
    

    border-radius:20px;
    overflow:hidden;

    background:#ffffff;
    border:1px solid rgba(0,0,0,0.08);

    box-shadow:0 10px 30px rgba(0,0,0,0.06);

   
}

.architecture-frame-wrapper iframe{
    position: relative;

    width:100%;
    height:100%;
    padding:0 !important;
    margin:0 !important;
    border:none;
    display:block;

    
}

/* Responsive */

@media (max-width:768px){

    .architecture-frame-wrapper{
        position:relative;
        width:100%;
        height:min(40vh, 1150px);

        
    }

}

@media (max-width: 600px) {
    .architecture-frame-wrapper iframe {
        /* If the diagram is too big, shrink it to 80% */
        width: 125%;  /*Expand width to 125% */
        height: 125%; /* Expand height to 125% */
        transform: scale(0.8); /* Scale back down to 80% to fit8*/ 
        transform-origin: 0 0;
    }
}


@media (max-width: 480px) {
    .architecture-frame-wrapper {
        padding-top: 0; /* Tallest for phones to prevent internal scrolling */
    }
}

@media (max-width: 600px) {
    .architecture-frame-wrapper iframe {
        width: 150%;
        height: 150%;
        
    }
}

/* =========================================
DIGITAL TWIN SECTION
========================================= */

.twin-section{
    margin:80px 0;
    padding-top: 3px;
    padding-bottom: 3px;
    background-color: linear-gradient(135deg, #fbfcfe 0%, #f7faff 50%, #ffffff 100%) fixed !important;
 
}
.twin-header{
  margin-top: 0;
  width: 100%;
  text-align: center;
}

/* Tabs */

.twin-tabs{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin:30px 0;
}

.twin-btn{
    border:none;
    cursor:pointer;

    padding:14px 22px;

    border-radius:14px;

    background:#edf2f7;
    color:#1f2937;

    font-size:0.95rem;
    font-weight:600;

    transition:all 0.3s ease;
}

.twin-btn:hover{
    transform:translateY(-2px);
}

.twin-btn.active{
    background: linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    );

    color:#fff;

    box-shadow:
        0 8px 20px rgba(37,99,235,0.25);
}


/* Dynamic Card */


.twin-card{
    position: relative;
    overflow: hidden;

    border-radius: 28px;

    padding: 50px;

    min-height: 650px;

    background:
        radial-gradient(
            circle at top right,
            rgba(96, 165, 250, 0.18),
            transparent 30%
        ),

        radial-gradient(
            circle at bottom left,
            rgba(59, 130, 246, 0.14),
            transparent 35%
        ),

        linear-gradient(
            135deg,
            #f8fbff 0%,
            #eef5ff 35%,
            #e0ecff 100%
        );

    border: 1px solid rgba(148, 163, 184, 0.18);

    box-shadow:
        0 10px 40px rgba(37, 99, 235, 0.08),
        inset 0 1px 0 rgba(255,255,255,0.6);

    backdrop-filter: blur(12px);

    color: #0f172a;

    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}
 

/* Card Glow */

.twin-card::before{
    content:"";

    position:absolute;

    top:-120px;
    right:-120px;

    width:300px;
    height:300px;

    border-radius:50%;

    background:rgba(255,255,255,0.05);

    filter:blur(20px);
}


/* Content */

.twin-label{
    display:inline-flex;

    align-items:center;

    padding:8px 14px;

    border-radius:999px;

    background:rgba(255,255,255,0.08);

    backdrop-filter:blur(8px);

    font-size:0.85rem;
    letter-spacing:0.5px;

    margin-bottom:25px;
}

.twin-title{
    font-size:3rem;
    line-height:1.1;

    margin-bottom:20px;

    font-weight:700;
}

.twin-subtitle{
    font-size:1.2rem;

    line-height:1.8;

    color: #475569;

    max-width:950px;

    margin-bottom:35px;
    text-align: center !important; 
}


/* Feature Grid */

.twin-features{
    display:grid;

    grid-template-columns:
      repeat(auto-fit, minmax(280px, 1fr));

    gap:18px;

    margin-bottom:40px;
}

.twin-feature{
    background: rgba(255,255,255,0.65);

    border: 1px solid var(--primary);

    border-radius:18px;

    padding:18px 20px;

    line-height:1.6;

    backdrop-filter: blur(10px);

    transition:all 0.3s ease;
    box-shadow:
        0 4px 12px rgba(37,99,235,0.04);
}

.twin-feature:hover{
    transform:translateY(-4px);

    background:rgba(255,255,255,0.9);
}


/* Use Cases */

.twin-usecases{
    margin-top:20px;
}

.twin-usecases strong{
    display:block;
    margin-bottom:10px;
}


/* CTA */

.twin-cta{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    margin-top:35px;

    padding:15px 26px;

    border-radius:14px;

    text-decoration:none;

     background: linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    );

    color:#fff;

    box-shadow:
        0 10px 24px rgba(37,99,235,0.22);

    font-weight:700;

    transition:all 0.3s ease;
}

.twin-cta:hover{
    transform:translateY(-2px);
}


/* Responsive */

@media (max-width:768px){

    .twin-card{
        padding:30px;
        min-height:auto;
    }

    .twin-title{
        font-size:2rem;
    }

    .twin-subtitle{
        font-size:1rem;
    }

}

/* Dashboard Section - Light Blue Theme */
.dashboard-section {
    background-color: var(--bg-accent); /* bg-blue-50 equivalent */
    /*border: 1px solid #dbeafe;           Optional: soft blue-100 border for definition */
    border-radius: var(--radius);       /* Uses your 12px global radius */
    padding: 24px;
    margin-bottom: 24px;
    margin-top: 44px;
    /*box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);*/
}

/* ============================================
 TWIN TAB CONTENT CARD - LIGHT BLUE VARIANT 
 =============================================*/

.compare-section {
  padding: 80px 0;
  background-color: #ffffff;
}

.container {
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 16px;
}

/* Header Styles */
.section-header {
  text-align: center;
  margin-bottom: 56px;
}

.section-title {
  font-family: inherit; /* Replace with your display font */
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: -0.025em;
  margin-bottom: 12px;
}

.title-underline {
  width: 64px;
  height: 4px;
  background-color: var(--color-primary);
  margin: 0 auto;
  border-radius: 9999px;
}

/* Table Styles */
.table-wrapper {
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid var(--border-color);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

/* Header: Now using var(--primary) */
.comparison-table thead tr {
  background-color: var(--primary);
}

.comparison-table th {
  padding: 20px 24px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-header-text);
  border: none;
}

/* Rows & Atmospheric Tinting */
.comparison-table td {
  padding: 18px 24px;
  font-size: 0.875rem;
  color: var(--color-text-main);
  border-bottom: 1px solid var(--border-color);
}

/* The "EIPPONE" Soft Blue Alternative Row */
.bg-alt {
  background-color: var(--color-alt-row);
}

.table-row:hover {
  background-color: #e0eeff; /* Slightly deeper blue on hover */
  transition: background-color 0.2s ease;
}

.feature-label {
  color: var(--color-text-muted);
  font-weight: 600;
}
/* Responsive Overrides */
@media (min-width: 768px) {
  .compare-section { padding: 112px 0; }
  .section-title { font-size: 1.875rem; }
  .container { padding: 0 24px; }
}

@media (min-width: 1024px) {
  .section-title { font-size: 2.25rem; }
}

.page-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

