.page-hero{align-items:flex-end;display:flex;height:62vh;min-height:480px;overflow:hidden;position:relative}.page-hero-img{animation:heroZoom 14s ease-out forwards;background-image:var(--hero-img);background-position:center 25%;background-size:cover;inset:0;position:absolute}@keyframes heroZoom{0%{transform:scale(1.07)}to{transform:scale(1)}}.page-hero-overlay{background:linear-gradient(120deg,rgba(28,28,28,.8),rgba(28,28,28,.35) 60%,hsla(28,8%,52%,.15));inset:0;position:absolute}.page-hero-content{max-width:800px;padding:0 60px 80px;position:relative;z-index:2}.breadcrumb{animation:fadeUp .9s ease .3s forwards;color:var(--warm);font-size:.65rem;letter-spacing:.3em;margin-bottom:18px;opacity:0;text-transform:uppercase}.breadcrumb a{color:var(--warm-light);text-decoration:none}.breadcrumb a:hover{color:var(--warm)}.page-title{animation:fadeUp .9s ease .6s forwards;font-family:Cormorant Garamond,serif;font-size:clamp(3rem,7vw,6rem);font-weight:300;letter-spacing:-.01em;line-height:.95;opacity:0}.page-title em{color:var(--warm-light);font-style:italic}.page-subtitle{animation:fadeUp .9s ease .9s forwards;color:var(--light);font-size:.88rem;line-height:1.9;margin-top:22px;max-width:420px;opacity:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(36px);transition:opacity .85s ease,transform .85s ease}.reveal.visible{opacity:1;transform:none}.filter-bar{align-items:center;background:#141414;border-bottom:1px solid hsla(28,8%,52%,.1);display:flex;gap:0;padding:0 60px;position:sticky;top:78px;z-index:50}.filter-tab{border-bottom:2px solid transparent;color:var(--warm-light);cursor:pointer;font-size:.7rem;letter-spacing:.22em;padding:22px 32px;text-transform:uppercase;transition:color .3s,border-color .3s;white-space:nowrap}.filter-tab:hover{color:var(--light)}.filter-tab.active{border-bottom-color:var(--warm);color:var(--light)}.content-wrap{display:grid;gap:0;grid-template-columns:340px 1fr;min-height:100vh}.sidebar{height:calc(100vh - 135px);overflow:hidden;position:sticky;top:135px}.sidebar-img{display:block;filter:brightness(.7);height:100%;-o-object-fit:cover;object-fit:cover;transition:filter .6s;width:100%}.sidebar-img:hover{filter:brightness(.9)}.sidebar-overlay{background:linear-gradient(to right,transparent 60%,var(--dark) 100%);inset:0;position:absolute}.sidebar-quote{bottom:50px;color:var(--light);font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic;font-weight:300;left:0;line-height:1.5;padding:0 30px;position:absolute;right:0}.sidebar-quote cite{color:var(--warm);display:block;font-family:Jost,sans-serif;font-size:.62rem;font-style:normal;letter-spacing:.2em;margin-top:10px;text-transform:uppercase}.price-content{padding:80px 70px 100px}.category-block{margin-bottom:80px}.category-header{align-items:center;border-bottom:1px solid hsla(28,8%,52%,.15);display:flex;gap:24px;margin-bottom:36px;padding-bottom:20px}.category-icon{align-items:center;background:var(--warm-dim);border:1px solid hsla(28,8%,52%,.25);border-radius:50%;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.category-icon svg,.category-label{color:var(--warm)}.category-label{display:block;font-size:.6rem;letter-spacing:.35em;margin-bottom:4px;text-transform:uppercase}.category-name{color:var(--light);font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:300}.category-name em{color:var(--warm-light);font-style:italic}.price-list{display:flex;flex-direction:column;gap:0}.price-row{align-items:center;border:1px solid hsla(28,8%,52%,.08);border-top:none;cursor:default;display:grid;grid-template-columns:1fr auto;overflow:hidden;padding:22px 28px;position:relative;transition:background .3s}.price-row:first-child{border-radius:0;border-top:1px solid hsla(28,8%,52%,.08)}.price-row:before{background:var(--warm);bottom:0;content:"";left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:bottom;transition:transform .35s ease;width:3px}.price-row:hover{background:hsla(28,8%,52%,.04)}.price-row:hover:before{transform:scaleY(1)}.price-row.featured{background:hsla(28,8%,52%,.07);border-color:hsla(28,8%,52%,.2)}.price-row.featured:after{background:var(--warm);color:var(--dark);content:"Populaire";font-size:.58rem;letter-spacing:.18em;padding:3px 10px;position:absolute;right:12px;text-transform:uppercase;top:5px}.price-service-name{color:var(--light);font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:400}.price-service-sub{color:var(--warm-light);display:block;font-size:.72rem;letter-spacing:.04em;margin-top:3px}.price-right{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.price-from{color:var(--warm);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase}.price-amount{color:var(--light);font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:300;line-height:1}.price-amount .currency{color:var(--warm);display:inline-block;font-size:1rem;margin-top:4px;vertical-align:top}.price-dots{background:repeating-linear-gradient(90deg,hsla(28,8%,52%,.25) 0,hsla(28,8%,52%,.25) 3px,transparent 0,transparent 10px);flex:1;height:1px;margin:0 20px}.price-note{background:hsla(28,8%,52%,.06);border-left:2px solid var(--warm);color:var(--warm-light);font-size:.75rem;line-height:1.8;margin-top:16px;padding:16px 20px}.price-note strong{color:var(--warm);font-weight:400}.booking-cta{align-items:center;background:hsla(28,8%,52%,.06);border:1px solid hsla(28,8%,52%,.18);display:flex;gap:40px;justify-content:space-between;margin-top:70px;padding:54px}.booking-cta-text .cta-label{color:var(--warm);display:block;font-size:.65rem;letter-spacing:.3em;margin-bottom:10px;text-transform:uppercase}.booking-cta-text h3{color:var(--light);font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:300}.booking-cta-text h3 em{color:var(--warm-light);font-style:italic}.booking-cta-text p{color:var(--warm-light);font-size:.82rem;line-height:1.8;margin-top:10px}.btn-primary{background:var(--warm);color:var(--dark);display:inline-block;flex-shrink:0;font-size:.72rem;font-weight:400;letter-spacing:.22em;padding:18px 44px;text-decoration:none;text-transform:uppercase;transition:background .3s,transform .3s;white-space:nowrap}.btn-primary:hover{background:var(--warm-light);transform:translateY(-2px)}footer{background:#111;border-top:1px solid hsla(28,8%,52%,.12);padding:60px 60px 36px}.footer-grid{display:grid;gap:60px;grid-template-columns:2fr 1fr 1fr 1fr;margin-bottom:50px}.footer-brand .nav-logo{display:block;margin-bottom:16px}.footer-tagline{color:var(--warm-light);font-size:.82rem;line-height:1.9;max-width:250px}.footer-col-title{color:var(--warm);font-size:.65rem;letter-spacing:.25em;margin-bottom:20px;text-transform:uppercase}.footer-col ul{display:flex;flex-direction:column;gap:10px;list-style:none}.footer-col a{color:var(--warm-light);font-size:.8rem;text-decoration:none;transition:color .3s}.footer-col a:hover{color:var(--light)}.footer-bottom{align-items:center;border-top:1px solid hsla(28,8%,52%,.1);display:flex;justify-content:space-between;padding-top:28px}.footer-copy{color:hsla(28,8%,52%,.45);font-size:.7rem;letter-spacing:.08em}.footer-social{display:flex;gap:20px}.footer-social a{color:var(--warm-light);font-size:.68rem;letter-spacing:.2em;text-decoration:none;text-transform:uppercase;transition:color .3s}.footer-social a:hover{color:var(--light)}.cursor-glow{background:radial-gradient(circle,hsla(28,8%,52%,.07) 0,transparent 70%);border-radius:50%;height:280px;pointer-events:none;position:fixed;transform:translate(-50%,-50%);width:280px;z-index:9999}@media (max-width:900px){nav{padding:20px 24px}.nav-links{display:none}.page-hero-content{padding:0 24px 60px}.filter-bar{overflow-x:auto;padding:0 24px}.content-wrap{grid-template-columns:1fr}.sidebar{display:none}.price-content{padding:50px 24px 80px}.booking-cta{flex-direction:column;padding:36px 28px}footer{padding:50px 24px 30px}.footer-grid{gap:36px;grid-template-columns:1fr 1fr}}