/* A quieter, photographic treatment menu. */
.catalogue{padding:65px 0 56px;background:#f0f2e9;border:0}
.catalogue .section-top{margin-bottom:30px;align-items:center;gap:28px}
.catalogue .section-top h2{font-size:56px;line-height:1.05}
.catalogue .search{display:flex;align-items:center;gap:12px;min-width:290px;padding:12px 0;border-bottom:1px solid #a6b09b}
.catalogue .search input{width:250px;max-width:100%;background:transparent;font-size:13px;padding:0;line-height:1.6;min-width:0}
.catalogue .search input::-webkit-search-cancel-button{display:none}
.catalogue .search input::placeholder{color:#687361;opacity:1}
.catalogue .search button{font-size:24px;line-height:1;padding:0 2px 0 8px;color:var(--green);border:0}
.catalogue .search button[hidden]{display:none}
.catalogue .catalogue-tools{display:block;margin:0 0 38px;padding:0 0 23px;border:0;border-bottom:1px solid #d2d9c9}
.catalogue .category-tabs{display:flex;flex-wrap:wrap;gap:10px;padding:4px 0}
.catalogue .category-tabs button{min-height:56px;border:1px solid #bdc8b3;padding:14px 22px;background:#fafbf7;font-size:15px;font-weight:600;letter-spacing:-.2px;border-radius:30px;box-shadow:0 2px 6px #40513d05;transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}
.catalogue .category-tabs button:hover{border-color:#8b9e7c;background:#e1e8d8;transform:translateY(-2px);box-shadow:0 6px 16px #40513d0c}
.catalogue .category-tabs button[aria-selected=true]{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 4px 13px #40513d18}.catalogue .category-tabs button[aria-selected=true]:hover{background:#33472f;border-color:#33472f}.catalogue .category-tabs button:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.catalogue-body{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.6fr);gap:44px;align-items:start;max-width:none}
.catalogue-scene{position:sticky;top:112px;min-width:0;animation:scene-arrival .55s ease both}
.catalogue-scene[hidden]{display:none}
.scene-image{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:12px;background:#dfe5d6}
.scene-image img{width:100%;height:100%;object-fit:cover;object-position:48% center;transition:transform .8s cubic-bezier(.2,.6,.3,1);animation:scene-arrival .65s ease both}
.catalogue-scene:hover .scene-image img{transform:scale(1.035)}
.catalogue-scene h3{font-size:38px;line-height:1.05;letter-spacing:-.8px;margin:24px 0 12px;max-width:320px;color:var(--green)}
.catalogue-scene p{font-size:14px;line-height:1.7;max-width:300px}
#service-results{min-width:0}
.catalogue .service-group{margin:0 0 32px}
.catalogue .service-group:last-child{margin-bottom:0}
.catalogue .group-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:0 0 14px}
.catalogue .group-head h3{font-size:29px;letter-spacing:-.4px;line-height:1.15;margin:0}
.catalogue .group-notes{position:relative;text-align:right;max-width:45%;font-size:12px;line-height:1.6;flex-shrink:0}
.catalogue .group-notes summary{list-style:none;text-decoration:underline;text-underline-offset:4px;cursor:pointer;white-space:nowrap;color:#6b7664}
.catalogue .group-notes summary::-webkit-details-marker{display:none}
.catalogue .group-notes[open]{max-width:55%;text-align:left}
.catalogue .group-notes[open] summary{text-align:right}
.catalogue .group-notes p{font-size:13px;line-height:1.7;text-align:left;margin:12px 0 0;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.service-card{display:flex;flex-direction:column;align-items:stretch;gap:0;text-align:left;min-width:0;width:100%;min-height:204px;padding:24px;border:1px solid #dce2d4;border-radius:12px;background:#fafbf7;color:var(--ink);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;animation:care-arrival .4s ease both;animation-delay:calc(var(--card-index,0)*40ms)}
.service-card:hover{transform:translateY(-3px);border-color:#a3b193;background:#fff;box-shadow:0 9px 24px #40513d0a}
.service-card:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.service-card-name{display:block;font-family:var(--serif);font-size:27px;font-weight:500;line-height:1.05;letter-spacing:-.35px;color:var(--green)}
.service-card-copy{display:block;margin:12px 0 20px;font-size:13px;line-height:1.65;color:#6b7564}
.service-card-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-top:auto;padding-top:20px}
.service-card-copy+.service-card-meta{padding-top:0}
.service-card-duration{font-size:12px;line-height:1.55;color:#6b7564;max-width:125px}
.service-card-price{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1;white-space:nowrap;color:var(--green)}
.is-signature .service-grid{grid-template-columns:1fr}
.is-signature .service-card{background:var(--green);border-color:var(--green);min-height:182px;padding:28px 30px}
.is-signature .service-card:hover{background:#354732;border-color:#354732}
.is-signature .service-card-name{color:#fff;font-size:35px}
.is-signature .service-card-copy{color:#e0e7d8;max-width:380px;margin:12px 0 24px;font-size:14px}
.is-signature .service-card-duration{color:#dbe4d4;max-width:none}
.is-signature .service-card-price{color:#fff;font-size:34px}
.is-compact .service-card{min-height:131px;padding:21px}
.is-compact .service-card-name{font-size:24px;line-height:1.15}
.is-compact .service-card-duration{font-size:11px}
.is-compact .service-card-price{font-size:26px}
.is-options .service-card{background:#e6ebde;border-color:transparent}
.is-options .service-card:hover{border-color:#a3b193;background:#eef1e7}
.catalogue-body.is-searching{grid-template-columns:1fr}
.is-searching .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.is-searching .is-signature .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.is-searching .service-card{min-height:175px}
#search-summary{font-size:15px;margin:-10px 0 26px;color:var(--green)}
#search-summary[hidden]{display:none}
.catalogue .result-empty{padding:44px 25px 55px;text-align:center;border:1px solid #d6ddcc;border-radius:12px;background:#fafbf7}
.catalogue .result-empty h3{font-size:38px;margin-bottom:12px}.catalogue .result-empty p{font-size:14px;margin-bottom:24px}
.catalogue .catalogue-note{border:0;margin:34px 0 0;padding:0;font-size:12px;line-height:1.7;color:#6b7564}
@keyframes care-arrival{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes scene-arrival{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.catalogue-body{gap:56px}.scene-image{aspect-ratio:4/5}.service-card{padding:28px;min-height:210px}.service-card-name{font-size:29px}}
@media(max-width:1100px){.catalogue-body{gap:28px;grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr)}.catalogue .category-tabs button{font-size:14px;padding:13px 18px;min-height:52px}.catalogue-scene h3{font-size:33px}.scene-image{aspect-ratio:3/4}.service-card{padding:20px;min-height:210px}.service-card-name{font-size:25px}.service-card-meta{gap:10px}.service-card-price{font-size:26px}.catalogue .group-head h3{font-size:27px}.catalogue .section-top h2{font-size:51px}.catalogue .search{min-width:265px}.catalogue .search input{width:225px}.is-compact .service-card{padding:18px}.is-compact .service-card-name{font-size:22px}}
@media(max-width:800px){.catalogue{padding:48px 0}.catalogue .section-top{display:flex;align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:24px}.catalogue .search{min-width:0;width:100%;max-width:400px}.catalogue .search input{width:100%;font-size:15px}.catalogue .catalogue-tools{margin-bottom:29px;padding-bottom:20px}.catalogue .category-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;padding:4px 2px 9px}.catalogue .category-tabs::-webkit-scrollbar{display:none}.catalogue .category-tabs button{flex-shrink:0;font-size:14px;padding:13px 18px;min-height:52px}.catalogue-body{display:block}.catalogue-scene{position:static;display:grid;grid-template-columns:1fr 1fr;column-gap:28px;margin-bottom:33px;align-items:start}.scene-image{aspect-ratio:4/3;grid-row:1/3}.catalogue-scene h3{font-size:37px;margin:10px 0 16px}.catalogue-scene p{font-size:14px}.catalogue .group-head h3{font-size:30px}.service-card{min-height:188px;padding:24px}.service-card-name{font-size:29px}.service-card-copy{font-size:14px}.service-card-duration{font-size:12px}.service-card-price{font-size:30px}.is-compact .service-card-name{font-size:25px}.is-compact .service-card{min-height:134px}.is-searching .service-grid,.is-searching .is-signature .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue .group-notes{font-size:13px}}
@media(max-width:560px){.catalogue{padding:42px 0 40px}.catalogue>.wrap{padding-left:24px;padding-right:24px}.catalogue .section-top h2{font-size:44px;letter-spacing:-1.4px}.catalogue .section-top{gap:22px}.catalogue .search{margin-top:0}.catalogue .search input{font-size:16px}.catalogue .catalogue-tools{margin-bottom:26px;padding-bottom:14px}.catalogue .category-tabs{margin-right:-10px}.catalogue .category-tabs button{font-size:14px;padding:13px 18px;min-height:52px}.catalogue-scene{display:grid;grid-template-columns:40% minmax(0,1fr);align-items:center;gap:22px;margin-bottom:30px}.scene-image{aspect-ratio:4/5;grid-row:auto;border-radius:10px}.catalogue-scene h3{font-size:30px;line-height:1.08;margin:0;max-width:none;letter-spacing:-.6px}.catalogue-scene p{display:none}.catalogue .group-head{gap:12px;padding-bottom:14px;align-items:baseline}.catalogue .group-head h3{font-size:29px;max-width:70%}.catalogue .group-notes{font-size:12px;max-width:30%}.catalogue .group-notes[open]{max-width:none;width:100%;text-align:left}.catalogue .group-head:has(.group-notes[open]){flex-wrap:wrap}.catalogue .group-notes[open] summary{text-align:left}.catalogue .service-group{margin-bottom:29px}.service-grid,.is-searching .service-grid,.is-searching .is-signature .service-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:0;padding:23px 24px;border-radius:10px}.service-card-name{font-size:29px;line-height:1.05}.service-card-copy{font-size:14px;margin:12px 0 20px}.service-card-meta{padding-top:24px;align-items:center}.service-card-duration{font-size:12px;max-width:none}.service-card-price{font-size:30px}.is-signature .service-card{padding:26px 25px;min-height:0}.is-signature .service-card-name{font-size:33px}.is-signature .service-card-copy{font-size:14px;margin-bottom:24px}.is-signature .service-card-price{font-size:34px}.is-compact .service-card{min-height:0;padding:20px 22px}.is-compact .service-card-name{font-size:27px}.is-compact .service-card-meta{padding-top:19px}.is-compact .service-card-duration{font-size:12px}.is-compact .service-card-price{font-size:28px}.catalogue .catalogue-note{font-size:12px;margin-top:27px}.is-searching .service-card{min-height:0}#search-summary{font-size:14px;margin-top:0}}
@media(prefers-reduced-motion:reduce){.catalogue-scene,.scene-image img,.service-card,.catalogue .category-tabs button{animation:none;transition:none}.service-card:hover,.catalogue-scene:hover .scene-image img,.catalogue .category-tabs button:hover{transform:none}}
