.so-section-header{margin-bottom:clamp(40px,6vw,64px)}.so-section-subtitle{color:var(--color-primary);letter-spacing:4px;text-transform:uppercase;align-items:center;gap:11px;margin-bottom:20px;font-size:12px;font-weight:600;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);display:flex}.so-section-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:-.5px;margin:0 0 18px;font-size:clamp(30px,4.4vw,56px);font-weight:700;line-height:1;transition:opacity .9s cubic-bezier(.16,1,.3,1) 80ms,transform .9s cubic-bezier(.16,1,.3,1) 80ms}.so-section-desc{color:#f5f5f4b3;max-width:52ch;margin:0;font-size:16px;line-height:1.6;transition:opacity .9s cubic-bezier(.16,1,.3,1) .16s,transform .9s cubic-bezier(.16,1,.3,1) .16s}.so-section-header{text-align:left;max-width:60ch;margin-bottom:clamp(40px,6vw,72px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.so-section-header.align-center{text-align:center;max-width:800px;margin-left:auto;margin-right:auto}.so-section-subtitle{color:var(--color-primary);letter-spacing:4px;text-transform:uppercase;align-items:center;gap:11px;margin-bottom:22px;font-size:12px;font-weight:600;display:flex}.so-section-header.align-center .so-section-subtitle{justify-content:center}.so-red-bar{background:var(--color-primary);width:28px;height:1px}.so-section-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:-.5px;margin:0;font-size:clamp(30px,4.4vw,58px);font-weight:700;line-height:1}.so-primary-text{color:var(--color-primary)}.so-section-desc{color:var(--color-text-muted);margin:22px 0 0;font-size:17px;line-height:1.65}.so-service-num{font-family:var(--font-sans);color:var(--color-primary);letter-spacing:2px;margin-bottom:28px;font-size:14px;font-weight:700}.so-service-card{background:var(--color-bg);padding:clamp(28px,3vw,44px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),background-color .3s}.so-service-card:hover{background:#111114}.so-service-num{font-family:var(--font-sans);color:var(--color-primary);margin-bottom:24px;font-size:46px;font-weight:700;line-height:1}.so-service-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.3px;margin:0 0 12px;font-size:24px;font-weight:700}.so-service-text{color:var(--color-text-dim);margin:0;font-size:15px;line-height:1.6}.so-gallery-card{aspect-ratio:4/3;cursor:pointer;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.so-gallery-overlay{background:linear-gradient(#0a0a0b00 40%,#0a0a0bd9 100%);align-items:flex-end;padding:20px;display:flex;position:absolute;inset:0}.so-gallery-label{font-family:var(--font-sans);letter-spacing:.5px;text-transform:uppercase;color:#fff;font-size:14px;font-weight:700}.so-gallery-card{aspect-ratio:3/4;cursor:pointer;background:#161618;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.so-gallery-img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1)}.so-gallery-overlay{opacity:.55;background:linear-gradient(#0000 35%,#000c 100%);transition:opacity .4s;position:absolute;inset:0}.so-gallery-caption{color:#fff;letter-spacing:.3px;opacity:0;font-size:14px;font-weight:600;transition:opacity .3s,transform .3s;position:absolute;bottom:16px;left:18px;right:18px;transform:translateY(8px)}.so-gallery-card:hover .so-gallery-img{transform:scale(1.07)}.so-gallery-card:hover .so-gallery-overlay{opacity:1}.so-gallery-card:hover .so-gallery-caption{opacity:1;transform:translateY(0)}.so-hero-section{align-items:center;min-height:100vh;padding:120px 0 60px;display:flex;position:relative;overflow:hidden}.so-hero-bg{background-position:50% 30%;background-size:cover;animation:14s ease-out forwards soKen;position:absolute;inset:0}.so-hero-overlay-dark{background:linear-gradient(#0a0a0b8c 0%,#0a0a0b26 40%,#0a0a0bd9 100%);position:absolute;inset:0}.so-hero-overlay-side{background:linear-gradient(90deg,#0a0a0bbf 0%,#0a0a0b00 55%);position:absolute;inset:0}.so-hero-container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(18px,4vw,40px) clamp(56px,8vw,96px);position:relative}.so-hero-badge{color:var(--color-primary);letter-spacing:4px;text-transform:uppercase;align-items:center;gap:11px;margin-bottom:24px;font-size:12px;font-weight:600;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);display:flex}.so-hero-badge-bar{background:var(--color-primary);width:28px;height:1px}.so-hero-h1{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:-1px;margin:0;font-size:clamp(32px,5.8vw,80px);font-weight:800;line-height:1;transition:opacity .9s cubic-bezier(.16,1,.3,1) 80ms,transform .9s cubic-bezier(.16,1,.3,1) 80ms}.so-hero-p{color:#f5f5f4c7;max-width:46ch;margin:26px 0 0;font-size:clamp(15px,1.6vw,19px);line-height:1.6;transition:opacity .9s cubic-bezier(.16,1,.3,1) .16s,transform .9s cubic-bezier(.16,1,.3,1) .16s}.so-hero-cta-wrapper{flex-wrap:wrap;gap:14px;margin-top:36px;transition:opacity .9s cubic-bezier(.16,1,.3,1) .24s,transform .9s cubic-bezier(.16,1,.3,1) .24s;display:flex}.so-hero-side-ticker{writing-mode:vertical-rl;letter-spacing:3px;text-transform:uppercase;color:#f5f5f473;font-size:11px;position:absolute;bottom:96px;right:40px}.so-section-services{max-width:1280px;margin:0 auto;padding:clamp(72px,10vw,128px) clamp(18px,4vw,40px)}.so-services-grid{background:#ffffff14;border:1px solid #ffffff14;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;display:grid}.so-section-gallery{max-width:1280px;margin:0 auto;padding:0 clamp(18px,4vw,40px) clamp(72px,10vw,120px)}.so-statement-text{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:-.3px;max-width:22ch;margin:0 0 clamp(36px,5vw,60px);font-size:clamp(22px,3vw,40px);font-weight:700;line-height:1.15;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.so-gallery-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.so-section-news{background:var(--color-bg-secondary);border-top:1px solid #ffffff0f;border-bottom:1px solid #ffffff0f}.so-news-container{max-width:1280px;margin:0 auto;padding:clamp(72px,10vw,120px) clamp(18px,4vw,40px)}.so-news-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:clamp(36px,5vw,56px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);display:flex}.so-coulisses-link{color:#f5f5f499;cursor:pointer;letter-spacing:.3px;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.so-coulisses-link:hover{color:#fff}.so-coulisses-arrow{flex-shrink:0;transition:transform .25s}.so-coulisses-link:hover .so-coulisses-arrow{transform:translate(5px)}.so-coulisses-underline{background:var(--color-primary);width:0%;height:2px;transition:width .3s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-4px;left:0}.so-coulisses-link:hover .so-coulisses-underline{width:100%}.so-news-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.so-section-reviews{max-width:1280px;margin:0 auto;padding:clamp(72px,10vw,120px) clamp(18px,4vw,40px)}.so-reviews-header-badge{color:var(--color-primary);letter-spacing:4px;text-transform:uppercase;align-items:center;gap:11px;margin-bottom:22px;font-size:12px;font-weight:600;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);display:flex}.so-reviews-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.so-cta-band{position:relative;overflow:hidden}.so-cta-band-bg{background-image:url(/assets/1f9537dc-ce61-4233-8943-cd69b88de259.jpeg);background-position:50% 35%;background-size:cover;position:absolute;inset:0}.so-cta-band-overlay{background:linear-gradient(#0a0a0bd1,#0a0a0bb3);position:absolute;inset:0}.so-cta-band-content{text-align:center;max-width:1280px;margin:0 auto;padding:clamp(80px,12vw,160px) clamp(18px,4vw,40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);position:relative}.so-cta-band-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:-.5px;max-width:18ch;margin:0 auto;font-size:clamp(34px,6vw,80px);font-weight:700;line-height:.98}
