/* Homepage M3: presentation only. Existing content, controls and assets remain authoritative. */
.home #selected-work,
.home #faq { padding-block: 36px; }
.home #selected-work { background: #f8faff; }
.home #selected-work > .cv-container,
.home #faq > .cv-container,
.home #start-a-conversation > .cv-container { width: min(calc(100% - 120px),1268px); }
.home #selected-work .cv-home-v1-section-heading,
.home #faq .cv-home-v1-section-heading { margin: 0 0 22px; }
.home #selected-work .cv-eyebrow,
.home #faq .cv-eyebrow,
.home #start-a-conversation .cv-eyebrow { margin-bottom: 8px; font-size: 11px; letter-spacing: .14em; }
.home #selected-work h2,
.home #faq h2 { font-size: 32px; line-height: 1.13; }
.home #selected-work .cv-home-v1-work-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.home #selected-work .cv-home-v1-work-card {
    display: grid; grid-template-columns: 116px minmax(0,1fr); align-items: stretch;
    min-height: 0; border: 1px solid #dce5f2; border-radius: 8px;
    box-shadow: 0 5px 18px #122a4b08; background: #fff;
}
.home #selected-work .cv-home-v1-work-card--project {
    grid-column: 1 / -1; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr);
    border-color: #ccd9ef; box-shadow: 0 8px 24px #122a4b0d;
}
.home #selected-work .cv-home-v1-work-card__visual {
    display: grid; place-items: center; aspect-ratio: auto; border: 0;
    background: linear-gradient(140deg,#edf3ff,#f8fbff); padding: 10px;
}
.home #selected-work .cv-home-v1-work-card__visual img { width: 100%; height: auto; object-fit: contain; transform: none; }
.home #selected-work .cv-home-v1-work-card--project .cv-home-v1-work-card__visual { padding: 20px; border-right: 1px solid #dce5f2; }
.home #selected-work .cv-home-v1-work-card--project .cv-home-v1-work-card__visual img { max-height: 310px; border-radius: 4px; box-shadow: 0 6px 18px #122a4b18; }
.home #selected-work .cv-home-v1-work-card__body { min-height: 0; padding: 17px 16px; }
.home #selected-work .cv-home-v1-work-card--project .cv-home-v1-work-card__body { justify-content: center; padding: 30px 36px; }
.home #selected-work .cv-home-v1-work-card__type { color: #4b41c8; font-size: 10px; line-height: 1.4; letter-spacing: .08em; margin-bottom: 9px; }
.home #selected-work h3 { font-size: 18px; line-height: 1.2; margin-bottom: 10px; }
.home #selected-work .cv-home-v1-work-card--project h3 { max-width: 24ch; font-size: 30px; line-height: 1.13; margin-bottom: 14px; }
.home #selected-work .cv-home-v1-work-card__body > p:not(.cv-home-v1-work-card__type) { color: #425474; font-size: 14px; line-height: 1.45; margin-bottom: 10px; }
.home #selected-work .cv-home-v1-work-card--project .cv-home-v1-work-card__body > p:not(.cv-home-v1-work-card__type) { max-width: 52ch; font-size: 16px; line-height: 1.5; }
.home #selected-work .cv-card__link { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; align-self: flex-start; font-size: 13px; color: #4b36d1; }
.home #selected-work .cv-home-v1-work-card--project .cv-card__link { margin-top: 3px; }
.home #selected-work a:focus-visible { outline: 3px solid #5947df; outline-offset: -3px; border-radius: 3px; }
.home #selected-work h3 a:hover,
.home #selected-work .cv-card__link:hover { color: #225aca; text-decoration: underline; text-underline-offset: 4px; }

.home #faq { background: linear-gradient(145deg,#edf5ff,#f9fbff 55%,#eef3ff); border-top: 1px solid #e5edf8; }
.home #faq > .cv-container { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.4fr); gap: 48px; align-items: start; }
.home #faq .cv-home-v1-section-heading { margin: 4px 0 0; }
.home #faq h2 { max-width: 15ch; }
.home #faq .cv-home-v1-faq__grid { grid-template-columns: minmax(0,1fr); gap: 7px; }
.home #faq .cv-home-v1-faq__column { display: grid; gap: 7px; border: 0; border-radius: 0; background: transparent; }
.home #faq details { min-width: 0; border: 1px solid #d9e4f5; border-radius: 6px; background: #ffffffde; }
.home #faq details:last-child { border-bottom: 1px solid #d9e4f5; }
.home #faq summary { position: relative; min-height: 52px; padding: 14px 46px 14px 17px; font-size: 14px; line-height: 1.4; font-weight: 650; border-radius: 5px; }
.home #faq summary::after { right: 16px; top: 50%; width: 26px; height: 26px; border-radius: 4px; transform: translateY(-50%); color: #5642df; font-size: 18px; font-weight: 400; }
.home #faq summary:hover { background: #f0f4ff; }
.home #faq summary:focus-visible { outline: 3px solid #5a49d9; outline-offset: 2px; }
.home #faq details[open] { border-color: #adbced; box-shadow: 0 4px 14px #26396508; }
.home #faq details[open] summary { color: #30227c; }
.home #faq details > div { padding: 0 17px 17px; }
.home #faq details p { font-size: 14px; line-height: 1.6; color: #405271; }

.home #start-a-conversation {
    padding-block: 34px; border-bottom: 1px solid #294366;
    background: linear-gradient(100deg,#04142ff7 5%,#10204bdf 62%,#151c458c),url('../images/blog-v1/blog-mountains.png') center 56%/cover;
}
.home #start-a-conversation > .cv-container { grid-template-columns: minmax(0,1fr) auto; gap: 44px; }
.home #start-a-conversation .cv-eyebrow { color: #a7c1ff; }
.home #start-a-conversation h2 { max-width: 28ch; font-size: 31px; line-height: 1.14; margin-bottom: 11px; }
.home #start-a-conversation p:last-child { max-width: 66ch; color: #e0e8f7; font-size: 15px; line-height: 1.5; }
.home #start-a-conversation .cv-button {
    min-height: 48px; padding: 13px 23px; border: 1px solid #638bff; border-radius: 5px;
    background: linear-gradient(105deg,#1768ea,#5144e8); color: #fff; font-size: 14px;
    box-shadow: 0 7px 23px #1461e433; white-space: normal; text-align: center;
}
.home #start-a-conversation .cv-button:hover { background: #3158d4; color: #fff; }
.home #start-a-conversation .cv-button:focus-visible { outline: 3px solid #85e7ff; outline-offset: 4px; }
@media(max-width:1199px) {
    .home #selected-work > .cv-container,
    .home #faq > .cv-container,
    .home #start-a-conversation > .cv-container { width: calc(100% - 100px); margin-left: 28px; margin-right: 72px; }
    .home #selected-work .cv-home-v1-work-grid { grid-template-columns: minmax(0,1fr); }
    .home #selected-work .cv-home-v1-work-card { grid-template-columns: 170px minmax(0,1fr); }
    .home #selected-work .cv-home-v1-work-card--project { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
    .home #selected-work .cv-home-v1-work-card--project .cv-home-v1-work-card__body { padding: 24px; }
    .home #selected-work .cv-home-v1-work-card--project h3 { font-size: 25px; }
    .home #faq > .cv-container { grid-template-columns: minmax(0,1fr); gap: 22px; }
    .home #faq h2 { max-width: none; }
    .home #start-a-conversation > .cv-container { grid-template-columns: minmax(0,1fr); gap: 22px; }
    .home #start-a-conversation .cv-button { justify-self: start; width: auto; }
}
@media(max-width:600px) {
    .home #selected-work,.home #faq,.home #start-a-conversation { padding-block: 28px; }
    .home #selected-work > .cv-container,
    .home #faq > .cv-container,
    .home #start-a-conversation > .cv-container { width: calc(100% - 84px); margin-left: 15px; margin-right: 69px; }
    .home #selected-work h2,.home #faq h2,.home #start-a-conversation h2 { font-size: 26px; line-height: 1.15; }
    .home #selected-work .cv-home-v1-work-card,
    .home #selected-work .cv-home-v1-work-card--project { grid-template-columns: minmax(0,1fr); }
    .home #selected-work .cv-home-v1-work-card__visual { display: flex; align-items: center; justify-content: center; height: 76px; padding: 8px 14px; }
    .home #selected-work .cv-home-v1-work-card__visual img { width: auto; max-width: 100%; height: auto; max-height: 60px; }
    .home #selected-work .cv-home-v1-work-card--project .cv-home-v1-work-card__visual { height: auto; min-height: 145px; padding: 12px; border-right: 0; border-bottom: 1px solid #dce5f2; }
    .home #selected-work .cv-home-v1-work-card--project .cv-home-v1-work-card__visual img { width: 100%; height: auto; max-height: 240px; }
    .home #selected-work .cv-home-v1-work-card__body,
    .home #selected-work .cv-home-v1-work-card--project .cv-home-v1-work-card__body { padding: 15px; }
    .home #selected-work .cv-home-v1-work-card--project h3 { font-size: 23px; }
    .home #selected-work .cv-home-v1-work-card--project .cv-home-v1-work-card__body > p:not(.cv-home-v1-work-card__type) { font-size: 14px; }
    .home #faq summary { font-size: 14px; padding: 13px 46px 13px 13px; }
    .home #faq summary::after { right: 12px; }
    .home #faq details > div { padding: 0 13px 15px; }
    .home #start-a-conversation .cv-button { width: 100%; min-width: 0; padding-inline: 12px; }
}
