.cv-home {
  --cv-ivory: #f7f5ef;
  --cv-ink: #252334;
  --cv-violet: #7560b7;
  --cv-lime: #ddeb99;
  --cv-terra: #db8664;
  color: var(--cv-ink);
  background: var(--cv-ivory);
  font-family: var(--font-inter), Inter, Arial, sans-serif;
  overflow: hidden;
}

.cv-home * { box-sizing: border-box; }
.cv-home a { text-decoration: none; }
.cv-home svg { display: block; }
.cv-home h1, .cv-home h2, .cv-home h3, .cv-home p { margin: 0; }
.cv-home em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }

.cv-home__hero {
  position: relative;
  background: radial-gradient(circle at 81% 34%, #ebe4fb 0, transparent 35%), var(--cv-ivory);
  border-bottom: 1px solid rgba(37,35,52,.12);
}
.cv-home__hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .23;
  background-image: radial-gradient(#7560b7 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(to right, transparent 50%, black 100%);
}
.cv-home__hero-inner { max-width: 1440px; margin: auto; min-height: 675px; display: grid; grid-template-columns: 52% 48%; align-items: center; padding: 78px 6vw 70px; position: relative; }
.cv-home__hero-copy { position: relative; z-index: 2; padding: 24px 0 40px; }
.cv-home__eyebrow, .cv-home__section-label { display: inline-flex; align-items: center; gap: 11px; font-size: 11px; font-weight: 800; letter-spacing: .17em; line-height: 1.4; }
.cv-home__eyebrow { color: var(--cv-violet); margin-bottom: 28px; }
.cv-home__eyebrow-mark { display: block; width: 10px; height: 10px; border-radius: 50%; background: var(--cv-terra); box-shadow: 0 0 0 5px rgba(219,134,100,.18); }
.cv-home__hero h1 { max-width: 750px; font-size: clamp(58px, 5.35vw, 91px); letter-spacing: -.074em; line-height: .985; font-weight: 760; }
.cv-home__hero h1 em { color: var(--cv-violet); letter-spacing: -.071em; white-space: nowrap; }
.cv-home__hero-lead { max-width: 520px; margin-top: 30px !important; font-size: clamp(18px, 1.4vw, 21px); line-height: 1.58; color: #5a5667; letter-spacing: -.015em; }
.cv-home__hero-lead strong { color: var(--cv-ink); font-weight: 760; }
.cv-home__hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 36px; }
.cv-home__button { display: inline-flex; justify-content: space-between; align-items: center; gap: 28px; min-height: 58px; padding: 0 20px 0 25px; border-radius: 5px; font-size: 14px; font-weight: 750; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.cv-home__button:hover { transform: translateY(-3px); box-shadow: 0 13px 24px rgba(37,35,52,.18); }
.cv-home__button svg { width: 20px; height: 20px; }
.cv-home__button--primary { background: var(--cv-ink); color: white; }
.cv-home__button--primary:hover { background: #403956; }
.cv-home__text-link { color: var(--cv-ink); font-size: 13px; font-weight: 750; border-bottom: 1px solid var(--cv-ink); padding-bottom: 5px; transition: color .2s ease; }
.cv-home__text-link:hover { color: var(--cv-violet); }
.cv-home__text-link span { margin-left: 10px; }
.cv-home__hero-note { margin-top: 54px; display: flex; align-items: center; gap: 13px; font-size: 11px; font-weight: 650; letter-spacing: .04em; color: #787483; }
.cv-home__note-line { width: 33px; height: 1px; background: var(--cv-terra); }
.cv-home__hero-bottom { position: relative; z-index: 2; display: flex; justify-content: space-between; max-width: 1440px; padding: 0 6vw 22px; margin: auto; color: #756f7e; font-size: 10px; font-weight: 800; letter-spacing: .17em; }
.cv-home__hero-bottom > span:last-child { display: flex; gap: 18px; }

.cv-home__hero-art { position: relative; height: 590px; width: 100%; isolation: isolate; }
.cv-home__art-orbit { position: absolute; border: 1px solid rgba(117,96,183,.2); border-radius: 50%; z-index: -2; }
.cv-home__art-orbit--one { width: 530px; height: 530px; left: 3%; top: 4%; }
.cv-home__art-orbit--two { width: 410px; height: 410px; left: 15%; top: 14%; }
.cv-home__art-sun { position: absolute; width: 365px; height: 365px; border-radius: 50%; background: var(--cv-lime); right: -4%; top: 11%; z-index: -1; }
.cv-home__art-sun span { position: absolute; width: 117%; height: 1px; top: 50%; left: -9%; transform: rotate(-25deg); background: rgba(37,35,52,.15); }
.cv-home__art-panel { position: absolute; width: min(410px, 74%); min-height: 446px; top: 17%; left: 16%; border: 1px solid #3a364c; box-shadow: 20px 22px 0 rgba(117,96,183,.17), 0 36px 80px rgba(43,36,60,.13); background: #fffefa; transform: rotate(-5deg); }
.cv-home__art-panel-top { height: 53px; border-bottom: 1px solid #ded9e1; display: flex; align-items: center; justify-content: space-between; padding: 0 19px; }
.cv-home__art-wordmark { font-family: Georgia, serif; font-size: 19px; font-style: italic; font-weight: 700; letter-spacing: -.04em; }
.cv-home__art-wordmark span { color: var(--cv-terra); }
.cv-home__art-dots { display: flex; gap: 5px; }
.cv-home__art-dots i { width: 5px; height: 5px; border-radius: 50%; background: #cfc9d6; }
.cv-home__art-panel-body { padding: 25px 34px 27px; }
.cv-home__art-kicker, .cv-home__example-overline { font-size: 10px; font-weight: 800; letter-spacing: .17em; color: var(--cv-violet); }
.cv-home__art-main-icon { width: 104px; height: 104px; display: grid; place-items: center; border-radius: 50%; background: #f7dfd4; color: #af5338; margin: 20px 0 17px; }
.cv-home__art-panel h2 { font-size: 44px; letter-spacing: -.07em; line-height: 1.04; font-weight: 740; }
.cv-home__art-meta { display: flex; flex-direction: column; gap: 8px; border-top: 1px solid #ddd9df; margin-top: 23px; padding-top: 18px; font-size: 10px; font-weight: 700; letter-spacing: .04em; color: #706b78; }
.cv-home__art-tag { position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; min-width: 150px; padding: 13px 15px; border: 1px solid var(--cv-ink); box-shadow: 7px 7px 0 rgba(37,35,52,.13); font-size: 12px; line-height: 1.3; }
.cv-home__art-tag span strong { font-weight: 800; }
.cv-home__art-tag--top { background: var(--cv-lime); right: 0; top: 9%; transform: rotate(8deg); }
.cv-home__art-tag--side { background: #e4dafa; left: 0; bottom: 13%; transform: rotate(8deg); }
.cv-home__art-sticker { position: absolute; z-index: 4; right: 1%; bottom: 4%; width: 165px; height: 165px; border: 1px solid var(--cv-ink); border-radius: 50%; background: var(--cv-terra); color: var(--cv-ink); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 3px; transform: rotate(-12deg); text-align: center; font-family: Georgia, serif; font-style: italic; font-size: 15px; line-height: 1.05; box-shadow: 7px 7px 0 rgba(37,35,52,.15); }

.cv-home__formats { max-width: 1440px; margin: auto; padding: 106px 6vw 120px; }
.cv-home__section-head { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 50px; }
.cv-home__section-label { color: var(--cv-violet); margin-bottom: 19px; }
.cv-home__section-head h2, .cv-home__how h2, .cv-home__closing h2 { font-size: clamp(43px, 4.3vw, 70px); line-height: 1.06; letter-spacing: -.07em; font-weight: 750; }
.cv-home__section-head h2 em { color: var(--cv-violet); }
.cv-home__section-head > p { max-width: 345px; line-height: 1.65; color: #696573; font-size: 15px; padding-bottom: 5px; }
.cv-home__formats-layout { display: grid; grid-template-columns: minmax(0, 1.52fr) minmax(300px, .78fr); gap: 25px; align-items: stretch; }
.cv-home__format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.cv-home__format-card { position: relative; text-align: left; min-height: 224px; display: flex; flex-direction: column; align-items: flex-start; padding: 17px 19px 19px; color: var(--cv-ink); border: 1px solid rgba(37,35,52,.18); border-radius: 2px; cursor: pointer; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.cv-home__format-card:hover, .cv-home__format-card.is-selected { border-color: var(--cv-ink); transform: translateY(-4px); box-shadow: 6px 7px 0 var(--cv-ink); }
.cv-home__format-card:focus-visible, .cv-home__button:focus-visible, .cv-home__text-link:focus-visible { outline: 3px solid var(--cv-violet); outline-offset: 4px; }
.cv-home__format-card--peach { background: #f4ded3; }
.cv-home__format-card--lime { background: #e7efc0; }
.cv-home__format-card--lavender { background: #e4dafa; }
.cv-home__format-card--blue { background: #dce9ef; }
.cv-home__format-card--rose { background: #eddae1; }
.cv-home__format-card--cream { background: #eee8d7; }
.cv-home__format-top { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.cv-home__format-number { font-family: Georgia, serif; font-style: italic; font-size: 14px; }
.cv-home__format-top svg { width: 18px; height: 18px; transition: transform .2s ease; }
.cv-home__format-card:hover .cv-home__format-top svg { transform: translate(2px, -2px); }
.cv-home__format-icon { display: flex; align-items: center; height: 73px; color: var(--cv-ink); }
.cv-home__format-name { font-size: 20px; font-weight: 760; line-height: 1.16; letter-spacing: -.045em; margin-bottom: 7px; }
.cv-home__format-detail { font-size: 11px; line-height: 1.45; max-width: 175px; color: #544e60; }

.cv-home__example { border: 1px solid var(--cv-ink); background: #fffefa; display: flex; flex-direction: column; box-shadow: 8px 8px 0 rgba(37,35,52,.13); min-width: 0; }
.cv-home__example-header { height: 45px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid var(--cv-ink); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.cv-home__example-header span:first-child { display: flex; align-items: center; gap: 8px; }
.cv-home__example-header i { width: 6px; height: 6px; background: var(--cv-terra); border-radius: 50%; }
.cv-home__example-header span:last-child { color: #9993a0; }
.cv-home__example-visual { display: grid; place-items: center; min-height: 174px; border-bottom: 1px solid var(--cv-ink); }
.cv-home__example-visual--peach { background: #f4ded3; }
.cv-home__example-visual--lime { background: #e7efc0; }
.cv-home__example-visual--lavender { background: #e4dafa; }
.cv-home__example-visual--blue { background: #dce9ef; }
.cv-home__example-visual--rose { background: #eddae1; }
.cv-home__example-visual--cream { background: #eee8d7; }
.cv-home__example-body { padding: 27px 23px 31px; flex: 1; }
.cv-home__example h3 { margin: 8px 0 8px; font-family: Georgia, serif; font-size: clamp(27px, 2.6vw, 38px); letter-spacing: -.055em; line-height: 1.12; }
.cv-home__example-body p { color: #6f6976; font-size: 12px; line-height: 1.5; }
.cv-home__example-pills { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.cv-home__example-pills span { border: 1px solid #c9c5cd; padding: 7px 9px; border-radius: 99px; font-size: 10px; font-weight: 700; }
.cv-home__example-bottom { border-top: 1px solid #d8d3d7; padding: 15px 23px; display: flex; justify-content: space-between; align-items: center; font-size: 10px; font-style: italic; font-family: Georgia, serif; }
.cv-home__example-bottom svg { width: 18px; height: 18px; }

.cv-home__how { color: #fffdfa; background: var(--cv-ink); position: relative; }
.cv-home__how::before { content: ''; position: absolute; width: 420px; height: 420px; right: -140px; top: -140px; border-radius: 50%; border: 1px solid rgba(221,235,153,.28); box-shadow: 0 0 0 75px rgba(221,235,153,.025), 0 0 0 150px rgba(221,235,153,.025); }
.cv-home__how-inner { max-width: 1440px; margin: auto; padding: 105px 6vw 115px; position: relative; }
.cv-home__how .cv-home__section-label { color: var(--cv-lime); }
.cv-home__how h2 { max-width: 820px; }
.cv-home__how h2 em { color: var(--cv-lime); }
.cv-home__how-intro > p { max-width: 520px; margin-top: 24px; color: #d0cbd9; font-size: 15px; line-height: 1.6; }
.cv-home__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 66px; border-top: 1px solid rgba(255,255,255,.28); }
.cv-home__steps article { padding: 22px 32px 12px 0; min-height: 250px; }
.cv-home__steps article + article { border-left: 1px solid rgba(255,255,255,.28); padding-left: 32px; }
.cv-home__step-top { display: flex; justify-content: space-between; align-items: start; color: var(--cv-lime); }
.cv-home__step-top > span:first-child { font-family: Georgia, serif; font-size: 51px; font-style: italic; line-height: 1; letter-spacing: -.08em; }
.cv-home__step-symbol { font-size: 25px; }
.cv-home__steps h3 { font-size: 21px; letter-spacing: -.04em; margin: 34px 0 12px; }
.cv-home__steps p { max-width: 315px; color: #c9c5d0; line-height: 1.55; font-size: 13px; }

.cv-home__closing { text-align: center; position: relative; padding: 112px 24px 120px; background: var(--cv-violet); color: #fffefa; overflow: hidden; }
.cv-home__closing::before, .cv-home__closing::after { content: ''; position: absolute; width: 430px; height: 430px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; top: 50%; transform: translateY(-50%); }
.cv-home__closing::before { left: -250px; }
.cv-home__closing::after { right: -250px; }
.cv-home__closing-stamp { position: absolute; top: 28px; right: calc(50% - 460px); width: 112px; height: 112px; display: grid; place-items: center; border: 1px solid var(--cv-ink); border-radius: 50%; background: var(--cv-lime); color: var(--cv-ink); transform: rotate(12deg); box-shadow: 5px 5px 0 rgba(37,35,52,.2); }
.cv-home__closing .cv-home__section-label { color: var(--cv-lime); }
.cv-home__closing h2 { max-width: 980px; margin: 0 auto; }
.cv-home__closing h2 em { color: var(--cv-lime); }
.cv-home__closing p { margin: 24px auto 30px; max-width: 550px; color: #eee9f7; line-height: 1.5; font-size: 15px; }
.cv-home__button--light { background: var(--cv-lime); color: var(--cv-ink); }
.cv-home__button--light:hover { background: #e8f5a7; }

@media (max-width: 1100px) {
  .cv-home__hero-inner { grid-template-columns: 54% 46%; padding-left: 4vw; padding-right: 4vw; }
  .cv-home__hero h1 { font-size: clamp(55px, 6vw, 75px); }
  .cv-home__hero-art { transform: scale(.88); transform-origin: center; }
  .cv-home__formats { padding-left: 4vw; padding-right: 4vw; }
  .cv-home__formats-layout { grid-template-columns: minmax(0, 1.3fr) minmax(270px, .8fr); }
  .cv-home__format-card { min-height: 214px; padding: 14px; }
}

@media (max-width: 820px) {
  .cv-home__hero-inner { display: flex; flex-direction: column; align-items: stretch; padding: 70px 6vw 10px; }
  .cv-home__hero-copy { padding: 0; }
  .cv-home__hero h1 { max-width: 700px; }
  .cv-home__hero-art { align-self: center; width: min(590px, 100%); height: 520px; transform: scale(.9); transform-origin: top center; margin-top: 5px; }
  .cv-home__hero-note { margin-top: 35px; }
  .cv-home__hero-bottom { padding: 0 6vw 20px; }
  .cv-home__section-head { align-items: start; flex-direction: column; gap: 18px; }
  .cv-home__section-head > p { max-width: 540px; }
  .cv-home__formats-layout { grid-template-columns: 1fr; }
  .cv-home__example { max-width: none; display: grid; grid-template-columns: 35% 65%; }
  .cv-home__example-header, .cv-home__example-bottom { grid-column: 1 / -1; }
  .cv-home__example-visual { border-bottom: 0; border-right: 1px solid var(--cv-ink); min-height: 230px; }
}

@media (max-width: 600px) {
  .cv-home__hero-inner { padding-top: 56px; }
  .cv-home__eyebrow { font-size: 9px; margin-bottom: 23px; }
  .cv-home__hero h1 { font-size: clamp(48px, 12vw, 65px); }
  .cv-home__hero h1 em { white-space: normal; }
  .cv-home__hero-lead { margin-top: 22px !important; font-size: 17px; }
  .cv-home__hero-actions { gap: 17px; margin-top: 27px; }
  .cv-home__button { min-height: 53px; }
  .cv-home__hero-note { font-size: 10px; }
  .cv-home__hero-art { width: 420px; max-width: 120%; height: 440px; margin-left: -9%; transform: scale(.75); transform-origin: top center; }
  .cv-home__art-panel { width: 380px; left: 10%; }
  .cv-home__art-tag--top { right: -7%; }
  .cv-home__art-tag--side { left: -2%; bottom: -3%; min-width: 122px; padding: 8px 10px; font-size: 10px; }
  .cv-home__art-tag--side svg { width: 28px; height: 28px; }
  .cv-home__art-sticker { right: -3%; bottom: -6%; width: 82px; height: 82px; font-size: 9px; box-shadow: 4px 4px 0 rgba(37,35,52,.15); }
  .cv-home__art-sticker svg { width: 23px; height: 23px; }
  .cv-home__hero-bottom { font-size: 8px; }
  .cv-home__hero-bottom > span:last-child { display: none; }
  .cv-home__formats { padding: 74px 5vw 85px; }
  .cv-home__section-head { margin-bottom: 34px; }
  .cv-home__section-head h2, .cv-home__how h2, .cv-home__closing h2 { font-size: clamp(43px, 9vw, 55px); }
  .cv-home__format-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .cv-home__format-card { min-height: 205px; }
  .cv-home__format-name { font-size: 18px; }
  .cv-home__example { display: flex; }
  .cv-home__example-visual { border-right: 0; border-bottom: 1px solid var(--cv-ink); min-height: 185px; }
  .cv-home__how-inner { padding: 80px 5vw 75px; }
  .cv-home__steps { grid-template-columns: 1fr; margin-top: 48px; }
  .cv-home__steps article { padding: 22px 0 30px; min-height: 0; }
  .cv-home__steps article + article { border-left: 0; border-top: 1px solid rgba(255,255,255,.28); padding-left: 0; }
  .cv-home__steps h3 { margin-top: 14px; }
  .cv-home__closing { padding: 85px 5vw 90px; }
  .cv-home__closing-stamp { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .cv-home__button, .cv-home__format-card, .cv-home__format-top svg { transition: none; }
}
