.spaces-section{position:relative;isolation:isolate;padding:30px 0;background:#fcfaf6;overflow:hidden}
.spaces-section:before,.spaces-section:after{content:"";position:absolute;z-index:-1;top:0;bottom:0;width:150px;background:url('assets/leaf.svg') left top/150px 420px repeat-y;pointer-events:none}
.spaces-section:before{left:-25px}.spaces-section:after{right:-25px;transform:scaleX(-1)}
.spaces-section>.container{width:91%;max-width:1280px}
.spaces-section header{text-align:center}
.spaces-section .eyebrow{font-size:11px;letter-spacing:4px;color:#a5641c;margin:0 0 7px}
.spaces-section h2{font-family:var(--serif);font-size:clamp(32px,4vw,50px);font-weight:400;line-height:1.15;color:#131313;margin:0}
.spaces-section h2 em{color:#965019;font-weight:400}
.spaces-ornament{display:flex;align-items:center;justify-content:center;gap:9px;max-width:380px;margin:8px auto;color:#b8792b;font-size:17px;line-height:1}
.spaces-ornament:before,.spaces-ornament:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#bf8a45)}
.spaces-ornament:after{transform:rotate(180deg)}
.spaces-section header p{font-size:16px;line-height:1.55;color:#596170;max-width:760px;margin:0 auto}
.spaces-section .space-filters{display:flex;max-width:860px;min-height:44px;padding:0;margin:22px auto 28px;border:0;border-radius:30px;background:#fff;box-shadow:0 7px 30px #64411c04}
.spaces-section .space-filters button{position:relative;flex:1;padding:11px 14px;border:0;border-radius:30px;background:transparent;color:#454b57;font-size:14px;white-space:nowrap;cursor:pointer}
.spaces-section .space-filters button:first-child{flex:.65}
.spaces-section .space-filters button+button:before{content:"";position:absolute;left:0;top:33%;height:34%;width:1px;background:#f0e5d5}
.spaces-section .space-filters button.active{background:linear-gradient(110deg,#d0a05b,#a66523);color:#fff;box-shadow:inset 2px 1px 0 #ffffff65}
.spaces-section .space-filters button.active:before,.spaces-section .space-filters button.active+button:before{display:none}
.spaces-section .space-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.spaces-section .space-card{display:block;min-width:0;border:1px solid #fff;border-radius:9px;overflow:hidden;background:#fffdfa;color:inherit;text-decoration:none;box-shadow:0 9px 28px #6a482010;transition:transform .2s,box-shadow .2s}
.spaces-section .space-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #6a482025}
.spaces-section .space-card[hidden]{display:none}
.spaces-section .space-photo{position:relative;overflow:hidden;aspect-ratio:1.36}
.spaces-section .space-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,#100b0755,transparent 55%);pointer-events:none}
.spaces-section .space-photo img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform .4s}
.spaces-section .space-card:hover img{transform:scale(1.035)}
.spaces-section .space-note{position:absolute;z-index:1;top:25px;left:20px;white-space:pre-line;color:#fff9ef;font-family:'Caveat',cursive;font-size:clamp(25px,2.6vw,36px);font-weight:400;line-height:.95;transform:rotate(-12deg);text-shadow:0 2px 8px #000b}
.spaces-section .space-card:last-child .space-note{left:auto;right:21px;top:42px;text-align:center}
.spaces-section .space-caption{display:grid;grid-template-columns:58px minmax(0,1fr) 36px;align-items:center;gap:17px;min-height:99px;padding:15px 18px}
.spaces-section .space-icon{display:grid;place-items:center;width:58px;height:58px;background:#f7eddc;border-radius:50%;color:#ab681e}
.spaces-section .space-icon .icon{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.spaces-section .space-copy b{display:block;font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.2;letter-spacing:-.4px;color:#151515}
.spaces-section .space-copy small{display:block;font-size:14px;line-height:1.3;color:#626978;margin-top:4px}
.spaces-section .space-arrow{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(110deg,#c18b41,#a9641d);color:#fff;font-size:23px;font-weight:300}
.spaces-section a:focus-visible,.spaces-section button:focus-visible{outline:3px solid #a76b24;outline-offset:4px}
@media(min-width:701px) and (max-width:1050px){.spaces-section .space-caption{grid-template-columns:42px minmax(0,1fr) 28px;gap:9px;padding:13px 10px}.spaces-section .space-icon{width:42px;height:42px}.spaces-section .space-icon .icon{width:28px;height:28px}.spaces-section .space-copy b{font-size:17px}.spaces-section .space-copy small{font-size:12px}.spaces-section .space-arrow{width:28px;height:28px}.spaces-section .space-grid{gap:16px}}
@media(max-width:700px){.spaces-section{padding:30px 0}.spaces-section h2{font-size:34px}.spaces-section header p{font-size:14px}.spaces-desktop-break{display:none}.spaces-section .eyebrow{font-size:10px}.spaces-section .space-filters{overflow:auto;justify-content:flex-start;margin:20px 0}.spaces-section .space-filters button,.spaces-section .space-filters button:first-child{flex:0 0 auto;font-size:13px;padding:11px 20px}.spaces-section .space-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.spaces-section .space-caption{grid-template-columns:38px minmax(0,1fr);gap:9px;padding:13px 10px;min-height:95px}.spaces-section .space-icon{width:38px;height:38px}.spaces-section .space-icon .icon{width:25px;height:25px}.spaces-section .space-copy b{font-size:17px}.spaces-section .space-copy small{font-size:12px}.spaces-section .space-arrow{display:none}.spaces-section .space-note{font-size:27px;top:18px;left:15px}.spaces-section .space-card:last-child .space-note{top:22px;right:15px}}
@media(max-width:480px){.spaces-section .space-grid{grid-template-columns:1fr;gap:20px}.spaces-section .space-caption{grid-template-columns:52px minmax(0,1fr) 34px;gap:14px;padding:15px}.spaces-section .space-icon{width:52px;height:52px}.spaces-section .space-icon .icon{width:31px;height:31px}.spaces-section .space-copy b{font-size:21px}.spaces-section .space-copy small{font-size:14px}.spaces-section .space-arrow{display:grid;width:34px;height:34px}.spaces-section .space-note{font-size:34px;top:25px;left:22px}}
@media(prefers-reduced-motion:reduce){.spaces-section .space-card,.spaces-section .space-photo img{transition:none}}
