.sw-home h1, .sw-home h2, .sw-home h3 { font-family: var(--sw-serif); }
.sw-home h1, .sw-home h2 { letter-spacing: -.055em; }
.sw-home section { position: relative; }
.sw-home-hero { padding: clamp(4rem, 9vw, 8rem) 0 2rem; }
.sw-home-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.sw-home-hero h1 { margin: 0; font-size: clamp(4.6rem, 10vw, 9.5rem); font-weight: 600; line-height: .8; }
.sw-home-lead { max-width: 720px; margin: 2rem 0; color: var(--sw-muted); font-size: 1.05rem; }
.sw-search-intent { max-width: 620px; padding: 1.25rem 1.4rem; color: #fff; background: var(--sw-plum); }
.sw-search-intent span { display: block; margin-bottom: .35rem; color: var(--sw-mint); font-family: var(--sw-mono); font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.sw-search-intent p { margin: 0; font-size: .88rem; line-height: 1.55; }
.sw-signal-art { position: relative; min-height: 470px; overflow: hidden; background: var(--sw-paper-2); }
.sw-orbit { position: absolute; border-radius: 50%; }
.sw-orbit-one { width: 360px; height: 360px; left: 50%; top: 4%; transform: translateX(-50%); background: var(--sw-lavender); }
.sw-orbit-two { width: 115px; height: 115px; left: 48%; top: 19%; background: var(--sw-coral); }
.sw-node { position: absolute; z-index: 3; width: 18px; height: 18px; border: 3px solid var(--sw-ink); border-radius: 50%; }
.sw-node-one { left: 15%; top: 34%; background: var(--sw-lime); }
.sw-node-two { right: 15%; top: 43%; background: var(--sw-coral); }
.sw-node-three { left: 16%; bottom: 17%; background: var(--sw-mint); }
.sw-node-four { right: 18%; bottom: 12%; background: var(--sw-lavender); }
.sw-signal-line { position: absolute; z-index: 2; height: 2px; background: var(--sw-ink); transform-origin: 0 0; }
.sw-line-one { width: 72%; left: 17%; top: 36%; transform: rotate(10deg); }
.sw-line-two { width: 68%; left: 18%; bottom: 19%; transform: rotate(-17deg); }
.sw-signal-label { position: absolute; z-index: 4; left: 9%; top: 28%; font-family: var(--sw-mono); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.sw-hero-rail { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 2rem; margin-top: 4rem; padding-top: 1.1rem; border-top: 1px solid var(--sw-line); color: var(--sw-muted); font-family: var(--sw-mono); font-size: .65rem; text-transform: uppercase; }
.sw-hero-rail strong { color: var(--sw-ink); margin-right: auto; }
.sw-section-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 3rem; align-items: end; margin-bottom: clamp(2rem, 5vw, 4rem); }
.sw-section-heading h2 { margin: 0; font-size: clamp(3.2rem, 7vw, 6.7rem); line-height: .92; }
.sw-section-heading > p, .sw-section-heading > div > p:last-child { margin: 0; color: var(--sw-muted); }
.sw-section-heading.is-light h2, .sw-section-heading.is-light p { color: #fff; }
.sw-section-heading.is-light > p { color: rgba(255,255,255,.68); }
.sw-current-signals { padding: clamp(3.5rem, 7vw, 6rem) 0; color: #fff; background: var(--sw-ink); }
.sw-current-signals .sw-kicker, .sw-desks .sw-kicker, .sw-faq .sw-kicker { color: var(--sw-mint); }
.sw-current-signals .sw-section-heading h2 { font-size: clamp(2.7rem, 5.5vw, 5rem); }
.sw-signal-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.sw-signal-grid article { display: flex; flex-direction: column; min-height: 210px; padding: 1.3rem; background: #232226; }
.sw-signal-grid span { color: var(--sw-coral); font-family: var(--sw-mono); font-size: .65rem; font-weight: 800; }
.sw-signal-grid h3 { margin: 1rem 0; font-size: 1.35rem; line-height: 1.07; }
.sw-signal-grid a { margin-top: auto; color: var(--sw-mint); font-family: var(--sw-mono); font-size: .64rem; text-decoration: none; text-transform: uppercase; }
.sw-featured-brief { padding: clamp(4rem, 8vw, 8rem) 0; }
.sw-featured-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.sw-featured-art { position: relative; min-height: 490px; overflow: hidden; color: #fff; background: var(--sw-aubergine); }
.sw-featured-art::before { content: ""; position: absolute; width: 250px; height: 250px; right: 3rem; top: 3rem; border-radius: 50%; background: var(--sw-mint); }
.sw-featured-art::after { content: ""; position: absolute; width: 62%; height: 58%; left: 3rem; bottom: 3rem; background: var(--sw-paper-2); }
.sw-featured-art span { position: absolute; z-index: 2; left: 5rem; bottom: 4.4rem; color: var(--sw-plum); font-family: var(--sw-serif); font-size: 6rem; line-height: 1; }
.sw-featured-art i, .sw-featured-art b { position: absolute; z-index: 3; left: 5rem; height: 7px; background: var(--sw-coral); }
.sw-featured-art i { width: 38%; bottom: 16rem; }
.sw-featured-art b { width: 27%; bottom: 12.2rem; background: var(--sw-ink); }
.sw-featured-copy h3 { margin: .5rem 0 1.1rem; font-size: clamp(2.4rem, 5vw, 4.6rem); line-height: .93; letter-spacing: -.04em; }
.sw-featured-copy > p:not(.sw-eyebrow) { color: var(--sw-muted); }
.sw-text-route { display: inline-flex; margin-top: 1rem; padding-bottom: .25rem; border-bottom: 2px solid currentColor; color: var(--sw-plum); font-family: var(--sw-mono); font-size: .72rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.sw-desks { padding: clamp(4rem, 8vw, 8rem) 0; color: #fff; background: var(--sw-plum); }
.sw-desk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.sw-desk-grid > a { display: grid; grid-template-columns: auto 1fr; gap: 1.4rem; min-height: 180px; padding: 1.5rem; color: var(--sw-ink); text-decoration: none; transition: transform .18s ease; }
.sw-desk-grid > a:hover { color: var(--sw-ink); transform: translateY(-3px); }
.sw-desk-grid > a > span { font-size: clamp(2.4rem, 5vw, 4.6rem); line-height: .9; letter-spacing: -.07em; }
.sw-desk-grid h3 { margin: .1rem 0 .25rem; font-size: clamp(1.65rem, 3vw, 2.4rem); line-height: 1; }
.sw-desk-grid p { margin: 0; font-size: .82rem; }
.sw-desk-grid b { display: block; margin-top: 2rem; padding-top: .55rem; border-top: 1px solid currentColor; font-family: var(--sw-mono); font-size: .62rem; text-align: right; text-transform: uppercase; }
.is-mint { background: var(--sw-mint); }.is-coral { background: var(--sw-coral); }.is-lime { background: var(--sw-lime); }.is-lavender { background: var(--sw-lavender); }.is-pink { background: #efbdc8; }.is-blue { background: var(--sw-blue); }.is-peach { background: var(--sw-peach); }.is-green { background: #b4d3aa; }
.sw-desks-note { max-width: 800px; margin: 2rem 0 0 auto; color: rgba(255,255,255,.7); }
.sw-india-context { padding: clamp(4rem, 8vw, 8rem) 0; background: var(--sw-mint); }
.sw-context-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: stretch; }
.sw-context-list { padding: 1.7rem; background: var(--sw-paper-2); }
.sw-context-list article { display: grid; grid-template-columns: 115px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--sw-line); }
.sw-context-list article:last-child { border-bottom: 0; }
.sw-context-list span { color: var(--sw-plum); font-family: var(--sw-mono); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.sw-context-list p { margin: 0; color: var(--sw-muted); font-size: .84rem; }
.sw-india-map { position: relative; min-height: 520px; overflow: hidden; color: #fff; background: var(--sw-aubergine); }
.sw-india-map::before { content: ""; position: absolute; width: 290px; height: 390px; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(4deg); border-radius: 48% 52% 64% 36% / 40% 48% 52% 60%; background: rgba(84,33,94,.8); }
.sw-city { position: absolute; z-index: 3; font-family: var(--sw-mono); font-size: .63rem; text-transform: uppercase; }
.sw-city::before { content: ""; display: inline-block; width: 13px; height: 13px; margin: 0 .4rem -.18rem 0; border: 2px solid #fff; border-radius: 50%; background: var(--sw-lime); }
.city-delhi { left: 20%; top: 24%; }.city-mumbai { left: 12%; top: 56%; }.city-bengaluru { left: 44%; bottom: 16%; }.city-kolkata { right: 12%; top: 44%; }
.route-a, .route-b, .route-c, .route-d { position: absolute; z-index: 2; height: 2px; background: var(--sw-mint); transform-origin: 0 0; }
.route-a { width: 48%; left: 24%; top: 28%; transform: rotate(22deg); }.route-b { width: 46%; left: 16%; top: 58%; transform: rotate(33deg); }.route-c { width: 33%; left: 50%; bottom: 20%; transform: rotate(-60deg); }.route-d { width: 46%; left: 24%; top: 28%; transform: rotate(63deg); background: var(--sw-coral); }
.sw-context-close { max-width: 880px; margin: 2rem 0 0 auto; }
.sw-latest { padding: clamp(4rem, 8vw, 8rem) 0; }
.sw-latest-list { border-top: 1px solid var(--sw-ink); }
.sw-latest-item { display: grid; grid-template-columns: 80px 190px 1fr auto; gap: 1.5rem; align-items: center; padding: 1.25rem .5rem; border-bottom: 1px solid var(--sw-line); }
.sw-latest-index { color: var(--sw-coral); font-size: 3rem; line-height: 1; letter-spacing: -.07em; }
.sw-latest-thumb img { width: 190px; aspect-ratio: 16/9; object-fit: cover; }
.sw-latest-copy .sw-eyebrow { margin: 0 0 .3rem; }
.sw-latest-copy h3 { margin: 0; font-size: clamp(1.45rem, 3vw, 2.2rem); line-height: 1.05; }
.sw-latest-copy h3 a { text-decoration: none; }
.sw-latest-meta { font-family: var(--sw-mono); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.sw-identity { padding: clamp(4rem, 8vw, 8rem) 0; color: #fff; background: var(--sw-aubergine); }
.sw-identity .sw-kicker { color: var(--sw-mint); }
.sw-identity-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.sw-identity h2 { margin: 0 0 2rem; font-size: clamp(3.6rem, 8vw, 7.8rem); line-height: .92; }
.sw-identity-card { padding: clamp(1.5rem, 4vw, 3rem); color: var(--sw-ink); background: var(--sw-paper-2); }
.sw-identity-card h3 { margin: .4rem 0 1rem; font-size: clamp(1.8rem, 4vw, 3rem); }
.sw-identity-card p { color: var(--sw-muted); }
.sw-entity-row { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; margin-top: 1.8rem; padding-top: 1rem; border-top: 1px solid var(--sw-line); color: var(--sw-plum); font-family: var(--sw-mono); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.sw-identity-mark { position: relative; min-height: 520px; }
.sw-identity-mark span { position: absolute; left: 50%; top: 10%; display: grid; place-items: center; width: 190px; height: 190px; transform: translateX(-50%); border: 35px solid var(--sw-coral); border-radius: 50%; font-family: var(--sw-serif); font-size: 6rem; }
.sw-identity-mark i { position: absolute; left: 15%; right: 15%; bottom: 16%; border-top: 3px solid var(--sw-mint); transform: rotate(-42deg); }
.sw-identity-mark b { position: absolute; right: 11%; bottom: 47%; width: 18px; height: 18px; border-radius: 50%; background: var(--sw-lime); }
.sw-authority { padding: clamp(4rem, 8vw, 8rem) 0; background: var(--sw-lavender); }
.sw-authority-grid { display: grid; gap: 1rem; }
.sw-authority-grid article { display: grid; grid-template-columns: auto 1fr 1fr; gap: 1.2rem; align-items: stretch; }
.sw-authority-grid article > span { padding: 1.4rem; color: var(--sw-coral); background: var(--sw-paper-2); font-size: 3rem; line-height: 1; }
.sw-authority-grid article > div, .sw-authority-grid aside { padding: 1.3rem; background: var(--sw-paper-2); }
.sw-authority-grid h3 { margin: 0 0 .4rem; font-size: 1.45rem; }
.sw-authority-grid p { margin: 0; color: var(--sw-muted); font-size: .84rem; }
.sw-authority-grid aside { color: #fff; background: var(--sw-aubergine); }
.sw-authority-grid aside b { display: block; margin-bottom: .6rem; color: var(--sw-mint); font-family: var(--sw-mono); font-size: .65rem; text-transform: uppercase; }
.sw-authority-grid aside p { color: rgba(255,255,255,.74); }
.sw-authority-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 1.5rem; padding: 1.2rem; color: #fff; background: var(--sw-ink); font-family: var(--sw-mono); font-size: .67rem; text-transform: uppercase; }
.sw-authority-stats span { display: flex; align-items: center; gap: .65rem; }
.sw-authority-stats strong { color: var(--sw-lime); font-family: var(--sw-sans); font-size: 1.7rem; }
.sw-authority-note { max-width: 850px; margin: 1.5rem 0 0 auto; }
.sw-method { padding: clamp(4rem, 8vw, 8rem) 0; }
.sw-method-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--sw-line); }
.sw-method-list li { display: grid; grid-template-columns: 55px 150px 1fr; gap: 1rem; align-items: start; padding: 1.3rem .5rem; border-bottom: 1px solid var(--sw-line); }
.sw-method-list span { color: var(--sw-coral); font-family: var(--sw-mono); font-size: .67rem; font-weight: 800; }
.sw-method-list h3 { margin: 0; font-family: var(--sw-sans); font-size: 1.1rem; text-transform: uppercase; }
.sw-method-list p { margin: 0; color: var(--sw-muted); }
.sw-faq { padding: clamp(4rem, 8vw, 8rem) 0; color: #fff; background: var(--sw-ink); }
.sw-faq-list { border-top: 1px solid rgba(255,255,255,.2); }
.sw-faq details { border-bottom: 1px solid rgba(255,255,255,.2); }
.sw-faq summary { display: grid; grid-template-columns: 70px 1fr; gap: 1rem; padding: 1.5rem 0; font-family: var(--sw-serif); font-size: clamp(1.35rem, 3vw, 2.05rem); line-height: 1.06; cursor: pointer; list-style: none; }
.sw-faq summary::-webkit-details-marker { display: none; }
.sw-faq summary span { color: var(--sw-coral); font-family: var(--sw-sans); font-size: 2.5rem; line-height: .8; }
.sw-faq details p { max-width: 760px; margin: 0 0 1.5rem 86px; color: rgba(255,255,255,.7); }
.sw-faq-close { max-width: 820px; margin: 2rem 0 0 auto; color: rgba(255,255,255,.72); }
.sw-home-closing { padding: clamp(4rem, 8vw, 7rem) 0; background: var(--sw-coral); }
.sw-home-closing .sw-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; }
.sw-home-closing h2 { margin: 0; font-size: clamp(3.3rem, 7vw, 7rem); line-height: .9; }
.sw-home-closing p { margin: 0; }
.sw-closing-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; margin-top: 1.5rem; }

@media (max-width: 900px) {
  .sw-home-hero-grid, .sw-featured-grid, .sw-section-heading, .sw-identity-grid, .sw-context-grid, .sw-home-closing .sw-wrap { grid-template-columns: 1fr; }
  .sw-signal-art { min-height: 390px; }
  .sw-signal-grid { grid-template-columns: 1fr 1fr; }
  .sw-latest-item { grid-template-columns: 60px 135px 1fr; }
  .sw-latest-meta { display: none; }
  .sw-identity-mark { min-height: 360px; }
}

@media (max-width: 620px) {
  .sw-home-hero h1 { font-size: clamp(4rem, 22vw, 6.4rem); }
  .sw-signal-grid, .sw-desk-grid { grid-template-columns: 1fr; }
  .sw-featured-art { min-height: 370px; }
  .sw-context-list article { grid-template-columns: 1fr; }
  .sw-india-map { min-height: 420px; }
  .sw-latest-item { grid-template-columns: 48px 1fr; }
  .sw-latest-thumb { display: none; }
  .sw-authority-grid article { grid-template-columns: 60px 1fr; }
  .sw-authority-grid aside { grid-column: 1 / -1; }
  .sw-authority-stats { grid-template-columns: 1fr; gap: .75rem; }
  .sw-method-list li { grid-template-columns: 45px 1fr; }
  .sw-method-list p { grid-column: 2; }
  .sw-faq summary { grid-template-columns: 50px 1fr; }
  .sw-faq details p { margin-left: 0; }
}
