
.tsw-space,
.tsw-space * { box-sizing: border-box; }

.tsw-space { width:100%; background:#f2f1ed; }
.tsw-space__inner { width:100%; max-width:1040px; margin:0 auto; padding:34px 0 48px; }
.tsw-space__title {
    margin:0 auto;
    max-width:760px;
    text-align:center;
    color:#111;
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:clamp(50px,4.7vw,66px);
    font-weight:500;
    line-height:1.02;
    letter-spacing:-.025em;
}
.tsw-space__highlight { color:#2f6d4c; }
.tsw-space__cards {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:48px;
    align-items:start;
    margin-top:78px;
}
.tsw-space__card { text-align:center; min-width:0; }
.tsw-space__card--2 { transform:translateY(-48px); }
.tsw-space__image-wrap { width:100%; overflow:hidden; background:#ddd; }
.tsw-space__image { display:block; width:100%; aspect-ratio:.815/1; object-fit:cover; }
.tsw-space__card-title {
    margin:12px 0 0;
    color:#1b1b1b;
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:29px;
    font-weight:500;
    line-height:1.05;
    letter-spacing:-.02em;
}
.tsw-space__card-desc {
    max-width:255px;
    margin:8px auto 0;
    color:#555;
    font-family:'Manrope',Arial,sans-serif;
    font-size:12px;
    font-weight:500;
    line-height:1.7;
}
.tsw-space__card-desc p { margin:0; }

@media (max-width:1100px){
    .tsw-space__inner{padding-left:24px;padding-right:24px;}
}
@media (max-width:900px){
    .tsw-space__inner{padding:34px 24px 44px;}
    .tsw-space__cards{column-gap:24px;margin-top:58px;}
    .tsw-space__card--2{transform:translateY(-30px);}
    .tsw-space__card-title{font-size:25px;}
}
@media (max-width:767px){
    .tsw-space__inner{padding:28px 18px 36px;}
    .tsw-space__title{font-size:clamp(38px,10vw,50px);}
    .tsw-space__cards{grid-template-columns:1fr;row-gap:30px;margin-top:34px;}
    .tsw-space__card--2{transform:none;}
    .tsw-space__image{aspect-ratio:1.1/1;}
    .tsw-space__card-title{font-size:26px;}
    .tsw-space__card-desc{max-width:320px;font-size:13px;}
}
