.packages-page #service-paths,
.packages-page #price-estimator,
.packages-page #design-path-tabs,
.packages-page #room-options,
.packages-page #whole-home-options { scroll-margin-top:92px; }
.packages-page .packages-hero { min-height:calc(100vh - 92px); display:flex; align-items:center; padding-top:clamp(64px,8vh,110px); padding-bottom:clamp(64px,9vh,120px); }
.packages-page .packages-hero .focus-title { max-width:14em; margin-bottom:18px; }
.packages-page .packages-hero .focus-copy { max-width:42em; margin:0; font-size:clamp(.9rem,1.1vw,1.05rem); }
.package-quick-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:min(1040px,100%); margin-top:42px; border-top:1px solid var(--focus-line); border-left:1px solid var(--focus-line); }
.package-quick-choices a { display:grid; grid-template-rows:auto auto auto 1fr; gap:13px; min-height:292px; padding:28px 30px; border-right:1px solid var(--focus-line); border-bottom:1px solid var(--focus-line); color:var(--focus-ink); text-decoration:none; transition:background .2s ease,color .2s ease,transform .2s ease; }
.package-quick-choices a:hover { background:var(--focus-accent); color:#fff; transform:translateY(-3px); }
.package-quick-choices small { color:var(--focus-accent); font:500 .7rem/1 Manrope,sans-serif; letter-spacing:.15em; }
.package-quick-choices a:hover small { color:#e5c7c1; }
.package-quick-choices span { font-size:clamp(1.25rem,1.75vw,1.65rem); }
.package-quick-choices p { max-width:25em; margin:0; color:var(--focus-muted); font-size:.8rem; line-height:1.7; }
.package-quick-choices a:hover p { color:rgba(255,255,255,.74); }
.package-choice-levels { align-self:end; display:grid; grid-template-columns:.8fr 1.2fr; border-top:1px solid var(--focus-line); }
.package-quick-choices a:hover .package-choice-levels { border-color:rgba(255,255,255,.3); }
.package-choice-levels b { display:grid; align-content:start; gap:8px; padding:16px 14px 0 0; font-weight:400; }
.package-choice-levels b+b { padding-left:18px; border-left:1px solid var(--focus-line); }
.package-quick-choices a:hover .package-choice-levels b+b { border-color:rgba(255,255,255,.3); }
.package-choice-levels em { color:var(--focus-muted); font:normal .7rem/1.3 "IBM Plex Sans SC",sans-serif; }
.package-quick-choices a:hover .package-choice-levels em { color:rgba(255,255,255,.7); }
.package-choice-levels strong { font:500 clamp(1rem,1.4vw,1.28rem)/1.35 Manrope,"IBM Plex Sans SC",sans-serif; letter-spacing:-.02em; }
.package-quick-choices > article { min-width:0; padding:28px 30px 30px; border-right:1px solid var(--focus-line); border-bottom:1px solid var(--focus-line); }
.package-quick-group > small { color:var(--focus-accent); font:500 .7rem/1 Manrope,sans-serif; letter-spacing:.14em; }
.package-quick-group > h2 { margin:15px 0 9px; font-size:clamp(1.55rem,2vw,2rem); font-weight:500; }
.package-quick-group > p { min-height:46px; margin:0 0 22px; color:var(--focus-muted); font-size:.82rem; line-height:1.65; }
.package-learn-more { width:max-content; margin:-8px 0 20px; padding:0 0 5px; border:0; border-bottom:1px solid var(--focus-accent); background:transparent; color:var(--focus-accent); font:500 .78rem/1.4 "IBM Plex Sans SC",sans-serif; cursor:pointer; }
.package-quick-group > div { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--focus-line); border-left:1px solid var(--focus-line); }
.package-quick-group a { display:grid; grid-template-rows:auto auto 1fr; gap:11px; min-height:150px; padding:18px 16px; border-right:1px solid var(--focus-line); border-bottom:1px solid var(--focus-line); color:var(--focus-ink); text-decoration:none; transition:background .2s ease,color .2s ease; }
.package-quick-group a:hover { background:var(--focus-accent); color:#fff; }
.package-quick-group a span { font-size:.84rem; line-height:1.45; }
.package-quick-group a strong { align-self:end; font:500 1.12rem/1.25 Manrope,"IBM Plex Sans SC",sans-serif; }
.package-quick-group a em { color:var(--focus-muted); font:normal .68rem/1.5 "IBM Plex Sans SC",sans-serif; }
.package-quick-group a:hover em { color:rgba(255,255,255,.7); }
.package-info-modal[hidden] { display:none; }
.package-info-modal { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:24px; }
.package-info-backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(31,28,26,.58); cursor:pointer; }
.package-info-dialog { position:relative; z-index:1; width:min(650px,100%); max-height:min(760px,calc(100vh - 48px)); overflow:auto; padding:clamp(32px,5vw,54px); background:#f8f5f0; box-shadow:0 28px 80px rgba(20,18,17,.24); }
.package-info-close { position:absolute; top:18px; right:20px; width:38px; height:38px; border:1px solid var(--focus-line); border-radius:50%; background:transparent; color:var(--focus-ink); font-size:1.5rem; cursor:pointer; }
.package-info-dialog h2 { margin:12px 0 15px; font-size:clamp(2rem,4vw,3.1rem); font-weight:400; }
.package-info-intro { margin:0 0 26px; color:var(--focus-muted); line-height:1.75; }
.package-info-list { display:grid; grid-template-columns:130px 1fr; margin:0; border-top:1px solid var(--focus-line); }
.package-info-list dt,.package-info-list dd { margin:0; padding:15px 0; border-bottom:1px solid var(--focus-line); font-size:.82rem; line-height:1.6; }
.package-info-list dt { color:var(--focus-muted); }
.package-info-list dd { padding-left:18px; }
.package-info-actions { display:flex; gap:12px; margin-top:28px; }
.package-comparison-section { background:#f7f4ef; }
.package-comparison-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); gap:42px; align-items:end; margin-bottom:30px; }
.package-comparison-head h2 { margin:10px 0 0; font-size:clamp(2rem,3.6vw,3.4rem); font-weight:400; }
.package-comparison-head>p { margin:0; color:var(--focus-muted); line-height:1.7; }
.package-comparison-scroll { overflow-x:auto; border-top:1px solid var(--focus-line); border-left:1px solid var(--focus-line); }
.package-comparison-table { width:100%; min-width:760px; border-collapse:collapse; background:rgba(255,255,255,.32); }
.package-comparison-table th,.package-comparison-table td { padding:18px 20px; border-right:1px solid var(--focus-line); border-bottom:1px solid var(--focus-line); text-align:left; vertical-align:middle; font-size:.82rem; line-height:1.55; }
.package-comparison-table thead th { color:var(--focus-accent); font-size:.78rem; font-weight:500; letter-spacing:.04em; }
.package-comparison-table tbody th { width:22%; color:var(--focus-muted); font-weight:400; }
.package-comparison-table td { width:39%; }
.package-comparison-table td strong { color:var(--focus-accent); font:500 1.22rem/1 Manrope,sans-serif; }
.package-comparison-actions { display:flex; gap:12px; justify-content:flex-end; margin-top:24px; }
.packages-page .package-path-grid article { min-height:0; padding:clamp(26px,3.5vw,46px); }
.packages-page .package-path-grid article > p:not(.focus-eyebrow) { max-width:32em; }
.packages-page .package-path-rule { display:none; }
.package-estimator-info-links { display:flex; align-items:center; justify-content:flex-end; gap:14px; padding:14px 2px 16px; border-bottom:1px solid var(--focus-line); color:var(--focus-muted); font-size:.76rem; }
.package-flow-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:0; border-bottom:1px solid var(--focus-line); list-style:none; background:#fbfaf8; }
.package-flow-steps li { position:relative; display:flex; align-items:center; gap:13px; min-width:0; padding:18px 24px; color:var(--focus-muted); }
.package-flow-steps li+li { border-left:1px solid var(--focus-line); }
.package-flow-steps li>span { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border:1px solid var(--focus-line); border-radius:50%; font:500 .75rem/1 Manrope,sans-serif; }
.package-flow-steps li>div { display:grid; min-width:0; gap:3px; }
.package-flow-steps b { color:inherit; font-size:.82rem; font-weight:500; }
.package-flow-steps small { overflow:hidden; font-size:.67rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.package-flow-steps li.is-complete,.package-flow-steps li.is-active { color:var(--focus-ink); }
.package-flow-steps li.is-complete>span { border-color:var(--focus-accent); background:var(--focus-accent); color:#fff; }
.package-flow-steps li.is-active { background:#f1ebe4; box-shadow:inset 0 -3px 0 var(--focus-accent); }
.package-flow-steps li.is-active>span { border-color:var(--focus-accent); color:var(--focus-accent); }
.package-estimator-info-links button { padding:0 0 3px; border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--focus-accent); font:500 .76rem/1.4 "IBM Plex Sans SC",sans-serif; cursor:pointer; }
.packages-page .package-estimator-tabs { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; height:auto!important; min-height:0!important; padding:0!important; align-items:stretch!important; }
.packages-page .package-room-options { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; width:auto!important; padding:0!important; }
.packages-page .package-room-option { width:auto!important; }
.packages-page .package-space-step { grid-column:1 / -1!important; width:auto!important; }
.packages-page .package-whole-home { padding:22px 0 0!important; }

/* Keep the changing price beside the room controls on desktop. */
.packages-page .package-estimator-body {
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  align-items:start;
}

.package-deliverables-section{background:#eee9e1}
.package-deliverables-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:clamp(36px,6vw,86px);align-items:end;margin-bottom:34px}
.package-deliverables-head h2{max-width:15em;margin:12px 0 0;font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(2.25rem,3.8vw,4.15rem);font-weight:400;line-height:1.12}
.package-deliverables-head>p{margin:0;color:var(--focus-muted);line-height:1.8}
.package-deliverables-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--focus-line);border-left:1px solid var(--focus-line)}
.package-deliverables-grid article{display:grid;grid-template-columns:42px 1fr;gap:20px;padding:clamp(26px,3vw,40px);border-right:1px solid var(--focus-line);border-bottom:1px solid var(--focus-line);background:#f8f5f0}
.package-deliverables-grid article>span{padding-top:5px;color:var(--focus-accent);font:500 .7rem/1 Manrope,sans-serif;letter-spacing:.12em}
.package-deliverables-grid h3{margin:0 0 10px;font-size:1.25rem;font-weight:500}
.package-deliverables-grid p{margin:0;color:var(--focus-muted);font-size:.84rem;line-height:1.72}
.package-delivery-sample{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);gap:clamp(30px,5vw,70px);align-items:center;margin-top:18px;padding:clamp(28px,4vw,52px);background:#f8f5f0;border:1px solid var(--focus-line)}
.package-delivery-sample-copy h3{margin:12px 0 16px;font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(1.8rem,2.8vw,3rem);font-weight:400;line-height:1.2}
.package-delivery-sample-copy>p:not(.focus-eyebrow){color:var(--focus-muted);font-size:.84rem;line-height:1.78}.package-delivery-sample-copy .focus-actions{margin-top:24px}
.package-delivery-pages{display:grid;grid-template-columns:1.16fr .92fr .92fr;gap:12px;align-items:end}
.package-delivery-pages figure{margin:0;background:#e6dfd6;box-shadow:0 10px 26px rgba(42,35,31,.11)}
.package-delivery-pages img{display:block;width:100%;aspect-ratio:1.414/1;object-fit:cover}
.package-delivery-pages figcaption{padding:10px 12px;background:#fff;color:var(--focus-muted);font-size:.68rem}
.package-deliverables-boundary{display:grid;grid-template-columns:220px 1fr;gap:28px;margin-top:18px;padding:24px 28px;background:#292522;color:#fff}
.package-deliverables-boundary strong{font-weight:500}.package-deliverables-boundary p{margin:0;color:rgba(255,255,255,.7);font-size:.82rem;line-height:1.72}
@media(max-width:720px){.package-deliverables-head{grid-template-columns:1fr;gap:15px;margin-bottom:24px}.package-deliverables-head h2{font-size:2.15rem}.package-deliverables-head>p{font-size:.82rem}.package-deliverables-grid{grid-template-columns:1fr}.package-deliverables-grid article{grid-template-columns:34px 1fr;padding:22px 18px}.package-deliverables-grid h3{font-size:1.12rem}.package-delivery-sample{grid-template-columns:1fr;padding:24px 18px}.package-delivery-sample-copy h3{font-size:1.8rem}.package-delivery-pages{grid-template-columns:1.18fr .91fr}.package-delivery-pages figure:nth-child(3){display:none}.package-delivery-sample-copy .ia-button{width:100%}.package-deliverables-boundary{grid-template-columns:1fr;gap:10px;padding:22px 20px}}
.packages-page .package-room-options,
.packages-page .package-whole-home,
.packages-page .package-collection-choice { grid-column:1; }
.packages-page .package-room-options { grid-row:1; }
.packages-page .package-whole-home { grid-row:2; margin-top:2px; padding-top:22px; border-top:1px solid var(--focus-line); }
.packages-page .package-collection-choice { grid-row:3; margin:0; border:1px solid var(--focus-line); }
.package-space-step { grid-column:1 / -1; display:flex; align-items:flex-end; justify-content:space-between; gap:18px; padding:4px 0 14px; }
.package-space-step small { color:var(--focus-accent); font:500 .68rem/1 Manrope,sans-serif; letter-spacing:.14em; }
.package-space-step h3 { margin:9px 0 5px; font-size:clamp(1.35rem,2vw,1.75rem); font-weight:500; }
.package-space-step p { margin:0; color:var(--focus-muted); font-size:.8rem; }
.package-inline-total { display:none; color:var(--focus-accent); font:500 1.25rem/1 Manrope,sans-serif; white-space:nowrap; }
.packages-page .package-whole-home-option { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:center; gap:7px 16px; min-height:108px; padding:15px 16px; text-align:left; cursor:default; }
.packages-page .package-whole-home-option>span { grid-column:1; grid-row:1; }
.packages-page .package-whole-home-option>[data-whole-price] { grid-column:1; grid-row:2; color:var(--focus-accent); font:500 .82rem/1.3 Manrope,"IBM Plex Sans SC",sans-serif; white-space:nowrap; }
.packages-page .package-whole-home-option.is-selected>[data-whole-price] { color:var(--focus-accent); }
.package-whole-actions { grid-column:2; grid-row:1 / span 2; display:flex; align-items:center; justify-content:flex-end; gap:9px; }
.package-whole-actions button { width:30px; height:30px; padding:0; border:1px solid var(--focus-accent); border-radius:50%; background:transparent; color:var(--focus-accent); font-size:1rem; line-height:1; cursor:pointer; }
.package-whole-actions button:disabled { border-color:var(--focus-line); color:var(--focus-muted); cursor:not-allowed; }
.package-whole-actions em { min-width:16px; color:var(--focus-accent); font:500 .78rem/1 Manrope,sans-serif; text-align:center; font-style:normal; }
.package-whole-home-option.is-selected .package-whole-actions button { border-color:var(--focus-accent); color:var(--focus-accent); }
.package-whole-home-option.is-selected .package-whole-actions button:disabled { border-color:var(--focus-line); color:var(--focus-muted); }
.package-whole-home-option.is-selected .package-whole-actions em { color:var(--focus-accent); }
.packages-page .package-estimator-total {
  grid-column:2;
  grid-row:1 / span 3;
  position:sticky;
  top:108px;
  min-height:390px;
  padding:34px 30px;
  box-shadow:0 18px 44px rgba(42,39,37,.12);
}
.packages-page .package-estimator-total>strong {
  margin:4px 0 2px;
  font-size:clamp(2.9rem,4.6vw,4.35rem);
  line-height:.95;
  color:#fff;
}
.packages-page .package-estimator-total>p:not(.focus-eyebrow) { font-size:.86rem; }
.packages-page .package-estimator-total .ia-button { width:100%; text-align:center; }

@media(max-width:720px) {
  .package-flow-steps li { gap:8px; padding:13px 10px; }
  .package-flow-steps li>span { flex-basis:25px; width:25px; height:25px; }
  .package-flow-steps b { font-size:.72rem; }
  .package-flow-steps small { display:none; }
  .packages-page .package-estimator-tabs { grid-template-columns:1fr!important; }
  .packages-page .package-room-options { grid-template-columns:1fr!important; }
  .package-estimator-info-links { justify-content:flex-start; flex-wrap:wrap; gap:10px 14px; padding:14px 18px 16px; }
  .package-estimator-info-links span { width:100%; }
  .packages-page #service-paths,
  .packages-page #price-estimator,
  .packages-page #design-path-tabs,
  .packages-page #room-options,
  .packages-page #whole-home-options { scroll-margin-top:76px; }
  .packages-page .packages-hero { min-height:calc(100svh - 76px); padding-top:48px; padding-bottom:48px; }
  .packages-page .packages-hero .focus-title { font-size:2.25rem !important; line-height:1.16; }
  .packages-page .packages-hero .focus-copy { font-size:.9rem; line-height:1.7; }
  .package-quick-choices { grid-template-columns:1fr; margin-top:30px; }
  .package-quick-choices a { display:grid; grid-template-rows:auto auto auto auto; gap:9px; min-height:250px; padding:20px 18px; }
  .package-quick-choices span { font-size:1.18rem; }
  .package-quick-choices p { font-size:.76rem; line-height:1.55; }
  .package-choice-levels { grid-template-columns:.82fr 1.18fr; margin-top:5px; }
  .package-choice-levels b { padding-top:13px; }
  .package-choice-levels b+b { padding-left:14px; }
  .package-choice-levels strong { font-size:.95rem; }
  .package-quick-choices > article { padding:22px 18px 24px; }
  .package-quick-group > p { min-height:0; margin-bottom:18px; }
  .package-learn-more { margin-top:-6px; }
  .package-quick-group > div { grid-template-columns:1fr; }
  .package-quick-group a { min-height:118px; }
  .package-comparison-head { grid-template-columns:1fr; gap:12px; margin-bottom:22px; }
  .package-comparison-head h2 { font-size:2.15rem; }
  .package-comparison-head>p { font-size:.82rem; }
  .package-comparison-table { min-width:0; table-layout:fixed; }
  .package-comparison-table tbody th { width:25%; }
  .package-comparison-table td { width:37.5%; }
  .package-comparison-table th,.package-comparison-table td { padding:12px 8px; font-size:.68rem; line-height:1.45; overflow-wrap:anywhere; }
  .package-comparison-table td strong { font-size:.98rem; }
  .package-comparison-actions { display:grid; grid-template-columns:1fr 1fr; }
  .package-comparison-actions .ia-button { width:100%; padding-left:10px; padding-right:10px; text-align:center; }
  .package-info-modal { padding:12px; }
  .package-info-dialog { max-height:calc(100svh - 24px); padding:34px 22px 26px; }
  .package-info-list { grid-template-columns:92px 1fr; }
  .package-info-actions { display:grid; grid-template-columns:1fr; }
  .packages-page .package-path-grid article { padding:25px 22px; }
  .packages-page .package-path-grid article h2 { font-size:1.85rem; }
  .packages-page .package-path-grid article > p:not(.focus-eyebrow) { font-size:.84rem; line-height:1.65; }
  .packages-page .package-path-actions .ia-button { width:100%; }
  .packages-page .package-estimator-body { display:flex; flex-direction:column; gap:18px; padding:18px; }
  .packages-page .package-room-options { order:1; }
  .packages-page .package-whole-home { order:2; margin-top:0; }
  .packages-page .package-estimator-total { order:3; }
  .packages-page .package-collection-choice { order:4; padding:20px; }
  .package-space-step { position:sticky; top:76px; z-index:3; align-items:center; margin:-2px -1px 0; padding:15px 2px 13px; background:#fff; border-bottom:1px solid var(--focus-line); }
  .package-space-step h3 { margin-top:6px; font-size:1.35rem; }
  .package-space-step p { font-size:.72rem; }
  .package-inline-total { display:block; font-size:1.12rem; }
  .packages-page .package-estimator-total {
    position:sticky;
    top:72px;
    z-index:4;
    width:100%;
    min-height:0;
    padding:20px 20px 18px;
    box-shadow:0 12px 28px rgba(42,39,37,.16);
  }
  .packages-page .package-estimator-total .focus-eyebrow { margin-bottom:8px; }
  .packages-page .package-estimator-total>strong { font-size:2.55rem; }
  .packages-page .package-estimator-total>.package-selected-series { margin-top:10px!important; padding-top:9px; }
  .packages-page .package-estimator-total>p:not(.focus-eyebrow) { min-height:0; margin:8px 0 12px; }
  .packages-page .package-estimator-total .ia-button,
  .packages-page .package-estimator-total small { display:none; }
}
