.ll-story {
    --story-ink: #413e39;
    --story-muted: #716b64;
    --story-line: #ded7ce;
    --story-cream: #f7f3ed;
    --story-sienna: #9c4401;
    overflow: hidden;
    color: var(--story-ink);
    background: #fff;
}

.ll-story img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ll-story-hero {
    display: grid;
    height: clamp(580px, calc(100svh - 150px), 700px);
    grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
    background: var(--story-cream);
}

.ll-story-hero__media { position: relative; min-height: 0; overflow: hidden; }
.ll-story-hero__media img { position: absolute; inset: 0; }

.ll-story-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(34px, 4.5vw, 64px);
}

.ll-story-breadcrumb {
    display: flex;
    gap: 10px;
    margin-bottom: clamp(32px, 5vh, 48px);
    color: var(--story-muted);
    font-family: var(--ll-font-sans);
    font-size: 12px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ll-story-breadcrumb a { color: var(--story-ink); }

.ll-story-eyebrow,
.ll-contact-planner__intro > span {
    margin: 0 0 18px;
    color: var(--story-sienna);
    font-family: var(--ll-font-sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
}

body.ll-story-page .ll-story h1,
body.ll-story-page .ll-story h2,
body.ll-story-page .ll-story h3 {
    color: var(--story-ink) !important;
    font-family: var(--ll-font-display) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

body.ll-story-page .ll-story-hero h1 {
    max-width: 650px;
    margin: 0;
    font-size: clamp(44px, 4.1vw, 64px) !important;
    line-height: 1.02 !important;
}

.ll-story-hero__copy > p:not(.ll-story-eyebrow) {
    max-width: 620px;
    margin: 20px 0 0;
    color: var(--story-muted);
    font-family: var(--ll-font-sans);
    font-size: clamp(16px, 1.2vw, 19px);
    line-height: 1.65;
}

.ll-story-link {
    display: inline-flex;
    width: max-content;
    gap: 18px;
    margin-top: 24px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--story-sienna);
    color: var(--story-sienna);
    font-family: var(--ll-font-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ll-story-intro,
.ll-story-values {
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(80px, 10vw, 150px) 40px;
}

.ll-story-intro__grid {
    display: grid;
    grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
    gap: clamp(48px, 9vw, 140px);
    align-items: start;
}

body.ll-story-page .ll-story-intro h2,
body.ll-story-page .ll-story-feature h2 {
    margin: 0;
    font-size: clamp(40px, 4.3vw, 64px) !important;
    line-height: 1.08 !important;
}

.ll-story-intro__grid > div {
    padding-top: 8px;
    border-top: 1px solid var(--story-line);
}

.ll-story-intro__grid > div p,
.ll-story-feature__copy > p:not(.ll-story-eyebrow) {
    margin: 24px 0 0;
    color: var(--story-muted);
    font-family: var(--ll-font-sans);
    font-size: 18px;
    line-height: 1.75;
}

.ll-story-proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--story-line);
    border-bottom: 1px solid var(--story-line);
    background: #fff;
}

.ll-story-proof > div {
    display: grid;
    gap: 8px;
    padding: 34px clamp(24px, 4vw, 64px);
}

.ll-story-proof > div + div { border-left: 1px solid var(--story-line); }
.ll-story-proof strong { color: var(--story-ink); font: 400 30px/1.1 var(--ll-font-display); }
.ll-story-proof span { color: var(--story-muted); font: 500 12px/1.5 var(--ll-font-sans); letter-spacing: .06em; text-transform: uppercase; }

.ll-story-mosaic {
    display: grid;
    height: min(760px, 65vw);
    min-height: 520px;
    grid-template-columns: 1.5fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 8px;
    padding: 0 24px;
}

.ll-story-mosaic figure { position: relative; margin: 0; overflow: hidden; }
.ll-story-mosaic figcaption { position: absolute; right: 16px; bottom: 16px; left: 16px; padding: 10px 12px; background: rgba(29, 25, 22, .72); color: #fff; font: 500 12px/1.35 var(--ll-font-sans); letter-spacing: .04em; }
.ll-story-mosaic__large { grid-row: 1 / 3; }

.ll-story-values__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    padding-bottom: 36px;
    border-bottom: 1px solid var(--story-line);
}

body.ll-story-page .ll-story-values__heading h2 {
    margin: 0;
    font-size: clamp(40px, 4vw, 60px) !important;
}

.ll-story-values__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ll-story-values__grid article {
    padding: 44px 34px 20px 0;
}

.ll-story-values__grid article + article {
    padding-left: 34px;
    border-left: 1px solid var(--story-line);
}

.ll-story-values__grid span {
    color: var(--story-sienna);
    font-family: var(--ll-font-sans);
    font-size: 12px;
    letter-spacing: .12em;
}

body.ll-story-page .ll-story-values__grid h3 {
    margin: 52px 0 18px;
    font-size: 30px !important;
    line-height: 1.15 !important;
}

.ll-story-values__grid p {
    margin: 0;
    color: var(--story-muted);
    font-family: var(--ll-font-sans);
    font-size: 16px;
    line-height: 1.7;
}

.ll-story-feature {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #411330;
}

.ll-story-feature__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(60px, 8vw, 130px);
}

body.ll-story-page .ll-story-feature h2,
.ll-story-feature__copy > p:not(.ll-story-eyebrow) { color: #fff !important; }
.ll-story-feature .ll-story-eyebrow { color: #c6add0; }
.ll-story-feature > img { min-height: 620px; }

.ll-story-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 38px;
}

.ll-story-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    border: 1px solid rgba(255,255,255,.75);
    color: #fff;
    font-family: var(--ll-font-sans);
    font-size: 13px;
    font-weight: 600;
}

.ll-story-button--primary { border-color: #fff; background: #fff; color: #411330; }
.ll-story-button:hover { border-color: #9c4401; background: #9c4401; color: #fff; }

@media (max-width: 991px) {
    .ll-story-hero { height: auto; grid-template-columns: 1fr; }
    .ll-story-hero__media { min-height: 56vw; }
    .ll-story-hero__media img { position: absolute; }
    .ll-story-hero__copy { min-height: 560px; }
    .ll-story-intro__grid,
    .ll-story-feature { grid-template-columns: 1fr; }
    .ll-story-feature > img { min-height: 520px; }
}

@media (max-width: 767px) {
    .ll-story-hero__media { min-height: 72vw; }
    .ll-story-hero__copy { min-height: auto; padding: 44px 22px 60px; }
    .ll-story-breadcrumb { margin-bottom: 72px; }
    .ll-story-intro,
    .ll-story-values { padding: 72px 22px; }
    .ll-story-proof { grid-template-columns: 1fr; }
    .ll-story-proof > div + div { border-top: 1px solid var(--story-line); border-left: 0; }
    .ll-story-mosaic { height: auto; min-height: 0; grid-template-columns: 1fr; grid-template-rows: none; padding: 0 14px; }
    .ll-story-mosaic figure { height: 64vw; }
    .ll-story-mosaic__large { grid-row: auto; height: 100vw !important; }
    .ll-story-values__heading { display: block; }
    .ll-story-values__grid { grid-template-columns: 1fr; }
    .ll-story-values__grid article,
    .ll-story-values__grid article + article { padding: 32px 0; border-left: 0; border-bottom: 1px solid var(--story-line); }
    body.ll-story-page .ll-story-values__grid h3 { margin-top: 28px; }
    .ll-story-feature__copy { padding: 72px 22px; }
    .ll-story-feature > img { min-height: 100vw; }
}
