.sw-service{background:#f5f2eb;color:#1e1d1c}
.sw-hero{position:relative;isolation:isolate;overflow:clip;display:grid;align-items:center;min-height:clamp(32rem,calc(100svh - 11rem),44rem);background:#2a2726;color:#fff}
.sw-hero-art,.sw-hero::after{position:absolute;inset:0;z-index:-1}
.sw-hero-art img{height:100%;aspect-ratio:auto;object-fit:cover;object-position:57% center;transform:translateY(var(--sw-art-y,0px)) scale(1.04)}
.sw-hero::after{content:"";background:linear-gradient(90deg,#17171bee 0%,#19181cca 34%,#1d1a1b36 77%,#1d1a1b05)}
.sw-hero-copy{padding-block:2.6rem 3.35rem}
.sw-hero .exp-back{margin-bottom:2.5rem}
.sw-hero .exp-back span{color:#efab8d}
.sw-hero .exp-kicker>span,.sw-approach .exp-kicker>span,.sw-contact .exp-kicker>span{background:#eda98a}
.sw-hero h1{font-size:6.5rem;line-height:.98;max-width:12ch;margin:0 0 1.35rem;text-wrap:balance;overflow-wrap:anywhere}
.sw-hero-intro{max-width:44ch;margin:0 0 1.35rem;font-size:1.08rem;line-height:1.65;color:#f1e8e0}
.sw-hero-link{display:inline-flex;gap:.55rem;align-items:center;min-height:2.75rem;font-weight:700;font-size:.88rem}
.sw-hero-link span{color:#f3b094}
.sw-challenge,.sw-build,.sw-related{padding-block:clamp(3rem,8vw,7rem)}
.sw-challenge-grid{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(0,1fr);gap:clamp(1.3rem,5vw,5rem);align-items:end}
.sw-service h2:not(.exp-related-head h2):not(.exp-prose h2){margin:0;font-size:4.65rem;line-height:1.04;overflow-wrap:anywhere}
.sw-challenge h2{max-width:15ch}
.sw-challenge h2 em{display:block;font-style:normal;color:#773b2d;transform:translateY(var(--sw-type-y,0px))}
.sw-challenge-copy{position:relative;padding-top:1rem;border-top:1px solid #aa9b8b}
.sw-challenge-copy::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:2px;background:var(--copper);transform:scaleX(var(--sw-rule,.32));transform-origin:left}
.sw-challenge-copy p:last-child{margin-bottom:0}
.sw-approach{background:#212227;color:#f6f0e6;padding-top:clamp(3rem,7vw,6rem)}
.sw-approach-heading{padding-bottom:1.8rem}
.sw-approach h2{max-width:19ch}
.sw-track{padding-bottom:2rem}
.sw-frame{background:#212227}
.sw-model{position:relative;height:clamp(22rem,55vw,39rem);overflow:clip}
.sw-model canvas,.sw-model img{position:absolute;inset:0;width:100%;height:100%;display:block}
.sw-model img{object-fit:cover}
.sw-model:not(.is-rendered) canvas{visibility:hidden}
.sw-model.is-rendered img{display:none}
.sw-controls{position:relative;min-width:0;padding:1rem 0 .5rem;border:0;border-top:1px solid #807367;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}
.sw-controls label{display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;padding:0 .8rem;border:1px solid #807367;font-size:.86rem;cursor:pointer}
.sw-controls label:has(:checked){border-color:#efaa89;background:#50372f}
.sw-controls label span{font:600 .73rem/1.35 ui-monospace,Consolas,monospace;color:#efaa89}
.sw-controls input{accent-color:#efaa89}
.sw-outcomes{display:grid;width:100%;min-height:3.25rem}
.sw-outcomes p{grid-area:1/1;visibility:hidden;margin:.5rem 0 0;max-width:64ch;color:#eee2d5;font-size:.92rem}
.sw-controls:has([value="0"]:checked) .sw-outcomes p:nth-child(1),.sw-controls:has([value="1"]:checked) .sw-outcomes p:nth-child(2),.sw-controls:has([value="2"]:checked) .sw-outcomes p:nth-child(3){visibility:visible}
.sw-build{background:#eee8dc}
.sw-solutions{margin-top:2.2rem;border-top:1px solid #b4a491}
.sw-solutions details{border-bottom:1px solid #b4a491}
.sw-solutions summary{display:grid;grid-template-columns:2.5rem minmax(0,1fr) 1.5rem;align-items:center;gap:.5rem;padding:1.1rem 0;cursor:pointer;list-style:none;font-family:Manrope,system-ui,sans-serif;font-weight:800;font-size:1.62rem}
.sw-solutions summary::-webkit-details-marker{display:none}
.sw-solutions summary::after{content:"+";color:#793e30;justify-self:center}
.sw-solutions details[open] summary::after{content:"−"}
.sw-solutions summary span{color:#793e30;font:600 .75rem/1.4 ui-monospace,Consolas,monospace}
.sw-solutions p{margin:0 0 1.25rem 3rem;max-width:56ch;color:#413b36}
.sw-contact{position:relative;isolation:isolate;overflow:clip;box-sizing:border-box;display:grid;align-items:center;min-height:min(42rem,85svh);padding-block:4.8rem;background:#22201f;color:#fff5e9;border-top:2px solid #a96549}
.sw-contact-structure{position:absolute;inset:-2rem 0;z-index:-2;pointer-events:none;transform:translateY(var(--sw-contact-y,0px))}
.sw-contact-structure span{position:absolute;inset:0}
.sw-contact-structure span:nth-child(1){clip-path:polygon(47% 100%,77% 0,100% 0,100% 100%);background:linear-gradient(145deg,#5c544e 16%,#38312e 57%,#161617 92%)}
.sw-contact-structure span:nth-child(2){clip-path:polygon(64% 100%,85% 0,100% 0,83% 100%);background:linear-gradient(104deg,#211e1c 60%,#8a6955 72%,#d2a78a 73%,#463b36 74%,#292827 89%)}
.sw-contact-structure span:nth-child(3){clip-path:polygon(80% 100%,100% 29%,100% 100%);background:linear-gradient(140deg,#ae8b75,#69554a 73%,#1c1b1b)}
.sw-contact::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#22201f 10%,#22201fc9 43%,transparent 83%)}
.sw-contact-inner{display:grid;gap:2.2rem;justify-items:start}
.sw-service #sw-contact-title{font-size:8.1rem;line-height:.94}
.sw-contact h2 span{display:block}
.s2-site .sw-contact-cta{min-height:3.25rem;gap:1.7rem;padding-inline:1.2rem;background:#f0e4d4;color:#251f1c;border-color:#f0e4d4}
.s2-site .sw-contact-cta:hover{background:#edbda1;border-color:#edbda1}
.sw-contact-cta span{color:#81402d}
.s2-site .sw-contact a:focus-visible{outline-color:#fff}
.sw-related{padding-top:2.65rem}
@media(min-width:980px) and (min-height:700px) and (prefers-reduced-motion:no-preference){
  .sw-track.is-pinned{min-height:202svh;padding:0}
  .is-pinned .sw-frame{position:sticky;top:0;height:100svh;display:grid;grid-template-rows:minmax(0,1fr) auto}
  .is-pinned .sw-model{height:auto;min-height:0}
  .is-pinned .sw-controls{padding-bottom:1rem}
  .is-pinned .sw-controls::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:2px;background:#efaa89;transform:scaleX(var(--sw-progress,0));transform-origin:left;pointer-events:none}
}
@media(max-width:1050px){
  .sw-service #sw-contact-title{font-size:6.5rem}
  .sw-hero h1{font-size:5rem}
  .sw-service h2:not(.exp-related-head h2):not(.exp-prose h2){font-size:3.7rem}
}
@media(max-width:700px){
  .sw-contact{min-height:29rem;padding-block:3.6rem}
  .sw-contact-inner{gap:1.75rem}
  .sw-service #sw-contact-title{font-size:3.9rem}
  .sw-contact::after{background:linear-gradient(90deg,#22201fe8 10%,#22201f91 68%,#22201f44)}
  .sw-hero{min-height:clamp(29rem,calc(100svh - 10.5rem),37rem);align-items:start}
  .sw-hero-copy{padding-block:1.4rem 3rem}
  .sw-hero .exp-back{margin-bottom:1.75rem}
  .sw-hero::after{background:linear-gradient(180deg,#19171ae6,#19171ac2 54%,#19171a13 100%)}
  .sw-hero h1{font-size:3.2rem;line-height:1.01}
  .sw-hero-intro{font-size:.96rem}
  .sw-service h2:not(.exp-related-head h2):not(.exp-prose h2){font-size:2.65rem}
  .sw-challenge-grid{grid-template-columns:minmax(0,1fr)}
  .sw-model{height:clamp(19rem,86vw,25rem)}
  .sw-controls label{padding-inline:.48rem;font-size:.76rem}
  .sw-outcomes{min-height:4.6rem}
  .sw-solutions summary{grid-template-columns:1.35rem minmax(0,1fr) 1rem;font-size:1.18rem}
  .sw-solutions p{margin-left:1.85rem}
}
@media(max-width:380px){.sw-hero h1{font-size:2.65rem}.sw-service #sw-contact-title{font-size:3.35rem}}
