.home-page-title {
    margin: 0 0 10px;
    color: #606161;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.6;
}

.home-lead {
    margin: 0 0 14px;
}

.home-consult-entry {
    margin: 0 0 20px;
    padding: 15px;
    border: none;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 2px 3px #DADADA;
}

.home-section-title,
.leftColumn .why-verdy-title {
    margin: 0 0 16px;
    padding-left: 28px;
    color: #555;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
}

.home-consult-title {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23ce2b37' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v10H9l-5 4z'/%3E%3Ccircle cx='9' cy='10' r='1'/%3E%3Ccircle cx='12' cy='10' r='1'/%3E%3Ccircle cx='15' cy='10' r='1'/%3E%3C/g%3E%3C/svg%3E") no-repeat left center;
    background-size: 22px 22px;
}

.home-consult-entry p {
    margin: 0;
}

.home-consult-lead {
    margin: 0 0 14px !important;
    color: #606161 !important;
    line-height: 1.7;
}

.home-consult-primary {
    position: relative;
    display: block;
    margin: 0 0 14px;
    padding: 12px 42px 12px 14px;
    border: 1px solid #d9d9d9;
    background: #fff;
    color: #333;
    text-decoration: none;
}

.home-consult-primary::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 12px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    border-radius: 50%;
    background: #009246;
    color: #fff;
    font-size: 17px;
    line-height: 21px;
    text-align: center;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.home-consult-primary-label,
.home-consult-primary-title {
    display: block;
}

.home-consult-primary-label {
    margin-bottom: 2px;
    color: #777;
    font-size: 11px;
    line-height: 1.5;
}

.home-consult-primary-title {
    color: #333;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}

.home-consult-primary:hover {
    border-color: #009246;
    background: #FEFEF1;
}

.home-consult-primary:hover .home-consult-primary-title {
    color: #009246;
}

.home-consult-primary:hover::after {
    background: #6db126;
    transform: translateX(2px);
}

.home-consult-choice-label {
    margin: 0 0 7px !important;
    color: #777 !important;
    font-size: 11px;
}

.home-consult-choices {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.home-consult-choices a {
    position: relative;
    display: inline-block;
    padding: 7px 24px 7px 10px;
    border: 1px solid #e0e0e0;
    background: #fff;
    color: #555;
    font-size: 12px;
    line-height: 1.4;
    text-decoration: none;
}

.home-consult-choices a::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 8px;
    margin-top: -8px;
    color: #009246;
    font-size: 14px;
    line-height: 16px;
}

.home-consult-choices a:hover {
    border-color: #009246;
    background: #FEFEF1;
    color: #009246;
}

.home-consult-bottom {
    margin: 20px 0 0;
    padding: 10px 14px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background: #fff;
}

.consult-page .title h1 {
    color: #000;
    font-size: 30px;
    font-weight: normal;
    line-height: 1.4;
}

.consult-page .main {
    line-height: 2;
}

.consult-lead {
    margin: 0 0 12px;
    color: #606161;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.8;
}

.consult-page .section-title {
    margin: 28px 0 4px;
    padding: 5px 0 5px 12px;
    border-left: 5px solid #009246;
    border-bottom: 1px solid #ddd;
    color: #606161;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
}

.consult-item {
    padding: 16px 4px 14px;
    border-bottom: 1px solid #ddd;
}

.consult-item .subsection-title {
    margin: 0 0 6px;
    color: #009246;
    font-size: 16px;
    font-weight: normal;
}

.consult-item p {
    margin: 0 0 6px;
}

.consult-contact-note,
.consult-pending-action {
    color: #777;
    font-size: 11px;
}

.consult-pending-action span {
    color: #999;
}

.consult-related {
    margin-top: 30px;
}

.consult-link,
.consult-links {
    margin-top: 8px;
}

.consult-link a,
.consult-links li a {
    display: inline-block;
    padding-left: 20px;
    background: url('/img/common/arrow.png') left top no-repeat;
    color: #444;
    text-decoration: none;
}

.consult-link a:hover,
.consult-links li a:hover {
    background-position: 3px top;
    color: #009246;
}

.consult-links li {
    line-height: 24px;
}


.why-verdy {
    margin: 24px 0 30px;
    padding: 16px 18px;
    border: 1px solid #ddd;
    background: #fff;
}

.leftColumn .why-verdy {
    margin: 0 0 20px;
    padding: 15px;
    border: none;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 2px 3px #DADADA;
}

.why-verdy-title {
    margin: 0 0 6px;
    color: #606161;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
}

.leftColumn .why-verdy-title {
    margin-bottom: 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23ce2b37' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='6' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3Cpath d='M7 11l3-3M14 7l3 3M7 13l3 3M14 17l3-3'/%3E%3C/g%3E%3C/svg%3E") no-repeat left center;
    background-size: 22px 22px;
}

.why-verdy-axis {
    margin: 0 0 7px;
    color: #333;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.6;
}

.why-verdy-lead {
    margin: 0 0 16px;
    color: #606161;
    line-height: 1.7;
}

.why-verdy-list {
    display: block;
    margin: 0 0 14px;
}

.why-verdy-item {
    display: grid;
    grid-template-columns: 42px 190px minmax(0, 1fr);
    align-items: start;
    column-gap: 14px;
    padding: 14px 15px;
    border: 1px solid #dce7df;
    border-left: 3px solid #009246;
    background: #f8fbf8;
}

.why-verdy-item + .why-verdy-item {
    margin-top: 8px;
}

.why-verdy-symbol {
    display: block;
    width: 40px;
    height: 32px;
    margin: 0;
    color: #009246;
}

.why-verdy-symbol svg {
    display: block;
    width: 40px;
    height: 32px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.why-verdy-item-title {
    margin: 3px 0 0;
    color: #006d35;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.55;
}

.why-verdy-item p {
    margin: 0;
    color: #606161;
    line-height: 1.7;
}

.why-verdy-decisions {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin: 14px 0 0;
}

.why-verdy-support {
    display: flex;
    flex: 2;
    min-width: 0;
    gap: 10px;
}

.why-verdy-decision {
    position: relative;
    flex: 1;
    min-width: 0;
    padding: 10px 28px 10px 12px;
    border-top: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
    color: #444;
    text-decoration: none;
}

.why-verdy-decision-primary {
    flex: 1.15;
    border: 1px solid #cfdacf;
    background: #f8fbf8;
}

.why-verdy-decision-support {
    background: #fff;
}

.why-verdy-decision::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 8px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border-radius: 50%;
    background: #009246;
    color: #fff;
    transition: background-color 0.15s ease, transform 0.15s ease;
    font-size: 16px;
    line-height: 19px;
    text-align: center;
}

.why-verdy-decision-label,
.why-verdy-decision-title {
    display: block;
}

.why-verdy-decision-label {
    margin-bottom: 2px;
    color: #777;
    font-size: 11px;
    line-height: 1.5;
}

.why-verdy-decision-title {
    color: #333;
    font-size: 14px;
    line-height: 1.5;
}

.why-verdy-decision:hover {
    border-color: #009246;
    background-color:  #FEFEF1;
}

.why-verdy-decision:hover .why-verdy-decision-title {
    color: #009246;
}

.why-verdy-decision:hover::after {
    background: #6db126;
    transform: translateX(2px);
}

.cases-notice {
    margin: 0 0 18px;
    padding: 10px 12px;
    border-left: 4px solid #999;
    background: #f5f5f5;
}

.case-item strong {
    color: #606161;
}


.cases-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 14px;
}

.cases-page .case-item {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: calc(50% - 7px);
    padding: 16px 16px 14px;
    border: 1px solid #ddd;
    background: #fff;
}

.cases-page .case-item .subsection-title {
    margin-bottom: 10px;
    font-weight: 500;
}

.cases-page .case-item p {
    line-height: 1.7;
}

.cases-page .case-item > p:not(.consult-link) {
    margin: 0 0 14px;
}

.cases-page .case-item p strong,
.case-meta-label {
    display: block;
    margin-bottom: 5px;
    color: #666;
    font-size: 12px;
    font-weight: 700;
}

.cases-page .case-item .consult-link {
    position: relative;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid #e3e3e3;
}

.cases-page .case-item .consult-link strong {
    margin-bottom: 5px;
}

.cases-page .case-item .consult-link a {
    padding-left: 0;
    padding-right: 26px;
    background: none;
    color: #333;
}

.cases-page .case-item .consult-link a::after {
    content: "›";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 8px;
    border-radius: 50%;
    background: #009246;
    color: #fff;
    font-size: 15px;
    line-height: 19px;
    text-align: center;
    vertical-align: -1px;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.cases-page .case-item .consult-link a:hover {
    color: #009246;
}

.cases-page .case-item .consult-link a:hover::after {
    background: #6db126;
    transform: translateX(2px);
}


.case-heading {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
}

.case-number {
    flex: 0 0 58px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
}

.case-number small {
    display: block;
    margin: 0 0 3px 2px;
    color: #aaa;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.16em;
}

.case-number span {
    display: block;
    margin: 0;
    color: #cfdccf;
    font-size: 40px;
    font-weight: 700;
    line-height: 0.9;
    letter-spacing: -0.04em;
}

.cases-page .case-heading .subsection-title {
    margin: 13px 0 0;
    color: #009246;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}

.case-undecided {
    margin: 0 0 14px;
}

.case-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.case-tags span {
    display: inline-block;
    padding: 3px 7px;
    border: 1px solid #dfe7df;
    background: #f8fbf8;
    color: #5f6a5f;
    font-size: 12px;
    line-height: 1.4;
}


.cases-next {
    margin-top: 34px;
}

.cases-next-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.cases-next-grid a {
    position: relative;
    box-sizing: border-box;
    width: calc(50% - 5px);
    padding: 11px 38px 11px 12px;
    border: 1px solid #ddd;
    background: #fff;
    color: #444;
    text-decoration: none;
}

.cases-next-grid a::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border-radius: 50%;
    background: #009246;
    color: #fff;
    font-size: 15px;
    line-height: 19px;
    text-align: center;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.cases-next-label,
.cases-next-title {
    display: block;
}

.cases-next-label {
    margin-bottom: 2px;
    color: #888;
    font-size: 12px;
    line-height: 1.4;
}

.cases-next-title {
    color: #333;
    font-size: 13px;
    line-height: 1.5;
}

.cases-next-grid a:hover {
    border-color: #009246;
    background: #FEFEF1;
}

.cases-next-grid a:hover .cases-next-title {
    color: #009246;
}

.cases-next-grid a:hover::after {
    background: #6db126;
    transform: translateX(2px);
}


#Single.faq-page .main {
    padding-top: 12px !important;
}

.faq-overview {
    margin: 0 0 18px;
}

.faq-page .faq-overview-title {
    position: relative;
    left: -46px;
    margin: 0 0 8px;
    padding: 0 0 0 40px;
    background: url('/img/common/h4.png') left center no-repeat;
    color: #606161;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
}

.faq-overview-lead {
    margin: 0 0 8px;
    color: #606161;
    font-size: 16px;
    line-height: 1.8;
}

.faq-overview-note {
    margin: 0;
    padding-bottom: 6px;
    color: #666;
    line-height: 1.8;
}

.faq-index {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0 0 26px;
}

.faq-index a {
    position: relative;
    display: inline-block;
    padding: 7px 24px 7px 10px;
    border: 1px solid #e0e0e0;
    background: #fff;
    color: #555;
    font-size: 12px;
    line-height: 1.4;
    text-decoration: none;
}

.faq-index a::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 8px;
    margin-top: -8px;
    color: #009246;
    font-size: 14px;
    line-height: 16px;
    transform: rotate(90deg);
}

.faq-index a:hover {
    border-color: #009246;
    background: #FEFEF1;
    color: #009246;
}


/* GC01: CONSULT index decision-first layout */
#Single.consult-index-page .main {
    padding-top: 12px !important;
}

.consult-index-page .consult-index-overview {
    margin: 0 0 32px;
}

.consult-index-page .consult-index-overview-title {
    position: relative;
    left: -46px;
    margin: 0 0 8px;
    padding: 0 0 0 40px;
    background: url('/img/common/h4.png') left center no-repeat;
    color: #606161;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
}

.consult-index-page .consult-index-overview-lead {
    margin: 0 0 8px;
    color: #606161;
    font-size: 16px;
    line-height: 1.8;
}

.consult-index-page .consult-index-overview-note {
    margin: 0;
    padding-bottom: 6px;
    color: #666;
    line-height: 1.8;
}

.consult-choice-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 14px 0 30px;
}

.consult-choice-card {
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: calc(50% - 6px);
    min-height: 170px;
    padding: 16px 44px 14px 16px;
    border: 1px solid #ddd;
    background: #fff;
    color: #333;
    text-decoration: none;
}

.consult-choice-card::after {
    content: "›";
    position: absolute;
    right: 14px;
    bottom: 14px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #009246;
    color: #fff;
    font-size: 17px;
    line-height: 21px;
    text-align: center;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.consult-choice-kicker,
.consult-choice-title,
.consult-choice-copy,
.consult-choice-action {
    display: block;
}

.consult-choice-kicker {
    margin-bottom: 5px;
    color: #777;
    font-size: 12px;
    line-height: 1.4;
}

.consult-choice-title {
    margin-bottom: 8px;
    color: #009246;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}

.consult-choice-copy {
    color: #606161;
    line-height: 1.7;
}

.consult-choice-action {
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid #e3e3e3;
    color: #333;
    font-size: 13px;
    line-height: 1.5;
}

.consult-choice-card:hover {
    border-color: #009246;
    background: #FEFEF1;
}

.consult-choice-card:hover .consult-choice-action {
    color: #009246;
}

.consult-choice-card:hover::after {
    background: #6db126;
    transform: translateX(2px);
}

.consult-index-page .why-verdy {
    margin-top: 0;
}


/* GC01: CASES single-line cognitive index */
#Single.cases-index-page .main {
    padding-top: 12px !important;
}

.cases-index-overview {
    margin: 0 0 20px;
}

.cases-index-overview-title {
    position: relative;
    left: -46px;
    margin: 0 0 8px;
    padding: 0 0 0 40px;
    background: url('/img/common/h4.png') left center no-repeat;
    color: #606161;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
}

.cases-index-overview-lead {
    margin: 0;
    color: #606161;
    font-size: 16px;
    line-height: 1.8;
}

.case-index {
    margin: 18px 0 20px;
    border-top: 1px solid #ddd;
}

.case-index-row {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 64px;
    padding: 9px 44px 9px 0;
    border-bottom: 1px solid #ddd;
    color: #333;
    text-decoration: none;
}

.case-index-row::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    border-radius: 50%;
    background: #009246;
    color: #fff;
    font-size: 17px;
    line-height: 21px;
    text-align: center;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.case-index-number {
    flex: 0 0 76px;
    display: flex;
    align-items: baseline;
    gap: 5px;
    padding-left: 4px;
}

.case-index-number small {
    color: #aaa;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
}

.case-index-number strong {
    color: #c7d8c7;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
}

.case-index-body {
    display: flex;
    align-items: baseline;
    flex: 1;
    min-width: 0;
    gap: 18px;
}

.case-index-title {
    flex: 0 0 220px;
    color: #009246;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
}

.case-index-copy {
    flex: 1;
    min-width: 0;
    color: #606161;
    font-size: 13px;
    line-height: 1.6;
}

.case-index-row:hover {
    background: #FEFEF1;
}

.case-index-row:hover .case-index-title {
    color: #5DB308;
}

.case-index-row:hover::after {
    background: #6db126;
    transform: translateX(2px);
}

.case-index-fallback {
    margin: 0 0 28px;
    color: #666;
}

.case-index-fallback a {
    color: #444;
}

.cases-index-page .why-verdy {
    margin-top: 28px;
}


/* GC01: CASES glossary-style index + detailed blocks */
.cases-guide-overview {
    margin: 0 0 20px;
}

.cases-guide-overview-title {
    position: relative;
    left: -46px;
    margin: 0 0 8px;
    padding: 0 0 0 40px;
    background: url('/img/common/h4.png') left center no-repeat;
    color: #606161;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
}

.cases-guide-overview-lead {
    margin: 0;
    color: #606161;
    font-size: 16px;
    line-height: 1.8;
}

.cases-guide-layout {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    margin: 22px 0 24px;
}

.cases-guide-index {
    flex: 0 0 168px;
    position: sticky;
    top: 20px;
    align-self: flex-start;
}

.cases-guide-index-title {
    margin: 0 0 9px;
    color: #606161;
    font-size: 13px;
    font-weight: bold;
}

.cases-guide-index ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cases-guide-index li {
    margin: 0 0 2px;
}

.cases-guide-index a {
    display: block;
    padding: 5px 4px 5px 20px;
    background: url('/img/common/arrow.png') left center no-repeat;
    color: #444;
    font-size: 12px;
    line-height: 1.45;
    text-decoration: none;
}

.cases-guide-index a span {
    display: inline-block;
    width: 24px;
    color: #999;
    font-size: 10px;
}

.cases-guide-index a:hover {
    background-position: 3px center;
    color: #009246;
}

.cases-guide-content {
    flex: 1;
    min-width: 0;
}

.case-guide-block {
    margin: 0 0 22px;
    padding: 16px 18px 15px;
    border: 2px dotted #ddd;
    background: #fff;
    scroll-margin-top: 20px;
}

.case-guide-number {
    margin: 0 0 2px;
    color: #009246;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: .08em;
    line-height: 1.3;
}

.case-guide-block h2 {
    margin: 0 0 10px;
    color: #009246;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
}

.case-guide-situation {
    margin: 0 0 12px;
    color: #444;
    font-size: 14px;
    line-height: 1.75;
}

.case-guide-undecided,
.case-guide-organize {
    margin: 0 0 11px;
    padding-top: 10px;
    border-top: 1px solid #e8e8e8;
}

.case-guide-undecided strong,
.case-guide-organize strong {
    display: block;
    margin: 0 0 3px;
    color: #666;
    font-size: 11px;
    line-height: 1.5;
}

.case-guide-undecided p,
.case-guide-organize p {
    margin: 0;
    color: #606161;
    line-height: 1.7;
}

.case-guide-next {
    margin: 12px 0 0;
}

.case-guide-next a {
    display: inline-block;
    padding-left: 20px;
    background: url('/img/common/arrow.png') left center no-repeat;
    color: #444;
    text-decoration: none;
}

.case-guide-next a:hover {
    background-position: 3px center;
    color: #009246;
}

.case-guide-fallback {
    margin: 0 0 30px 196px;
    color: #666;
}

.case-guide-fallback a {
    color: #444;
}

.cases-guide-page .why-verdy {
    margin-top: 30px;
}


/* GC01: CASES real consultation story layout */
.cases-story-page .cases-guide-overview {
    margin-bottom: 24px;
}

.cases-story-page .cases-guide-overview-lead {
    max-width: 700px;
}

.cases-story-page .cases-guide-layout {
    gap: 30px;
    margin-top: 18px;
}

.cases-story-page .cases-guide-index {
    flex-basis: 190px;
    top: 18px;
}

.cases-story-page .cases-guide-index-title {
    margin-bottom: 10px;
}

.cases-story-page .cases-guide-index li {
    margin-bottom: 1px;
}

.cases-story-page .cases-guide-index a {
    padding-top: 7px;
    padding-bottom: 7px;
    padding-left: 18px;
    line-height: 1.55;
    white-space: nowrap;
}

.cases-story-page .cases-guide-index a span {
    width: 26px;
    vertical-align: top;
    color: #8aa394;
    font-weight: 700;
}

.cases-story-page .cases-guide-content {
    min-width: 0;
}

.cases-story-page .case-guide-block {
    margin: 0 0 34px;
    padding: 22px 22px 20px;
    border: 1px solid #d9e0dc;
    border-top: 3px solid #009246;
    background: #fff;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .02);
}

.cases-story-page .case-guide-number {
    margin-bottom: 4px;
    color: #77837b;
    font-size: 10px;
    letter-spacing: .06em;
}

.cases-story-page .case-guide-block h2 {
    margin: 0 0 15px;
    color: #009246;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.55;
}

.case-guide-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 182px;
    gap: 22px;
    align-items: start;
    margin-bottom: 16px;
}

.case-guide-intro-copy {
    min-width: 0;
}

.case-guide-kicker {
    margin: 0 0 8px;
    color: #333;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.75;
}

.cases-story-page .case-guide-situation {
    margin: 0;
    color: #555;
    font-size: 16px;
    line-height: 1.85;
}

.case-visual-trigger {
    display: block;
    width: 182px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #666;
    cursor: zoom-in;
    font: inherit;
    text-align: right;
}

.case-visual-trigger svg {
    display: block;
    width: 182px;
    height: auto;
    border: 1px solid #d9e0dc;
    background: #f7f9f7;
    box-sizing: border-box;
}

.case-visual-trigger span {
    display: inline-block;
    margin-top: 5px;
    padding-left: 16px;
    background: url('/img/common/arrow.png') left center no-repeat;
    color: #666;
    font-size: 10px;
    line-height: 1.5;
}

.case-visual-trigger:hover span,
.case-visual-trigger:focus-visible span {
    color: #009246;
}

.case-visual-trigger:focus-visible {
    outline: 2px solid #009246;
    outline-offset: 4px;
}

.case-visual-dialog {
    width: min(90vw, 860px);
    max-width: 860px;
    max-height: 88vh;
    margin: auto;
    padding: 0;
    border: 0;
    background: #fff;
    box-shadow: 0 18px 60px rgba(0, 0, 0, .32);
    overflow: hidden;
}

.case-visual-dialog::backdrop {
    background: rgba(20, 27, 22, .68);
}

.case-visual-dialog-panel {
    display: flex;
    flex-direction: column;
    max-height: 88vh;
}

.case-visual-dialog-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 48px;
    padding: 10px 12px 10px 18px;
    border-bottom: 1px solid #dfe5e1;
    background: #fff;
    box-sizing: border-box;
}

.case-visual-dialog-title {
    margin: 0;
    color: #4d5751;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

.case-visual-dialog-close {
    flex: 0 0 auto;
    min-width: 68px;
    padding: 6px 12px;
    border: 1px solid #c8d6cd;
    background: #fff;
    color: #445048;
    cursor: pointer;
    font-size: 12px;
    line-height: 1.5;
}

.case-visual-dialog-close:hover,
.case-visual-dialog-close:focus-visible {
    border-color: #009246;
    color: #009246;
}

.case-visual-dialog-close:focus-visible {
    outline: 2px solid #009246;
    outline-offset: 2px;
}

.case-visual-dialog-body {
    padding: 18px;
    background: #f6f8f6;
    overflow: auto;
}

.case-visual-dialog-svg {
    display: block;
    width: 100%;
    height: auto;
    max-height: calc(88vh - 86px);
    margin: 0 auto;
    border: 1px solid #d8e0da;
    background: #fff;
    box-sizing: border-box;
}

html.case-lightbox-open,
html.case-lightbox-open body {
    overflow: hidden;
}

.case-visual-defs {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.case-guide-steps {
    margin: 16px 0 14px;
    border-top: 1px solid #dfe5e1;
}

.case-guide-step {
    border-bottom: 1px solid #dfe5e1;
    background: #fff;
}

.case-guide-step > summary {
    position: relative;
    padding: 11px 36px 11px 0;
    color: #414a44;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    list-style: none;
}

.case-guide-step > summary::-webkit-details-marker {
    display: none;
}

.case-guide-step > summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 5px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    border: 1px solid #c7d3cb;
    border-radius: 50%;
    color: #009246;
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    text-align: center;
}

.case-guide-step[open] > summary::after {
    content: "−";
}

.case-guide-step > summary span {
    display: inline-block;
    min-width: 56px;
    margin-right: 8px;
    color: #009246;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
}

.case-guide-step > div {
    padding: 0 34px 12px 64px;
    color: #606161;
    font-size: 16px;
    line-height: 1.85;
}

.case-guide-outcome {
    margin: 15px 0 0;
    padding: 12px 14px;
    background: #f4f8f5;
    color: #4b554f;
    font-size: 16px;
    line-height: 1.8;
}

.case-guide-outcome strong {
    display: inline-block;
    margin-right: 10px;
    color: #009246;
    font-size: 16px;
}

.cases-story-page .case-guide-next {
    margin-top: 18px;
    text-align: right;
}

.cases-story-page .case-guide-next a {
    position: relative;
    display: inline-block;
    min-width: 260px;
    box-sizing: border-box;
    padding: 11px 42px 11px 16px;
    border: 1px solid #009246;
    background: #009246;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    transition: background-color .15s ease, color .15s ease, transform .15s ease;
}

.cases-story-page .case-guide-next a::before {
    content: none;
}

.cases-story-page .case-guide-next a::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 15px;
    color: #fff;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    transform: translateY(-54%);
}

.cases-story-page .case-guide-next a:hover,
.cases-story-page .case-guide-next a:focus-visible {
    background: #fff;
    color: #009246;
}

.cases-story-page .case-guide-next a:hover::after,
.cases-story-page .case-guide-next a:focus-visible::after {
    color: #009246;
}

.cases-story-page .case-guide-next a:focus-visible {
    outline: 2px solid #006d35;
    outline-offset: 3px;
}

.cases-story-page .case-guide-fallback {
    margin: 0 0 30px 220px;
}

.cases-story-page .why-verdy {
    margin-top: 32px;
}

@media screen and (max-width: 900px) {
    .cases-story-page .cases-guide-layout {
        display: block;
    }

    .cases-story-page .cases-guide-index {
        position: static;
        margin-bottom: 24px;
    }

    .cases-story-page .cases-guide-index ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2px 14px;
    }

    .cases-story-page .cases-guide-index a {
        white-space: normal;
    }

    .case-guide-intro {
        grid-template-columns: minmax(0, 1fr) 160px;
        gap: 16px;
    }

    .case-visual-trigger,
    .case-visual-trigger svg {
        width: 160px;
    }

    .case-visual-dialog {
        width: min(94vw, 860px);
    }

    .cases-story-page .case-guide-fallback {
        margin-left: 0;
    }
}

/* GC01: FAQ Q&A visual rhythm */
.faq-page .faq-guide-content .consult-item {
    margin: 0;
    padding: 18px 16px 16px;
    border-bottom: 1px solid #ddd;
    background: #fff;
}

.faq-page .faq-guide-content .consult-item .subsection-title {
    position: relative;
    margin: 0 0 10px;
    padding-left: 32px;
    color: #333;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
}

.faq-page .faq-guide-content .consult-item .subsection-title::before {
    content: "Q";
    position: absolute;
    left: 0;
    top: 2px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #009246;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
}

.faq-page .faq-guide-content .consult-item > p:not(.consult-link):first-of-type {
    position: relative;
    margin: 0 0 8px;
    padding: 0 0 0 32px;
    color: #555;
    font-size: 16px;
    line-height: 1.85;
}

.faq-page .faq-guide-content .consult-item > p:not(.consult-link):first-of-type::before {
    content: "A";
    position: absolute;
    left: 0;
    top: 4px;
    width: 20px;
    height: 20px;
    border: 1px solid #CE2B37;
    border-radius: 50%;
    color: #CE2B37;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    box-sizing: border-box;
}

.faq-page .faq-guide-content .consult-item .consult-link {
    margin: 10px 0 0 32px;
    padding-top: 8px;
    border-top: 1px dotted #ddd;
}

.faq-page .faq-guide-content .consult-item .consult-link a {
    position: relative;
    padding-left: 14px;
    background: none;
    color: #555;
}

.faq-page .faq-guide-content .consult-item .consult-link a::before {
    content: "";
    position: absolute;
    left: 1px;
    top: .72em;
    width: 5px;
    height: 5px;
    margin-top: -2px;
    border-radius: 50%;
    background: #009246;
}

.faq-page .faq-guide-content .consult-item .consult-link a:hover {
    color: #009246;
}

.faq-page .faq-guide-content > section {
    scroll-margin-top: 20px;
}


/* GC01 2026-10-04: CONSULT UI/UX visual orientation pass
   - semantic copy and routes preserved
   - symbols are explanatory line art, not decorative photography
   - no JavaScript dependency */
.consult-ui-pass .main {
    color: #555;
}

.consult-orientation,
.consult-detail-intro {
    display: flex;
    align-items: center;
    gap: 28px;
}

.consult-orientation-copy,
.consult-detail-copy {
    flex: 1;
    min-width: 0;
}

.consult-index-page .consult-orientation {
    margin-bottom: 30px;
}

.consult-index-page .consult-orientation .consult-index-overview-title {
    left: 0;
    padding-left: 0;
    background: none;
}

.consult-orientation-visual {
    flex: 0 0 238px;
    box-sizing: border-box;
    padding: 14px 16px 12px;
    border: 1px solid #dfe6df;
    background: #f8fbf8;
}

.consult-orientation-visual svg {
    display: block;
    width: 100%;
    height: auto;
    color: #65816f;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.consult-orientation-visual p {
    margin: 4px 0 0;
    color: #68716b;
    font-size: 11px;
    line-height: 1.6;
}

.consult-ui-pass .consult-choice-card {
    min-height: 188px;
    padding-top: 14px;
}

.consult-choice-symbol {
    display: block;
    width: 34px;
    height: 34px;
    margin-bottom: 8px;
    color: #708578;
}

.consult-choice-symbol svg {
    display: block;
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.consult-choice-card-neutral .consult-choice-symbol {
    color: #7a7a7a;
}

.consult-secondary-grid {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-top: 30px;
}

.consult-secondary-panel {
    flex: 1;
    min-width: 0;
    margin-top: 0;
    padding: 0 14px 14px;
    border: 1px solid #e2e2e2;
    background: #fff;
}

.consult-secondary-panel .section-title {
    margin-top: 0;
    margin-left: -14px;
    margin-right: -14px;
    padding-left: 12px;
}

.consult-link-list {
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
}

.consult-link-list li {
    margin: 0;
    padding: 4px 0;
    border-top: 1px dotted #e5e5e5;
}

.consult-link-list li:first-child {
    border-top: 0;
}

.consult-detail-intro {
    margin: 0 0 26px;
    padding: 0 0 22px;
    border-bottom: 1px solid #e2e2e2;
}

.consult-detail-copy p:last-child {
    margin-bottom: 0;
}

.consult-detail-symbol {
    flex: 0 0 178px;
    box-sizing: border-box;
    padding: 14px 16px 12px;
    border: 1px solid #dfe6df;
    background: #f8fbf8;
    color: #65816f;
}

.consult-detail-symbol svg {
    display: block;
    width: 100%;
    height: auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.consult-detail-symbol span {
    display: block;
    margin-top: 4px;
    color: #68716b;
    font-size: 11px;
    line-height: 1.5;
    text-align: center;
}

.consult-state-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 14px 0 4px;
}

.consult-ui-pass .consult-state-card {
    position: relative;
    box-sizing: border-box;
    width: calc(50% - 6px);
    min-height: 158px;
    padding: 16px 16px 14px 58px;
    border: 1px solid #dedede;
    background: #fff;
}

.consult-ui-pass .consult-state-card-wide {
    width: 100%;
    min-height: 122px;
}

.consult-ui-pass .consult-state-card .subsection-title {
    margin-bottom: 7px;
    color: #3f654c;
    font-weight: 500;
}

.consult-ui-pass .consult-state-card p {
    line-height: 1.75;
}

.consult-state-symbol {
    position: absolute;
    top: 16px;
    left: 14px;
    display: block;
    width: 30px;
    height: 30px;
    color: #74877b;
}

.consult-state-symbol svg {
    display: block;
    width: 30px;
    height: 30px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.consult-ui-pass .consult-state-card .consult-link {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px dotted #ddd;
}

.consult-factor-section {
    margin-top: 30px;
}

.consult-factor-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 14px 0 8px;
    padding: 0;
    list-style: none;
}

.consult-factor-list li {
    position: relative;
    padding: 6px 10px 6px 24px;
    border: 1px solid #dfe6df;
    background: #f8fbf8;
    color: #4e5f54;
    font-size: 12px;
    line-height: 1.5;
}

.consult-factor-list li::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 50%;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border: 1px solid #72917b;
    border-radius: 50%;
    box-sizing: border-box;
}

.consult-factor-note {
    margin: 0;
    color: #777;
    font-size: 12px;
}

.consult-next-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.consult-next-card {
    position: relative;
    box-sizing: border-box;
    width: calc(50% - 5px);
    min-height: 74px;
    padding: 11px 38px 11px 12px;
    border: 1px solid #ddd;
    background: #fff;
    color: #444;
    text-decoration: none;
}

.consult-corporate-page .consult-next-grid .consult-next-card {
    width: 100%;
}

.consult-next-card::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border-radius: 50%;
    background: #009246;
    color: #fff;
    font-size: 15px;
    line-height: 19px;
    text-align: center;
    transition: background-color .15s ease, transform .15s ease;
}

.consult-next-label {
    display: block;
    margin-bottom: 2px;
    color: #888;
    font-size: 11px;
    line-height: 1.4;
}

.consult-next-card strong {
    display: block;
    color: #333;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.55;
}

.consult-next-primary {
    border-color: #cad8ce;
    background: #f8fbf8;
}

.consult-next-card:hover {
    border-color: #009246;
    background: #FEFEF1;
}

.consult-next-card:hover strong {
    color: #009246;
}

.consult-next-card:hover::after {
    background: #6db126;
    transform: translateX(2px);
}

.consult-return-link {
    margin: 14px 0 0;
    text-align: right;
}

.consult-return-link a {
    color: #666;
    font-size: 12px;
}

.consult-return-link a:hover {
    color: #009246;
}

@media screen and (max-width: 820px) {
    .consult-orientation,
    .consult-detail-intro {
        align-items: flex-start;
        gap: 18px;
    }

    .consult-orientation-visual {
        flex-basis: 205px;
    }

    .consult-detail-symbol {
        flex-basis: 154px;
    }

    .consult-ui-pass .consult-state-card {
        min-height: 0;
    }
}

@media screen and (max-width: 680px) {
    .consult-orientation,
    .consult-detail-intro,
    .consult-secondary-grid {
        display: block;
    }

    .consult-orientation-visual,
    .consult-detail-symbol {
        width: 100%;
        margin-top: 16px;
    }

    .consult-orientation-visual svg,
    .consult-detail-symbol svg {
        max-width: 220px;
        margin: 0 auto;
    }

    .consult-choice-card,
    .consult-ui-pass .consult-state-card,
    .consult-ui-pass .consult-state-card-wide,
    .consult-next-card {
        width: 100%;
    }

    .consult-secondary-panel + .consult-secondary-panel {
        margin-top: 18px;
    }
}


.consult-ui-pass .consult-choice-title {
    margin: 0 0 8px;
}


/* GC01 2026-10-04: shared H1 -> green-band H2 rhythm for CONSULT */
.consult-ui-pass .consult-overview-band,
.consult-index-page.consult-ui-pass .consult-orientation .consult-index-overview-title {
    position: relative;
    left: -46px;
    margin: 0 0 8px;
    padding: 0 0 0 40px;
    background: url('/img/common/h4.png') left center no-repeat;
    color: #606161;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
}

.consult-detail-page .consult-overview-band {
    margin-bottom: 10px;
}

.consult-detail-page .consult-detail-intro {
    margin-top: 0;
}

/* GC01: v2609 shared presentation rhythm
 * Docs: docs/design/vd-ui-v2609.md
 */
#Single.-v2609 .section-title {
    margin-top: 32px;
    margin-bottom: 12px;
    line-height: 1.45;
}

#Single.-v2609 .consult-links {
    margin-top: 6px;
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
}

#Single.-v2609 .consult-links li {
    margin-bottom: 2px;
    line-height: 1.65;
}

#Single.-v2609 .consult-link a,
#Single.-v2609 .consult-links li a {
    position: relative;
    display: inline-block;
    padding-left: 16px;
    background: none;
    color: #444;
    text-decoration-line: underline;
    text-decoration-color: #c8d8cc;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

#Single.-v2609 .consult-link a::before,
#Single.-v2609 .consult-links li a::before {
    content: "›";
    position: absolute;
    left: 1px;
    top: 50%;
    color: #009246;
    font-size: 15px;
    font-weight: bold;
    line-height: 1;
    transform: translateY(-52%);
}

#Single.-v2609 .consult-link a:hover,
#Single.-v2609 .consult-links li a:hover {
    color: #009246;
    text-decoration-color: #009246;
}

#Single.-v2609 .consult-contact-note {
    font-size: 12px;
}


/* v2609 route-role differentiation */
#Single.-v2609 .v2609-route-dedicated-title {
    border-left-width: 3px;
    border-left-color: #b7b7b7;
    color: #555;
}

#Single.-v2609 .v2609-route-label {
    display: block;
    margin: 0 0 1px;
    color: #888;
    font-size: 11px;
    font-weight: normal;
    line-height: 1.35;
}

#Single.-v2609 .v2609-route-fallback-title {
    border-left-width: 3px;
    border-left-color: #b7b7b7;
    color: #666;
    font-size: 18px;
    font-weight: 500;
}


@media screen and (max-width: 680px) {
    .why-verdy-item {
        grid-template-columns: 40px minmax(0, 1fr);
        column-gap: 12px;
    }

    .why-verdy-item-title {
        margin-top: 3px;
    }

    .why-verdy-item p {
        grid-column: 1 / -1;
        margin-top: 8px;
    }
}


/* #4054 review hypothesis: reach each case from its originating consultation route.
 * Keep original case IDs, copy, FAQ links and consultation CTAs unchanged.
 * Steps 1-4 stay readable; advice from step 5 is a single disclosure.
 */
.cases-story-page .cases-guide-layout {
    display: block;
}
.cases-story-page .cases-guide-index {
    display: none;
}
.cases-story-page .cases-guide-content {
    width: 100%;
    max-width: none;
}
.cases-story-page .case-guide-fallback {
    margin-left: 0;
}
.cases-story-page .case-advice-disclosure {
    margin: 18px 0;
    border: 1px solid #c8dacd;
    background: #f8fbf8;
}
.cases-story-page .case-advice-disclosure > summary {
    position: relative;
    padding: 15px 46px 15px 16px;
    color: #306743;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    cursor: pointer;
    list-style: none;
}
.cases-story-page .case-advice-disclosure > summary::-webkit-details-marker {
    display: none;
}
.cases-story-page .case-advice-disclosure > summary::after {
    content: "+";
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    font-weight: 400;
}
.cases-story-page .case-advice-disclosure[open] > summary::after {
    content: "−";
}
.cases-story-page .case-advice-disclosure > summary:focus-visible {
    outline: 2px solid #006d35;
    outline-offset: 3px;
}
.cases-story-page .case-advice-disclosure-body {
    padding: 0 16px 18px;
    border-top: 1px solid #dce8df;
    background: #fff;
}
.cases-story-page .case-advice-disclosure-body .case-guide-steps {
    margin-top: 0;
}
.cases-story-page .case-guide-step[open] > summary {
    cursor: pointer;
}
@media screen and (max-width: 680px) {
    .cases-story-page .case-advice-disclosure > summary {
        padding: 13px 38px 13px 12px;
        font-size: 15px;
    }
    .cases-story-page .case-advice-disclosure-body {
        padding: 0 12px 14px;
    }
}


/* #4062: FAQ is an intermediate answer, not the end of the consultation route. */
.faq-page .faq-form-next {
    margin: 14px 16px 26px;
    text-align: right;
}
.faq-page .faq-form-next a {
    display: inline-block;
    padding: 10px 18px;
    border: 1px solid #009246;
    background: #009246;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
}
.faq-page .faq-form-next a:hover,
.faq-page .faq-form-next a:focus-visible {
    background: #fff;
    color: #009246;
}
.faq-page .faq-form-next a:focus-visible {
    outline: 2px solid #006d35;
    outline-offset: 3px;
}
@media screen and (max-width: 680px) {
    .faq-page .faq-form-next {
        margin-right: 0;
        margin-left: 0;
        text-align: left;
    }
    .faq-page .faq-form-next a {
        box-sizing: border-box;
        width: 100%;
        text-align: center;
    }
}


/* #4054 reviewer update 2026-10-10: make collapsed case steps and advice visibly expandable. */
.cases-story-page .case-guide-step > summary::after,
.cases-story-page .case-advice-disclosure > summary::after {
    content: "";
    box-sizing: border-box;
    width: 10px;
    height: 10px;
    border: 0;
    border-right: 2px solid #009246;
    border-bottom: 2px solid #009246;
    border-radius: 0;
    background: none;
    transform: rotate(45deg);
    transition: transform .15s ease;
}
.cases-story-page .case-guide-step > summary::after {
    top: 50%;
    right: 11px;
    margin-top: -7px;
}
.cases-story-page .case-guide-step[open] > summary::after {
    content: "";
    transform: rotate(225deg);
    margin-top: -1px;
}
.cases-story-page .case-advice-disclosure > summary::after {
    top: 50%;
    right: 20px;
    margin-top: -7px;
    transform: translateY(-50%) rotate(45deg);
}
.cases-story-page .case-advice-disclosure[open] > summary::after {
    content: "";
    transform: translateY(-10%) rotate(225deg);
}


/* #4010 CONSULT hub: condition-readiness routes; scoped to the index only. */
.consult-hub-intro {
    display: block;
    margin-bottom: 24px;
}
.consult-hub-intro p {
    margin: 0;
    color: #606161;
    line-height: 1.8;
}
#Single.-v2609 .consult-hub-routes {
    margin-top: 18px;
    align-items: stretch;
}
#Single.-v2609 .consult-hub-routes .consult-secondary-panel {
    box-sizing: border-box;
    margin: 0;
    padding-bottom: 18px;
}
#Single.-v2609 .consult-hub-routes .section-title {
    margin-top: 0;
    margin-bottom: 10px;
}
.consult-hub-routes .consult-secondary-panel > p {
    margin: 8px 0 12px;
    color: #606161;
}
.consult-hub-subroute {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #e2e9e3;
}
.consult-hub-subroute h3 {
    margin: 0 0 6px;
    padding: 0;
    color: #606161;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
    background: none;
}
.consult-hub-subroute p {
    margin: 0;
}
.consult-hub-subroute a {
    color: #006d35;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.consult-hub-contact,
.consult-hub-owner {
    margin-top: 22px;
    padding: 14px 18px;
    border: 1px solid #dce7df;
    background: #fff;
}
.consult-hub-contact {
    border-left: 4px solid #009246;
    background: #f8fbf8;
}
.consult-hub-contact h2 {
    margin: 0 0 5px;
    color: #555;
    font-size: 18px;
}
.consult-hub-contact p {
    margin: 0 0 6px;
}
#Single.-v2609 .consult-hub-owner .section-title {
    margin: 0 0 10px;
}
.consult-hub-owner .consult-link-list {
    margin-bottom: 0;
}
.consult-index-page .consult-hub-owner + .why-verdy {
    margin-top: 26px;
}
@media screen and (max-width: 680px) {
    #Single.-v2609 .consult-hub-routes .consult-secondary-panel + .consult-secondary-panel {
        margin-top: 16px;
    }
    .consult-hub-contact,
    .consult-hub-owner {
        padding: 12px 14px;
    }
}

/* Explicitly override legacy heading rules on the CONSULT index. */
#Single.consult-index-page .consult-hub-subroute h3 {
    margin: 0 0 6px;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
    background: none;
}
#Single.consult-index-page .consult-hub-contact h2 {
    margin: 0 0 6px;
    padding: 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    background: none;
}


/* #4010 Visual B-01 | CONSULT hub only.
   Preserves search, contact, owner routes and the existing why-verdy banner. */
#Single.consult-index-page .title.consult-b-hero {
    position: relative;
    box-sizing: border-box;
    min-height: 210px;
    margin: 0 0 26px;
    padding: 28px 30px 25px;
    border: 1px solid #c9ddd0;
    border-radius: 2px;
    background: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.97) 58%, rgba(235,245,238,.95) 58%, rgba(235,245,238,.95) 100%);
    overflow: hidden;    box-shadow: 0 4px 14px rgba(23, 64, 39, .05);
}
#Single.consult-index-page .consult-b-hero-copy {
    position: relative;
    z-index: 1;
    max-width: 490px;
}
#Single.consult-index-page .consult-b-hero-kicker {
    margin: 0 0 8px;
    color: #087c45;
    font-size: 10px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: .12em;
}
#Single.consult-index-page .title.consult-b-hero h1 {
    margin: 0 0 12px;
    padding: 0;
    color: #1f3a29;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.45;
    background: none;
}
#Single.consult-index-page .consult-b-hero-lead {
    margin: 0 0 8px;
    color: #1e6d3f;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
}
#Single.consult-index-page .consult-b-hero-description {
    max-width: 435px;
    margin: 0;
    color: #4b5c52;
    font-size: 13px;
    line-height: 1.85;
}
#Single.consult-index-page .consult-b-hero-rule {
    display: flex;
    gap: 4px;
    width: 168px;
    height: 4px;
    margin-top: 18px;
}
#Single.consult-index-page .consult-b-hero-rule span {
    display: block;
    height: 100%;
    background: #008e4c;
}
#Single.consult-index-page .consult-b-hero-rule span:first-child { flex: 3; }
#Single.consult-index-page .consult-b-hero-rule span:nth-child(2) { flex: 1; background: #aed7bb; }
#Single.consult-index-page .consult-b-hero-rule span:last-child { flex: 1; background: #dce9df; }
#Single.consult-index-page .consult-b-hero-art {
    position: absolute;
    right: 18px;
    bottom: 12px;
    width: 208px;
    height: auto;
    fill: none;
    stroke: #82b695;
    stroke-width: 1.7;
    stroke-linejoin: round;
    stroke-linecap: round;
    opacity: .62;
    pointer-events: none;    background: #7dc59b;    background: #d7e5db;
}
#Single.consult-index-page .consult-b-route-caption {
    margin: 0 0 14px;
    color: #42584a;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
}
#Single.consult-index-page .consult-b-routes {
    display: flex;
    align-items: stretch;
    gap: 16px;
    margin: 0;
}
#Single.consult-index-page .consult-b-routes .consult-b-card {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 1px solid #d1dfd5;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(22, 63, 38, .055);
    overflow: hidden;
}
#Single.consult-index-page .consult-b-card-head {
    position: relative;
    box-sizing: border-box;
    min-height: 131px;
    margin: 0;
    padding: 15px 18px 16px;
}
#Single.consult-index-page .consult-b-card-search .consult-b-card-head {
    background: #008d49;
    color: #fff;
}
#Single.consult-index-page .consult-b-card-research .consult-b-card-head {
    background: #edf4ef;
    color: #2f4738;
}
#Single.consult-index-page .consult-b-card-kicker {
    display: block;
    margin: 0 0 10px;
    color: inherit;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .09em;
    line-height: 1.5;
    opacity: .86;
}
#Single.consult-index-page .consult-b-card-head .section-title {
    margin: 0 0 5px;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.55;
}
#Single.consult-index-page .consult-b-card-head p {
    margin: 0;
    color: inherit;
    font-size: 12px;
    line-height: 1.55;
    opacity: .88;
}
#Single.consult-index-page .consult-b-card-icon {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 30px;
    height: 30px;
    color: inherit;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: .7;
}
#Single.consult-index-page .consult-b-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    padding: 17px 18px 18px;    background: #fff;
}
#Single.consult-index-page .consult-b-card-description {
    margin: 0 0 13px;
    color: #58655d;
    font-size: 12px;
    line-height: 1.8;
}
#Single.consult-index-page .consult-b-link-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
#Single.consult-index-page .consult-b-link-list li {
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #e3ebe5;
    line-height: 1.5;
}
#Single.consult-index-page .consult-b-link-list li:first-child {
    border-top: 1px solid #e3ebe5;
}
#Single.consult-index-page .consult-b-link-list li a {
    position: relative;
    box-sizing: border-box;
    display: block;
    width: 100%;
    padding: 11px 18px 11px 2px;
    background: none;
    color: #364b3d;
    font-size: 13px;
    line-height: 1.55;
    text-decoration: none;
}
#Single.consult-index-page .consult-b-link-list li a::before {
    content: none;
}
#Single.consult-index-page .consult-b-link-list li a::after {
    content: '›';
    position: absolute;
    top: 50%;
    right: 3px;
    color: #008e4c;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
    transform: translateY(-50%);
}
#Single.consult-index-page .consult-b-link-list li a:hover,
#Single.consult-index-page .consult-b-link-list li a:focus-visible {
    background: #f4faf6;
    color: #007a3f;
}
#Single.consult-index-page .consult-b-link-list li a:focus-visible,
#Single.consult-index-page .consult-b-subroute-link:focus-visible,
#Single.consult-index-page .consult-b-contact-link:focus-visible,
#Single.consult-index-page .consult-b-owner-links a:focus-visible {
    outline: 2px solid #006d35;
    outline-offset: 2px;
}
#Single.consult-index-page .consult-b-subroute {
    margin: auto 0 0;
    padding: 18px 0 0;
    border: 0;
}
#Single.consult-index-page .consult-b-subroute h3 {
    margin: 0 0 7px;
    padding: 0;
    color: #647468;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.55;
    background: none;
}
#Single.consult-index-page .consult-b-subroute-link {
    position: relative;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 13px;
    border: 1px solid #cee1d3;
    border-radius: 2px;
    background: #f0f8f2;
    color: #006d35;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.55;
    text-decoration: none;
}
#Single.consult-index-page .consult-b-subroute-link span {
    flex: 0 0 auto;
    font-size: 17px;
}
#Single.consult-index-page .consult-b-subroute-link:hover {
    border-color: #008e4c;
    background: #e5f3e9;
}
#Single.consult-index-page .consult-b-contact {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 22px 0 0;
    padding: 18px;
    border: 1px solid #c8dfcf;
    border-radius: 3px;
    background: #f7fbf8;
}
#Single.consult-index-page .consult-b-contact-icon {
    display: flex;
    flex: 0 0 48px;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid #d4e6d9;
    border-radius: 4px;
    background: #fff;
}
#Single.consult-index-page .consult-b-contact-icon svg {
    width: 32px;
    height: 32px;
    fill: none;
    stroke: #008e4c;
    stroke-width: 2;
    stroke-linejoin: round;
    stroke-linecap: round;
}
#Single.consult-index-page .consult-b-contact-copy {
    flex: 1 1 auto;
    min-width: 0;
}
#Single.consult-index-page .consult-b-contact-copy h2 {
    margin: 0 0 3px;
    padding: 0;
    background: none;
    color: #30503a;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.55;
}
#Single.consult-index-page .consult-b-contact-copy p {
    margin: 0;
    color: #586b5c;
    font-size: 12px;
    line-height: 1.7;
}
#Single.consult-index-page .consult-b-contact-link {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 12px;
    box-sizing: border-box;
    min-height: 42px;
    padding: 9px 14px;
    border: 1px solid #008e4c;
    border-radius: 2px;
    background: #008e4c;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
}
#Single.consult-index-page .consult-b-contact-link span {
    font-size: 19px;
    line-height: 1;
}
#Single.consult-index-page .consult-b-contact-link:hover {
    background: #006f39;
    color: #fff;
}
#Single.consult-index-page .consult-b-owner {
    margin-top: 22px;
    padding: 18px 20px;
    border: 1px solid #d8e4db;
    border-radius: 3px;
    background: #fff;
}
#Single.consult-index-page .consult-b-owner-head {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 12px;
}
#Single.consult-index-page .consult-b-owner-head svg {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    color: #6a977b;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linejoin: round;
    stroke-linecap: round;
}
#Single.consult-index-page .consult-b-owner-head .section-title {
    margin: 0 0 3px;
    padding: 0;
    border: 0;
    background: none;
    color: #405446;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
}
#Single.consult-index-page .consult-b-owner-head p {
    margin: 0;
    color: #6c776f;
    font-size: 12px;
    line-height: 1.65;
}
#Single.consult-index-page .consult-b-owner-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
#Single.consult-index-page .consult-b-owner-links li {
    margin: 0;
    padding: 0;
    line-height: 1.55;
}
#Single.consult-index-page .consult-b-owner-links li a {
    position: relative;
    box-sizing: border-box;
    display: block;
    height: 100%;
    padding: 10px 8px 10px 17px;
    border: 1px solid #e1eae3;
    border-radius: 2px;
    background: #f9fbf9;
    color: #3c5343;
    font-size: 12px;
    line-height: 1.55;
    text-decoration: none;
}
#Single.consult-index-page .consult-b-owner-links li a::before {
    content: '›';
    position: absolute;
    top: 9px;
    left: 7px;
    color: #008e4c;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    transform: none;
}
#Single.consult-index-page .consult-b-owner-links li a:hover {
    border-color: #b2d5bc;
    background: #f0f8f2;
    color: #007c41;
}
/* The following shared banner remains unchanged and directly follows the owner block. */
#Single.consult-index-page .consult-b-owner + .why-verdy {
    margin-top: 28px;
}
@media screen and (max-width: 820px) {
    #Single.consult-index-page .title.consult-b-hero {
        padding: 24px 22px;
    }
    #Single.consult-index-page .consult-b-hero-art {
        width: 150px;
        opacity: .22;
    }
    #Single.consult-index-page .consult-b-routes {
        gap: 12px;
    }
    #Single.consult-index-page .consult-b-card-head {
        padding: 14px;
    }
    #Single.consult-index-page .consult-b-card-body {
        padding: 14px;
    }
    #Single.consult-index-page .consult-b-card-head .section-title {
        font-size: 15px;
    }
    #Single.consult-index-page .consult-b-contact {
        flex-wrap: wrap;
    }
}
@media screen and (max-width: 680px) {
    #Single.consult-index-page .title.consult-b-hero {
        min-height: 0;
        padding: 22px 18px;
    }
    #Single.consult-index-page .title.consult-b-hero h1 {
        font-size: 25px;
    }
    #Single.consult-index-page .consult-b-hero-art {
        width: 120px;
        opacity: .14;
    }
    #Single.consult-index-page .consult-b-routes {
        display: block;
    }
    #Single.consult-index-page .consult-b-routes .consult-b-card + .consult-b-card {
        margin-top: 16px;
    }
    #Single.consult-index-page .consult-b-card-head {
        min-height: 0;
        padding: 18px;
    }
    #Single.consult-index-page .consult-b-card-body {
        padding: 18px;
    }
    #Single.consult-index-page .consult-b-contact {
        gap: 12px;
        padding: 14px;
    }
    #Single.consult-index-page .consult-b-contact-icon {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
    }
    #Single.consult-index-page .consult-b-contact-link {
        flex: 1 0 100%;
        justify-content: space-between;
    }
    #Single.consult-index-page .consult-b-owner {
        padding: 16px;
    }
    #Single.consult-index-page .consult-b-owner-links {
        grid-template-columns: 1fr;
    }
}

/* CONSULT landing: preserve visual pause and separate the entry sections. */
#Single.consult-index-page .title.consult-b-hero {
    margin-bottom: 32px;
}
#Single.consult-index-page .consult-overview-band {
    margin-top: 20px;
}
#Single.consult-index-page .consult-b-contact,
#Single.consult-index-page .consult-b-owner {
    margin-top: 28px;
}
@media screen and (max-width: 680px) {
    #Single.consult-index-page .consult-overview-band {
        margin-top: 16px;
    }
    #Single.consult-index-page .consult-b-contact,
    #Single.consult-index-page .consult-b-owner {
        margin-top: 24px;
    }
}

/* CASES: small contextual previous/next navigation while reading articles. */
#case-jump-nav[hidden] { display: none !important; }
#case-jump-nav.case-jump-nav {
    position: fixed;
    z-index: 90;
    right: 18px;
    bottom: 52px;
    box-sizing: border-box;
    width: 238px;
    padding: 12px;
    border: 1px solid #cbded0;
    border-radius: 4px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 3px 14px rgba(0, 0, 0, .12);
}
.case-jump-info { display: flex; flex-direction: column; gap: 3px; margin-bottom: 9px; }
.case-jump-count { color: #008e4c; font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.case-jump-title { color: #47584c; font-size: 12px; line-height: 1.5; }
.case-jump-actions { display: flex; gap: 7px; }
.case-jump-actions a {
    flex: 1 1 0;
    padding: 7px 4px;
    border: 1px solid #bed6c5;
    border-radius: 2px;
    background: #f1f8f3;
    color: #006e3b;
    font-size: 12px;
    text-align: center;
    text-decoration: none;
}
.case-jump-actions a:hover { background: #e2f1e6; }
.case-jump-actions a.is-disabled { color: #9da9a0; background: #f8f9f8; border-color: #e1e7e2; cursor: default; }
.cases-guide-content > article[id^="case-"] { scroll-margin-top: 18px; }
@media screen and (max-width: 680px) {
    #case-jump-nav.case-jump-nav {
        left: 10px;
        right: 10px;
        bottom: 45px;
        width: auto;
        padding: 8px 10px;
        display: flex;
        align-items: center;
        gap: 10px;
    }
    .case-jump-info { flex: 1 1 auto; min-width: 0; margin: 0; }
    .case-jump-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
    .case-jump-actions { flex: 0 0 auto; }
    .case-jump-actions a { padding: 8px 9px; white-space: nowrap; font-size: 11px; }
}

/* CASES approved WebP visuals: thumbnail and enlarged image share one asset. */
.case-visual-trigger img {
    display: block;
    width: 182px;
    height: auto;
    border: 1px solid #d9e0dc;
    background: #f7f9f7;
    box-sizing: border-box;
}
.case-visual-dialog-image {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: calc(88vh - 86px);
    margin: 0 auto;
    border: 1px solid #d8e0da;
    background: #fff;
    box-sizing: border-box;
    object-fit: contain;
}
@media screen and (max-width: 680px) {
    .case-visual-trigger img { width: 160px; }
}

/* CASES lightbox: fit the dialog to the image's intrinsic width. */
dialog.case-visual-dialog {
    width: max-content;
    max-width: 94vw;
}
.case-visual-dialog-image {
    max-width: calc(94vw - 36px);
}

/* T4054 #10: disclose post-STEP narrative without hiding STEP5 or FAQs. */
.case-advice-details { margin: 16px 0 18px; border: 1px solid #cddfd2; background: #f6faf7; }
.case-advice-details > summary { position: relative; padding: 14px 44px 14px 16px; color: #176438; font-size: 16px; font-weight: 600; line-height: 1.6; cursor: pointer; list-style: none; }
.case-advice-details > summary::-webkit-details-marker { display: none; }
.case-advice-details > summary::after { content: "▼"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: #008e4c; font-size: 12px; }
.case-advice-details[open] > summary::after { content: "▲"; }
.case-advice-details > summary:focus-visible { outline: 2px solid #008e4c; outline-offset: 2px; }
.case-advice-content { padding: 0 14px 16px; }
.case-advice-content .case-guide-outcome { margin-top: 8px; }


/* T4079 C06: descriptive consultation topics, not actionable selection cards. */
#Single.consult-land-page .land-topic-list { margin: 16px 0 0; padding: 0; }
#Single.consult-land-page .land-topic { padding: 16px 0; border-bottom: 1px solid #e5e5e5; }
#Single.consult-land-page .land-topic:first-child { border-top: 1px solid #e5e5e5; }
#Single.consult-land-page .land-topic dt { margin: 0 0 6px; color: #3f654c; font-size: 16px; font-weight: 600; line-height: 1.5; }
#Single.consult-land-page .land-topic dd { margin: 0; color: #555; font-size: 14px; line-height: 1.8; }
#Single.consult-land-page .land-factors p { line-height: 1.8; }
#Single.consult-land-page .land-factors .consult-factor-note { margin-top: 8px; color: #777; font-size: 13px; }
#Single.consult-land-page .land-contact { margin-top: 36px; padding: 24px; border: 1px solid #d8e4da; background: #f8fbf8; }
#Single.consult-land-page .land-contact h2 { margin: 0 0 8px; color: #3f654c; font-size: 18px; line-height: 1.5; }
#Single.consult-land-page .land-contact p { margin: 0 0 18px; line-height: 1.8; }
#Single.consult-land-page .land-contact-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; box-sizing: border-box; min-height: 44px; padding: 10px 18px; background: #009246; color: #fff; text-decoration: none; }
#Single.consult-land-page .land-contact-link:hover,
#Single.consult-land-page .land-contact-link:focus-visible { background: #007b3b; color: #fff; }
#Single.consult-land-page .land-contact-link:focus-visible { outline: 2px solid #333; outline-offset: 3px; }
@media screen and (max-width: 680px) {
  #Single.consult-land-page .land-topic { padding: 14px 0; }
  #Single.consult-land-page .land-contact { padding: 18px; }
  #Single.consult-land-page .land-contact-link { display: flex; width: 100%; }
}


/* T4079 C05: concise owner consultation topics; preserve dedicated property form elsewhere. */
#Single.consult-owner-page .owner-topic-list { margin: 16px 0 0; padding: 0; }
#Single.consult-owner-page .owner-topic { padding: 16px 0; border-bottom: 1px solid #e5e5e5; }
#Single.consult-owner-page .owner-topic:first-child { border-top: 1px solid #e5e5e5; }
#Single.consult-owner-page .owner-topic dt { margin: 0 0 6px; color: #3f654c; font-size: 16px; font-weight: 600; line-height: 1.5; }
#Single.consult-owner-page .owner-topic dd { margin: 0; color: #555; font-size: 14px; line-height: 1.8; }
#Single.consult-owner-page .owner-factors p { line-height: 1.8; }
#Single.consult-owner-page .owner-factors .consult-factor-note { margin-top: 8px; color: #777; font-size: 13px; }
#Single.consult-owner-page .owner-contact { margin-top: 36px; padding: 24px; border: 1px solid #d8e4da; background: #f8fbf8; }
#Single.consult-owner-page .owner-contact h2 { margin: 0 0 8px; color: #3f654c; font-size: 18px; line-height: 1.5; }
#Single.consult-owner-page .owner-contact p { margin: 0 0 18px; line-height: 1.8; }
#Single.consult-owner-page .owner-contact-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; box-sizing: border-box; min-height: 44px; padding: 10px 18px; background: #009246; color: #fff; text-decoration: none; }
#Single.consult-owner-page .owner-contact-link:hover,
#Single.consult-owner-page .owner-contact-link:focus-visible { background: #007b3b; color: #fff; }
#Single.consult-owner-page .owner-contact-link:focus-visible { outline: 2px solid #333; outline-offset: 3px; }
@media screen and (max-width: 680px) {
  #Single.consult-owner-page .owner-topic { padding: 14px 0; }
  #Single.consult-owner-page .owner-contact { padding: 18px; }
  #Single.consult-owner-page .owner-contact-link { display: flex; width: 100%; }
}


/* T4079 C04: non-interactive corporate consultation topics, aligned with accepted C06 pattern. */
#Single.consult-corporate-page .corporate-topic-list { margin: 16px 0 0; padding: 0; }
#Single.consult-corporate-page .corporate-topic { padding: 16px 0; border-bottom: 1px solid #e5e5e5; }
#Single.consult-corporate-page .corporate-topic:first-child { border-top: 1px solid #e5e5e5; }
#Single.consult-corporate-page .corporate-topic dt { margin: 0 0 6px; color: #3f654c; font-size: 16px; font-weight: 600; line-height: 1.5; }
#Single.consult-corporate-page .corporate-topic dd { margin: 0; color: #555; font-size: 14px; line-height: 1.8; }
#Single.consult-corporate-page .corporate-factors p { line-height: 1.8; }
#Single.consult-corporate-page .corporate-factors .consult-factor-note { margin-top: 8px; color: #777; font-size: 13px; }
#Single.consult-corporate-page .corporate-contact { margin-top: 36px; padding: 24px; border: 1px solid #d8e4da; background: #f8fbf8; }
#Single.consult-corporate-page .corporate-contact h2 { margin: 0 0 8px; color: #3f654c; font-size: 18px; line-height: 1.5; }
#Single.consult-corporate-page .corporate-contact p { margin: 0 0 18px; line-height: 1.8; }
#Single.consult-corporate-page .corporate-contact-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; box-sizing: border-box; min-height: 44px; padding: 10px 18px; background: #009246; color: #fff; text-decoration: none; }
#Single.consult-corporate-page .corporate-contact-link:hover,
#Single.consult-corporate-page .corporate-contact-link:focus-visible { background: #007b3b; color: #fff; }
#Single.consult-corporate-page .corporate-contact-link:focus-visible { outline: 2px solid #333; outline-offset: 3px; }
@media screen and (max-width: 680px) {
  #Single.consult-corporate-page .corporate-topic { padding: 14px 0; }
  #Single.consult-corporate-page .corporate-contact { padding: 18px; }
  #Single.consult-corporate-page .corporate-contact-link { display: flex; width: 100%; }
}

/* CASE 01 / STEP 5: restrained floor-plan reveal on disclosure. */
.cases-story-page #case-01 .case-01-layout-illustration { width: min(100%, 360px); margin: 16px auto; text-align: center; }
.cases-story-page #case-01 .case-01-layout-illustration img { display: block; width: 100%; height: auto; }
.cases-story-page #case-01 .case-guide-step[open] .case-01-layout-illustration { animation: case01-layout-reveal 900ms ease-out both; }
@keyframes case01-layout-reveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .cases-story-page #case-01 .case-guide-step[open] .case-01-layout-illustration { animation: none; } }
