@charset "utf-8";

.page-book-profession {
  --profession-ink: #181818;
  --profession-soft: #f5f5f7;
  --profession-line: rgba(29,29,31,.12);
  --profession-section: clamp(4.75rem,7vw,6.75rem);
  --profession-ease-out: cubic-bezier(.22,1,.36,1);
  color: var(--profession-ink);
  background: var(--color-bg-primary);
}
.page-book-profession main { overflow: clip; }
.page-book-profession :where(h1,h2,h3) { overflow-wrap: normal; word-break: normal; text-wrap: balance; }
.js .page-book-profession [data-reveal='surface'] { opacity: 0; transform: translateY(14px); transition: opacity 440ms var(--profession-ease-out),transform 440ms var(--profession-ease-out); }
.js .page-book-profession [data-reveal='surface'].is-visible { opacity: 1; transform: none; }

/* Hero */
.profession-hero { padding: clamp(1rem,2.5vw,2rem) 0 var(--profession-section); }
.profession-hero__surface { display: grid; min-height: clamp(620px,51vw,700px); grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); gap: clamp(2.5rem,5vw,5rem); padding: clamp(2rem,4vw,4rem); overflow: hidden; border-radius: 24px; background: var(--profession-soft); }
.profession-hero__copy { display: flex; min-width: 0; flex-direction: column; }
.profession-hero .breadcrumbs { flex-wrap: wrap; row-gap: .3rem; }
.profession-hero__content { display: flex; margin-block: auto; padding-block: 2rem; flex-direction: column; align-items: flex-start; }
.profession-hero__content .eyebrow { margin-bottom: 1rem; }
.profession-hero h1 { max-width: 760px; margin: 0; font-size: clamp(3.25rem,5.7vw,4.9rem); font-weight: 500; line-height: .97; letter-spacing: -.058em; }
.profession-hero__lead { max-width: 680px; margin: 1.45rem 0 0; color: var(--color-text-muted); font-size: clamp(1.03rem,1.3vw,1.17rem); line-height: 1.6; text-wrap: pretty; }
.profession-hero__actions { display: flex; margin-top: 1.75rem; align-items: center; gap: 1.5rem; }
.profession-hero__actions .link-arrow { display: inline-flex; min-height: 44px; align-items: center; gap: .5rem; }
.profession-hero__actions .link-arrow span { transition: transform 180ms var(--profession-ease-out); }
.profession-hero__note { max-width: 560px; margin-top: 1rem; color: var(--color-text-muted); font-size: .84rem; line-height: 1.5; }
.profession-book-visual { position: relative; display: flex; min-width: 0; min-height: 100%; padding: clamp(2rem,3.5vw,3.4rem); overflow: hidden; flex-direction: column; justify-content: space-between; border-radius: 18px; color: #fff; background: #191919; box-shadow: 0 18px 48px rgba(29,29,31,.11); }
.profession-book-visual::before { position: absolute; top: 0; right: clamp(2rem,3.5vw,3.5rem); width: 3px; height: 25%; background: var(--brand-red); content: ''; }
.profession-book-visual__meta,.profession-book-visual__footer { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; color: rgba(255,255,255,.62); font-size: .76rem; line-height: 1.45; letter-spacing: .07em; text-transform: uppercase; }
.profession-book-visual > p { position: relative; z-index: 1; margin: 2rem 0; font-size: clamp(2.6rem,4.5vw,4.6rem); font-weight: 500; line-height: .92; letter-spacing: -.06em; }
.profession-book-visual__footer { align-items: flex-end; }
.profession-book-visual__footer i { height: 1px; flex: 1; margin-bottom: .4rem; background: rgba(255,255,255,.2); }
.profession-book-visual__footer strong { color: var(--brand-red); font-size: .8rem; font-weight: 600; }

/* Introduction */
.profession-intro,.profession-topics,.profession-quotes,.profession-context { padding-bottom: var(--profession-section); }
.profession-intro { scroll-margin-top: calc(var(--header-h) + 1rem); }
.profession-intro__grid { display: grid; grid-template-columns: minmax(300px,.9fr) minmax(0,1.1fr); gap: clamp(4rem,8vw,8rem); align-items: start; }
.profession-intro h2,.profession-section-heading h2 { margin: 1rem 0 0; font-size: clamp(2.25rem,3.8vw,3.65rem); font-weight: 500; line-height: 1.04; letter-spacing: -.045em; }
.profession-intro__text { max-width: 680px; padding-top: 2rem; }
.profession-intro__text p { color: var(--color-text-muted); font-size: clamp(1.04rem,1.3vw,1.17rem); line-height: 1.62; }
.profession-intro__text p + p { margin-top: 1.15rem; }

/* Contents */
.profession-topics { padding-top: var(--profession-section); scroll-margin-top: calc(var(--header-h) + 1rem); background: var(--profession-soft); }
.profession-section-heading { display: grid; grid-template-columns: minmax(150px,.45fr) minmax(0,.9fr) minmax(260px,.65fr); gap: 2rem; align-items: end; }
.profession-section-heading h2 { margin-top: 0; }
.page-book-profession .profession-topics .profession-section-heading h2 { font-size: clamp(2.2rem,3.4vw,3.25rem); }
.profession-section-heading > p:last-child { max-width: 520px; margin: 0; color: var(--color-text-muted); line-height: 1.58; }
.profession-topics__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: clamp(3rem,5vw,4.25rem); border-top: 1px solid var(--profession-line); }
.profession-topics__grid li { display: grid; min-height: 150px; grid-template-columns: 2.4rem minmax(0,1fr); gap: .8rem; padding: 1.75rem clamp(1rem,2.5vw,2.25rem) 1.75rem 0; border-bottom: 1px solid var(--profession-line); }
.profession-topics__grid li:not(:nth-child(3n+1)) { padding-left: clamp(1rem,2.5vw,2.25rem); border-left: 1px solid var(--profession-line); }
.profession-topics__grid li > span { padding-top: .15rem; color: var(--brand-red); font-size: .76rem; font-weight: 600; letter-spacing: .06em; }
.profession-topics__grid h3 { max-width: 360px; font-size: clamp(1.2rem,1.65vw,1.5rem); font-weight: 500; line-height: 1.22; letter-spacing: -.025em; }

/* Quotes */
.profession-quotes { padding-top: var(--profession-section); }
.profession-quotes .profession-section-heading { grid-template-columns: minmax(150px,.45fr) minmax(0,1.55fr); }
.page-book-profession .profession-quotes .profession-section-heading h2 { font-size: clamp(2.1rem,3vw,3rem); }
.profession-quotes__track { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: clamp(3rem,5vw,4.25rem); border-top: 1px solid var(--profession-line); }
.profession-quote { display: flex; min-height: 300px; padding: clamp(1.8rem,3vw,2.75rem) clamp(1.25rem,3vw,2.75rem); flex-direction: column; justify-content: space-between; border-bottom: 1px solid var(--profession-line); }
.profession-quote + .profession-quote { border-left: 1px solid var(--profession-line); }
.profession-quote blockquote { font-size: clamp(1.45rem,2vw,2rem); line-height: 1.18; letter-spacing: -.035em; text-wrap: balance; }
.profession-quote figcaption { display: grid; gap: .3rem; padding-top: 2rem; color: var(--color-text-primary); font-size: .84rem; line-height: 1.45; }
.profession-quote figcaption span { color: var(--color-text-muted); }

/* Career context */
.profession-context__surface { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(330px,.9fr); gap: clamp(3rem,7vw,7rem); padding: clamp(2.75rem,5vw,5rem); align-items: end; border-radius: 20px; color: #fff; background: var(--profession-ink); }
.profession-context .eyebrow { color: rgba(255,255,255,.78); }
.page-book-profession .profession-context h2 { max-width: 720px; margin: 1rem 0 0; font-size: clamp(2.15rem,3.4vw,3.4rem); font-weight: 500; line-height: 1.04; letter-spacing: -.045em; }
.profession-context__surface > div:last-child > p { max-width: 560px; color: rgba(255,255,255,.7); font-size: clamp(1.01rem,1.25vw,1.12rem); line-height: 1.62; }
.profession-context .link-arrow { display: inline-flex; min-height: 44px; margin-top: 1.6rem; align-items: center; color: #fff; }
.profession-context .link-arrow span { color: #fff; transition: transform 180ms var(--profession-ease-out); }

@media (hover:hover) and (pointer:fine) {
  .profession-hero__actions .link-arrow:hover span { transform: translateY(3px); }
  .profession-context .link-arrow:hover span { transform: translateX(4px); }
}
.profession-hero__actions .btn:active { transform: scale(.98); }

@media (max-width: 900px) {
  .profession-hero__surface,.profession-intro__grid,.profession-section-heading,.profession-context__surface { grid-template-columns: 1fr; }
  .profession-hero__surface { min-height: 0; }
  .profession-hero__content { margin-top: 3rem; padding-block: 0; }
  .profession-book-visual { min-height: 440px; max-width: 570px; width: 100%; margin: .5rem auto 0; }
  .profession-intro__grid { gap: 2.25rem; }
  .profession-intro__text { padding-top: 0; }
  .profession-section-heading,.profession-quotes .profession-section-heading { gap: 1rem; }
  .profession-section-heading > p:last-child { margin-top: .35rem; }
  .profession-topics__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .profession-topics__grid li:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; }
  .profession-topics__grid li:nth-child(even) { padding-left: 1.5rem; border-left: 1px solid var(--profession-line); }
  .profession-quotes__track { grid-template-columns: 1fr; }
  .profession-quote { min-height: 0; padding-block: 2rem; }
  .profession-quote + .profession-quote { border-left: 0; }
  .profession-context__surface { gap: 2rem; align-items: start; }
}

@media (max-width: 680px) {
  .page-book-profession { --profession-section: 4rem; }
  .profession-hero { padding-top: .6rem; }
  .profession-hero__surface { padding: 1.35rem; border-radius: 20px; }
  .profession-hero__content { margin-top: 2.35rem; }
  .profession-hero h1 { font-size: clamp(2.65rem,12vw,3.2rem); line-height: .98; }
  .profession-hero__lead { margin-top: 1.25rem; }
  .profession-hero__actions { align-items: stretch; flex-direction: column; gap: .55rem; margin-top: 1.5rem; }
  .profession-hero__actions .btn { width: 100%; }
  .profession-hero__actions .link-arrow { justify-content: center; }
  .profession-hero__note { margin-top: .8rem; }
  .profession-book-visual { min-height: 330px; padding: 1.5rem; border-radius: 14px; box-shadow: none; }
  .profession-book-visual > p { font-size: clamp(2.4rem,12vw,3.3rem); }
  .profession-intro h2,.profession-section-heading h2 { font-size: clamp(2.05rem,9vw,2.65rem); }
  .profession-topics__grid { grid-template-columns: 1fr; margin-top: 2.5rem; }
  .profession-topics__grid li,.profession-topics__grid li:nth-child(even) { min-height: 0; padding: 1.35rem 0; border-left: 0; }
  .profession-topics__grid h3 { font-size: 1.22rem; }
  .profession-quotes__track { grid-template-columns: 1fr; margin-top: 2.5rem; }
  .profession-quote { min-height: 0; padding: 1.75rem 0; }
  .profession-quote + .profession-quote { border-left: 0; }
  .profession-quote blockquote { font-size: clamp(1.45rem,6.8vw,1.8rem); }
  .profession-context__surface { padding: 1.75rem; border-radius: 16px; }
  .profession-context h2 { font-size: clamp(2.05rem,9.5vw,2.75rem); }
}

@media (max-width: 390px) {
  .profession-hero__surface { padding: 1.2rem; }
  .profession-hero h1 { font-size: clamp(2.5rem,11.5vw,2.8rem); }
  .profession-book-visual { min-height: 310px; padding: 1.35rem; }
  .profession-book-visual__meta,.profession-book-visual__footer { font-size: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
  .js .page-book-profession [data-reveal='surface'],.profession-hero__actions .link-arrow span,.profession-context .link-arrow span { transition: none; transform: none; }
}
/* Audited book layout: open contents, editorial quotes, a single content gutter. */
.page-book-profession { --profession-section:clamp(64px,7vw,96px); }
.page-book-profession main [data-reveal] { opacity:1!important; transform:none!important; clip-path:none!important; animation:none!important; transition:none!important; }
.profession-hero { padding-top:calc(var(--header-h) + 24px); }
.profession-hero__surface { padding:0; overflow:visible; min-height:600px; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); gap:64px; background:transparent; }
.profession-hero__content { padding:32px 0; }
.page-book-profession .profession-hero h1 { font-size:clamp(42px,5vw,72px); line-height:1.05; letter-spacing:-.045em; }
.profession-hero__actions { flex-wrap:wrap; gap:16px 24px; }
.profession-book-visual { width:100%; max-width:380px; min-height:0; aspect-ratio:3/4; padding:32px; align-self:center; justify-self:end; margin:0; box-shadow:none; }
.profession-book-visual::before,.profession-book-visual__footer i { display:none; }
.profession-book-visual>p { font-size:clamp(32px,3.3vw,48px); line-height:1.04; letter-spacing:-.04em; }
.profession-book-visual__meta,.profession-book-visual__footer { color:#c8c8cc; gap:12px; letter-spacing:.02em; }
.profession-book-visual__footer strong { color:#ff8580; }
.profession-intro__grid { grid-template-columns:1fr 1fr; gap:64px; }
.profession-intro__text { padding:0; }
.page-book-profession .profession-intro h2 { font-size:clamp(32px,3.2vw,46px); line-height:1.14; }
.profession-section-heading,.profession-quotes .profession-section-heading { grid-template-columns:1fr 1fr; align-items:start; gap:16px 64px; }
.profession-section-heading>.eyebrow { grid-column:1; }
.profession-section-heading h2 { grid-column:1; }
.profession-section-heading>p:last-child:not(.eyebrow) { grid-column:2; grid-row:1/3; }
.profession-topics__grid { grid-template-columns:1fr 1fr; gap:24px 64px; padding:0; margin-top:40px; border:0; list-style:none; }
.page-book-profession .profession-topics__grid li { min-height:0; padding:0; border:0; grid-template-columns:28px minmax(0,1fr); gap:16px; align-items:baseline; }
body.page-book-profession main .profession-topics__grid h3 { max-width:none; margin:0; font-size:24px; line-height:1.3; letter-spacing:-.025em; }
.profession-quotes__track { grid-template-columns:1fr 1fr; gap:48px 64px; border:0; margin-top:40px; }
.profession-quote { min-height:0; padding:0; margin:0; border:0; justify-content:flex-start; }
.profession-quote+.profession-quote { border:0; }
.profession-quote:first-child { grid-column:1/-1; max-width:960px; }
.profession-quote:first-child blockquote { font-size:clamp(32px,3.6vw,50px); line-height:1.15; }
.profession-quote blockquote { margin:0; font-size:26px; line-height:1.3; text-wrap:pretty; }
.profession-quote figcaption { padding-top:24px; }
.profession-context { padding-bottom:0; }
.profession-context__surface { padding:48px; gap:48px; align-items:start; }
.profession-context .link-arrow { gap:12px; }
.profession-context .link-arrow span { flex-shrink:0; }
.page-book-profession .site-cta { padding:var(--profession-section) 0; }
.page-book-profession .site-cta>.container { width:100%; max-width:var(--container); padding-inline:var(--gutter); }
.page-book-profession .site-cta__inner { padding:0; gap:32px 64px; grid-template-rows:min-content 1fr; background:transparent; }
.page-book-profession .site-cta__copy { align-self:start; }
.page-book-profession .site-cta__form-card { padding:0; border:0; background:transparent; box-shadow:none; }
.page-book-profession main a:focus-visible { outline:3px solid var(--brand-red); outline-offset:5px; }
@media(max-width:980px) {
  .profession-hero__surface { grid-template-columns:minmax(0,1fr) 260px; gap:32px; min-height:0; }
  .profession-book-visual { padding:24px; }
  .profession-book-visual>p { font-size:32px; }
  .profession-intro__grid { grid-template-columns:1fr; gap:24px; }
  .profession-section-heading,.profession-quotes .profession-section-heading { grid-template-columns:1fr; gap:16px; }
  .profession-section-heading>p:last-child:not(.eyebrow) { grid-column:1; grid-row:auto; margin:0; }
  .profession-topics__grid { gap:24px 32px; }
  .profession-context__surface { grid-template-columns:1fr; padding:32px; gap:24px; }
}
@media(max-width:680px) {
  .profession-hero { padding-top:calc(var(--header-h) + 20px); }
  .profession-hero__surface { grid-template-columns:minmax(0,1fr); gap:24px; padding:0; }
  .profession-hero__copy,.profession-hero__content { display:contents; }
  .profession-hero__copy nav { grid-row:1; }
  .profession-hero__content .eyebrow { grid-row:2; margin:0; }
  .profession-hero h1 { grid-row:3; }
  .page-book-profession .profession-hero h1 { font-size:clamp(34px,10vw,46px); }
  .profession-book-visual { grid-row:4; width:200px; aspect-ratio:3/4; min-height:0; padding:20px; justify-self:center; margin:0; }
  .profession-book-visual>p { font-size:27px; margin:24px 0; }
  .profession-book-visual__meta,.profession-book-visual__footer { font-size:10px; }
  .profession-hero__lead,.profession-hero__actions,.profession-hero__note { margin:0; }
  .profession-hero__actions { align-items:stretch; gap:12px; }
  .profession-hero__actions .link-arrow { justify-content:flex-start; }
  .profession-topics__grid { grid-template-columns:1fr; gap:24px; margin-top:32px; }
  body.page-book-profession main .profession-topics__grid h3 { font-size:22px; }
  .profession-quotes__track { grid-template-columns:1fr; gap:32px; margin-top:32px; }
  .profession-quote blockquote { font-size:24px; }
  .profession-quote figcaption { padding-top:16px; }
  .profession-context__surface { padding:24px; }
  .page-book-profession .profession-context h2 { font-size:32px; line-height:1.15; }
  .page-book-profession .site-cta__inner { grid-template-rows:auto; gap:32px; }
  .page-book-profession .contact-actions { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  .page-book-profession main a,.page-book-profession main a span { transition:none!important; transform:none!important; }
}
