/* Original copy layouts using the existing InkStone palette and typography. */
.inkstone-site { color: #365642; background: #fff; }
.inkstone-site main { width: 100%; max-width: none; }
.inkstone-site header { position: absolute; top: 0; left: 0; }
.inkstone-site header nav { padding-top: 8px; padding-bottom: 8px; }
.skip-link { position: absolute; left: 12px; top: -80px; z-index: 10000; padding: 12px 18px; background: #365642; color: #fff; }
.skip-link:focus { top: 12px; color: #fff; }
.copy-hero { padding: 165px 0 70px; background: linear-gradient(130deg,#f7f4ee 0%,#fff 72%); }
.copy-hero-grid.has-image { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 46px; }
.copy-hero h1, .journal-hero h1 { font-family: 'PP Editorial New',Georgia,serif; font-size: clamp(38px,4.7vw,64px); font-weight: 400; line-height: 1.12; color: #365642; max-width: 1050px; margin: 18px 0 25px; }
.copy-lead { font-size: 18px; line-height: 1.8; max-width: 920px; color: #46574b; margin-bottom: 28px; }
.copy-hero-image img { width: 100%; height: auto; max-height: 480px; object-fit: contain; }
.inkstone-site .home-kicker { display: inline-block; color: #365642; background: #eee7db; border: 1px solid #e3d6c0; border-radius: 999px; padding: 7px 14px; font: 600 13px/1.4 Arial,sans-serif; letter-spacing: .025em; }
.copy-body { padding-top: 68px; padding-bottom: 76px; }
.copy-body h2, .copy-cta h2, .journal-article h2 { font-family: 'PP Editorial New',Georgia,serif; font-weight: 400; color: #365642; font-size: clamp(29px,3.2vw,43px); line-height: 1.2; margin: 0 0 20px; }
.copy-body h3 { font-family: 'PP Editorial New',Georgia,serif; font-size: 27px; font-weight: 400; color: #365642; }
.copy-body p, .journal-article p { font-size: 17px; line-height: 1.85; color: #4b574f; }
.copy-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px 64px; margin-bottom: 62px; }
.copy-section { border-top: 2px solid #e1d3bd; padding-top: 26px; }
.copy-section p { margin-bottom: 0; }
.copy-text-link { color: #365642; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.copy-text-link:hover { color: #294032; }
.copy-card-grid, .journal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 32px 0 40px; }
.copy-card { padding: 29px; background: #fbfaf7; border: 1px solid #e7e0d3; border-radius: 20px; display: flex; flex-direction: column; align-items: flex-start; }
.copy-card-number { font-size: 14px; color: #68766c; padding-bottom: 18px; }
.copy-card p { font-size: 16px; line-height: 1.75; flex-grow: 1; }
.copy-card h2 { font-size: 29px; margin-top: 17px; }
.copy-card h2 a { color: #365642; text-decoration: none; }
.copy-card .copy-text-link { margin-top: 12px; }
.copy-features { padding: 38px; background: #f5f1e9; border-radius: 22px; margin-bottom: 60px; }
.copy-features h2 { margin-top: 18px; }
.copy-features ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 35px; list-style: none; padding: 0; }
.copy-features li::before { content: '✓'; color: #365642; padding-right: 10px; }
.copy-process { margin: 60px 0; }
.copy-process-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 25px; }
.copy-process-grid h2 { font-size: 27px; }
.copy-process-grid p { font-size: 16px; }
.copy-faq { margin-top: 62px; }
.copy-faq details { border-bottom: 1px solid #ddd7cc; padding: 21px 0; }
.copy-faq summary { cursor: pointer; font-weight: 600; color: #365642; font-size: 18px; }
.copy-faq details p { margin-top: 18px; max-width: 900px; }
.copy-cta { max-width: 1140px; margin: 0 auto 70px; padding: 46px; background: #365642; color: #fff; border-radius: 26px; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; }
.copy-cta h2 { color: #fff; margin-top: 20px; }
.copy-cta p { color: #edf0ed; font-size: 17px; line-height: 1.75; max-width: 710px; margin: 0; }
.copy-cta .home-kicker { background: #c4ab84; border-color: #c4ab84; }
.copy-cta-actions { display: flex; flex-direction: column; align-items: center; gap: 19px; }
.copy-phone { color: #fff; font-size: 17px; }
.copy-phone:hover { color: #c4ab84; }
.contact-layout { display: grid; grid-template-columns: 1fr 1.05fr; gap: 58px; align-items: start; }
.contact-layout .copy-sections { display: block; }
.contact-layout .copy-section { margin-top: 32px; }
.contact-details { padding: 0; list-style: none; margin: 22px 0 42px; }
.contact-details li { margin-bottom: 24px; }
.contact-details span { display: block; text-transform: uppercase; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: #677367; margin-bottom: 6px; }
.contact-details a { color: #365642; overflow-wrap: anywhere; }
.contact-details address { font-style: normal; max-width: 400px; line-height: 1.8; }
.contact-panel { padding: 38px; border: 1px solid #e2dacb; border-radius: 25px; background: #fbfaf7; }
.contact-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.contact-form-group { min-width: 0; margin-bottom: 16px; }
.contact-input { display: block; width: 100%; min-width: 0; padding: 15px; border: 1px solid #d7d9d2; border-radius: 12px; background: #fff; font-size: 15px; color: #365642; }
.contact-input:focus { outline: 2px solid #365642; outline-offset: 2px; }
textarea.contact-input { min-height: 135px; resize: vertical; }
.contact-attach { display: flex; align-items: center; gap: 13px; border: 1px dashed #b7a487; border-radius: 12px; padding: 18px; cursor: pointer; }
.contact-attach input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.contact-attach:focus-within { outline: 2px solid #365642; outline-offset: 3px; }
.contact-attach__label { font-size: 14px; line-height: 1.6; }
.contact-attach__hint { font-size: 12px !important; line-height: 1.6 !important; margin-top: 10px; }
.contact-attach__error { color: #a83d2c !important; font-size: 14px !important; }
.contact-attach.is-drag { background: #eee7db; }
.contact-attach__list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.contact-attach__file { display: inline-flex; align-items: center; gap: 8px; padding: 8px 10px; background: #eee7db; border-radius: 8px; max-width: 100%; }
.contact-attach__file span { overflow-wrap: anywhere; }
.contact-attach__remove { border: 0; background: none; color: #365642; font-size: 20px; }
.contact-submit { width: 100%; margin-top: 15px; }
.journal-hero .container { max-width: 1140px; }
.journal-byline { font-size: 14px; color: #68766c; }
.journal-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 62px; padding-top: 60px; padding-bottom: 70px; }
.journal-article section { margin-bottom: 42px; scroll-margin-top: 30px; }
.journal-article, .journal-article section { text-align: left; }
.journal-toc { padding: 28px; background: #f5f1e9; border-radius: 18px; }
.journal-toc h2, .journal-help h2 { font-family: Georgia,serif; font-size: 24px; color: #365642; }
.journal-toc ol { padding-left: 20px; margin-top: 18px; }
.journal-toc li { padding: 7px 0; font-size: 15px; line-height: 1.6; }
.journal-toc a { color: #365642; }
.journal-help { margin-top: 26px; padding: 25px; border: 1px solid #e2dacb; border-radius: 18px; }
.journal-help p { font-size: 15px; line-height: 1.7; color: #4b574f; }
.journal-exercise { padding: 27px; border-left: 4px solid #c4ab84; background: #faf7f1; }
.copy-sources { font-size: 14px !important; line-height: 1.75 !important; }
.copy-sources a { color: #365642; text-decoration: underline; }
.legal-copy { max-width: 950px; }
.legal-copy .copy-sections { display: block; }
.legal-copy .copy-section { margin-bottom: 40px; }
.inkstone-site .newHero { padding-top: 175px; padding-bottom: 72px; }
.inkstone-site .newHero__content { position: relative; z-index: 1; }
.inkstone-site .newHero__buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; }
.inkstone-site .newHero__heading { font-size: clamp(39px,5.1vw,68px); max-width: 1000px; margin: 22px auto; }
.inkstone-site .newHero__desc { max-width: 870px; font-size: 18px; line-height: 1.8; margin: 0 auto 28px; }
.inkstone-site .site-footer__grid { grid-template-columns: 1.2fr 1fr 1fr 1fr 1.25fr; }
.inkstone-site .site-footer__contact address { font-style: normal; }
@media (max-width: 1199px) {
  .copy-process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .copy-cta { margin-left: 24px; margin-right: 24px; }
  .journal-layout { gap: 35px; grid-template-columns: minmax(0,1fr) 260px; }
  .inkstone-site .site-footer__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 991px) {
  .copy-hero-grid.has-image, .contact-layout, .journal-layout { grid-template-columns: 1fr; }
  .copy-hero-image { display: none; }
  .copy-card-grid, .journal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .copy-cta { grid-template-columns: 1fr; }
  .copy-cta-actions { flex-direction: row; justify-content: flex-start; }
  .journal-layout aside { order: -1; }
  .journal-toc { padding: 22px; }
  .journal-help { display: none; }
}
@media (max-width: 575px) {
  .copy-hero { padding-top: 155px; padding-bottom: 45px; }
  .copy-lead { font-size: 16px; }
  .copy-body { padding-top: 42px; padding-bottom: 45px; }
  .copy-sections, .copy-card-grid, .journal-grid, .copy-process-grid, .copy-features ul, .contact-form-row { grid-template-columns: 1fr; }
  .copy-sections { gap: 30px; margin-bottom: 40px; }
  .copy-card, .contact-panel, .copy-features { padding: 24px; }
  .copy-cta { padding: 28px; margin-left: 12px; margin-right: 12px; }
  .copy-cta-actions { flex-direction: column; align-items: flex-start; }
  .copy-hero .btn_set { flex-wrap: wrap; gap: 18px; }
  .inkstone-site .site-footer__grid { grid-template-columns: 1fr; }
  .inkstone-site .newHero { padding-top: 165px; padding-bottom: 45px; }
  .inkstone-site .newHero__desc { font-size: 16px; }
  .journal-layout { padding-top: 35px; }
}
