/* SHEPHERDS V29 — DESKTOP COMPOSITION + MILAN SUMMARY WIDTH AUTHORITY
   Loaded last. Prevents stale narrow-layout assumptions from collapsing desktop content. */

:root{--v29-desktop-gutter:clamp(24px,4vw,64px);--v29-content:1320px;--v29-milan:1220px}

/* Do not split normal desktop words into fragments simply to satisfy a narrow inherited grid. */
@media (min-width:901px){
  .v29-site :is(h1,h2,h3,h4,strong,b,button,a,.sage-plan-price,.sage-plan-focus-price){
    overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important
  }
  .v29-site .container{width:min(calc(100% - (var(--v29-desktop-gutter) * 2)),var(--v29-content))!important;margin-inline:auto!important}
  .v29-site .v19-copy-only.ef-split{width:100%!important;max-width:1180px!important;margin-inline:auto!important}
  .v29-site .v19-copy-only .ef-copy{max-width:1040px!important}
}

/* Milan: comparison/review is a wide application state, not a narrow chat bubble. */
.v29-site .sage-portal.sage-summary-active .sage-body{grid-template-columns:1fr!important}
.v29-site .sage-portal.sage-summary-active .sage-context-rail{display:none!important}
.v29-site .sage-portal.sage-summary-active .sage-chat{min-width:0!important}
.v29-site .sage-portal.sage-summary-active .sage-thread{
  padding:clamp(20px,3vw,42px) clamp(16px,4vw,54px) 52px!important;
  overflow-x:hidden!important
}
.v29-site .sage-portal.sage-summary-active .sage-thread-inner{
  width:min(var(--v29-milan),100%)!important;max-width:var(--v29-milan)!important;margin-inline:auto!important
}
.v29-site .sage-portal.sage-summary-active .sage-summary{
  width:100%!important;max-width:var(--v29-milan)!important;margin-inline:auto!important;padding-inline:0!important
}
.v29-site .sage-summary :is(h1,h2,h3,h4,p,li,span,b,strong,small,button,a){
  word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important
}
.v29-site .sage-summary-hero{overflow:hidden!important}
.v29-site .sage-summary-hero>div{min-width:0!important}
.v29-site .sage-summary-hero h1{max-width:17ch!important;text-wrap:balance!important}
.v29-site .sage-summary-hero p{max-width:76ch!important}

.v29-site .sage-plan-picker{padding:clamp(24px,3.2vw,42px)!important}
.v29-site .sage-plan-picker-head{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;align-items:end!important;gap:clamp(24px,4vw,60px)!important;margin-bottom:28px!important}
.v29-site .sage-plan-picker-head h2{font-size:clamp(38px,4.6vw,66px)!important;line-height:.94!important;max-width:12ch!important;text-wrap:balance!important}
.v29-site .sage-plan-picker-head p{max-width:48ch!important;font-size:14px!important;line-height:1.65!important;justify-self:end!important}
.v29-site .sage-plan-frames{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(14px,2vw,24px)!important;align-items:stretch!important}
.v29-site .sage-plan-frame{
  min-width:0!important;min-height:620px!important;padding:clamp(22px,2.4vw,32px)!important;border-radius:28px!important;
  display:flex!important;flex-direction:column!important
}
.v29-site .sage-plan-frame-top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;min-width:0!important}
.v29-site .sage-plan-frame-top small{max-width:55%!important}
.v29-site .sage-best-fit{max-width:44%!important;text-align:right!important;line-height:1.35!important}
.v29-site .sage-plan-frame h3{
  font-size:clamp(31px,3.2vw,47px)!important;line-height:.98!important;letter-spacing:-.035em!important;
  max-width:11ch!important;text-wrap:balance!important;margin:18px 0 12px!important
}
.v29-site .sage-plan-frame .sage-plan-price{font-size:clamp(22px,2.2vw,30px)!important;white-space:nowrap!important}
.v29-site .sage-plan-frame p{font-size:13px!important;line-height:1.58!important}
.v29-site .sage-plan-frame li{font-size:12px!important;line-height:1.45!important}
.v29-site .sage-plan-frame .sage-v17-best{line-height:1.4!important}
.v29-site .sage-plan-use,.v29-site .sage-plan-trade{font-size:12px!important;line-height:1.55!important}
.v29-site .sage-plan-open{margin-top:auto!important;min-height:56px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:0 18px!important;border-radius:16px!important;font-size:13px!important}

/* Selected option: keep investment intact and give the body enough width for editorial modules. */
.v29-site .sage-plan-sheet{width:100%!important;max-width:var(--v29-milan)!important;margin-inline:auto!important}
.v29-site .sage-plan-focus-top{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(220px,300px)!important;
  gap:clamp(32px,5vw,72px)!important;align-items:end!important;padding:clamp(30px,4vw,52px)!important
}
.v29-site .sage-plan-focus-top>div:first-child{min-width:0!important}
.v29-site .sage-plan-focus-top h1{font-size:clamp(48px,6vw,82px)!important;line-height:.94!important;max-width:11ch!important;text-wrap:balance!important}
.v29-site .sage-plan-focus-top p{font-size:14px!important;line-height:1.62!important;max-width:58ch!important}
.v29-site .sage-plan-focus-price{min-width:0!important;text-align:left!important;justify-self:end!important;width:100%!important;padding:20px 0!important}
.v29-site .sage-plan-focus-price strong{font-size:clamp(34px,4vw,54px)!important;line-height:1!important;white-space:nowrap!important;letter-spacing:-.035em!important}
.v29-site .sage-plan-focus-price span{display:block!important;margin-top:10px!important;font-size:13px!important;line-height:1.45!important;max-width:20ch!important}
.v29-site .sage-plan-focus-body{padding:clamp(28px,4vw,50px)!important}
.v29-site .sage-story-section{min-width:0!important}
.v29-site .sage-story-section>h2{max-width:20ch!important;font-size:clamp(34px,4vw,58px)!important;line-height:1!important;text-wrap:balance!important}
.v29-site .sage-outcome-shift{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.v29-site .sage-outcome-shift article{min-width:0!important;padding:20px!important}
.v29-site .sage-outcome-shift b{font-size:14px!important;line-height:1.4!important}
.v29-site .sage-outcome-shift span{font-size:12px!important;line-height:1.55!important}
.v29-site .sage-operating-story{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.v29-site .sage-operating-story>div{min-width:0!important;min-height:190px!important;padding:20px!important}
.v29-site .sage-operating-story b{font-size:13px!important;line-height:1.4!important}
.v29-site .sage-operating-story span{font-size:11.5px!important;line-height:1.55!important}
.v29-site .sage-focus-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 28px!important}
.v29-site .sage-focus-step{min-width:0!important}
.v29-site .sage-includes{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:30px!important}

/* Handoff has enough width for the headline and buttons; no more one-word columns. */
.v29-site .sage-handoff-v19,.v29-site .sage-handoff{
  display:grid!important;grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr)!important;
  gap:clamp(28px,4vw,54px)!important;align-items:start!important;margin-inline:0!important;padding:clamp(28px,4vw,44px)!important
}
.v29-site .sage-handoff-v19 h2,.v29-site .sage-handoff h2{font-size:clamp(42px,5vw,70px)!important;line-height:.95!important;max-width:10ch!important;text-wrap:balance!important}
.v29-site .sage-handoff-v19 p,.v29-site .sage-handoff p{font-size:13px!important;line-height:1.62!important;max-width:48ch!important}
.v29-site .sage-handoff-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.v29-site .sage-handoff-grid>*{min-width:0!important;width:100%!important}
.v29-site .sage-handoff-grid .sage-download-later{grid-column:1/-1!important}

/* Floating send gate is a compact dialog on desktop, not a narrow poster. */
@media (min-width:901px){
  .v29-site .sage-start-gate{width:min(900px,calc(100% - 64px))!important;grid-template-columns:minmax(0,1fr) auto!important;padding:28px!important}
  .v29-site .sage-start-gate-copy h3{font-size:clamp(34px,4vw,52px)!important;max-width:18ch!important;line-height:.98!important}
  .v29-site .sage-start-gate-copy p{max-width:68ch!important;font-size:13px!important}
  .v29-site .sage-start-gate-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v29-site .sage-start-gate-actions .sage-gate-download{grid-column:1/-1!important}
}

/* Intermediate laptop widths: preserve breathing room before falling to mobile composition. */
@media (min-width:861px) and (max-width:1180px){
  .v29-site .sage-plan-picker-head{grid-template-columns:1fr!important;gap:14px!important}
  .v29-site .sage-plan-picker-head p{justify-self:start!important}
  .v29-site .sage-plan-frame{min-height:590px!important;padding:22px!important}
  .v29-site .sage-plan-frame h3{font-size:clamp(29px,3.4vw,39px)!important}
  .v29-site .sage-operating-story{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v29-site .sage-handoff-v19,.v29-site .sage-handoff{grid-template-columns:1fr!important}
  .v29-site .sage-handoff-v19 h2,.v29-site .sage-handoff h2{max-width:15ch!important}
}

@media (max-width:860px){
  .v29-site .sage-portal.sage-summary-active .sage-thread{padding:16px 12px 34px!important}
  .v29-site .sage-plan-picker{padding:18px!important}
  .v29-site .sage-plan-picker-head{display:block!important}
  .v29-site .sage-plan-picker-head p{margin-top:12px!important;justify-self:auto!important}
  .v29-site .sage-plan-frames{grid-template-columns:1fr!important}
  .v29-site .sage-plan-frame{min-height:0!important}
  .v29-site .sage-plan-frame h3{max-width:16ch!important}
  .v29-site .sage-plan-focus-top{grid-template-columns:1fr!important;padding:24px 18px!important}
  .v29-site .sage-plan-focus-price{justify-self:start!important;padding:4px 0 0!important}
  .v29-site .sage-plan-focus-body{padding:22px 18px!important}
  .v29-site .sage-outcome-shift,.v29-site .sage-operating-story,.v29-site .sage-focus-steps,.v29-site .sage-includes{grid-template-columns:1fr!important}
  .v29-site .sage-operating-story>div{min-height:0!important}
  .v29-site .sage-handoff-v19,.v29-site .sage-handoff{grid-template-columns:1fr!important;padding:24px 18px!important}
  .v29-site .sage-handoff-grid{grid-template-columns:1fr!important}
  .v29-site .sage-handoff-grid .sage-download-later{grid-column:auto!important}
}
