/* Shared page geometry follows the design-system tokens. */
.services-page{ --topbar-h:0px; }
.services-page .header{ padding:0; }
.services-page .header .topbar{ display:none; }
.services-page .header .bar{ width:100%; margin:0; padding-inline:var(--edge); border-radius:0; border-width:0 0 1px; border-color:var(--g-edge); box-shadow:var(--g-drop); }
.services-page .header .bar::after{ opacity:0; }
.services-page .nav__link[aria-current="page"],.services-page .sheet__link[aria-current="page"]{ color:var(--accent-deep); }
.services-main{ padding:calc(var(--notice-h) + var(--bar) + var(--section-gap)) var(--edge) var(--section-gap); }
.services-shell{ max-width:var(--shell); margin:0 auto; }
.services-intro{ display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:40px; padding:36px 40px; margin-bottom:var(--section-gap); align-items:center; }
.price-breadcrumbs{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; color:var(--muted); font-size:12px; }
.price-breadcrumbs a:hover{ color:var(--accent-deep); }
.price-breadcrumbs > span[aria-hidden]{ opacity:.4; }
.services-intro h1{ margin:0; font:300 clamp(40px,4.8vw,64px)/1.08 "Espuma Pro","Prata",Georgia,serif; letter-spacing:-.025em; }
.services-intro__copy > p{ margin:18px 0 0; color:var(--ink-soft); font-size:16px; line-height:1.7; }
.price-club{ position:relative; isolation:isolate; overflow:hidden; background:var(--accent-wash); padding:26px 28px; border-radius:14px; }
.price-club::after{ content:""; position:absolute; z-index:-1; width:210px; height:210px; border:1px solid rgba(95,155,128,.15); border-radius:50%; top:-90px; right:-80px; box-shadow:0 0 0 24px rgba(95,155,128,.035),0 0 0 48px rgba(95,155,128,.025); }
.price-club__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; color:var(--accent-deep); }
.price-club .brand{ --logo-h:20px; color:var(--accent-deep); }
.price-club__word{ font:400 11px "Jost",sans-serif; letter-spacing:.25em; }
.price-club h2{ margin:0; font-size:18px; line-height:1.35; font-weight:500; letter-spacing:-.015em; }
.price-club p{ margin:10px 0 18px; color:var(--ink-soft); font-size:13px; line-height:1.6; max-width:29ch; }
.price-club > a{ color:var(--accent-deep); font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.price-catalog{ display:grid; grid-template-columns:264px minmax(0,1fr); align-items:start; gap:var(--section-gap); scroll-margin-top:calc(var(--notice-h) + var(--bar) + var(--section-gap)); }
.price-sidebar{ position:sticky; top:calc(var(--notice-h) + var(--bar) + var(--section-gap)); max-height:calc(100dvh - var(--notice-h) - var(--bar) - 2 * var(--section-gap)); overflow-y:auto; scrollbar-width:thin; border-radius:var(--card-radius); }
.price-directions{ padding:24px 12px 12px; }
.price-directions h2{ margin:0 12px 14px; }
.price-categories{ display:flex; flex-direction:column; gap:3px; }
.price-category{ display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; padding:13px 12px; border-radius:10px; text-align:left; font-size:13px; line-height:1.5; transition:background .2s,color .2s; }
.price-category:hover{ background:var(--paper); }
.price-category:disabled{ opacity:.45; cursor:default; }
.price-category.is-active{ background:var(--accent-wash); color:var(--accent-deep); font-weight:500; }
.price-category__count{ color:var(--muted); font-size:11px; font-weight:400; font-variant-numeric:tabular-nums; }
.price-category.is-active .price-category__count{ color:var(--accent-deep); }
.price-sidebar__help{ padding:24px; font-size:12px; }
.price-sidebar__help p{ margin:0 0 4px; font-size:14px; font-weight:500; }
.price-sidebar__help > span{ color:var(--muted); display:block; line-height:1.6; }
.price-sidebar__help a{ display:inline-block; margin-top:14px; color:var(--accent-deep); text-decoration:underline; text-underline-offset:4px; }
.price-content{ min-width:0; }
.price-filters{ padding:24px; }
.price-search > label{ display:block; font-size:14px; font-weight:500; margin-bottom:10px; }
.price-search__field{ position:relative; display:flex; align-items:center; gap:12px; min-height:52px; padding:0 16px; background:var(--paper); border:1px solid var(--line); border-radius:10px; }
.price-search__field:focus-within{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(95,155,128,.1); }
.price-search__field > svg{ width:20px; height:20px; flex:none; color:var(--muted); }
.price-search input{ min-width:0; width:100%; height:50px; padding:0; border:0; outline:0; border-radius:0; background:transparent; font:inherit; font-size:14px; color:var(--ink); }
.price-search input::placeholder{ color:var(--muted); opacity:1; }
.price-search input::-webkit-search-cancel-button{ -webkit-appearance:none; }
.price-clear{ padding:8px 0 8px 8px; font-size:12px; color:var(--accent-deep); }
.price-filter-row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.7fr); gap:16px; margin-top:18px; }
.price-select{ min-width:0; display:flex; flex-direction:column; gap:7px; }
.price-select > span{ color:var(--muted); font-size:11px; }
.price-select select{ -webkit-appearance:none; appearance:none; width:100%; min-width:0; min-height:44px; padding:10px 40px 10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='m3 5 4 4 4-4' stroke='%2364766F' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 14px center/14px 14px no-repeat; color:var(--ink-soft); font:inherit; font-size:13px; text-overflow:ellipsis; cursor:pointer; }
.price-discount{ display:flex; align-items:center; gap:10px; width:fit-content; margin-top:18px; color:var(--ink-soft); font-size:12px; cursor:pointer; }
.price-discount input{ width:17px; height:17px; margin:0; flex:none; accent-color:var(--accent-deep); }
.price-results-heading{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin:28px 0 16px; }
.price-results-heading > div{ display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 14px; }
.price-results-heading h2{ margin:0; font-size:20px; line-height:1.35; font-weight:500; letter-spacing:-.025em; }
.price-results-heading p{ color:var(--muted); font-size:12px; margin:0; }
.price-reset{ flex:none; color:var(--accent-deep); font-size:12px; text-decoration:underline; text-underline-offset:4px; padding:8px 0; }
#price-results{ display:grid; gap:12px; }
.price-group{ overflow:hidden; scroll-margin-top:calc(var(--notice-h) + var(--bar) + var(--section-gap)); }
.price-group summary{ display:flex; align-items:center; gap:18px; padding:22px 24px; cursor:pointer; list-style:none; }
.price-group summary::-webkit-details-marker{ display:none; }
.price-group summary:hover{ background:var(--surface-2); }
.price-group__heading{ flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.price-group__title{ font-weight:500; font-size:17px; line-height:1.4; letter-spacing:-.015em; }
.price-group__count{ color:var(--muted); font-size:11px; }
.price-group__state{ margin-left:auto; color:var(--accent-deep); font-size:11px; }
.when-open,.price-group[open] .when-closed{ display:none; }
.price-group[open] .when-open{ display:inline; }
.price-group[open] summary{ border-bottom:1px solid var(--line-soft); }
.price-table{ width:100%; border-collapse:collapse; table-layout:fixed; }
.price-table th,.price-table td{ padding:18px 24px; text-align:left; vertical-align:middle; }
.price-table thead th{ background:var(--surface-2); color:var(--muted); font-size:10px; font-weight:400; line-height:1.4; padding-block:12px; }
.price-table thead th:first-child{ width:auto; }
.price-table thead th:nth-child(2),.price-table thead th:nth-child(3){ width:155px; text-align:right; }
.price-table thead th:nth-child(3){ background:#f0f6f2; color:var(--accent-deep); }
.price-row{ border-bottom:1px solid var(--line-soft); }
.price-row:last-child{ border-bottom:0; }
.price-row th{ font-size:13px; line-height:1.6; font-weight:400; overflow-wrap:anywhere; }
.price-row td{ text-align:right; font-size:15px; white-space:nowrap; font-variant-numeric:tabular-nums; letter-spacing:-.025em; }
.price-row__detail{ display:block; color:var(--muted); margin-top:4px; font-size:11px; line-height:1.6; letter-spacing:0; }
.price-row__regular{ color:var(--ink-soft); }
.price-row__club{ background:#f8fbf9; color:var(--accent-deep); font-weight:500; }
.price-row:hover th,.price-row:hover .price-row__regular{ background:var(--surface-2); }
.price-row:hover .price-row__club{ background:#f0f6f2; }
.price-row__label{ display:none; }
.price-unavailable{ color:var(--muted); font-size:12px; font-weight:400; letter-spacing:0; }
.price-group__footer{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 24px; border-top:1px solid var(--line-soft); }
.price-group__footer > span{ color:var(--muted); font-size:11px; }
.price-group__footer .btn{ height:36px; padding:0 18px; font-size:12px; border-color:var(--line); }
.price-sorted{ overflow:hidden; }
.price-empty{ padding:44px 28px; text-align:center; }
.price-empty h3{ margin:0 0 10px; font-size:22px; font-weight:500; }
.price-empty p{ color:var(--muted); margin:0 0 24px; font-size:14px; }
.price-footnote{ margin:20px 4px 0; color:var(--muted); font-size:11px; line-height:1.8; max-width:80ch; }
.price-help{ display:flex; align-items:center; justify-content:space-between; gap:32px; padding:36px 40px; margin-top:var(--section-gap); }
.price-help .eyebrow{ color:var(--accent-deep); margin:0 0 12px; }
.price-help h2{ margin:0; font:300 clamp(28px,3vw,40px)/1.2 "Espuma Pro","Prata",Georgia,serif; letter-spacing:-.02em; }
.price-help p:not(.eyebrow){ color:var(--muted); font-size:14px; line-height:1.7; margin:14px 0 0; }
.price-help > .btn{ flex:none; }
.price-sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.services-page [hidden]{ display:none !important; }

@media (max-width:1200px){
  .services-intro{ grid-template-columns:minmax(0,1fr) 310px; padding:30px; gap:24px; }
  .price-catalog{ grid-template-columns:235px minmax(0,1fr); }
  .price-category{ font-size:12px; padding-inline:10px; }
  .price-table th,.price-table td{ padding-inline:18px; }
  .price-table thead th:nth-child(2),.price-table thead th:nth-child(3){ width:132px; }
}
@media (max-width:1000px){
  .price-catalog{ grid-template-columns:minmax(0,1fr); }
  .price-sidebar{ position:static; max-height:none; overflow:visible; }
  .price-directions{ padding:20px; }
  .price-directions h2{ margin:0 0 14px; }
  .price-categories{ flex-direction:row; flex-wrap:wrap; gap:8px; }
  .price-category{ width:auto; background:var(--paper); padding:10px 13px; border-radius:8px; }
  .price-sidebar__help{ display:none; }
  .price-table thead th:nth-child(2),.price-table thead th:nth-child(3){ width:160px; }
}
@media (max-width:767px){
  .services-intro{ grid-template-columns:minmax(0,1fr); padding:24px 20px; gap:24px; }
  .price-breadcrumbs{ margin-bottom:20px; font-size:11px; }
  .services-intro h1{ font-size:42px; }
  .services-intro__copy > p{ margin:16px 0 0; font-size:14px; }
  .price-desktop-break{ display:none; }
  .price-club{ padding:20px; }
  .price-club__top{ margin-bottom:16px; }
  .price-club h2{ font-size:17px; }
  .price-club p{ max-width:38ch; margin:8px 0 12px; font-size:12px; }
  .price-directions{ padding:20px 16px; }
  .price-category{ padding:9px 11px; gap:9px; font-size:11px; }
  .price-category__count{ font-size:10px; }
  .price-filters{ padding:20px 16px; }
  .price-search input{ font-size:16px; }
  .price-search input::placeholder{ font-size:12px; }
  .price-search__field{ padding:0 12px; gap:9px; }
  .price-filter-row{ gap:10px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .price-select select{ padding-left:10px; font-size:12px; }
  .price-discount{ font-size:11px; gap:8px; line-height:1.5; }
  .price-results-heading{ margin-top:24px; align-items:flex-start; }
  .price-results-heading h2{ font-size:19px; }
  .price-results-heading > div{ display:block; }
  .price-results-heading p{ margin-top:5px; }
  .price-reset{ font-size:11px; }
  .price-group summary{ padding:20px 16px; gap:12px; }
  .price-group__title{ font-size:15px; }
  .price-group__state{ font-size:10px; }
  .price-table,.price-table tbody{ display:block; }
  .price-table thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .price-row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:16px; gap:12px 10px; }
  .price-row th{ display:block; grid-column:1/-1; padding:0; font-size:13px; }
  .price-row td{ display:block; padding:10px 12px; text-align:left; font-size:16px; white-space:normal; border-radius:8px; }
  .price-row__regular{ background:var(--paper); }
  .price-row__club{ background:#edf5ef; }
  .price-row__label{ display:block; font-size:9px; line-height:1.5; letter-spacing:0; margin-bottom:4px; font-weight:400; }
  .price-row__regular .price-row__label{ color:var(--muted); }
  .price-row__detail{ font-size:11px; }
  .price-group__footer{ padding:12px 16px; }
  .price-group__footer > span{ font-size:10px; }
  .price-help{ flex-direction:column; align-items:flex-start; padding:28px 20px; gap:24px; }
  .price-help > .btn{ width:100%; }
  .price-help p:not(.eyebrow){ font-size:13px; }
}
@media print{
  .services-page .header,.services-page .site-notice,.services-page .site-footer,.price-sidebar,.price-filters,.price-help,.price-group__footer,.price-results-heading button,.price-club{ display:none; }
  .services-main{ padding:0; }
  .services-intro,.price-catalog{ display:block; }
  .surface-card{ box-shadow:none; }
  .price-group{ break-inside:avoid; }
}
