/* Independent suite only. Official page styles and existing A/B/C are untouched. */
.grande-subpage { --shadow: none; background: var(--paper); }
.grande-subpage .reveal { opacity: 1; transform: none; }
.grande-subpage .sub-breadcrumb { display: flex; gap: 16px; width: min(1280px,calc(100% - 80px)); margin: auto; padding: 20px 0; font-size: 11px; color: var(--muted); }
.grande-subpage .sub-breadcrumb a { border-bottom: 1px solid #b2bcb1; }
.grande-subpage .section, .grande-subpage .section.compact { width: min(1180px,calc(100% - 80px)); padding: 70px 0; }
.grande-subpage .title-rule { display: flex; align-items: center; justify-content: flex-start; gap: 22px; font-size: 36px; line-height: 1.4; text-align: left; margin: 0 0 35px; color: var(--ink); }
.grande-subpage .title-rule::before { width: 32px; flex-shrink: 0; background: var(--gold); }
.grande-subpage .title-rule::after { display: none; }
.grande-subpage .page-intro { position: relative; width: 100%; padding: 68px max(40px,calc((100% - 1180px)/2)) 72px; color: white; background: linear-gradient(90deg,rgba(10,48,42,.96),rgba(10,48,42,.68) 55%,rgba(10,48,42,.22)),url('images/architecture-detail.jpg') center 44%/cover; }
.grande-subpage .page-intro .title-rule { color: white; font-size: 52px; margin-bottom: 20px; }
.grande-subpage .page-intro .title-rule::before { background: var(--gold-light); }
.grande-subpage .page-lead { max-width: 590px; font-size: 16px; margin: 0; text-align: left; color: #eef1e8; }
.grande-subpage .outline-button, .grande-subpage .solid-button { border-radius: 0; font-weight: 400; min-height: 46px; }
.grande-subpage .service-grid { gap: 26px; }
.grande-subpage .service-tile { min-height: 415px; border: 1px solid #547166; }
.grande-subpage .service-one { background-image: url('images/discussion.jpg'); }
.grande-subpage .service-two { background-image: url('images/architecture-hero.jpg'); }
.grande-subpage .service-three { background-image: url('images/analysis.jpg'); }
.grande-subpage .service-four { background-image: url('images/markets.jpg'); }
.grande-subpage .service-tile::before { background: linear-gradient(0deg,rgba(8,40,35,.98),rgba(8,40,35,.8) 43%,rgba(8,40,35,.12)); }
.grande-subpage .service-tile > div { padding: 36px 36px 8px; }
.grande-subpage .service-tile h2 { font-size: 32px; line-height: 1.45; }
.grande-subpage .service-tile p { font-size: 14px; color: #edf1e9; }
.grande-subpage .service-detail { position: relative; z-index: 1; padding: 0 36px 25px; }
.grande-subpage .service-detail summary { min-height: 44px; width: fit-content; padding: 9px 0; color: #f3dfb9; cursor: pointer; border-bottom: 1px solid #a5ad92; font-size: 13px; }
.grande-subpage .service-detail > div { padding-top: 20px; font-size: 14px; line-height: 1.9; }
.grande-subpage .track-record, .grande-subpage .ir-contact { background: #164b41; }
.grande-subpage .track-record h2 { font-size: 39px; }
.grande-subpage[data-page='leaders'] .page-intro { background: none; padding-top: 14px; padding-bottom: 25px; }
.grande-subpage[data-page='leaders'] .page-intro .title-rule { color: var(--muted); font: 12px var(--sans); letter-spacing: .14em; margin: 0; }
.grande-subpage .leaders-hero, .grande-subpage .experience-hero, .grande-subpage .relations-hero { min-height: 420px; height: auto; padding: 65px max(40px,calc((100% - 1180px)/2)); justify-content: flex-start; background: linear-gradient(90deg,rgba(10,48,42,.95),rgba(10,48,42,.66) 50%,rgba(10,48,42,.12)),url('images/architecture-detail.jpg') center/cover; }
.grande-subpage .leaders-hero-card, .grande-subpage .relations-card { background: transparent; padding: 0; max-width: 580px; text-align: left; box-shadow: none; color: white; }
.grande-subpage .leaders-hero-card h1, .grande-subpage .relations-card h1 { font-size: 51px; color: white; line-height: 1.45; margin: 20px 0; }
.grande-subpage .leaders-hero-card > span, .grande-subpage .relations-card > span { color: var(--gold-light); }
.grande-subpage .relations-card p { color: #eef1e8; }
.grande-subpage .team-section > .placeholder-note { border: 1px solid #d9d3c1; padding: 16px 20px; text-align: left; color: #6a5736; background: #efede3; margin: 0 0 20px; font-size: 13px; }
.grande-subpage .person, .grande-subpage .person.reverse { grid-template-columns: 250px 1fr; gap: 65px; padding: 45px 0; }
.grande-subpage .person.reverse .person-portrait, .grande-subpage .person.reverse .person-copy { order: initial; }
.grande-subpage .person-portrait { height: 315px; background: #e9eae0; border: 1px solid #d1d7cb; }
.grande-subpage .person-portrait::before { width: 105px; height: 105px; top: 45px; background: #d4dace; }
.grande-subpage .person-portrait::after { width: 190px; height: 150px; background: #d4dace; }
.grande-subpage .person-portrait span { color: #365549; font-size: 23px; text-shadow: none; }
.grande-subpage .person-copy h2 { font-size: 33px; margin-bottom: 18px; }
.grande-subpage .person-copy p, .grande-subpage .person-copy li { font-size: 14px; }
.grande-subpage .quote-band { padding: 57px 40px; background: #164b41; }
.grande-subpage .quote-band p { font-size: 29px; }
.grande-subpage .experience-hero { background-image: linear-gradient(90deg,rgba(10,48,42,.95),rgba(10,48,42,.64) 55%,rgba(10,48,42,.18)),url('images/skyline.jpg'); }
.grande-subpage .experience-title h1 { font-size: 55px; margin: 18px 0; }
.grande-subpage .experience-title p { font-size: 16px; }
.grande-subpage .capability-grid { border: 1px solid var(--line); }
.grande-subpage .capability-grid article { min-height: 250px; padding: 28px; background: #faf9f5; }
.grande-subpage .capability-grid h2 { margin-top: 35px; font-size: 25px; }
.grande-subpage .case-feature { width: min(1180px,calc(100% - 80px)); margin: 0 auto; min-height: 480px; border: 1px solid var(--line); background: #f1f0e8; grid-template-columns: 1fr 1fr; }
.grande-subpage .case-photo { background: url('images/discussion.jpg') center/cover; }
.grande-subpage .case-copy { padding: 40px; }
.grande-subpage .case-copy h2 { font-size: 34px; }
.grande-subpage .case-copy p { font-size: 14px; }
.grande-subpage .deals-grid { gap: 22px; }
.grande-subpage .deal { padding: 30px; background: rgba(255,255,255,.5); }
.grande-subpage .deal:hover { transform: translateY(-2px); box-shadow: none; border-color: #92a79a; }
.grande-subpage .deal-mark { background: transparent; border: 1px solid #a7b7a8; color: var(--gold); width: 53px; height: 53px; font-size: 28px; margin-bottom: 26px; }
.grande-subpage .deal h2 { font-size: 26px; min-height: 80px; }
.grande-subpage .deal p { min-height: 70px; }
.grande-subpage .relations-hero { background-image: linear-gradient(90deg,rgba(10,48,42,.95),rgba(10,48,42,.76) 48%,rgba(10,48,42,.12)),url('images/globe.jpg'); background-position: center 53%; }
.grande-subpage .disclosure { gap: 70px; }
.grande-subpage .disclosure h2, .grande-subpage .contact-form-section h2 { font-size: 34px; }
.grande-subpage .download-list button { background: transparent; }
.grande-subpage [data-placeholder-download]:disabled { cursor: not-allowed; opacity: 1; color: var(--muted); }
.grande-subpage .download-list button em { color: #58695c; }
.grande-subpage .download-list button b { color: #6d7a6c; }
.grande-subpage .ir-contact h2 { font-size: 38px; }
.grande-subpage .contact-hero { min-height: 0; display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 70px; padding: 64px max(40px,calc((100% - 1180px)/2)); background: linear-gradient(90deg,rgba(10,48,42,.68),rgba(10,48,42,.4)),url('images/skyline.jpg') center/cover; }
.grande-subpage .contact-title { text-align: left; font-size: 45px; padding-top: 20px; }
.grande-subpage .contact-panel { padding: 38px; background: #f8f7f0; text-align: left; width: 100%; box-shadow: none; border: 1px solid #d7ddd1; }
.grande-subpage .contact-panel h1 { font-size: 35px; }
.grande-subpage .contact-panel > p { font-size: 14px; }
.grande-subpage .contact-info { padding: 6px 0 23px; font-size: 14px; }
.grande-subpage .contact-form-section { background: #f0f1e8; }
.grande-subpage .contact-form-section > .section { gap: 65px; }
.grande-subpage .contact-demo { padding: 28px; background: rgba(255,255,255,.55); border: 1px solid var(--line); }
.grande-subpage .contact-demo input, .grande-subpage .contact-demo textarea { min-width: 0; }
.grande-subpage .contact-demo .solid-button { background: #65736a; border-color: #65736a; }
.grande-subpage[data-page='notice'] .page-intro { background-image: linear-gradient(90deg,rgba(10,48,42,.96),rgba(10,48,42,.63)),url('images/architecture-hero.jpg'); }
.grande-subpage .notice { grid-template-columns: 140px 1fr; gap: 35px; padding: 36px 0; }
.grande-subpage .notice h2 { font-size: 27px; }
.grande-subpage .notice p { font-size: 14px; }
.grande-subpage .pv-footer .footer-brand { background: #f8f7f2; padding: 10px 14px; border: 1px solid #d6ded6; }
.grande-subpage .pv-footer .footer-meta { padding: 21px 0; }
@media (max-width: 1100px) {
 .grande-subpage .contact-hero, .grande-subpage .disclosure, .grande-subpage .contact-form-section > .section { gap: 35px; }
 .grande-subpage .download-list button { grid-template-columns: 1fr auto 15px; gap: 15px; }
 .grande-subpage .person, .grande-subpage .person.reverse { gap: 35px; }
}
@media (max-width: 959px) {
 .grande-subpage .sub-breadcrumb, .grande-subpage .section, .grande-subpage .section.compact, .grande-subpage .case-feature { width: calc(100% - 48px); }
 .grande-subpage .section, .grande-subpage .section.compact { padding-top: 50px; padding-bottom: 50px; }
 .grande-subpage .page-intro { width: 100%; padding: 55px 24px; }
 .grande-subpage .capability-grid, .grande-subpage .process ol { grid-template-columns: 1fr 1fr; }
 .grande-subpage .service-tile > div { padding: 28px 24px 8px; }
 .grande-subpage .service-detail { padding-left: 24px; padding-right: 24px; }
 .grande-subpage .service-tile h2 { font-size: 29px; }
 .grande-subpage .contact-hero { padding: 48px 24px; gap: 25px; grid-template-columns: .65fr 1.35fr; }
 .grande-subpage .contact-title { font-size: 33px; }
 .grande-subpage .contact-panel { padding: 28px; }
 .grande-subpage .contact-panel h1 { font-size: 30px; }
 .grande-subpage .disclosure, .grande-subpage .contact-form-section > .section { grid-template-columns: 1fr; }
 .grande-subpage .case-copy { padding: 28px; }
 .grande-subpage .case-copy h2 { font-size: 28px; }
}
@media (max-width: 719px) {
 .grande-subpage .sub-breadcrumb, .grande-subpage .section, .grande-subpage .section.compact, .grande-subpage .case-feature { width: calc(100% - 40px); }
 .grande-subpage .sub-breadcrumb { padding: 15px 0; }
 .grande-subpage .page-intro { width: 100%; padding: 43px 20px; }
 .grande-subpage .page-intro .title-rule { font-size: 36px; }
 .grande-subpage .page-lead { font-size: 14px; }
 .grande-subpage .title-rule { font-size: 28px; gap: 15px; margin-bottom: 27px; }
 .grande-subpage .title-rule::before { width: 22px; }
 .grande-subpage .service-grid { grid-template-columns: 1fr; gap: 20px; }
 .grande-subpage .service-tile { min-height: 385px; }
 .grande-subpage .track-record h2 { font-size: 28px; }
 .grande-subpage .leaders-hero, .grande-subpage .experience-hero, .grande-subpage .relations-hero { padding: 50px 20px; min-height: 340px; }
 .grande-subpage .leaders-hero-card h1, .grande-subpage .relations-card h1 { font-size: 35px; }
 .grande-subpage .experience-title h1 { font-size: 39px; }
 .grande-subpage .experience-title p { font-size: 14px; }
 .grande-subpage .person, .grande-subpage .person.reverse { grid-template-columns: 1fr; gap: 26px; padding: 30px 0; }
 .grande-subpage .person-portrait { width: 100%; height: 290px; }
 .grande-subpage .person-copy h2 { font-size: 29px; }
 .grande-subpage .quote-band { padding: 42px 20px; }
 .grande-subpage .quote-band p { font-size: 23px; }
 .grande-subpage .capability-grid { grid-template-columns: 1fr; }
 .grande-subpage .capability-grid article { min-height: 0; padding: 26px; }
 .grande-subpage .capability-grid h2 { margin-top: 20px; }
 .grande-subpage .case-feature { grid-template-columns: 1fr; }
 .grande-subpage .case-photo { min-height: 240px; }
 .grande-subpage .process ol { grid-template-columns: 1fr; }
 .grande-subpage .process li { border-top: 1px solid var(--line); border-left: 0; padding: 24px 0; }
 .grande-subpage .deals-grid { grid-template-columns: 1fr; }
 .grande-subpage .deal { padding: 27px; }
 .grande-subpage .deal h2, .grande-subpage .deal p { min-height: 0; }
 .grande-subpage .disclosure h2, .grande-subpage .contact-form-section h2 { font-size: 28px; }
 .grande-subpage .download-list button { grid-template-columns: 1fr auto; }
 .grande-subpage .download-list button em { display: block; font-size: 11px; }
 .grande-subpage .download-list button b { display: none; }
 .grande-subpage .contact-hero { display: block; padding: 33px 20px; }
 .grande-subpage .contact-title { font-size: 30px; padding: 0; margin: 0 0 25px; }
 .grande-subpage .contact-panel { padding: 24px; }
 .grande-subpage .contact-panel h1 { font-size: 29px; line-height: 1.5; }
 .grande-subpage .contact-demo { padding: 20px; grid-template-columns: 1fr; }
 .grande-subpage .contact-demo label { min-width: 0; }
 .grande-subpage .notice { grid-template-columns: 1fr; gap: 12px; padding: 30px 0; }
 .grande-subpage .notice h2 { font-size: 23px; }
}
