/* Pricing uses the homepage's model-led service presentation. */
.nh-pricing { color: #101010; }
.nh-pricing .pr-eyebrow { display: block; color: #777970; font-size: 12px; line-height: 1.5; margin-bottom: 24px; }
.nh-pricing .pr-hero .pr-eyebrow { color: #babbb5; margin-bottom: 30px; }
.pr-hero .sp-actions { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 28px; }
.pr-fallback svg { height: 86%; width: 86%; }
.pr-formats, .pr-factors { padding-block: 90px; }
.pr-formats__heading { margin-bottom: 42px; }
.pr-formats__heading h2 { max-width: 820px; }
.pr-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 30px; }
.pr-plan { min-width: 0; scroll-margin-top: 112px; }
.pr-plan__visual { position: relative; height: 245px; background: #f3f3f3; border-radius: 24px; overflow: hidden; }
.pr-plan__visual--company { background: #ededed; }
.pr-plan__visual--shop { background: #f3f3f3; }
.pr-plan__index { position: absolute; left: 23px; top: 19px; z-index: 2; color: #777970; font-size: 11px; }
.pr-format-model.nh-model { height: 100%; }
.pr-format-model .nh-scene-fallback svg { width: 94%; height: 94%; }
.pr-plan__caption { padding: 23px 4px 0; }
.nh-pricing .pr-plan h3 { font-size: clamp(26px, 2.4vw, 34px); line-height: 1.14; letter-spacing: -.045em; }
.nh-pricing .pr-plan__body { font-size: 14px; line-height: 1.6; color: #6b6d64; margin-top: 9px; min-height: 23px; }
.pr-plan__offer { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 23px; }
.pr-plan__price { display: flex; align-items: baseline; gap: 7px; white-space: nowrap; }
.pr-plan__price > span:first-child { font-size: 12px; color: #6b6d64; }
.pr-plan__price strong { font-size: clamp(34px, 3vw, 46px); line-height: 1.1; letter-spacing: -.065em; font-weight: 500; }
.pr-plan__currency { font-size: 15px; }
.pr-plan__choose { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border-radius: 50%; background: #ff6418; color: #101010; }
.pr-plan__choose > span[aria-hidden] { display: grid; place-items: center; width: 22px; height: 22px; transition: transform .4s cubic-bezier(.22,1,.36,1); }
.pr-plan__choose svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 1.8; }
.pr-plan__choose:hover > span[aria-hidden] { transform: rotate(45deg); }
.pr-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; border: 0; }
.pr-plan__details { border-top: 1px solid #dedfd7; margin-top: 22px; }
.pr-plan__details summary, .pr-included > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; list-style: none; cursor: pointer; padding-block: 14px; font-size: 13px; color: #62655c; }
.pr-plan__details summary::-webkit-details-marker, .pr-included > summary::-webkit-details-marker { display: none; }
.pr-plan__details .pr-plus { width: 26px; height: 26px; flex-basis: 26px; border-color: transparent; }
.pr-plan__details .pr-plus::before, .pr-plan__details .pr-plus::after { width: 11px; left: 7px; top: 12px; }
.pr-plan__details[open] .pr-plus::after, .pr-included[open] > summary .pr-plus::after { transform: rotate(0); }
.pr-plan__scope-block { padding: 2px 0 16px; }
.pr-plan ul { margin: 0; padding: 0; list-style: none; }
.pr-plan li { display: flex; align-items: baseline; gap: 10px; font-size: 14px; line-height: 1.5; margin-top: 10px; }
.pr-plan li > span:first-child { color: #b14616; }
.nh-pricing .pr-plan__time { font-size: 12px; color: #777970; margin-top: 17px; }
.pr-more { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; padding-bottom: 3px; border-bottom: 1px solid #c5c7ba; margin-top: 18px; }
.pr-more:hover { color: #b14616; }
.pr-plan__choose:focus-visible, .pr-plan__details summary:focus-visible, .pr-more:focus-visible, .pr-included > summary:focus-visible { outline: 2px solid #b14616; outline-offset: 5px; }
.nh-pricing .pr-pricing-note { margin-top: 22px; color: #777970; font-size: 12px; line-height: 1.7; max-width: 840px; }
.pr-budget { background: #101010; color: #f5f5ef; padding-block: 68px; scroll-margin-top: 90px; overflow: hidden; }
.pr-budget__grid { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 30px; }
.pr-budget__copy { position: relative; z-index: 1; padding-block: 24px; }
.nh-pricing .pr-budget .pr-eyebrow { color: #aeafa7; margin-bottom: 25px; }
.nh-pricing .pr-budget h2 { font-size: clamp(40px, 4.4vw, 62px); line-height: 1.04; letter-spacing: -.055em; max-width: 640px; }
.pr-budget__accent { display: block; color: #ff6418; }
.nh-pricing .pr-budget p { color: #b8b9b0; font-size: 17px; line-height: 1.65; margin-top: 26px; max-width: 440px; }
.pr-budget .nh-button { margin-top: 29px; font-size: 14px; }
.pr-budget__visual { min-width: 0; }
.pr-budget-model.nh-model { height: 430px; }
.pr-budget-model .nh-scene-fallback svg { height: 100%; width: 100%; }
.pr-included { margin-top: 8px; }
.pr-included > summary { font-size: 15px; color: #45483e; padding-block: 18px; }
.pr-included > summary .pr-plus { width: 28px; height: 28px; flex-basis: 28px; border-color: transparent; }
.pr-included > summary .pr-plus::before, .pr-included > summary .pr-plus::after { left: 7px; top: 13px; }
.pr-included__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; padding: 15px 0 20px; }
.pr-included__grid > div { position: relative; padding-left: 27px; }
.pr-included__check { position: absolute; left: 0; top: 0; color: #b14616; }
.pr-included h4 { font-size: 16px; font-weight: 500; margin: 0; line-height: 1.5; }
.pr-included__grid p { color: #777970; font-size: 13px; margin-top: 8px; }
.pr-extras { padding-block: 10px 80px; background: #fff; scroll-margin-top: 110px; }
.pr-extras .sp-section-heading { margin-bottom: 25px; }
.nh-pricing .pr-extras__quote { color: #666; font-size: 14px; margin-bottom: 32px; }
.pr-extras .sl-custom__item { min-width: 0; }
.pr-extras .sl-card__copy { display: flex; flex-direction: column; }
.pr-solution-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 22px; min-height: 44px; font-size: 14px; color: inherit; }
.pr-solution-cta:focus-visible { outline: 2px solid #ff6418; outline-offset: 5px; }
.pr-solution-cta__arrow { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; display: grid; place-items: center; background: #ff6418; color: #111; transition: transform .2s; }
.pr-solution-cta__arrow svg { width: 18px; height: 18px; }
.pr-solution-cta:hover .pr-solution-cta__arrow { transform: rotate(45deg); }
.pr-plus { position: relative; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; border: 1px solid #ddd; transition: background .25s; }
.pr-plus::before, .pr-plus::after { content: ''; position: absolute; background: #303030; width: 13px; height: 1px; left: 12px; top: 18px; }
.pr-plus::after { transform: rotate(90deg); transition: transform .25s; }
.pr-custom { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 25px; margin-top: 50px; padding-top: 40px; border-top: 1px solid #d5d7cc; }
.pr-custom__symbol { color: #d3561c; font-size: 48px; line-height: 1; }
.nh-pricing .pr-custom h3 { font-size: 24px; }
.pr-custom p { font-size: 14px; color: #73766b; margin-top: 12px; max-width: 675px; }
.pr-custom .nh-text-link { font-size: 14px; white-space: nowrap; }
.pr-factors__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px; }
.pr-factors__grid article { border-top: 1px solid #d8d9d2; padding-top: 23px; }
.nh-pricing .pr-factors__grid h3 { margin-top: 26px; font-size: 23px; }
.pr-factors__grid p { color: #73766b; margin-top: 15px; font-size: 14px; }
@media (max-width: 1100px) {
  .pr-plans { gap: 22px; }
  .pr-plan__visual { height: 210px; }
  .pr-plan__offer { gap: 8px; }
  .pr-plan__price { gap: 5px; }
  .pr-plan__price strong { font-size: 36px; }
  .pr-plan__choose { width: 40px; height: 40px; flex-basis: 40px; }
  .pr-budget__grid { gap: 20px; }
  .pr-budget-model.nh-model { height: 370px; }
  .pr-included__grid, .pr-factors__grid { gap: 24px; }
  .pr-custom { grid-template-columns: 52px minmax(0, 1fr); }
  .pr-custom .nh-text-link { grid-column: 2; justify-self: start; }
}
@media (min-width: 761px) and (max-width: 950px) {
  .pr-plan__price strong { font-size: 30px; }
  .pr-plan__price > span:first-child { font-size: 11px; }
  .pr-plan__currency { font-size: 12px; }
  .pr-plan__choose { width: 34px; height: 34px; flex-basis: 34px; }
  .pr-plan__visual { height: 185px; }
  .nh-pricing .pr-plan h3 { font-size: 26px; }
  .nh-pricing .pr-plan__body { min-height: 46px; font-size: 13px; }
}
@media (max-width: 760px) {
  .pr-formats, .pr-extras, .pr-factors { padding-block: 62px; }
  .pr-formats__heading { margin-bottom: 30px; }
  .pr-hero .sp-actions { gap: 20px; }
  .pr-hero .sp-model { height: 350px; }
  .pr-plans { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .pr-plan__visual { height: 230px; }
  .pr-plan__caption { padding-top: 18px; }
  .nh-pricing .pr-plan h3 { font-size: 30px; }
  .nh-pricing .pr-plan__body { min-height: 0; }
  .pr-plan__offer { margin-top: 18px; }
  .pr-plan__price strong { font-size: 42px; }
  .pr-plan__choose { width: 44px; height: 44px; flex-basis: 44px; }
  .pr-plan__details { margin-top: 18px; }
  .pr-budget { padding-block: 26px 52px; }
  .pr-budget__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pr-budget__visual { grid-row: 1; }
  .pr-budget__copy { padding: 0; }
  .nh-pricing .pr-budget .pr-eyebrow { display: none; }
  .nh-pricing .pr-budget h2 { font-size: clamp(36px, 8vw, 52px); }
  .nh-pricing .pr-budget p { font-size: 16px; margin-top: 22px; }
  .pr-budget-model.nh-model { height: 310px; max-width: 480px; margin-inline: auto; }
  .pr-included__grid, .pr-factors__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .pr-addon { grid-template-columns: minmax(0, 1fr) 26px; gap: 8px 16px; padding-block: 19px; }
  .pr-addon__name { font-size: 16px; }
  .pr-addon__arrow { grid-row: 1 / 3; grid-column: 2; }
  .pr-custom { grid-template-columns: 40px minmax(0, 1fr); gap: 20px; }
  .pr-custom__symbol { font-size: 40px; }
  .nh-pricing .pr-custom h3 { font-size: 23px; }
}
@media (max-width: 420px) {
  .pr-hero .sp-model { height: 310px; }
  .pr-plan__visual { height: 205px; }
  .pr-budget .nh-button { max-width: 100%; }
  .pr-budget-model.nh-model { height: 270px; }
  .pr-included__grid { grid-template-columns: minmax(0, 1fr); }
  .pr-factors__grid { gap: 30px 20px; }
  .nh-pricing .pr-factors__grid h3 { font-size: 21px; overflow-wrap: anywhere; }
  .pr-factors__grid p { font-size: 13px; }
}
.pr-section-nav { display: flex; flex-wrap: wrap; gap: 12px 32px; padding-block: 26px; border-bottom: 1px solid #dedfd7; }
.pr-section-nav a { font-size: 14px; padding-block: 10px; border-bottom: 1px solid transparent; }
.pr-section-nav a:hover { color: #b14616; border-color: currentColor; }
.pr-section-nav a:focus-visible, .pr-care a:focus-visible, .pr-care-term summary:focus-visible { outline: 2px solid #b14616; outline-offset: 5px; }
.nh-pricing .pr-plan__scope { font-size: 13px; line-height: 1.5; margin-top: 18px; color: #45483e; }
/* The same feature order makes the extra capabilities visible across formats. */
.pr-plan li.pr-feature { align-items: center; gap: 10px; margin: 0; padding: 9px 0; min-height: 46px; border-bottom: 1px solid #f0f0eb; }
.pr-plan li.pr-feature > .pr-feature__icon, .pr-feature__icon { width: 21px; height: 21px; flex: 0 0 21px; display: inline-grid; place-items: center; border-radius: 50%; font-size: 13px; line-height: 1; font-weight: 600; color: #24634b; background: #eaf3ed; }
.pr-plan li.pr-feature--excluded { color: #796a65; }
.pr-plan li.pr-feature--excluded > .pr-feature__icon, .pr-care-table__cell--excluded .pr-feature__icon { color: #974b40; background: #f7ece8; font-size: 17px; font-weight: 400; }
.nh-pricing .pr-plan__implementation { color: #62655c; font-size: 12px; line-height: 1.7; margin-top: 18px; }
.pr-plan li.pr-feature--optional { display: grid; grid-template-columns: 21px minmax(0,1fr); column-gap: 10px; row-gap: 3px; }
.pr-plan li.pr-feature--optional > .pr-feature__icon { background: none; color: #5a5a5a; }
.pr-feature--optional .pr-feature__icon svg { width: 15px; height: 15px; }
.pr-feature__note { grid-column: 2; width: fit-content; font-size: 12px; color: #454545; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #b8b8b8; }
.pr-feature__note:hover { color: #111; text-decoration-color: currentColor; }
.pr-feature__note:focus-visible { outline: 2px solid #ff6418; outline-offset: 4px; }
.nh-pricing .pr-optional-note { margin-top: 28px; max-width: 960px; font-size: 15px; line-height: 1.7; color: #454545; }
.pr-care { padding-block: 96px 76px; background: #fff; scroll-margin-top: 110px; }
.pr-care .sp-section-heading h2 { max-width: 680px; }
.pr-growth-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; }
.pr-growth-offer { min-width: 0; scroll-margin-top: 120px; }
.pr-growth-offer__visual { height: 215px; position: relative; border-radius: 24px; background: #f3f3f3; overflow: hidden; margin-bottom: 24px; }
.pr-growth-model.nh-model { height: 100%; }
.pr-growth-model .nh-scene-fallback svg { width: 100%; height: 100%; }
.pr-growth-offer__offer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; }
.pr-growth-offer__offer .pr-plan__choose { width: 38px; height: 38px; flex-basis: 38px; }
.nh-pricing .pr-growth-offer h3 { font-size: clamp(23px,2vw,29px); line-height: 1.15; letter-spacing: -.035em; min-height: 2.3em; }
.pr-growth-offer__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; min-height: 65px; align-content: start; }
.pr-growth-offer__price > span:first-child { font-size: 12px; color: #686868; }
.pr-growth-offer__price strong { font-weight: 500; font-size: 40px; line-height: 1.05; letter-spacing: -.05em; white-space: nowrap; }
.pr-growth-offer__price--custom strong { font-size: clamp(20px,1.55vw,24px); line-height: 1.75; letter-spacing: -.03em; }
.pr-growth-offer__period { display: block; width: 100%; color: #666; font-size: 12px; }
.nh-pricing .pr-growth-offer__body { font-size: 14px; line-height: 1.7; color: #666; min-height: 95px; margin-top: 20px; }
.pr-growth-offer ul { list-style: none; padding: 15px 0 0; margin: 18px 0 0; border-top: 1px solid #e5e5e5; }
.pr-growth-offer li { display: flex; align-items: baseline; gap: 10px; font-size: 13px; line-height: 1.7; margin-top: 12px; }
.pr-growth-offer li > span:first-child { color: #c53d00; }
.nh-pricing .pr-care__brief { font-size: 12px; line-height: 1.8; color: #666; margin-top: 32px; max-width: 920px; }
.pr-growth-bundle { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding-block: 32px; margin-top: 32px; border-top: 1px solid #ddd; }
.nh-pricing .pr-growth-bundle h3 { font-size: 25px; line-height: 1.3; letter-spacing: -.035em; }
.nh-pricing .pr-growth-bundle p { max-width: 670px; color: #666; font-size: 15px; line-height: 1.7; margin-top: 12px; }
.pr-growth-bundle .nh-text-link { font-size: 15px; white-space: nowrap; }
.pr-care-details { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; }
.pr-care-details summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 0; font-size: 14px; cursor: pointer; list-style: none; }
.pr-care-details summary::-webkit-details-marker { display: none; }
.pr-care-details[open] > summary .pr-plus::after { transform: rotate(0); }
.pr-care-details summary:focus-visible { outline: 2px solid #b14616; outline-offset: 5px; }
.pr-care-details__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 60px; padding: 22px 0 32px; }
.nh-pricing .pr-care-details__grid h3 { font-size: 16px; letter-spacing: -.015em; line-height: 1.45; }
.nh-pricing .pr-care-details__grid p { font-size: 13px; line-height: 1.8; color: #666; margin-top: 12px; }
.pr-factors .pr-included { margin-top: 45px; }
@media (min-width: 761px) and (max-width: 1000px) { .pr-plan li.pr-feature { min-height: 63px; } }
@media (max-width: 1100px) {
  .pr-growth-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 44px 35px; }
  .pr-growth-offer__visual { height: 240px; }
  .nh-pricing .pr-growth-offer h3 { font-size: 29px; min-height: 0; }
  .nh-pricing .pr-growth-offer__body { min-height: 77px; }
  .pr-growth-offer__price--custom strong { font-size: 27px; }
}
@media (max-width: 760px) {
  .pr-section-nav { gap: 4px 22px; padding-block: 18px; }
  .pr-section-nav a { font-size: 13px; min-height: 44px; }
  .pr-care { padding-block: 62px; }
  .pr-growth-grid { grid-template-columns: minmax(0,1fr); gap: 40px; }
  .pr-growth-offer__visual { height: 245px; margin-bottom: 22px; }
  .nh-pricing .pr-growth-offer h3 { font-size: 29px; }
  .pr-growth-offer__offer { margin-top: 22px; }
  .pr-growth-offer__price { min-height: 0; }
  .nh-pricing .pr-growth-offer__body { min-height: 0; margin-top: 22px; }
  .pr-growth-offer li { font-size: 14px; }
  .pr-growth-bundle { align-items: flex-start; flex-direction: column; gap: 22px; }
  .pr-care-details__grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .pr-extras { padding-block: 0 62px; }
}
@media (max-width: 380px) { .pr-growth-offer__visual { height: 210px; } }
@media (prefers-reduced-motion: reduce) {
  .nh-pricing *, .nh-pricing *::before, .nh-pricing *::after { transition: none!important; }
}
