.principles-page { background: #f8f7f2; }
.principles-page main { overflow: clip; }
.principles-page h1, .principles-page h2 { font-family: 'DM Sans', Arial, sans-serif; font-weight: 500; text-wrap: balance; }
.principles-page p { text-wrap: pretty; }
.principles-wrap { max-width: 1280px; margin: 0 auto; }
.principles-hero { position: relative; isolation: isolate; color: #fff; background: linear-gradient(115deg, #0d2b23, #21483a); padding: 35px 7% 65px; }
.principles-hero::after { content: ''; position: absolute; z-index: -1; right: -360px; top: -270px; width: 920px; height: 920px; border: 1px solid #d5b47a36; border-radius: 50%; box-shadow: 0 0 0 65px #cba5620c, 0 0 0 130px #cba56208; pointer-events: none; }
.principles-back { display: inline-flex; gap: 12px; align-items: center; font-size: 12px; color: #dce5df; padding: 8px 0; margin-bottom: 32px; }
.principles-back:hover { color: #edcf9f; }
.principles-hero-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(270px, .8fr); gap: 9%; align-items: center; }
.principles-hero .eyebrow { color: #e6c99f; margin-bottom: 23px; }
.principles-page .principles-hero h1 { font-size: clamp(44px, 5.5vw, 78px); line-height: 1.1; letter-spacing: -2.2px; max-width: 650px; }
.principles-hero-statement { color: #edcf9f; font-size: clamp(21px, 2.2vw, 30px); line-height: 1.4; letter-spacing: -.5px; margin: 25px 0 18px; }
.principles-hero-copy { max-width: 570px; font-size: 16px; color: #e0e8e2; line-height: 1.9; margin: 0 0 30px; }
.principles-hero .button, .principles-cta .button { background: #e3c18f; border-color: #e3c18f; color: #15392f; gap: 25px; }
.principles-hero .button:hover, .principles-cta .button:hover { background: #efd4ad; border-color: #efd4ad; }
.principles-poster { margin: 0; width: 100%; max-width: 320px; justify-self: end; }
.principles-poster > a { display: block; padding: 7px; border: 1px solid #b79b71; background: #15392f; box-shadow: 0 18px 55px #03150e50; }
.principles-poster img { display: block; width: 100%; height: auto; }
.principles-poster figcaption { font-size: 11px; color: #dde6de; margin-top: 13px; line-height: 1.7; }
.principles-section { padding: 78px 7%; }
.principles-page h2 { font-size: clamp(32px, 3.2vw, 48px); line-height: 1.2; letter-spacing: -1.2px; }
.principles-bespoke-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 8%; }
.principles-bespoke h2 { max-width: 500px; }
.principles-copy p { font-size: 15px; color: var(--muted); line-height: 1.9; margin: 0 0 19px; }
.principles-copy p:last-child { margin-bottom: 0; }
.principles-method { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 47px; border-top: 1px solid #bca47e; padding-top: 27px; }
.principles-method h3 { font-size: 19px; }
.principles-method p { margin: 13px 0 0; font-size: 13px; line-height: 1.85; color: var(--muted); }
.principles-list-section { padding-top: 65px; background: #eeeade; }
.principles-list-heading { margin-bottom: 39px; max-width: 750px; }
.principles-list-heading > p:last-child { font-size: 15px; color: var(--muted); line-height: 1.9; max-width: 650px; margin: 23px 0 0; }
.principles-list { list-style: none; padding: 0; margin: 0; }
.principles-list > li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 8%; border-top: 1px solid #baa789; padding: 30px 0; }
.principles-list > li:last-child { border-bottom: 1px solid #baa789; }
.principle-title { display: flex; align-items: flex-start; gap: 24px; }
.principle-title > span { font-size: 11px; line-height: 1.6; letter-spacing: 1px; color: #85663d; padding-top: 5px; flex: 0 0 22px; }
.principle-title h3 { font-size: clamp(20px, 2vw, 27px); line-height: 1.4; max-width: 420px; text-wrap: balance; }
.principles-list > li > p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.9; }
.principles-cta { color: #fff; background: #16392f; }
.principles-cta .eyebrow { color: #e6c99f; }
.principles-cta-grid { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); align-items: center; gap: 12%; }
.principles-cta h2 { max-width: 600px; }
.principles-cta p:not(.eyebrow) { font-size: 15px; color: #dce5df; max-width: 610px; line-height: 1.9; margin: 25px 0 0; }
.principles-cta-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.principles-cta .text-link { color: #fff; border-color: #c4b18d80; }
.principles-cta .text-link:hover { color: #edcf9f; }
@media (max-width: 1050px) {
  .principles-hero-grid { gap: 6%; }
  .principles-page .principles-hero h1 { font-size: 57px; }
  .principles-method { gap: 27px; }
  .principles-cta-grid { gap: 7%; }
}
@media (max-width: 780px) {
  .principles-hero { padding: 25px 6% 45px; }
  .principles-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .principles-page .principles-hero h1 { font-size: clamp(38px, 7.5vw, 58px); letter-spacing: -1.5px; }
  .principles-hero-copy { max-width: 620px; font-size: 15px; }
  .principles-poster { justify-self: center; max-width: 340px; }
  .principles-section { padding: 52px 6%; }
  .principles-bespoke-grid, .principles-list > li, .principles-cta-grid { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .principles-page h2 { font-size: clamp(31px, 6.4vw, 43px); letter-spacing: -.9px; }
  .principles-list > li { gap: 15px; padding: 26px 0; }
  .principles-list > li > p { padding-left: 46px; }
  .principle-title h3 { max-width: 600px; font-size: 22px; }
  .principles-cta-actions { gap: 17px; }
}
@media (max-width: 480px) {
  .principles-hero .button { width: 100%; }
  .principles-method { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 30px; }
  .principles-list > li > p { padding-left: 0; }
  .principle-title { gap: 15px; }
  .principle-title h3 { font-size: 21px; }
  .principles-cta-actions .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.principles-page) { scroll-behavior: auto; }
}
