/* Home-only additions reuse the theme's existing spacing, colors and radii. */
.kratos-home > .section { padding-block: var(--section); }
.kratos-home .about-image { padding-block: 20px; }
/* The 640px logo has 63px above the artwork and 18px below it. */
.kratos-home .about-image img.about-logo {
    --about-logo-height: 320px;
    box-sizing: content-box;
    height: var(--about-logo-height);
    padding-bottom: calc(var(--about-logo-height) * 0.0703125);
}
.home-contact { scroll-margin-top: 120px; }
.home-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px; align-items: start; }
.home-contact-grid > div { min-width: 0; }
.kratos-contact-form { display: flex; flex-direction: column; align-items: stretch; gap: 8px; position: relative; }
.kratos-contact-form label { font-size: 14px; font-weight: 600; }
.kratos-contact-form label span { font-weight: 400; color: var(--text-2); }
.kratos-contact-form input:not([type="hidden"]), .kratos-contact-form textarea {
    width: 100%; min-height: 44px; padding: 12px 14px; margin-bottom: 10px;
    border: 1px solid #b5c6c4; border-radius: var(--radius-sm); background: var(--white); color: var(--text); font-size: 16px;
}
.kratos-contact-form textarea { resize: vertical; min-height: 140px; margin-bottom: 0; }
.kratos-contact-form .btn { align-self: flex-start; }
.contact-required, .contact-hint, .contact-privacy { margin: 0 0 8px; font-size: 13px; color: var(--text-2); }
.contact-privacy a, .contact-details a { color: var(--turquoise); text-decoration: underline; text-underline-offset: 3px; }
.contact-status { font-size: 14px; line-height: 1.6; color: var(--text); scroll-margin-block: 120px; }
.contact-status:not(:empty) { padding: 14px; margin-bottom: 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg); }
.contact-status.is-error { color: var(--text); border-color: var(--text-2); }
.contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.contact-map { display: block; width: 100%; height: 350px; border: 0; border-radius: var(--radius); background: var(--bg); }
.contact-details { display: grid; gap: 16px; margin: 24px 0; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.contact-details dt { font-weight: 600; }
.contact-details dd { margin: 2px 0 0; color: var(--text-2); }
.contact-instagram { margin-top: -8px; }
.contact-instagram-link { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid #b5c6c4; border-radius: 50%; color: var(--turquoise); }
.contact-instagram-icon { width: 18px; height: 18px; }
@media (max-width: 767px) {
    .home-contact-grid { grid-template-columns: 1fr; gap: 32px; }
    .kratos-home .about-image { padding-block: 16px; }
    .kratos-home .about-image img.about-logo { --about-logo-height: 200px; }
    .contact-map { height: 300px; }
    .kratos-contact-form .btn { width: 100%; }
}
.kratos-contact-form fieldset { display: flex; flex-direction: column; gap: 8px; min-width: 0; border: 0; padding: 0; margin: 0; }
.kratos-contact-form fieldset:disabled { color: var(--text-2); }
.kratos-contact-form fieldset:disabled input, .kratos-contact-form fieldset:disabled textarea { background: var(--bg); }
.contact-required, .contact-hint, .contact-privacy { font-size: 14px; }
.contact-unavailable { padding: 16px; background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); margin-bottom: 16px; }
.contact-unavailable p { margin: 0; font-size: 15px; }
.contact-details a, .contact-privacy a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; color: var(--color-action-text); }
.contact-instagram-link { width: 44px; height: 44px; }
.contact-details { font-size: 15px; }
