/* Price list: glass-finished carousel with restrained, non-seasonal highlights. */
.price-open-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;min-height:100%;padding:25px;border:1px solid #c5e0ed;border-top:3px solid #39a9d2;border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(235,247,252,.86));color:#123f64;font:inherit;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none;width:100%;box-shadow:0 8px 24px rgba(23,82,115,.08);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.price-open-card::after{content:"";position:absolute;z-index:0;inset:-50% auto -50% -80%;width:46%;pointer-events:none;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);transition:left .75s cubic-bezier(.2,.7,.2,1)}
.price-open-card:hover,.price-open-card:focus-visible{transform:translateY(-4px);border-color:#69bdd9;box-shadow:0 16px 34px rgba(23,82,115,.15);outline:none}
.price-open-card:hover::after,.price-open-card:focus-visible::after{left:140%}
.price-open-card>*{position:relative;z-index:1}
.price-open-card .icon{background:linear-gradient(145deg,#dff4fb,#c9eaf5);color:#087fbd}
.price-open-title{display:block;margin:0 0 9px;color:#123f64;font-size:18px;font-weight:820;letter-spacing:.015em}
.price-open-copy{display:block;color:#60778c;font-size:14px;line-height:1.55}
.price-open-action{display:flex;align-items:center;gap:12px;margin-top:18px;padding:13px 14px;border:1px solid rgba(167,211,228,.72);border-radius:10px;background:rgba(237,248,252,.8);color:#123f64}
.price-open-card:hover .price-open-action,.price-open-card:focus-visible .price-open-action{background:rgba(222,244,251,.9);border-color:#82c6dc}
.price-list-dialog{width:min(1060px,calc(100% - 22px));max-width:1060px;max-height:min(94vh,980px);padding:0;overflow:hidden;border:1px solid rgba(164,207,226,.76);border-radius:22px;background:#eaf4f8;color:#123f64;box-shadow:0 30px 100px rgba(7,35,55,.4)}
.price-list-dialog::backdrop{background:rgba(5,24,39,.78);backdrop-filter:blur(7px)}
.price-list-inner{position:relative;max-height:min(94vh,980px);overflow:auto;padding:clamp(17px,3vw,31px);background:radial-gradient(ellipse at 12% 0%,rgba(255,255,255,.96),transparent 43%),linear-gradient(145deg,#f5fbfd,#e4f1f6 76%,#dcecf2)}
.price-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:19px}
.price-list-kicker{display:block;margin-bottom:7px;color:#1987ac;font-size:10px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.price-list-title{margin:0;color:#123f64;font-size:clamp(23px,4vw,34px);line-height:1.08;letter-spacing:-.035em}
.price-list-subtitle{max-width:760px;margin:8px 0 0;color:#5b7486;font-size:14px;line-height:1.55}
.price-list-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #c9dfe9;border-radius:50%;background:rgba(255,255,255,.84);color:#19496a;font-size:25px;line-height:1;cursor:pointer;transition:transform .22s ease,background .22s ease}
.price-list-close:hover{transform:rotate(90deg);background:#fff}
.price-data-note{margin:0 0 13px;padding:10px 13px;border:1px solid rgba(180,207,218,.65);border-radius:10px;background:rgba(255,255,255,.55);color:#607687;font-size:12px;line-height:1.5}
.price-carousel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 10px}
.price-carousel-position{color:#6b8291;font-size:12px;font-weight:750;letter-spacing:.04em}
.price-carousel-buttons{display:flex;gap:8px}
.price-carousel-arrow{display:grid;place-items:center;width:37px;height:37px;border:1px solid rgba(151,193,211,.8);border-radius:50%;background:rgba(255,255,255,.78);color:#1c6384;font-size:21px;cursor:pointer;box-shadow:0 4px 12px rgba(20,75,105,.07);transition:transform .2s ease,background .2s ease,border-color .2s ease}
.price-carousel-arrow:hover{transform:translateY(-2px);border-color:#55b5d2;background:#fff}
.price-carousel-arrow:focus-visible,.price-carousel-dot:focus-visible{outline:3px solid rgba(36,151,190,.45);outline-offset:2px}
.price-carousel-viewport{position:relative;overflow:hidden;min-height:360px;border-radius:18px;touch-action:pan-y}
.price-carousel-track{display:flex;align-items:stretch;transition:transform .62s cubic-bezier(.2,.82,.2,1);will-change:transform}
.price-slide{position:relative;isolation:isolate;flex:0 0 100%;min-width:0;min-height:350px;padding:clamp(18px,3vw,27px);overflow:hidden;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(242,250,253,.56));box-shadow:0 17px 42px rgba(26,84,111,.13),inset 0 1px 0 rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:.82;transform:scale(.985);transition:opacity .4s ease,transform .52s cubic-bezier(.2,.82,.2,1),box-shadow .4s ease}
.price-slide::before{content:"";position:absolute;z-index:-1;inset:-65% auto -65% -78%;width:46%;transform:rotate(24deg);pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),rgba(255,255,255,.18),transparent);animation:price-glass-sheen 7.5s ease-in-out infinite}
.price-slide::after{content:"";position:absolute;z-index:-1;right:-60px;top:-70px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(69,184,212,.13),transparent 70%);pointer-events:none}
.price-slide.is-active{opacity:1;transform:scale(1);box-shadow:0 22px 50px rgba(26,84,111,.17),inset 0 1px 0 rgba(255,255,255,.95)}
@keyframes price-glass-sheen{0%,45%{left:-78%;opacity:0}57%{opacity:.85}75%,100%{left:138%;opacity:0}}
.price-slide-heading{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:17px;padding-bottom:14px;border-bottom:1px solid rgba(160,197,213,.48)}
.price-slide-heading h3{margin:0;color:#163f5c;font-size:clamp(17px,2.5vw,22px);line-height:1.25}
.price-slide-heading p{margin:5px 0 0;color:#6b8290;font-size:12px;line-height:1.45}
.price-slide-badge{flex:0 0 auto;padding:7px 10px;border:1px solid rgba(84,167,193,.25);border-radius:999px;background:rgba(224,244,250,.7);color:#267b97;font-size:10px;font-weight:820;letter-spacing:.05em;text-transform:uppercase}
.price-results{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:320px;overflow:auto;padding:1px 4px 6px 1px;scrollbar-width:thin;scrollbar-color:#9fc6d5 transparent}
.price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:56px;padding:11px 13px;border:1px solid rgba(169,204,218,.55);border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(245,251,253,.54));box-shadow:0 5px 14px rgba(35,86,109,.045),inset 0 1px 0 rgba(255,255,255,.8);transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}
.price-row:hover{transform:translateY(-2px);border-color:rgba(70,163,191,.6);background:rgba(255,255,255,.9);box-shadow:0 9px 20px rgba(35,86,109,.09)}
.price-row-name{min-width:0;color:#284f67;font-size:13px;font-weight:650;line-height:1.4}
.price-row-cost{flex:0 0 auto;color:#0b7095;font-size:14px;font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}
.price-empty{grid-column:1/-1;padding:22px 14px;border:1px dashed rgba(128,172,190,.72);border-radius:12px;background:rgba(255,255,255,.38);color:#718895;font-size:13px;text-align:center}
.price-carousel-dots{display:flex;justify-content:center;gap:8px;margin:14px auto 0}
.price-carousel-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#b5cdd7;cursor:pointer;transition:width .25s ease,background .25s ease,transform .25s ease}
.price-carousel-dot[aria-current="true"]{width:27px;border-radius:99px;background:linear-gradient(90deg,#188db2,#47b5c7);box-shadow:0 3px 8px rgba(24,141,178,.24)}
.price-list-footnote{margin:13px 0 0;color:#778b96;font-size:11px;line-height:1.5;text-align:center}
.price-list-dialog[open]{animation:price-dialog-in .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes price-dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.price-carousel-viewport{min-height:390px}.price-slide{min-height:380px}.price-results{grid-template-columns:1fr;max-height:325px}}
@media(max-width:440px){.price-list-inner{padding:15px}.price-slide{padding:16px;min-height:380px}.price-slide-heading{gap:8px}.price-slide-badge{max-width:106px;white-space:normal;text-align:center}.price-row{min-height:53px;padding:10px}.price-row-name{font-size:12px}.price-row-cost{font-size:13px}}
@media(prefers-reduced-motion:reduce){.price-open-card,.price-open-card::after,.price-slide,.price-row,.price-carousel-track,.price-carousel-dot,.price-list-close{animation:none!important;transition:none!important}.price-slide::before{animation:none!important;display:none}}

/* Centered full-width category cards; match the site's white/blue service-card palette. */
.price-list-dialog{border-color:#c7e0ec;background:#f5faff;color:#12345a}
.price-list-dialog::backdrop{background:rgba(8,30,48,.74)}
.price-list-inner{background:linear-gradient(145deg,#fff 0%,#f2f9fd 62%,#e4f3fa 100%)}
.price-list-kicker{color:#2587b6}
.price-list-title,.price-slide-heading h3{color:#123f70}
.price-list-subtitle,.price-slide-heading p{color:#627c90}
.price-list-close{border-color:#d6e6ef;background:#fff;color:#123f70}
.price-data-note{border-color:#cfe4f0;background:#eaf6fc;color:#526f84}
.price-carousel-viewport{height:clamp(380px,49vh,500px);min-height:0;display:flex;align-items:stretch;border-radius:18px}
.price-carousel-track{width:300%;height:100%;flex:0 0 300%;align-items:stretch}
.price-slide{display:flex;flex:0 0 calc(100% / 3);width:calc(100% / 3);height:100%;min-width:0;min-height:0;align-items:stretch;justify-content:center;padding:clamp(10px,2vw,20px);overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:.68;transform:scale(.985)}
.price-slide::before,.price-slide::after{display:none}
.price-slide.is-active{opacity:1;transform:scale(1);box-shadow:none}
.price-slide-card{position:relative;isolation:isolate;display:flex;flex-direction:column;width:min(900px,100%);min-height:100%;margin:0 auto;padding:clamp(19px,3vw,30px);overflow:hidden;border:1px solid #cfe4f0;border-top:3px solid #55b1d8;border-radius:14px;background:#fff;color:#10345f;box-shadow:0 12px 32px rgba(23,82,115,.11),inset 0 1px 0 rgba(255,255,255,.95)}
.price-slide-card::before{content:"";position:absolute;z-index:0;top:-70%;left:-65%;width:32%;height:240%;transform:rotate(24deg);pointer-events:none;background:linear-gradient(90deg,transparent,rgba(32,169,210,.08),rgba(255,255,255,.52),transparent);animation:price-glass-sheen 8s ease-in-out infinite}
.price-slide-card>*{position:relative;z-index:1}
.price-slide-heading{border-bottom-color:#cfe4f0}
.price-slide-badge{border-color:#cfe4f0;background:#eaf6fc;color:#087fbd}
.price-results{grid-template-columns:repeat(2,minmax(0,1fr));max-height:min(420px,calc(54vh - 130px));align-content:start;gap:10px;padding:2px 5px 8px 2px;scrollbar-color:#9ccde0 transparent}
.price-row{min-height:58px;border-color:#d5e7ef;border-radius:10px;background:linear-gradient(145deg,#fff,#f7fbfd);box-shadow:0 3px 10px rgba(16,70,100,.055),inset 0 1px 0 #fff}
.price-row:hover{border-color:#72bfd9;background:#f3fbfe;box-shadow:0 7px 16px rgba(23,82,115,.1)}
.price-row-name{color:#315c79;font-size:14px;line-height:1.45}
.price-row-cost{color:#087fbd;font-size:15px}
.price-list-footnote{margin-top:12px;color:#71899a}
@media(max-width:700px){.price-list-inner{padding:16px}.price-carousel-viewport{height:clamp(390px,51vh,480px)}.price-slide{padding:8px}.price-slide-card{padding:18px}.price-results{grid-template-columns:1fr;max-height:min(405px,calc(51vh - 135px))}}
@media(max-width:440px){.price-list-dialog{width:calc(100% - 12px);max-height:96vh;border-radius:16px}.price-list-inner{max-height:96vh;padding:12px}.price-list-head{gap:10px;margin-bottom:12px}.price-list-title{font-size:23px}.price-list-subtitle{font-size:12px}.price-data-note{font-size:11px}.price-carousel-viewport{height:clamp(390px,52vh,450px)}.price-slide-card{padding:14px}.price-slide-heading{flex-direction:column;gap:8px;margin-bottom:12px;padding-bottom:10px}.price-slide-badge{align-self:flex-start}.price-row{min-height:52px;padding:9px 10px}.price-row-name{font-size:13px}.price-row-cost{font-size:14px}}
@media(prefers-reduced-motion:reduce){.price-slide-card::before{animation:none!important;display:none}}

/* Center each incoming price panel and its individual price cards for easy reading. */
.price-slide-card{width:min(820px,100%);align-items:center}
.price-slide-heading{width:100%;align-items:center;flex-direction:column;text-align:center}
.price-slide-heading>div{max-width:100%}
.price-slide-badge{align-self:center}
.price-results{width:min(720px,100%);margin-inline:auto}
.price-row{min-height:72px;flex-direction:column;justify-content:center;gap:5px;padding:13px 15px;text-align:center}
.price-row-name{width:100%;text-align:center}
.price-row-cost{white-space:nowrap}
@media(max-width:700px){.price-slide-card{width:100%}.price-results{width:min(560px,100%)}.price-row{min-height:64px}}
@media(max-width:440px){.price-row{min-height:58px;padding:10px}.price-row-name{font-size:13px}}

/* The price dialog and its cards follow the site's dark palette when dark theme is active. */
html[data-theme="dark"] .price-list-dialog{border-color:#365466;background:#122634;color:#e0edf2;box-shadow:0 30px 100px rgba(0,0,0,.5)}
html[data-theme="dark"] .price-list-inner{background:radial-gradient(ellipse at 12% 0%,rgba(64,126,151,.17),transparent 43%),linear-gradient(145deg,#142d3c,#102330 70%,#172c37)}
html[data-theme="dark"] .price-list-title,html[data-theme="dark"] .price-slide-heading h3{color:#e4f0f5}
html[data-theme="dark"] .price-list-kicker{color:#7bd1e7}
html[data-theme="dark"] .price-list-subtitle,html[data-theme="dark"] .price-slide-heading p,html[data-theme="dark"] .price-carousel-position,html[data-theme="dark"] .price-list-footnote{color:#b4c8d2}
html[data-theme="dark"] .price-list-close,html[data-theme="dark"] .price-carousel-arrow{border-color:#3a5b6d;background:#1b3645;color:#e7f2f6}
html[data-theme="dark"] .price-data-note{border-color:#355365;background:#172f3e;color:#c2d3dc}
html[data-theme="dark"] .price-slide-card{border-color:#355365;border-top-color:#428eaa;background:linear-gradient(145deg,#173141,#132b3a);color:#e3edf2;box-shadow:0 12px 32px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035)}
html[data-theme="dark"] .price-slide-card::before{background:linear-gradient(90deg,transparent,rgba(124,203,226,.12),rgba(235,249,255,.27),transparent)}
html[data-theme="dark"] .price-slide-heading{border-bottom-color:#355365}
html[data-theme="dark"] .price-slide-badge{border-color:#355c6f;background:#1a3b4d;color:#8ed5e9}
html[data-theme="dark"] .price-row{border-color:#355365;background:linear-gradient(145deg,#1a3545,#162e3d);box-shadow:0 4px 12px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.035)}
html[data-theme="dark"] .price-row:hover{border-color:#58a9c4;background:#1c3d50;box-shadow:0 8px 18px rgba(0,0,0,.24)}
html[data-theme="dark"] .price-row-name{color:#d4e3e9}
html[data-theme="dark"] .price-row-cost{color:#83d0e8}
html[data-theme="dark"] .price-open-card{border-color:#294656;border-top-color:#428eaa;background:linear-gradient(145deg,#173141,#132b3a);color:#e3edf2;box-shadow:0 9px 24px rgba(0,0,0,.18)}
html[data-theme="dark"] .price-open-title{color:#e8f3f7}
html[data-theme="dark"] .price-open-copy{color:#b6c8d1}
html[data-theme="dark"] .price-open-card .icon{background:#1b4053;color:#77d2ec}
html[data-theme="dark"] .price-open-action{border-color:#355365;background:#1b3645;color:#e1edf2}

/* Match all five central service cards: shared title/body/CTA typography and inset panel. */
.price-open-title{font-size:17px;font-weight:750;letter-spacing:0;line-height:1.25}
.price-open-copy{font-size:14px;line-height:1.55}
.price-open-action{gap:12px;margin-top:18px;padding:13px 14px;border:1px solid #d2eaf5;border-radius:9px;background:#eff8fc;color:var(--ink);box-shadow:none;transition:background .2s ease,border-color .2s ease}
.price-open-action .album-copy strong{font-size:11px;letter-spacing:.065em}
.price-open-action .album-copy small{font-size:12px;color:var(--muted)}
.price-open-card:hover .price-open-action,.price-open-card:focus-visible .price-open-action{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.42);color:#fff}
.price-open-card:hover .price-open-action .album-mark,.price-open-card:focus-visible .price-open-action .album-mark{background:rgba(255,255,255,.18);color:#fff}
.price-open-card:hover .price-open-action .album-copy small,.price-open-card:hover .price-open-action .album-arrow,.price-open-card:focus-visible .price-open-action .album-copy small,.price-open-card:focus-visible .price-open-action .album-arrow{color:#fff}
html[data-theme="dark"] .price-open-action{border-color:#355567;background:#183343;color:#e1edf2}
html[data-theme="dark"] .price-open-action .album-mark{background:#21485b;color:#8fe0ed}
html[data-theme="dark"] .price-open-action .album-copy small{color:#b7cbd5}
html[data-theme="dark"] .price-open-card:hover .price-open-action,html[data-theme="dark"] .price-open-card:focus-visible .price-open-action{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.42);color:#fff}
html[data-theme="dark"] .price-open-card:hover .price-open-action .album-copy small,html[data-theme="dark"] .price-open-card:hover .price-open-action .album-arrow,html[data-theme="dark"] .price-open-card:focus-visible .price-open-action .album-copy small,html[data-theme="dark"] .price-open-card:focus-visible .price-open-action .album-arrow{color:#fff}
@media(max-width:700px){.price-open-title{font-size:17px}.price-open-action .album-copy strong{font-size:11px}}
