/* SamaWeb signature: one sculptural mark in an open, luminous composition. */
.swx-hero.swx-hero--immersive{padding-top:7rem;padding-bottom:0;background:#f7f6f3;isolation:isolate}
.swx-immersive-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:1rem;align-items:center;max-width:1400px}
.swx-immersive-copy{position:relative;z-index:2;padding-bottom:2rem}
.swx-hero--immersive .swx-display{font-size:clamp(3.5rem,6.8vw,6.5rem);max-width:none;line-height:1.1;letter-spacing:-.025em;margin:1.6rem 0}
.swx-immersive-intro{font-size:1.12rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.8rem}
.swx-hero--immersive .swx-hero__lead{max-width:30rem;font-size:1rem;line-height:1.8;margin-bottom:1.7rem}
.swx-hero--immersive .swx-hero__cta{gap:.6rem;margin-bottom:1.2rem}
.swx-hero--immersive .swx-btn{min-height:48px;padding:.9rem 1.1rem;font-size:.8rem}
.swx-immersive-note{max-width:30rem;font-size:.7rem;color:#756c7c;line-height:1.8}
.swx-symbol{position:relative;isolation:isolate;min-width:0;height:640px;overflow:visible}
.swx-symbol__halo{position:absolute;inset:12% -8% 12%;background:radial-gradient(ellipse,rgba(247,246,243,.9),transparent 66%);pointer-events:none;opacity:.35}
.swx-symbol__canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;z-index:1;opacity:0;transition:opacity .7s}
.swx-symbol.is-ready .swx-symbol__canvas{opacity:1}
.swx-symbol__canvas:active{cursor:grabbing}
.swx-symbol__canvas:focus-visible{outline:2px solid #8865ba;outline-offset:-8px;border-radius:50%}
.swx-symbol__fallback{position:absolute;inset:15% 0;display:grid;place-items:center;font:800 16rem var(--swx-font-display);color:#b7a0d7;text-shadow:3px 5px 0 #8872a4,15px 25px 30px #7a649933;transform:rotate(-12deg)}
.swx-symbol.is-ready .swx-symbol__fallback{visibility:hidden}
.swx-symbol__signature{position:absolute;z-index:2;bottom:75px;left:0;right:0;text-align:center;pointer-events:none}
.swx-symbol__signature>span{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.16em;color:#887792;margin-bottom:7px}
.swx-symbol__signature strong{font:600 1.35rem var(--swx-font-display);letter-spacing:-.015em;color:#504058}
.swx-symbol__controls{position:absolute;bottom:22px;left:0;right:0;z-index:2;display:flex;justify-content:center;align-items:center;gap:9px;color:#766c7c}
.swx-symbol__controls[hidden]{display:none}.swx-symbol__controls>span{font-size:.66rem;margin-right:5px}
.swx-symbol__controls button{background:transparent;border:1px solid #dcd4e4;border-radius:50px;padding:8px 12px;min-width:40px;min-height:40px;font:500 .67rem var(--swx-font-body);color:#63536c;cursor:pointer}
.swx-symbol__controls button:hover{background:#eee7f6}.swx-symbol__controls button:focus-visible{outline:2px solid #8664b5;outline-offset:3px}
.swx-outcome-strip{display:grid;grid-template-columns:repeat(3,1fr);max-width:1400px;border-top:1px solid #ded9e3;border-bottom:1px solid #ded9e3;margin-top:1.5rem}
.swx-outcome-strip a{display:flex;align-items:center;gap:1rem;padding:1.6rem 1rem;text-decoration:none;color:#342c3c;font-size:.83rem}.swx-outcome-strip a+a{border-left:1px solid #ded9e3}.swx-outcome-strip span{font:11px monospace;color:#9171b8}.swx-outcome-strip b.studio-ico-arrow,.swx-outcome-strip .studio-ico-arrow{margin-left:auto;width:12px;height:12px;flex-shrink:0}.swx-outcome-strip a:hover{background:#eee8f480}
body[data-page="index"] .swx-section:nth-of-type(odd){background:linear-gradient(135deg,#f6f3fa66,transparent 55%)}
body[data-page="index"] .swx-section-head{position:relative}
body[data-page="index"] .swx-section-head .swx-eyebrow{border:0;padding-left:0;letter-spacing:.18em;color:#8566ab}
body[data-page="index"] .swx-service-row{transition:background .3s,transform .3s;border-radius:6px}
body[data-page="index"] .swx-service-row:hover{background:linear-gradient(100deg,#e9ddf2a6,#f4eff833);transform:translateX(5px)}
body[data-page="index"] .swx-process__index{font-family:var(--swx-font-display);color:#ab8dd0}
/* Index CTA dark rupture is owned by studio-home.css / agency.css — do not soft-lavender here. */
@media(min-width:1500px){.swx-symbol{height:700px}}
@media(max-width:1000px){.swx-symbol{height:570px}.swx-immersive-grid{gap:0}.swx-hero--immersive .swx-display{font-size:clamp(3.2rem,6.5vw,5.5rem)}.swx-outcome-strip a{font-size:.74rem;gap:.5rem;padding:1.3rem .5rem}}
@media(max-width:760px){.swx-hero.swx-hero--immersive{padding-top:5rem}.swx-immersive-grid{grid-template-columns:1fr}.swx-immersive-copy{padding-bottom:0}.swx-hero--immersive .swx-display{font-size:clamp(3rem,11vw,5rem);margin:1.2rem 0}.swx-hero--immersive .swx-hero__lead{font-size:.95rem}.swx-symbol{height:470px;margin-top:-15px}.swx-symbol__signature{bottom:65px}.swx-symbol__signature strong{font-size:1.2rem}.swx-symbol__signature>span{font-size:.55rem}.swx-symbol__controls{bottom:10px}.swx-symbol__halo{inset:0}.swx-outcome-strip{grid-template-columns:1fr;margin-top:1rem}.swx-outcome-strip a{padding:1rem 0;font-size:.82rem}.swx-outcome-strip a+a{border-left:0;border-top:1px solid #ded9e3}}
@media(prefers-reduced-motion:reduce){.swx-symbol__canvas,body[data-page="index"] .swx-service-row{transition:none}}

/* Keep the caption outside the drawing area, even at maximum zoom/rotation. */
.swx-symbol{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:1.25rem;padding-bottom:1.5rem}
.swx-symbol__stage{position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:12px}
.swx-symbol__signature{position:static;padding:0 1rem;pointer-events:auto}
.swx-symbol__signature>span{font-size:.75rem;line-height:1.6;color:#61536d}
.swx-symbol__signature strong{display:block;color:#34273f;line-height:1.3}
.swx-symbol__canvas:focus-visible{outline:3px solid #6b4194;outline-offset:-4px;border-radius:12px}
.swx-symbol.swx-symbol--compact{grid-template-rows:minmax(0,1fr);padding-bottom:0}
/* Signature pages keep a soft CTA; homepage dark CTA lives in studio-home.css */
body.swx.swx-signature-page .swx-cta{background:#f0eaf6;color:#302438;opacity:1;filter:none;padding:clamp(1.5rem,4vw,4.5rem)}
body.swx.swx-signature-page .swx-cta>.swx-ambient,
body.swx.swx-signature-page .swx-cta::before,
body.swx.swx-signature-page .swx-cta::after{display:none}
body.swx.swx-signature-page .swx-cta__title{color:#302438;-webkit-text-fill-color:#302438}
body.swx.swx-signature-page .swx-cta .swx-accent{color:#62368a!important;-webkit-text-fill-color:#62368a!important}
body.swx.swx-signature-page .swx-cta__lead{color:#51425f;opacity:1}
body.swx.swx-signature-page .swx-cta .swx-btn--primary{background:#6337a1;color:#fff;border-color:#6337a1}
body.swx.swx-signature-page .swx-cta .swx-btn--primary:hover{background:#482376;color:#fff;border-color:#482376}
body.swx.swx-signature-page .swx-cta .swx-btn--ghost{background:#fff;color:#42304f;border:1px solid #776483}
body.swx.swx-signature-page .swx-cta .swx-btn--ghost:hover{background:#e4d8ed;color:#302438;border-color:#634c73}
body.swx.swx-signature-page .swx-cta .swx-btn:focus-visible{outline:3px solid #4e2878;outline-offset:4px}
@media(max-width:760px){body[data-page="index"] .swx-symbol{margin-top:1rem}}
