/* Platform scaffold — add your overrides below this comment. */

#dyn-wrap {
    width: 100%;
    box-sizing: border-box;
    font-family: inherit, sans-serif;
    padding: 60px 0;
    margin: 0 auto;
}

/* Two-column layout */
#dyn-layout {
    display: flex;
    gap: 100px;
    align-items: flex-start;
    width: 100%;
}



/* Intro column — takes all remaining space */
#dyn-intro {
    flex: 1 1 auto;
    min-width: 0;
}

/* Page title — inside intro column */

.flex-container {
		display:flex;
    flex-direction: row;  /* Places items side-by-side */
    justify-content: space-between; /* Aligns items to the outer edges */
    align-items: flex-start;  /* Centers items vertically */
  }

#dyn-title {
		font-size: 2.85em;
		text-align: right;
    margin-top: 12px;
    margin-bottom: 32px;
    line-height: 1.15;
		flex: 1; 
}

/* Form column — sized to content, constrained by max-width */
#dyn-form-col {
    flex: 0 0 auto;
    max-width: 380px;
    min-width: 280px;
    width: 380px;
    box-sizing: border-box;
    position: sticky;
    top: 32px;
    align-self: flex-start;
}

/* Column labels — small, bold, all-caps, muted */
.dyn-col-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 16px;
    opacity: 0.55;
}

/* Description text */
#dyn-description {
    margin-top: 32px;
}

#dyn-description p {
    font-size: 1.05em;
    line-height: 1.75;
    margin-bottom: 20px;
    opacity: 0.85;
}

/* Cover image */
#dyn-intro-image {
    width: 100%;
    max-width: 380px;
    height: auto;
    display: block;
    border-radius: 6px;
    margin: 0px auto 0;
		flex: 1; 
}

/* Form fields — breathing room between each */
.dyn-field {
    margin-bottom: 24px;
}

/* Form elements */
#dyn-form label,
.dyn-label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 0.9em;
    letter-spacing: 0.02em;
}

#dyn-form input[type="text"],
#dyn-form input[type="email"],
#dyn-form input[type="tel"],
#dyn-form input[type="date"],
#dyn-form textarea,
#dyn-form select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    display: block;
    padding: 12px 16px;
    border: 1px solid #282B2D;
    border-radius: 4px;
    font-family: inherit;
    font-size: 1em;
    line-height: 1.5;
    background: #fff;
}

/* Submit row */
#dyn-form p:last-of-type {
    margin-top: 8px;
}

/* Single column on mobile */
@media (max-width: 720px) {
    #dyn-wrap {
        padding: 32px 0;
    }
		.flex-container {
      display: flex;
      flex-direction: column; /* Stacks items vertically */
      gap: 20px;              /* Spacing between text and image */
      align-items: center;    /* Centers items horizontally */
      padding: 15px;
    }
    #dyn-title {
        font-size: 1.8rem;
				text-align: center;
    }
    #dyn-layout {
        flex-direction: column;
        gap: 32px;
    }
    #dyn-intro,
    #dyn-form-col {
        flex: 1 1 100%;
        width: 100%;
        max-width: 100%;
    }
    #dyn-form-col {
        position: static;
    }
    #dyn-intro-image {
        max-width: 100%;
    }
    #dyn-form input[type="text"],
    #dyn-form input[type="email"],
    #dyn-form input[type="tel"],
    #dyn-form input[type="date"],
    #dyn-form textarea,
    #dyn-form select {
        padding: 10px 12px;
    }
}

#dyn-submit, #dyn-download-btn { background: #010413; color: #fff; border: none; padding: 14px 32px; border-radius: 4px; font-size: 1em; font-weight: 600; cursor: pointer; display: inline-block; letter-spacing: 0.03em; width: 100%; }
#dyn-submit:hover, #dyn-download-btn:hover { opacity: 0.88; }
#dyn-submit:disabled { opacity: 0.6; cursor: not-allowed; }