@charset "UTF-8";

.page-content {
    background: var(--color-paper-deep);
}

.page-content main,
.page-content .content {
    width: min(900px, calc(100% - 40px));
    margin: 0 auto;
    padding: 105px 0 20px;
}

.page-content main > section,
.page-content .content {
    min-width: 0;
}

.page-content main > section {
    margin-bottom: 30px;
    padding: 30px;
    border: 3px solid var(--color-ink);
    background: var(--color-paper);
    box-shadow: var(--shadow-paper);
}

.page-content .content {
    padding-left: 32px;
    padding-right: 32px;
    padding-bottom: 36px;
    border: 3px solid var(--color-ink);
    background: var(--color-paper);
    box-shadow: var(--shadow-paper);
}

.page-content h1 {
    margin-bottom: 30px;
    color: var(--color-green);
    font-family: var(--font-serif);
    font-size: clamp(2rem, 5vw, 3.4rem);
    line-height: 1.3;
}

.page-content h2 {
    margin: 36px 0 18px;
    padding-bottom: 9px;
    border-bottom: 3px solid var(--color-green);
    color: var(--color-green);
    font-family: var(--font-serif);
    font-size: clamp(1.35rem, 3vw, 1.8rem);
    line-height: 1.5;
}

.page-content section > h2:first-child { margin-top: 0; }
.page-content p { line-height: 1.95; }
.page-content li { line-height: 1.8; }

.page-content .content a,
.page-content main > section a {
    color: #174ea6;
    background: transparent;
    text-decoration: underline;
}

.page-hero {
    margin-bottom: 30px;
    padding: 36px 30px !important;
    background: var(--color-green) !important;
    color: #fff;
    text-align: center;
}

.page-hero h1 { margin-bottom: 10px; color: #fff; }
.page-hero p { margin: 0; }


body.page-content:not(.am-contact-page) .contact-page-title {
    margin: 0 0 18px;
    padding-bottom: 9px;
    border-bottom: 3px solid var(--color-green);
    color: var(--color-green);
    font-family: var(--font-serif);
    font-size: clamp(1.35rem, 3vw, 1.8rem);
    line-height: 1.5;
}

/* Contact */
.contact-form { max-width: 750px; margin: 0 auto; }
.contact-form-group { margin-bottom: 24px; }
.contact-form-group label { display: block; margin-bottom: 7px; color: var(--color-green); font-weight: 800; }
.contact-form-group input,
.contact-form-group textarea {
    width: 100%;
    padding: 13px;
    border: 2px solid var(--color-ink);
    border-radius: 0;
    background: #fff;
    color: var(--color-ink);
    font-size: 16px;
}
.contact-form-group textarea { min-height: 220px; resize: vertical; }
.contact-form-group input:focus,
.contact-form-group textarea:focus { outline: 3px solid rgba(201,155,50,.35); border-color: var(--color-green); }
.contact-note { margin-bottom: 28px; padding: 17px 19px; border-left: 6px solid var(--color-gold); background: var(--color-gold-soft); line-height: 1.9; }
.contact-submit { width: min(350px, 100%); display: block; margin: 32px auto 8px; padding: 15px 22px; border: 3px solid #55150f; border-radius: 0; background: var(--color-red); color: #fff; font-weight: 800; cursor: pointer; }
.required { margin-left: 7px; padding: 3px 7px; background: var(--color-red); color: #fff; font-size: .7rem; }
.contact-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-error { margin-bottom: 28px; padding: 17px 19px; border: 2px solid var(--color-red); border-left-width: 7px; background: #f8e5e2; color: var(--color-red); font-weight: 800; line-height: 1.8; }
.contact-complete-message { text-align: center; }
.contact-return-link { width: min(220px, 100%); display: block !important; margin: 32px auto 8px; padding: 12px 18px; background: var(--color-green) !important; color: #fff !important; text-align: center; text-decoration: none !important; }

/* Legal / informational pages */
.terms-content ul,
.landowner-content ul { margin-bottom: 30px; }

.tokushoho-content table {
    width: 100%;
    margin: 20px 0 35px;
    border-collapse: collapse;
}

.tokushoho-content th,
.tokushoho-content td {
    padding: 12px;
    border: 1px solid #bbb;
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
}

.tokushoho-content th { width: 30%; background: #efede7; font-weight: 800; }

@media (max-width: 760px) {
    .page-content main,
    .page-content .content {
        width: calc(100% - 28px);
        padding-top: 90px;
    }

    .page-content main > section,
    .page-content .content {
        padding-left: 20px;
        padding-right: 20px;
        border-width: 2px;
        box-shadow: 4px 4px 0 rgba(41,37,29,.14);
    }

    .page-content h1 { font-size: clamp(1.8rem, 8vw, 2.5rem); }
    .page-content h2 { font-size: clamp(1.3rem, 6vw, 1.7rem); }

    .page-hero { padding: 28px 18px !important; }

    .tokushoho-content table,
    .tokushoho-content tbody,
    .tokushoho-content tr,
    .tokushoho-content th,
    .tokushoho-content td {
        display: block;
        width: 100%;
    }

    .tokushoho-content tr { border: 1px solid #bbb; border-bottom: 0; }
    .tokushoho-content tr:last-child { border-bottom: 1px solid #bbb; }
    .tokushoho-content th,
    .tokushoho-content td { border: 0; }
    .tokushoho-content th { border-bottom: 1px solid #ccc; }
}

@media (max-width: 420px) {
    .page-content main,
    .page-content .content { width: calc(100% - 22px); }
    .page-content main > section,
    .page-content .content { padding-left: 16px; padding-right: 16px; }
}


/* Honeypot field for automated contact-form submissions. */
.contact-trap {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
.contact-trap input {
    position: absolute !important;
    left: -10000px !important;
}
