/* Special Treatment: category tabs, one featured panel, three follow-up cards. */
.special-treatment{--st-ease:cubic-bezier(.22,1,.36,1);--st-ink:#1f1b17;--st-brown:#8a6c52;--st-muted:#6f655c;--st-line:#e9dfd4;--st-cream:#f8f3ed}
.home-v2 .special-treatment{padding:56px 0 136px}

.st-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:52px}
.st-eyebrow{margin:0 0 16px;font-family:Georgia,serif;font-size:15px;letter-spacing:4.5px;color:var(--st-brown)}
.st-heading h2{margin:0;font-family:"Times New Roman",Georgia,serif;font-weight:400;font-size:clamp(46px,5.5vw,78px);line-height:1.04;letter-spacing:-.6px;color:var(--st-ink)}
.st-lead{margin:20px 0 0;font-size:22px;line-height:1.5;color:var(--st-muted);letter-spacing:-.5px}
.st-all{display:inline-flex;align-items:center;gap:28px;margin-bottom:6px;padding:0 4px 14px;border-bottom:1px solid #b9a594;font-size:20px;color:#6e5948;white-space:nowrap;transition:gap .25s}
.st-all span{font-size:28px;line-height:1}
.st-all:hover{gap:36px}

.st-tabs{position:relative;display:grid;grid-template-columns:repeat(4,1fr);padding:10px;margin-bottom:22px;border:1px solid var(--st-line);border-radius:22px;background:#fdfbf9}
.st-tab{position:relative;display:flex;align-items:center;justify-content:center;gap:18px;min-height:76px;border:0;border-radius:15px;background:none;color:#5b4a3c;font-size:22px;letter-spacing:-.5px;cursor:pointer;transition:color .25s,background .25s}
.st-tab+.st-tab:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:var(--st-line);transition:opacity .25s}
.st-tab.active:before,.st-tab.active+.st-tab:before{opacity:0}
.st-tab:hover{color:var(--st-ink);background:#f6efe8}
.st-tab.active{color:#fff;background:linear-gradient(135deg,#b39479,#8f6f55);box-shadow:0 10px 22px #8f6f5530}
.st-icon{width:42px;height:42px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.st-tab:not(.active) .st-icon{color:var(--st-brown)}

/* Media: blurred scene backdrop, the cut-out model on top, cream wash over both on the copy side. */
.st-feature,.st-card{position:relative;overflow:hidden;isolation:isolate;border-radius:22px;background:var(--st-cream);color:inherit}
.st-media{position:absolute;inset:0;z-index:0;overflow:hidden;transition:transform .45s var(--st-ease)}
.st-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.st-model{position:absolute;bottom:0;right:0;height:100%;width:auto;max-width:none}
.st-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f8f3edf7 0%,#f8f3ede8 30%,#f8f3ed8c 42%,#f8f3ed00 56%)}
.st-copy{position:absolute;z-index:2;top:50%;transform:translateY(-50%)}

.st-feature{height:clamp(460px,38vw,540px);animation:st-in .38s var(--st-ease) both}
.st-feature .st-copy{left:clamp(40px,6.4vw,92px)}
.st-feature.st-breast .st-model{right:12.5%}
.st-feature:not(.st-breast) .st-model{right:0}
.st-num{display:flex;align-items:center;gap:20px;font-family:Georgia,serif;font-size:18px;letter-spacing:2.2px;color:#594b3f}
.st-num:after{content:"";width:54px;height:1px;background:#a8968a}
.st-feature h3{margin:24px 0 14px;font-family:var(--serif);font-weight:400;font-size:clamp(52px,5.3vw,76px);line-height:1.12;letter-spacing:-2.4px;color:var(--st-ink)}
.st-en{margin:0;font-family:Georgia,serif;font-size:19px;letter-spacing:5px;color:#6f5a49}
.st-feature .st-desc{margin:30px 0 40px;font-size:24px;line-height:1.7;color:#463e37;letter-spacing:-.6px}
.st-more{display:inline-flex;align-items:center;gap:34px;padding:15px 34px;border:1px solid #8f7764;border-radius:44px;background:#ffffffa6;font-size:19px;color:#3e342c;transition:background-color .3s var(--st-ease)}
.st-more>span{display:inline-block;font-size:27px;line-height:1;transition:transform .45s var(--st-ease)}
.st-more:hover,.st-card:hover .st-more{background:#fff}
.st-motto{position:absolute;z-index:2;right:56px;top:56px;margin:0;font-family:Georgia,serif;font-size:16px;line-height:1.9;letter-spacing:4.5px;color:#7a6453}
.st-arrow{position:absolute;z-index:2;right:52px;bottom:52px;display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#ffffffe6;color:#5e4c3e;font-size:30px;box-shadow:0 10px 24px #5a3f2a1f;transition:transform .45s var(--st-ease)}
.st-feature:not(.st-breast) .st-motto{display:none}

.st-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.st-card[hidden],.st-feature[hidden]{display:none}
.st-card{aspect-ratio:1.23}
.st-card .st-media:after{background:linear-gradient(90deg,#f8f3edf5 0%,#f8f3edde 36%,#f8f3ed70 50%,#f8f3ed00 62%)}
.st-card .st-model{right:-6%}
.st-card.st-breast .st-model{right:-20%}
.st-card .st-copy{left:clamp(28px,3vw,44px)}
.st-card .st-num{font-size:16px}
.st-card .st-num:after{width:44px}
.st-card h3{margin:18px 0 8px;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.1vw,44px);letter-spacing:-1.6px;color:var(--st-ink)}
.st-card .st-en{font-size:14.5px;letter-spacing:2px}
.st-card .st-desc{margin:22px 0 30px;font-size:20px;line-height:1.65;color:#463e37;letter-spacing:-.6px}
.st-card .st-more{gap:26px;padding:12px 26px;font-size:17.5px}
.st-card .st-more>span{font-size:23px}

/* Category tabs: one brown indicator slides under the active tab (positioned by special-treatment.js). */
.st-tab-indicator{position:absolute;left:0;top:0;z-index:0;border-radius:15px;background:linear-gradient(135deg,#b39479,#8f6f55);box-shadow:0 10px 22px #8f6f5530;pointer-events:none;transition:transform .28s var(--st-ease)}
.st-tabs.has-indicator .st-tab{z-index:1}
.st-tabs.has-indicator .st-tab.active{background:none;box-shadow:none}
.st-tabs.has-indicator .st-tab.active:hover{background:none}

/* Card hover (mouse only): the card lifts, the image layer zooms inside the rounded frame, the arrow nudges right. */
.st-feature,.st-card{transition:transform .45s var(--st-ease),box-shadow .45s var(--st-ease)}
@media(hover:hover) and (pointer:fine){
 .st-feature:hover,.st-card:hover{transform:translate3d(0,-4px,0);box-shadow:0 18px 40px #5a3f2a1c}
 .st-feature:hover .st-media,.st-card:hover .st-media{transform:scale(1.03)}
 .st-feature:hover .st-more>span,.st-card:hover .st-more>span,.st-more:hover>span{transform:translate3d(5px,0,0)}
 .st-feature:hover .st-arrow{transform:translate3d(5px,0,0)}
}
/* Touch: a light press highlight instead of zoom. */
@media(hover:none){.st-card:active,.st-feature:active{box-shadow:0 0 0 2px #c9b29d}}

/* Models rise into place when the section comes into view (staggered in JS), and again whenever a panel or card is swapped in. */
.st-animate .st-model{opacity:0}
.st-animate.st-in-view .st-model{animation:st-model-in .7s var(--st-ease) both}
@keyframes st-model-in{from{opacity:0;transform:translate3d(0,var(--st-rise,24px),0)}to{opacity:1;transform:none}}
@keyframes st-in{from{opacity:0}to{opacity:1}}

@media(max-width:1280px){
 .st-card .st-desc{font-size:18px}
 .st-card .st-more{font-size:16px;padding:11px 22px;gap:20px}
}
@media(max-width:1100px){
 .home-v2 .special-treatment{padding:44px 0 112px}
 .st-heading{margin-bottom:40px}
 .st-tab{font-size:19px;gap:12px;min-height:70px}
 .st-icon{width:34px;height:34px}
 .st-feature .st-desc{font-size:21px;margin:24px 0 32px}
 .st-motto{display:none}
 .st-arrow{right:36px;bottom:36px;width:62px;height:62px}
 .st-cards{gap:18px;margin-top:18px}
 .st-card{aspect-ratio:.98}
 .st-card .st-model{right:-22%}
 .st-card.st-breast .st-model{right:-34%}
 .st-card .st-copy{left:26px}
 .st-card h3{font-size:34px;margin:14px 0 6px}
 .st-card .st-en{font-size:12px;letter-spacing:.8px}
 .st-feature.st-breast .st-model{right:-10%}
 .st-card .st-desc{font-size:17px;margin:16px 0 22px}
 .st-card .st-more{padding:10px 20px;gap:16px;font-size:16px}
}
@media(max-width:900px){
 .st-heading{align-items:flex-start;flex-direction:column;gap:24px}
 .st-cards{grid-template-columns:1fr;gap:18px}
 .st-card{aspect-ratio:auto;min-height:320px}
 .st-card .st-model{right:0}
 .st-card.st-breast .st-model{right:-8%}
 .st-card .st-copy{left:40px}
 .st-feature.st-breast .st-model{right:-24%}
 .st-card .st-en{font-size:13px;letter-spacing:1.5px}
}
@media(max-width:600px){
 .home-v2 .special-treatment{padding:24px 0 64px}
 .st-heading{margin-bottom:18px;gap:10px}
 .st-eyebrow{display:none}
 .st-heading h2{font-size:clamp(24px,7.4vw,30px);white-space:nowrap}
 .st-lead{font-size:14.5px;margin-top:6px}
 .st-all{font-size:14px;gap:14px;padding:0 2px 5px;margin:0}
 .st-all span{font-size:20px}
 .st-animate.st-in-view .st-model{animation-duration:.5s}
 .special-treatment{--st-rise:12px}
 /* Mobile: all four treatments as a 2x2 grid sized to fit one screen under the header and the bottom CTA. */
 .st-tabs,.st-feature{display:none!important}
 .st-cards{grid-template-columns:1fr 1fr;gap:10px;margin-top:0}
 .st-card,.st-card[hidden]{display:block;aspect-ratio:auto;min-height:0;height:clamp(176px,calc((100svh - 330px) / 2),280px);border-radius:16px}
 .st-card .st-media:after{background:linear-gradient(180deg,#f8f3edf5 0%,#f8f3edd0 30%,#f8f3ed00 56%)}
 .st-card .st-model{height:74%;right:-8%}
 .st-card.st-breast .st-model{height:72%;right:-30%}
 .st-card .st-copy{position:absolute;inset:0;transform:none;padding:15px 14px}
 .st-card .st-num{font-size:11.5px;gap:10px;letter-spacing:1.5px}
 .st-card .st-num:after{width:22px}
 .st-card h3{font-size:clamp(21px,6vw,25px);margin:6px 0 2px;letter-spacing:-1px}
 .st-card .st-en{font-size:9.5px;letter-spacing:1px;white-space:nowrap}
 .st-card .st-desc{display:none}
 .st-card .st-more{position:absolute;left:12px;bottom:12px;width:36px;height:36px;padding:0;gap:0;justify-content:center;font-size:0;background:#fffffff0;border-color:#b9a08b;box-shadow:0 4px 12px #5a3f2a1f}
 .st-card .st-more>span{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.st-feature,.st-animate.st-in-view .st-model{animation:none}.st-animate .st-model{opacity:1}.st-tab-indicator,.st-feature,.st-card,.st-media,.st-more>span,.st-arrow{transition:none!important}}
