.sw-p43 { box-sizing: border-box; font-family: 'Inter', sans-serif; background: #1F2125; color: #FFFFFF; }
.sw-p43 *, .sw-p43 *::before, .sw-p43 *::after { box-sizing: inherit; }
.sw-p43-wrap { max-width: 1180px; margin: 0 auto; padding: 0 clamp(1.6rem, 4vw, 3rem); }
.sw-p43-section { padding: 6.5rem 0; position: relative; }
.sw-p43-head { max-width: 820px; margin: 0 0 3.4rem; }
.sw-p43-head--center { margin: 0 auto 3.4rem; text-align: center; }
.sw-p43-eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 0.64rem; letter-spacing: 5px; text-transform: uppercase; font-weight: 800; color: #FFFFFF; margin-bottom: 1.4rem; }
.sw-p43-dot { width: 10px; height: 10px; background: #F76B1C; }
.sw-p43-h2 { font-weight: 900; font-size: clamp(2.4rem, 5.6vw, 4.2rem); line-height: 0.94; letter-spacing: -0.045em; text-transform: uppercase; color: #FFFFFF; margin: 0 0 1rem; }
.sw-p43-h2 em { font-style: normal; color: #F76B1C; }
.sw-p43-lead { font-size: 16px; line-height: 1.65; color: #9DA2AA; margin: 0; max-width: 56ch; }
.sw-p43-skew { display: inline-block; background: #F76B1C; color: #16171A; font-size: 0.62rem; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 900; padding: 7px 14px; transform: skewX(-8deg); }
.sw-p43-rows { border-top: 1px solid rgba(255,255,255,0.16); }
.sw-p43-row { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1.2fr) minmax(0, 0.8fr) auto; gap: clamp(1rem, 3vw, 2.6rem); align-items: center; padding: 2.2rem 0.2rem; border-bottom: 1px solid rgba(255,255,255,0.16); }
.sw-p43-row-box { position: relative; width: 48px; height: 32px; border: 1.5px solid rgba(247,107,28,0.85); background: rgba(31,33,37,0.55); }
.sw-p43-row-box::before { content: ""; position: absolute; left: 8px; right: 8px; top: -11px; height: 9px; border: 1.5px solid rgba(255,255,255,0.4); border-bottom: 0; }
.sw-p43-row-box::after { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 9px; transform: translateX(-50%); background: rgba(247,107,28,0.35); }
.sw-p43-row-title { position: relative; display: inline-block; font-size: clamp(1.6rem, 4.6vw, 2.9rem); font-weight: 900; line-height: 0.95; letter-spacing: -0.03em; text-transform: uppercase; color: #FFFFFF; margin: 0; }
.sw-p43-tape { position: absolute; left: -4%; right: -6%; top: 38%; height: 0.46em; background: linear-gradient(180deg, rgba(247,107,28,0.92), rgba(247,107,28,0.72)); clip-path: polygon(0 12%, 1.5% 0, 98.5% 6%, 100% 18%, 99% 84%, 100% 100%, 1.5% 94%, 0.5% 82%); transform: rotate(-2.2deg) scaleX(0); transform-origin: left center; transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1); pointer-events: none; }
.sw-p43-row:hover .sw-p43-tape { transform: rotate(-2.2deg) scaleX(1); }
.sw-p43-row p { margin: 0; font-size: 0.88rem; line-height: 1.6; color: #9DA2AA; }
.sw-p43-row-meta { display: inline-block; justify-self: end; border: 1.5px solid #F76B1C; color: #F76B1C; font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 800; padding: 8px 14px; transform: skewX(-8deg); white-space: nowrap; }
.sw-p43-row-arrow { font-size: 1.5rem; font-weight: 900; color: #F76B1C; transition: transform 0.3s ease; }
.sw-p43-row:hover .sw-p43-row-arrow { transform: translateX(10px); }
.sw-p43-plan { background: #25282D; border-top: 1px solid rgba(255,255,255,0.12); border-bottom: 1px solid rgba(255,255,255,0.12); padding-bottom: 2rem; }
.sw-p43-chapters { border-top: 1px solid rgba(255,255,255,0.18); }
.sw-p43-chap { display: grid; grid-template-columns: minmax(160px, 0.46fr) 1fr; gap: clamp(1.4rem, 4vw, 3.6rem); align-items: start; min-height: 86vh; padding: 3rem 0 4rem; border-bottom: 1px solid rgba(255,255,255,0.1); }
.sw-p43-chap:last-child { border-bottom: 0; }
.sw-p43-chap-rail { position: relative; align-self: stretch; }
.sw-p43-chap-num { position: sticky; top: clamp(90px, 16vh, 180px); display: block; font-size: clamp(6.5rem, 16vw, 14rem); font-weight: 900; line-height: 0.8; letter-spacing: -0.05em; color: transparent; -webkit-text-stroke: 2.5px #F76B1C; transition: color 0.45s ease; }
.sw-p43-chap:hover .sw-p43-chap-num { color: #F76B1C; }
.sw-p43-chap-body { padding-top: clamp(0.4rem, 5vh, 3.4rem); max-width: 62ch; }
.sw-p43-chap-when { display: inline-block; font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 800; color: #9DA2AA; border: 1px solid rgba(255,255,255,0.25); padding: 7px 13px; margin-bottom: 1.3rem; }
.sw-p43-chap h3 { font-size: clamp(1.7rem, 3.8vw, 2.8rem); font-weight: 900; letter-spacing: -0.03em; text-transform: uppercase; color: #FFFFFF; margin: 0 0 1rem; }
.sw-p43-chap h3 em { font-style: normal; color: #F76B1C; }
.sw-p43-chap-lead { margin: 0 0 1.8rem; font-size: 1rem; line-height: 1.7; color: #9DA2AA; }
.sw-p43-chap-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
.sw-p43-chap-list li { position: relative; padding-left: 2.1rem; font-size: 0.92rem; line-height: 1.55; color: #D3D6DA; }
.sw-p43-chap-list li::before { content: ""; position: absolute; left: 0; top: 0.1em; width: 18px; height: 18px; border: 1.5px solid #F76B1C; }
.sw-p43-chap-list li::after { content: "\2713"; position: absolute; left: 3px; top: 0.05em; font-size: 0.78rem; font-weight: 900; color: #F76B1C; }
.sw-p43-act { position: relative; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; gap: clamp(1.8rem, 5vh, 3.4rem); background: #16171A; padding: 5rem 0; overflow: hidden; }
.sw-p43-act::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(45deg, rgba(255,255,255,0.014) 0 2px, transparent 2px 5px), radial-gradient(900px 480px at 50% 110%, rgba(247,107,28,0.12), transparent 70%); pointer-events: none; }
.sw-p43-marq { position: relative; overflow: hidden; border-top: 1px solid rgba(247,107,28,0.5); border-bottom: 1px solid rgba(247,107,28,0.5); background: repeating-linear-gradient(45deg, rgba(247,107,28,0.1) 0 22px, transparent 22px 44px); }
.sw-p43-marq-track { display: flex; width: max-content; }
.sw-p43-marq-track span { display: block; white-space: nowrap; padding: 0.75rem 0; font-size: clamp(0.78rem, 1.6vw, 1.02rem); font-weight: 900; letter-spacing: 0.24em; text-transform: uppercase; color: #F76B1C; }
.sw-p43-act-mid { position: relative; text-align: center; padding: 0 clamp(1.2rem, 4vw, 3rem); }
.sw-p43-fp-kicker { display: inline-block; background: #F76B1C; color: #16171A; font-size: 0.62rem; letter-spacing: 0.24em; text-transform: uppercase; font-weight: 900; padding: 7px 14px; transform: skewX(-8deg); margin-bottom: 1.6rem; }
.sw-p43-act-num { font-size: clamp(6rem, 24vw, 17rem); font-weight: 900; line-height: 0.82; letter-spacing: -0.06em; color: #F76B1C; margin: 0 0 1.4rem; }
.sw-p43-act-num sup { font-size: 0.32em; letter-spacing: -0.02em; vertical-align: 0.9em; }
.sw-p43-act-label { max-width: 38ch; margin: 0 auto 2rem; font-size: clamp(1.05rem, 2.3vw, 1.45rem); font-weight: 800; line-height: 1.4; text-transform: uppercase; letter-spacing: 0.01em; color: #FFFFFF; }
.sw-p43-act-label em { font-style: normal; color: #9DA2AA; }
.sw-p43-fp-chips { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.sw-p43-fp-chip { display: inline-flex; align-items: center; gap: 10px; border: 1.5px solid rgba(247,107,28,0.8); color: #FFFFFF; font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 800; padding: 10px 18px; transition: background-color 0.3s ease, color 0.3s ease; }
.sw-p43-fp-chip i { font-style: normal; width: 8px; height: 8px; background: #F76B1C; }
.sw-p43-fp-chip:hover { background: #F76B1C; color: #16171A; }
.sw-p43-fp-chip:hover i { background: #16171A; }
.sw-p43-check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem; max-width: 980px; margin: 0 auto; }
.sw-p43-check-col { border: 1px solid rgba(255,255,255,0.18); background: #25282D; padding: 2.2rem 1.9rem 2rem; transition: border-color 0.3s ease; }
.sw-p43-check-col:hover { border-color: #F76B1C; }
.sw-p43-check-col--orange { border-color: rgba(247,107,28,0.6); }
.sw-p43-check-col h3 { display: inline-block; font-size: 0.78rem; font-weight: 900; letter-spacing: 0.18em; text-transform: uppercase; color: #16171A; background: #FFFFFF; padding: 7px 14px; transform: skewX(-8deg); margin: 0 0 1.6rem; }
.sw-p43-check-col--orange h3 { background: #F76B1C; }
.sw-p43-check-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.85rem; }
.sw-p43-check-col li { position: relative; padding-left: 2.1rem; font-size: 0.9rem; line-height: 1.55; color: #D3D6DA; }
.sw-p43-check-col li::before { content: ""; position: absolute; left: 0; top: 0.1em; width: 18px; height: 18px; border: 1.5px solid #F76B1C; }
.sw-p43-check-col li::after { content: "\2713"; position: absolute; left: 3px; top: 0.05em; font-size: 0.78rem; font-weight: 900; color: #F76B1C; }
.sw-p43-check-col--orange li::before { border-color: rgba(255,255,255,0.45); }
.sw-p43-check-col--orange li::after { content: "!"; color: #F76B1C; left: 6px; }
.sw-p43-quote-sec { background: #25282D; border-top: 1px solid rgba(255,255,255,0.12); text-align: center; }
.sw-p43-quote blockquote { margin: 0 auto; max-width: 40ch; font-size: clamp(1.5rem, 3.4vw, 2.3rem); font-weight: 900; line-height: 1.25; letter-spacing: -0.02em; text-transform: uppercase; color: #FFFFFF; }
.sw-p43-quote blockquote em { font-style: normal; color: #F76B1C; }
.sw-p43-quote figcaption { margin-top: 1.4rem; font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 800; color: #9DA2AA; }
.sw-p43-stats { display: flex; justify-content: center; gap: clamp(2rem, 6vw, 5rem); margin-top: 3.2rem; flex-wrap: wrap; }
.sw-p43-stat strong { display: block; font-size: clamp(2.6rem, 6vw, 4rem); font-weight: 900; letter-spacing: -0.04em; color: #F76B1C; margin-bottom: 0.3rem; }
.sw-p43-stat span { font-size: 0.66rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 800; color: #9DA2AA; }
.sw-p43-contact { text-align: center; }
.sw-p43-contact-card { position: relative; max-width: 680px; margin: 0 auto; border: 1px solid rgba(255,255,255,0.18); background: #25282D; padding: 3.4rem 2.6rem 2.8rem; }
.sw-p43-contact-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 10px; background: repeating-linear-gradient(45deg, #F76B1C 0 18px, #25282D 18px 36px); }
.sw-p43-address { font-style: normal; font-size: 0.95rem; line-height: 1.85; color: #9DA2AA; margin: 0 0 1.8rem; }
.sw-p43-address strong { color: #FFFFFF; font-weight: 800; }
.sw-p43-cta { display: inline-flex; align-items: center; gap: 10px; background: #F76B1C; color: #16171A; font-size: 0.92rem; font-weight: 800; letter-spacing: 0.03em; text-transform: uppercase; padding: 17px 34px; text-decoration: none; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.sw-p43-cta:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -14px rgba(247,107,28,0.7); }
.sw-p43-contact-note { margin: 1.6rem 0 0; font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: #9DA2AA; }
.sw-p43-footer { background: #16171A; padding: 0 0 6.5rem; text-align: center; }
.sw-p43-f-hazard { display: block; height: 16px; background: repeating-linear-gradient(45deg, #F76B1C 0 22px, #16171A 22px 44px); margin-bottom: 3.6rem; }
.sw-p43-f-brand { font-size: 1.7rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; color: #FFFFFF; margin: 0 0 0.5rem; }
.sw-p43-f-brand em { font-style: normal; color: #F76B1C; }
.sw-p43-f-tagline { display: block; font-size: 0.64rem; letter-spacing: 0.26em; text-transform: uppercase; font-weight: 800; color: #9DA2AA; margin-bottom: 2.2rem; }
.sw-p43-f-nav { list-style: none; display: flex; justify-content: center; gap: 1.8rem; margin: 0 0 2.2rem; padding: 0; flex-wrap: wrap; }
.sw-p43-f-nav a { font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 800; color: #FFFFFF; text-decoration: none; transition: color 0.2s; }
.sw-p43-f-nav a:hover { color: #F76B1C; }
.sw-p43-f-bottom { font-size: 0.76rem; line-height: 1.9; color: #9DA2AA; }
.sw-p43-f-bottom a { color: #D3D6DA; text-decoration: none; }
.sw-p43-f-bottom a:hover { color: #F76B1C; }
.sw-p43-ph { position: relative; border: 1.5px solid rgba(255,255,255,0.18); background: #16171A; }
.sw-p43-ph::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 8px; background: repeating-linear-gradient(45deg, #F76B1C 0 16px, #16171A 16px 32px); z-index: 2; }
.sw-p43-ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(247,107,28,0.26), rgba(22,23,26,0.08) 45%, rgba(22,23,26,0.55)); pointer-events: none; }
.sw-p43-ph img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; filter: grayscale(100%) contrast(1.07) brightness(0.94); }
.sw-p43-ph figcaption { position: absolute; left: 0; bottom: 0; z-index: 3; background: #16171A; color: #FFFFFF; font-size: 0.6rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 800; padding: 9px 14px 8px; border-top: 1.5px solid rgba(247,107,28,0.7); border-right: 1.5px solid rgba(247,107,28,0.7); }
.sw-p43-chap-photo { margin: 2.1rem 0 0; max-width: 560px; }
.sw-p43-ph--crop img { aspect-ratio: 4 / 3; object-position: 82% 62%; }
.sw-p43-imgact { position: relative; min-height: 96vh; display: flex; align-items: flex-end; background: #16171A; }
.sw-p43-imgact-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 62%; filter: grayscale(40%) contrast(1.1) brightness(0.8); }
.sw-p43-imgact::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(22,23,26,0.78), rgba(22,23,26,0.2) 36%, rgba(22,23,26,0.4) 64%, rgba(22,23,26,0.95)), radial-gradient(1100px 560px at 76% 30%, rgba(247,107,28,0.32), transparent 70%); z-index: 1; }
.sw-p43-imgact-hazard { position: absolute; left: 0; right: 0; height: 14px; background: repeating-linear-gradient(45deg, #F76B1C 0 22px, #16171A 22px 44px); z-index: 2; }
.sw-p43-imgact-hazard--top { top: 0; }
.sw-p43-imgact-hazard--bot { bottom: 0; }
.sw-p43-imgact-inner { position: relative; z-index: 2; width: 100%; padding: 6.5rem 0 5.6rem; }
.sw-p43-imgact-title { font-size: clamp(2.7rem, 7.6vw, 6.2rem); font-weight: 900; line-height: 0.9; letter-spacing: -0.045em; text-transform: uppercase; color: #FFFFFF; margin: 1.4rem 0 1.2rem; }
.sw-p43-imgact-title em { font-style: normal; color: #F76B1C; }
.sw-p43-imgact-sub { max-width: 54ch; font-size: 1rem; line-height: 1.7; color: #D3D6DA; margin: 0 0 2rem; }
.sw-p43-imgact .sw-p43-fp-chips { justify-content: flex-start; }
.sw-p43-imgact .sw-p43-fp-chip { background: rgba(22,23,26,0.6); }
.sw-p43-team-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr); gap: clamp(2.2rem, 5vw, 4.6rem); align-items: center; }
.sw-p43-team-ph { margin: 0; }
.sw-p43-team-ph img { aspect-ratio: 4 / 3; object-position: 52% 46%; }
@keyframes sw-p43-rise { from { opacity: 0; transform: translateY(46px); } to { opacity: 1; transform: translateY(0); } }
@keyframes sw-p43-pop { from { opacity: 0; transform: translateY(60px) scale(0.86); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes sw-p43-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: no-preference) {
.sw-p43-marq-track { animation: sw-p43-marquee 32s linear infinite; }
.sw-p43-marq--rev .sw-p43-marq-track { animation-direction: reverse; }
@supports (animation-timeline: view()) {
.sw-p43-rev { animation: sw-p43-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 42%; }
.sw-p43-rev--2 { animation-range: entry 8% entry 50%; }
.sw-p43-rev--3 { animation-range: entry 16% entry 58%; }
.sw-p43-rev--4 { animation-range: entry 24% entry 66%; }
.sw-p43-act-num { animation: sw-p43-pop linear both; animation-timeline: view(); animation-range: entry 5% entry 50%; }
.sw-p43-chap-body { animation: sw-p43-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 35%; }
}
}
@media (max-width: 960px) { .sw-p43-team-grid { grid-template-columns: 1fr; gap: 2.4rem; } .sw-p43-imgact { min-height: 84vh; } .sw-p43-row { grid-template-columns: 48px 1fr auto; } .sw-p43-row p { grid-column: 2 / 4; } .sw-p43-row-arrow { display: none; } .sw-p43-chap { grid-template-columns: minmax(120px, 0.4fr) 1fr; min-height: 78vh; } .sw-p43-check-grid { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .sw-p43-imgact { min-height: 92svh; } .sw-p43-imgact-inner { padding: 4.8rem 0 4.4rem; } .sw-p43-chap-photo { max-width: 100%; } .sw-p43-ph figcaption { font-size: 0.56rem; padding: 8px 11px 7px; } .sw-p43-section { padding: 4.4rem 0; } .sw-p43-row { grid-template-columns: 1fr; gap: 0.9rem; padding: 1.8rem 0.2rem; } .sw-p43-row p { grid-column: 1; } .sw-p43-row-meta { justify-self: start; } .sw-p43-chap { grid-template-columns: 1fr; min-height: 0; gap: 0.6rem; padding: 2.6rem 0 3rem; } .sw-p43-chap-num { position: static; font-size: clamp(4.6rem, 26vw, 7rem); } .sw-p43-chap-body { padding-top: 0.6rem; } .sw-p43-act { min-height: 100svh; } .sw-p43-contact-card { padding: 2.6rem 1.4rem 2.2rem; } }
