.transition-hub { background: var(--paper); }
.transition-hero { padding: 154px 0 85px; overflow: hidden; background: radial-gradient(circle at 70% 32%, rgba(255,167,38,.2), transparent 28%), linear-gradient(145deg, #fffaf1, #f2e2d2); }
.transition-hero-grid { display: grid; grid-template-columns: minmax(0,.93fr) minmax(430px,1.07fr); align-items: center; gap: clamp(50px,7vw,105px); }
.transition-hero h1 { max-width: 760px; margin-bottom: 28px; font-size: clamp(3.8rem,6.7vw,6.6rem); letter-spacing: -.064em; line-height: .93; }
.transition-hero h1 em { color: var(--sun-deep); font-weight: 400; }
.transition-hero-grid > div > p:not(.eyebrow) { max-width: 660px; color: var(--earth-soft); font-family: var(--serif); font-size: clamp(1.04rem,1.6vw,1.29rem); line-height: 1.67; }
.transition-actions { display: flex; flex-wrap: wrap; gap: 11px; margin: 31px 0 26px; }
.transition-hero ul { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 0; list-style: none; }
.transition-hero li { display: flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 30px; padding: 7px 11px; color: var(--earth-soft); background: rgba(255,255,255,.67); font-size: .66rem; font-weight: 800; }
.transition-hero li span { color: var(--sun-deep); }
.transition-hero figure { position: relative; margin: 0; }
.transition-hero figure::before { content: ""; position: absolute; inset: -20px 28px 22px -20px; border: 1px solid rgba(93,64,55,.18); border-radius: 8px; transform: rotate(-1.5deg); }
.transition-hero figure img { position: relative; display: block; width: 100%; aspect-ratio: 1.16; border-radius: 8px; object-fit: cover; box-shadow: 0 30px 85px rgba(70,43,32,.18); }
.transition-hero figcaption { position: absolute; right: -20px; bottom: 28px; display: flex; flex-direction: column; min-width: 235px; border-radius: 5px; padding: 19px 24px; color: white; background: var(--earth); box-shadow: 0 17px 40px rgba(60,36,28,.24); }
.transition-hero figcaption strong { font-family: var(--serif); font-size: 1.05rem; }
.transition-hero figcaption span { color: rgba(255,255,255,.65); font-size: .62rem; }

.transition-nav { position: sticky; z-index: 20; top: 0; border-top: 1px solid rgba(93,64,55,.1); border-bottom: 1px solid var(--line); background: rgba(255,250,242,.94); backdrop-filter: blur(14px); }
.transition-nav .container { display: flex; justify-content: center; gap: clamp(18px,3.5vw,43px); overflow-x: auto; scrollbar-width: none; }
.transition-nav .container::-webkit-scrollbar { display: none; }
.transition-nav a { flex: 0 0 auto; padding: 17px 0 15px; color: var(--earth-soft); font-size: .65rem; font-weight: 800; letter-spacing: .05em; }
.transition-nav a:hover { color: var(--earth); }

.transition-intro { padding: 115px 0 108px; background: var(--white); }
.transition-reading { max-width: 875px; }
.transition-reading h2 { margin-bottom: 37px; font-size: clamp(2.9rem,5vw,5rem); }
.transition-reading > p:not(.eyebrow) { color: #624f47; font-family: var(--serif); font-size: clamp(1rem,1.5vw,1.18rem); line-height: 1.82; }
.transition-reading aside { display: grid; grid-template-columns: 52px 1fr; gap: 21px; margin-top: 42px; padding: 27px 29px; border: 1px solid rgba(255,167,38,.35); border-radius: 8px; background: var(--sun-soft); }
.transition-reading aside > span { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 50%; color: white; background: var(--sun-deep); font-family: var(--serif); }
.transition-reading aside p { margin: 0; color: var(--earth); font-family: var(--serif); font-size: 1.02rem; }

.transition-diagnostic { padding: 110px 0 120px; border-top: 1px solid var(--line); }
.transition-diagnostic .split-heading > p { margin: 0; color: var(--earth-soft); }
.transition-diagnostic-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.transition-diagnostic-grid article { position: relative; border: 1px solid var(--line); border-radius: 9px; padding: clamp(27px,4vw,43px); background: var(--white); }
.transition-diagnostic-grid article.care { color: white; background: linear-gradient(145deg,#5d4037,#3d2923); }
.transition-diagnostic-grid article > span { display: inline-grid; width: 39px; height: 39px; place-items: center; margin-bottom: 35px; border-radius: 50%; color: var(--earth); background: var(--sun-soft); font-family: var(--serif); }
.transition-diagnostic-grid article.care > span { color: var(--earth); background: var(--sun); }
.transition-diagnostic-grid small { display: block; color: var(--sun-deep); font-size: .54rem; font-weight: 900; letter-spacing: .12em; }
.transition-diagnostic-grid article.care small { color: var(--sun); }
.transition-diagnostic-grid h3 { margin: 10px 0 17px; font-size: clamp(1.8rem,2.8vw,2.5rem); }
.transition-diagnostic-grid article.care h3 { color: white; }
.transition-diagnostic-grid p { color: var(--earth-soft); font-size: .78rem; line-height: 1.75; }
.transition-diagnostic-grid article.care p { color: rgba(255,255,255,.63); }
.transition-diagnostic-grid strong { display: block; margin: 25px 0 7px; color: var(--sun-deep); font-size: .55rem; letter-spacing: .11em; text-transform: uppercase; }
.transition-diagnostic-grid article.care strong { color: var(--sun); }
.transition-diagnostic-grid p.question { margin: 0; color: var(--earth); font-family: var(--serif); font-size: .96rem; }
.transition-diagnostic-grid article.care p.question { color: white; }

.transition-method { padding: 120px 0; color: rgba(255,255,255,.75); background: #30221e; }
.transition-method-grid { display: grid; grid-template-columns: minmax(275px,.65fr) minmax(0,1.35fr); gap: clamp(65px,10vw,150px); }
.transition-method-sticky { position: sticky; top: 95px; align-self: start; }
.transition-method-sticky h2 { margin-bottom: 27px; color: white; font-size: clamp(3.1rem,5.35vw,5.4rem); letter-spacing: -.055em; }
.transition-method-sticky > p:last-child { max-width: 335px; color: rgba(255,255,255,.56); }
.transition-method-steps article { display: grid; grid-template-columns: 54px 1fr; gap: 25px; padding: 7px 0 51px; border-bottom: 1px solid rgba(255,255,255,.14); }
.transition-method-steps article + article { padding-top: 48px; }
.transition-method-steps article > span { display: grid; width: 49px; height: 49px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: var(--sun); font-family: var(--serif); }
.transition-method-steps small { color: var(--sun); font-size: .55rem; font-weight: 900; letter-spacing: .13em; }
.transition-method-steps h3 { margin: 8px 0 20px; color: white; font-size: clamp(2rem,3vw,2.8rem); }
.transition-method-steps p { color: rgba(255,255,255,.62); font-size: .8rem; line-height: 1.8; }

.transition-library { padding: 120px 0; background: var(--white); }
.transition-library .split-heading > p { margin: 0; color: var(--earth-soft); }
.transition-paths { border-top: 1px solid var(--line); }
.transition-paths > a { display: grid; grid-template-columns: 58px minmax(0,1fr) 30px; align-items: center; gap: 25px; padding: 29px 10px; border-bottom: 1px solid var(--line); color: var(--earth); transition: padding .25s ease,background .25s ease; }
.transition-paths > a:hover { padding-inline: 24px; background: var(--paper); }
.transition-paths > a > span { color: var(--sun-deep); font-family: var(--serif); font-size: 1rem; }
.transition-paths small { color: var(--sun-deep); font-size: .53rem; font-weight: 900; letter-spacing: .11em; }
.transition-paths h3 { margin: 8px 0 6px; font-size: clamp(1.65rem,3vw,2.45rem); }
.transition-paths p { max-width: 780px; margin: 0; color: var(--earth-soft); font-size: .72rem; }
.transition-paths b { color: var(--sun-deep); font-size: 1.25rem; }

.transition-actions-section { padding: 115px 0; color: rgba(255,255,255,.72); background: linear-gradient(135deg,#5d4037,#3f2a25); }
.transition-actions-section > .container { display: grid; grid-template-columns: minmax(260px,.62fr) minmax(0,1.38fr); align-items: center; gap: clamp(55px,8vw,105px); }
.transition-actions-section h2 { color: white; font-size: clamp(2.9rem,4.8vw,4.8rem); }
.transition-actions-section > .container > div:first-child > p:last-child { color: rgba(255,255,255,.56); }
.transition-tool-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.transition-tool-grid a { display: flex; align-items: flex-start; flex-direction: column; min-height: 355px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; padding: 27px; color: white; background: rgba(255,255,255,.07); transition: transform .25s ease,background .25s ease; }
.transition-tool-grid a:hover { transform: translateY(-5px); background: rgba(255,255,255,.11); }
.transition-tool-grid a > span { display: grid; width: 44px; height: 44px; place-items: center; margin-bottom: auto; border-radius: 50%; color: var(--earth); background: var(--sun); font-family: var(--serif); }
.transition-tool-grid small { margin-top: 30px; color: var(--sun); font-size: .52rem; font-weight: 900; letter-spacing: .11em; }
.transition-tool-grid h3 { margin: 9px 0 13px; color: white; font-size: 1.8rem; }
.transition-tool-grid p { color: rgba(255,255,255,.57); font-size: .69rem; }
.transition-tool-grid strong { margin-top: 13px; font-size: .64rem; }

.transition-sources { padding: 110px 0; background: var(--paper); }
.transition-sources h2 { max-width: 770px; font-size: clamp(2.8rem,4.7vw,4.8rem); }
.transition-sources > .container > p:not(.eyebrow) { max-width: 730px; color: var(--earth-soft); font-family: var(--serif); font-size: 1.02rem; }
.transition-sources > .container > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin-top: 38px; }
.transition-sources a { display: flex; min-height: 190px; flex-direction: column; border: 1px solid var(--line); border-radius: 8px; padding: 27px; color: var(--earth); background: white; }
.transition-sources small { color: var(--sun-deep); font-size: .53rem; font-weight: 900; letter-spacing: .11em; }
.transition-sources strong { margin: 18px 0 auto; font-family: var(--serif); font-size: 1.28rem; line-height: 1.22; }
.transition-sources span { margin-top: 25px; color: var(--earth-soft); font-size: .63rem; }

.transition-faq { padding: 120px 0; background: var(--white); }
.transition-faq-grid { display: grid; grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr); gap: clamp(60px,9vw,130px); }
.transition-faq h2 { font-size: clamp(2.8rem,4.6vw,4.7rem); }
.transition-faq-grid > div:first-child > p:last-child { color: var(--earth-soft); }
.transition-faq details { border-top: 1px solid var(--line); }
.transition-faq details:last-child { border-bottom: 1px solid var(--line); }
.transition-faq summary { display: grid; grid-template-columns: 1fr 25px; gap: 20px; padding: 24px 0; color: var(--earth); cursor: pointer; font-family: var(--serif); font-size: 1.08rem; line-height: 1.35; }
.transition-faq summary::marker { content: ""; }
.transition-faq summary span { color: var(--sun-deep); font-family: var(--sans); }
.transition-faq details p { margin: 0 35px 25px 0; color: var(--earth-soft); font-size: .76rem; line-height: 1.75; }

@media (max-width: 1050px) {
  .transition-hero-grid,.transition-method-grid,.transition-actions-section > .container,.transition-faq-grid { grid-template-columns: 1fr; }
  .transition-hero-grid { gap: 68px; }
  .transition-hero figure { width: min(680px,93%); margin-inline: auto; }
  .transition-method-sticky { position: static; }
  .transition-tool-grid { width: 100%; }
}

@media (max-width: 760px) {
  .transition-diagnostic-grid,.transition-tool-grid,.transition-sources > .container > div { grid-template-columns: 1fr; }
  .transition-tool-grid a { min-height: 290px; }
}

@media (max-width: 650px) {
  .transition-hero { padding: 124px 0 70px; }
  .transition-hero h1 { font-size: clamp(3.15rem,15vw,4.65rem); }
  .transition-actions { align-items: stretch; flex-direction: column; }
  .transition-actions .button { width: 100%; }
  .transition-hero ul { align-items: stretch; flex-direction: column; }
  .transition-hero figcaption { right: -8px; bottom: 16px; min-width: 205px; }
  .transition-nav .container { justify-content: flex-start; }
  .transition-intro,.transition-diagnostic,.transition-method,.transition-library,.transition-actions-section,.transition-sources,.transition-faq { padding: 78px 0; }
  .transition-reading aside,.transition-method-steps article { grid-template-columns: 1fr; }
  .transition-paths > a { grid-template-columns: 38px minmax(0,1fr) 18px; gap: 12px; padding-inline: 0; }
  .transition-paths > a:hover { padding-inline: 8px; }
}
