/* Francestle spotlight: a quiet gallery, warm paper, and a little movement. */
.spotlight{display:grid;grid-template-columns:.94fr 1.06fr;gap:70px;align-items:center;padding-block:30px 65px;min-height:682px}
.spotlight-intro{padding-bottom:16px;animation:spotlight-intro .8s var(--ease) both}
.spotlight-intro>.eyebrow{color:var(--gold);margin-bottom:27px}
.spotlight h1{font-size:clamp(60px,5.7vw,87px);line-height:.99;letter-spacing:-.065em}
.spotlight h1 em{display:block;font-size:.69em;line-height:1.22;margin-top:14px;white-space:nowrap}
.spotlight-description{max-width:325px;font-size:13px;line-height:1.9;color:var(--muted);margin-block:25px 28px}
.spotlight-scroll{display:flex;align-items:center;gap:12px;width:max-content;font-size:10px;color:var(--muted);margin-top:40px}
.spotlight-scroll-line{width:32px;height:1px;background:var(--gold)}
.spotlight-scroll>span:last-child{margin-left:10px;font-size:16px;color:var(--gold)}
.spotlight-showcase{min-width:0;min-height:596px;position:relative;animation:spotlight-intro 1s .1s var(--ease) both}
.spotlight-stage{position:relative;isolation:isolate;padding:30px 28px 25px;background:#eee7da;box-shadow:0 24px 55px -46px #33251f88}
.spotlight-stage:before{content:'';position:absolute;inset:11px;border:1px solid #d0c1a4;z-index:-1;pointer-events:none}
.spotlight-orbit{position:absolute;inset:48px 43px 145px;border:1px solid #c4af8755;border-radius:50%;transform:rotate(-22deg);pointer-events:none}
.spotlight-stage-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:8px;letter-spacing:.17em;color:#79603e;margin-bottom:17px}
.spotlight-slides{position:relative;min-height:438px}
.spotlight-slide{height:438px;display:grid;grid-template-rows:280px 1fr;position:relative}
.spotlight-slide[hidden]{display:none}
.spotlight-image{display:grid;place-items:center;position:relative;background:#fff;box-shadow:0 21px 30px -26px #33251f66;transform:rotate(-2deg);width:92%;margin:0 auto;border:1px solid #e6ddce;overflow:hidden;transition:transform .5s var(--ease)}
.spotlight-image:focus-visible{outline-offset:5px}
.spotlight-image:hover{transform:rotate(0deg)}
.spotlight-image img{display:block;height:100%;width:100%;max-height:280px;padding:12px 24px;object-fit:contain}
.spotlight-image .image-placeholder{height:100%;min-height:0}
.spotlight-product-copy{padding:24px 12px 0;position:relative;display:flex;flex-direction:column;align-items:flex-start}
.spotlight-product-copy>.eyebrow{color:var(--gold);font-size:8px;letter-spacing:.17em;margin-bottom:7px}
.spotlight-product-copy h2{font-family:var(--serif);letter-spacing:-.025em;font-size:21px;line-height:1.2;overflow-wrap:anywhere;max-width:100%}
.spotlight-product-copy h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.spotlight-product-link{display:inline-flex;align-items:center;gap:18px;font-size:10px;border-bottom:1px solid #b5a07e;padding-block:5px;margin-top:auto}
.spotlight-product-link>.icon{height:15px;width:15px}
.spotlight-margin-note{position:absolute;writing-mode:vertical-rl;right:-22px;top:95px;color:var(--gold);font-size:7px;letter-spacing:.2em}
.spotlight-controls{display:flex;gap:14px;align-items:center;justify-content:space-between;padding-top:20px}
.spotlight-controls[hidden]{display:none}
.spotlight-picks{display:flex;gap:13px;min-width:0;flex:1}
.spotlight-pick{position:relative;min-width:0;min-height:48px;flex:1;background:transparent;text-align:left;padding:5px 0 11px;display:flex;flex-direction:column;gap:2px;color:var(--muted);border-bottom:1px solid var(--line)}
.spotlight-pick>span:first-child{font-family:var(--serif);font-size:15px;line-height:1.2}
.spotlight-pick>span:nth-child(2){font-size:8px;line-height:1.4;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spotlight-pick>i{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.spotlight-pick.is-active{color:var(--ink)}
.spotlight-pick.is-active>i{transform:scaleX(1)}
.spotlight-playback{display:flex;align-items:center;gap:2px;flex-shrink:0}
.spotlight-control{display:grid;place-items:center;width:34px;height:44px;background:transparent;border:1px solid transparent;font-size:14px;transition:color .2s,border-color .2s}
.spotlight-control[hidden]{display:none}
.spotlight-control:hover{border-color:var(--line);color:var(--gold)}
.spotlight-control>.icon{width:18px;height:18px}
.spotlight-previous>.icon{transform:rotate(180deg)}
.spotlight-pause{font-size:15px}
.spotlight-empty{min-height:438px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;text-align:center}
.spotlight-empty>.icon{height:88px;width:88px;color:var(--gold);stroke-width:.7}
.spotlight-empty>p{font-family:var(--serif);font-size:30px;line-height:1.15}
.home-reveal-pending{opacity:0;transform:translateY(20px)}
.home-reveal-visible{animation:home-reveal .75s var(--ease) both}
@keyframes spotlight-intro{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes home-reveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1450px){.spotlight{gap:105px}.spotlight-stage{padding-inline:39px}.spotlight-slide{grid-template-rows:300px 1fr;height:458px}.spotlight-slides{min-height:458px}.spotlight-image img{max-height:300px}}
@media(max-width:1100px){.spotlight{gap:38px;min-height:630px;padding-block:24px 52px}.spotlight h1{font-size:65px}.spotlight-stage{padding:26px 21px 24px}.spotlight-slide{grid-template-rows:250px 1fr;height:415px}.spotlight-slides{min-height:415px}.spotlight-image img{max-height:250px}.spotlight-product-copy{padding-inline:5px}.spotlight-product-copy h2{font-size:19px}.spotlight-picks{gap:10px}.spotlight-control{width:29px}.spotlight-controls{gap:9px}}
@media(max-width:760px){.spotlight{grid-template-columns:1fr;gap:37px;padding-top:32px;padding-bottom:36px;min-height:0}.spotlight-intro{padding-bottom:0}.spotlight h1{font-size:66px}.spotlight h1 em{white-space:normal;font-size:.69em}.spotlight-intro>.eyebrow{font-size:8px;letter-spacing:.15em;margin-bottom:20px}.spotlight-description{max-width:390px;font-size:12px;margin-block:20px 23px}.spotlight-scroll{display:none}.spotlight-intro>.button{font-size:11px;min-height:48px}.spotlight-stage{padding:24px 23px 24px}.spotlight-slide{height:420px;grid-template-rows:270px 1fr}.spotlight-slides{min-height:420px}.spotlight-image img{max-height:270px}.spotlight-image{width:92%}.spotlight-product-copy{padding-top:20px}.spotlight-product-copy h2{font-size:21px}.spotlight-margin-note{right:-14px;font-size:6px}.spotlight-controls{padding-top:13px;gap:17px}.spotlight-control{height:44px;width:34px}.spotlight-pick>span:nth-child(2){font-size:8px}.spotlight-stage-heading{font-size:7px;margin-bottom:18px}}
@media(max-width:400px){.spotlight h1{font-size:59px}.spotlight-controls{gap:8px}.spotlight-picks{gap:9px}.spotlight-control{width:29px}.spotlight-slide{grid-template-rows:235px 1fr;height:402px}.spotlight-slides{min-height:402px}.spotlight-image img{max-height:235px}.spotlight-product-copy h2{font-size:19px}.spotlight-stage{padding-inline:20px}.spotlight-pick>span:nth-child(2){font-size:7px}}
@media(prefers-reduced-motion:reduce){.spotlight-intro,.spotlight-showcase,.home-reveal-visible{animation:none!important}.home-reveal-pending{opacity:1;transform:none}.spotlight-image,.spotlight-image:hover{transform:rotate(-2deg);transition:none}}
@media(min-width:1450px){.spotlight-showcase{min-height:615px}}
@media(max-width:1100px){.spotlight-showcase{min-height:568px}}
@media(max-width:760px){.spotlight-showcase{min-height:560px}}
@media(max-width:400px){.spotlight-showcase{min-height:544px}}

/* The same set of linked brands forms one continuous track when motion is enabled. */
.brand-rail {
    --brand-rail-duration: 42s;
    background: linear-gradient(110deg, #f5efe2, var(--paper) 52%, #f2e9d8);
    border-block: 1px solid var(--line);
}
.brand-rail-inner {
    display: flex;
    align-items: center;
    gap: clamp(14px, 3vw, 45px);
    min-height: 108px;
    padding-block: 14px;
}
.brand-rail-label {
    flex: none;
    max-width: 130px;
    color: var(--gold);
    font-size: 9px;
    line-height: 1.8;
    letter-spacing: .15em;
}
.brand-rail-viewport {
    flex: 1;
    min-width: 0;
    padding-block: 4px;
}
.brand-rail-group {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    row-gap: 6px;
}
.brand-rail-copy {
    display: none;
}
.brand-rail-group a {
    position: relative;
    display: grid;
    place-items: center;
    flex: 1 0 105px;
    min-height: 58px;
    padding: 5px 12px 19px;
    font-family: var(--serif);
    font-size: clamp(18px, 1.7vw, 24px);
    letter-spacing: -.035em;
    white-space: nowrap;
    transition: color .2s var(--ease);
}
.brand-rail-group a:nth-child(2),
.brand-rail-group a:nth-child(4) {
    font-family: var(--sans);
    font-size: clamp(15px, 1.35vw, 19px);
    font-weight: 600;
}
.brand-rail-group a:nth-child(3) {
    font-style: italic;
}
.brand-rail-group a::before {
    position: absolute;
    inset-inline: 0;
    bottom: 9px;
    height: 1px;
    background: #b98b4270;
    content: '';
}
.brand-rail-stop {
    position: absolute;
    bottom: 6px;
    left: calc(50% - 3.5px);
    width: 7px;
    height: 7px;
    border: 1px solid #b78632;
    background: #f6ecda;
    transform: rotate(45deg);
    pointer-events: none;
    transition: background-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.brand-rail-group a:hover,
.brand-rail-group a:focus-visible {
    color: var(--gold);
}
.brand-rail-group a:hover .brand-rail-stop,
.brand-rail-group a:focus-visible .brand-rail-stop {
    background: #b78632;
}
.brand-rail-group a:focus-visible {
    outline-offset: -3px;
}
.brand-rail-toggle {
    display: inline-grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: #faf7ef;
    color: var(--gold);
    font-size: 15px;
    line-height: 1;
}
.brand-rail-toggle[hidden] {
    display: none;
}
.brand-rail-toggle:hover {
    border-color: #b78632;
    background: #efe1c6;
}

@media (prefers-reduced-motion: no-preference) {
    .brand-rail[data-brand-motion="playing"]:not([data-brand-keyboard="true"]) .brand-rail-stop.is-lit {
        background-color: #c89645;
        box-shadow: 0 0 0 4px #cf9b4733, 0 0 12px #d8ac63b3;
        transform: rotate(45deg) scale(1.2);
    }
    .brand-rail[data-brand-motion="playing"]:not([data-brand-keyboard="true"]) .brand-rail-viewport {
        overflow: hidden;
        overflow: clip;
        mask-image: linear-gradient(90deg, transparent, #000 12px, #000 calc(100% - 12px), transparent);
    }
    .brand-rail[data-brand-motion="playing"]:not([data-brand-keyboard="true"]) .brand-rail-track {
        display: flex;
        width: max-content;
        min-width: 200%;
        animation: brand-rail-loop var(--brand-rail-duration) linear infinite;
    }
    .brand-rail[data-brand-motion="playing"]:not([data-brand-keyboard="true"]) .brand-rail-group {
        display: grid;
        flex: 1 0 auto;
        grid-auto-flow: column;
        grid-auto-columns: minmax(126px, 1fr);
    }
    @media (hover: hover) {
        .brand-rail-viewport:hover .brand-rail-track {
            animation-play-state: paused;
        }
    }
}
@keyframes brand-rail-loop {
    to { transform: translateX(-50%); }
}
@media (max-width: 760px) {
    .brand-rail {
        --brand-rail-duration: 34s;
    }
    .brand-rail-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0 10px;
        padding-block: 10px 12px;
    }
    .brand-rail-label {
        grid-column: 1;
        grid-row: 1;
        max-width: none;
        font-size: 8px;
    }
    .brand-rail-label br {
        display: none;
    }
    .brand-rail-toggle {
        grid-column: 2;
        grid-row: 1;
    }
    .brand-rail-viewport {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}
@media (prefers-reduced-motion: reduce) {
    .brand-rail-toggle {
        display: none;
    }
    .brand-rail-group a, .brand-rail-stop {
        transition: none;
    }
}

/* The first display uses cocoa tones and a light product plinth. */
.spotlight-gallery {
    --spotlight-ivory: #f9f0e1;
    --spotlight-gold: #efd091;
    --spotlight-muted: #dbc5a8;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 73% 26%, #75451f78, transparent 47%),
        radial-gradient(ellipse at 21% 4%, #57342355, transparent 44%),
        linear-gradient(112deg, #211510, #392318 62%, #2a1913);
    color: var(--spotlight-ivory);
}
.spotlight-gallery::before {
    content: '';
    position: absolute;
    inset: 19px 23px;
    z-index: -1;
    border-block: 1px solid #e9bb7430;
    pointer-events: none;
}
.spotlight-gallery .spotlight {
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    gap: clamp(42px, 6vw, 100px);
    min-height: 0;
    padding-block: clamp(58px, 6vw, 98px);
}
.spotlight-gallery .spotlight-intro {
    position: relative;
    padding-block: 14px;
}
.spotlight-gallery .spotlight-intro > .eyebrow {
    margin-bottom: 26px;
    color: var(--spotlight-gold);
}
.spotlight-gallery .spotlight-intro .tiny-line,
.spotlight-gallery .spotlight-scroll-line {
    background: #d6a655;
}
.spotlight-gallery .spotlight h1 {
    color: var(--spotlight-ivory);
    font-size: clamp(63px, 7vw, 108px);
    line-height: .95;
    letter-spacing: -.065em;
}
.spotlight-gallery .spotlight h1 em {
    margin-top: 20px;
    color: var(--spotlight-gold);
    font-size: .58em;
    line-height: 1.07;
    letter-spacing: -.048em;
    white-space: normal;
}
.spotlight-gallery .spotlight-description {
    margin-block: 28px;
    max-width: 39ch;
    color: var(--spotlight-muted);
}
.spotlight-gallery .spotlight-intro > .button {
    min-height: 56px;
    box-shadow: 0 13px 38px -18px #e0aa67c9;
}
.spotlight-gallery .spotlight-scroll,
.spotlight-gallery .spotlight-scroll > span:last-child {
    color: var(--spotlight-gold);
}
.spotlight-gallery .spotlight-scroll {
    margin-top: 31px;
}
.spotlight-gallery .spotlight-showcase {
    min-height: 0;
}
.spotlight-gallery .spotlight-stage {
    padding: clamp(23px, 2.6vw, 38px) clamp(24px, 3.15vw, 44px) 26px;
    border: 1px solid #d6a96c80;
    border-radius: 7px;
    background:
        radial-gradient(ellipse at 52% 30%, #8b572d6b, transparent 76%),
        linear-gradient(145deg, #45291b, #2d1b14 85%);
    box-shadow: 0 38px 68px -30px #0c0605b3, inset 0 1px #f9d5a322;
}
.spotlight-gallery .spotlight-stage::before {
    inset: 10px;
    border-color: #d6a96c35;
    border-radius: 3px;
}
.spotlight-gallery .spotlight-orbit {
    inset: 51px 20px 138px;
    border-color: #dcb07138;
}
.spotlight-gallery .spotlight-stage-heading,
.spotlight-gallery .spotlight-margin-note {
    color: var(--spotlight-gold);
}
.spotlight-gallery .spotlight-stage-heading {
    padding-bottom: 11px;
    margin-bottom: 15px;
    border-bottom: 1px solid #e9bb7440;
    letter-spacing: .17em;
}
.spotlight-gallery .spotlight-margin-note {
    right: -24px;
    opacity: .85;
}
.spotlight-gallery .spotlight-slides,
.spotlight-gallery .spotlight-empty {
    min-height: 0;
}
.spotlight-gallery .spotlight-empty {
    min-height: 290px;
}
.spotlight-gallery .spotlight-empty > .icon {
    color: var(--spotlight-gold);
}
.spotlight-gallery .spotlight-slide {
    height: auto;
    grid-template-rows: clamp(235px, 22vw, 332px) minmax(115px, auto);
}
.spotlight-gallery .spotlight-image {
    isolation: isolate;
    width: 100%;
    border: 1px solid #ebcf9b;
    border-radius: 3px;
    transform: none;
    background:
        radial-gradient(ellipse 34% 12% at 50% 89%, #a0784833, transparent 80%),
        radial-gradient(ellipse at 50% 36%, #fffdf8 25%, #fcf4e5 74%, #f2e1c3);
    box-shadow:
        0 0 0 3px #bd8b483b,
        0 23px 35px -22px #150b08b8;
}
.spotlight-gallery .spotlight-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    box-sizing: border-box;
    padding: 4px 6px;
    object-fit: contain;
    mix-blend-mode: multiply;
    transform: translateY(var(--spotlight-photo-shift, 0)) scale(var(--spotlight-photo-scale, 1));
    animation: none;
}
/* Optical framing for the featured photographs. Other photos retain the default fit. */
.spotlight-gallery .spotlight-image img[src*="/defeaad0b44f53427ba7b48f19137610."] {
    --spotlight-photo-scale: 1.32;
    --spotlight-photo-shift: -4%;
}
.spotlight-gallery .spotlight-image img[src*="/66b78378648684fd592e7e57e46f79c1."] {
    --spotlight-photo-scale: 1.09;
    --spotlight-photo-shift: 1%;
}
.spotlight-gallery .spotlight-image img[src*="/b4976269245aeec7807cbe78463b37cd."] {
    --spotlight-photo-scale: 1.06;
    --spotlight-photo-shift: 2%;
}
.spotlight-gallery .spotlight-product-copy {
    padding: 24px 0 0;
}
.spotlight-gallery .spotlight-product-copy > .eyebrow {
    color: var(--spotlight-gold);
}
.spotlight-gallery .spotlight-product-copy h2 {
    color: var(--spotlight-ivory);
    font-size: clamp(20px, 2.1vw, 30px);
}
.spotlight-gallery .spotlight-product-link {
    margin-top: 6px;
    color: var(--spotlight-ivory);
    border-color: #d6a96c88;
}
.spotlight-gallery .spotlight-controls {
    padding-top: 17px;
}
.spotlight-gallery .spotlight-pick {
    color: var(--spotlight-muted);
    border-color: #d6a96c5c;
}
.spotlight-gallery .spotlight-pick.is-active,
.spotlight-gallery .spotlight-control:hover {
    color: var(--spotlight-gold);
}
.spotlight-gallery .spotlight-control {
    color: var(--spotlight-ivory);
}
.spotlight-gallery .spotlight-control:hover {
    border-color: #d6a96c80;
}
.spotlight-gallery :is(a, button):focus-visible {
    outline-color: var(--spotlight-gold);
}
/* Stack the cards in one grid cell so even the longest title cannot move the controls. */
.spotlight-showcase[data-showcase-ready] .spotlight-slides {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}
.spotlight-showcase[data-showcase-ready] .spotlight-slide {
    grid-area: 1 / 1;
}
.spotlight-showcase[data-showcase-ready] .spotlight-slide.is-active {
    z-index: 1;
}
.spotlight-showcase[data-showcase-ready] .spotlight-slide[hidden] {
    display: grid !important; /* Keep the grid track sized despite the global [hidden] rule. */
    visibility: hidden;
    pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
    .spotlight-showcase[data-showcase-ready] .spotlight-slide[hidden] {
        transition: visibility 0s .72s;
    }
    .spotlight-showcase[data-showcase-ready] .spotlight-image {
        transition: opacity .58s ease-in-out;
    }
    /* Keep the outgoing ivory surface painted until the incoming surface covers it. */
    .spotlight-showcase[data-showcase-ready] .spotlight-slide[hidden] .spotlight-image {
        opacity: 0;
        transition: opacity .12s linear .58s;
    }
    .spotlight-showcase[data-showcase-ready] .spotlight-image img {
        transition: transform .78s var(--ease);
    }
    .spotlight-showcase[data-showcase-ready] .spotlight-slide[hidden] .spotlight-image img {
        transform: translateY(var(--spotlight-photo-shift, 0)) translateY(7px)
            scale(var(--spotlight-photo-scale, 1)) scale(.98);
        transition: transform 0s .72s;
    }
    .spotlight-showcase[data-showcase-ready] .spotlight-product-copy > * {
        transition: opacity .35s ease-out, transform .52s var(--ease);
        transition-delay: .15s;
    }
    .spotlight-showcase[data-showcase-ready] .spotlight-product-copy > h2 {
        transition-delay: .20s;
    }
    .spotlight-showcase[data-showcase-ready] .spotlight-product-copy > .spotlight-product-link {
        transition-delay: .25s;
    }
    .spotlight-showcase[data-showcase-ready] .spotlight-slide[hidden] .spotlight-product-copy > * {
        opacity: 0;
        transform: translateY(7px);
        transition: opacity .12s ease-out, transform 0s .72s;
    }
    .spotlight-showcase[data-showcase-ready] .spotlight-slide.is-active:focus-within .spotlight-product-copy > * {
        transition: none;
    }
}

/* Give the quieter sections a rhythm of paper, praline and deep cocoa. */
body.page-home .home-story[hidden],
.home-story [hidden] {
    display: none !important;
}
body.page-home .home-story {
    align-items: start;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
    grid-template-rows: 1fr auto auto 1fr;
    grid-template-areas: "photo ." "photo heading" "photo copy" "photo .";
    gap: 0 clamp(30px, 5.5vw, 82px);
}
.home-story-figure { grid-area: photo; align-self: center; min-width: 0; margin: 0; }
.home-story-frame {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border: 1px solid #cfb58b;
    border-radius: 5px;
    background: #eadbc5;
    box-shadow: 0 20px 34px -29px #3e281980;
}
.home-story-frame > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 28% center;
}
.home-story-caption {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: .25rem 1rem;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #c7a56d;
    color: #352417;
}
.home-story-caption > span:first-child {
    font: 400 clamp(19px, 2vw, 27px) / 1.15 var(--serif);
}
.home-story-caption > span:last-child {
    color: #79582f;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.home-story-heading { grid-area: heading; margin-bottom: clamp(14px, 2vw, 25px); }
.home-story-heading > h2 { max-width: 16ch; margin: 0; text-wrap: balance; }
.home-story-heading > h2 > em { color: var(--gold); }
.home-story-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
    color: #8b642b;
}
.home-story-label::before {
    content: '';
    width: 22px;
    height: 1px;
    background: currentColor;
}
.home-story-copy { grid-area: copy; }
.home-story .home-story-copy > p { margin: 0; }
.home-story-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px clamp(15px, 2.5vw, 35px);
    margin-top: clamp(16px, 2.5vw, 31px);
}
.home-story-actions .text-link {
    min-height: 44px;
    gap: .6rem;
    font-size: 13px;
    transition: color .18s, border-color .18s;
}
.home-story-actions .text-link:hover { gap: .6rem; }
.home-story-actions .icon { flex: none; width: 16px; height: 16px; }
.home-story-partnership { color: #795428; border-bottom-color: #b99052; }
.home-story.home-reveal-pending:focus-within { opacity: 1; transform: none; }
@media (max-width: 780px) {
    body.page-home .home-story {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        grid-template-areas: "heading" "photo" "copy";
        row-gap: 18px;
    }
    .home-story-heading { margin-bottom: 0; }
}
@media (prefers-reduced-motion: no-preference) {
    .home-story.home-reveal-visible { animation: none; }
    .home-story.home-reveal-visible :is(.home-story-figure, .home-story-heading, .home-story-copy) {
        animation: home-reveal .6s var(--story-delay, 0ms) var(--ease) both;
    }
    .home-story-heading { --story-delay: 95ms; }
    .home-story-copy { --story-delay: 175ms; }
}
body.page-home .home-discovery .discovery-card {
    min-height: clamp(255px, 24vw, 350px);
    border: 1px solid #d0a56370;
    border-radius: 7px;
    box-shadow: 0 18px 34px -29px #3f251b75;
}
body.page-home .home-discovery .discovery-dark {
    background: radial-gradient(ellipse at 83% 17%, #72492d, transparent 78%), #302017;
}
body.page-home .home-discovery .discovery-almond {
    background: radial-gradient(ellipse at 84% 12%, #fff4da, transparent 79%), #e4c691;
}
body.page-home .home-discovery .discovery-durian {
    background: radial-gradient(ellipse at 83% 17%, #946031, transparent 76%), #5a3620;
    color: #fff3df;
}
body.page-home .home-discovery .discovery-top > .icon {
    transition: transform .23s var(--ease);
}
body.page-home .home-discovery .discovery-card:hover .discovery-top > .icon {
    transform: translateX(3px);
}
.home-featured-band {
    border-block: 1px solid #d8c29a8c;
    background: radial-gradient(ellipse at 60% 0, #e7c97a22, transparent 68%), #f8f2e8;
}
body.page-home .home-featured-band .featured-section {
    padding-block: clamp(46px, 6vw, 88px);
}
.home-partner {
    border-block: 1px solid #d6a96c80;
    background: radial-gradient(ellipse at 24% 13%, #6c452d, transparent 68%), #2c1d14;
    color: #fff5e6;
}
.home-partner-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(32px, 6vw, 95px);
    padding-block: clamp(48px, 7vw, 96px);
}
.home-partner-copy .eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 17px;
    color: #efd091;
}
.home-partner-copy .eyebrow::before {
    width: 26px;
    height: 1px;
    background: currentColor;
    content: '';
}
.home-partner-copy h2 {
    font-size: clamp(36px, 4.3vw, 62px);
    line-height: 1.08;
    text-wrap: balance;
}
.home-partner-copy h2 em { color: #efd091; }
.home-partner-copy > p:not(.eyebrow) {
    max-width: 47ch;
    margin-block: 20px 26px;
    color: #e7d8c3;
    line-height: 1.8;
}
.home-partner-copy :focus-visible { outline-color: #efd091; }
.home-partner-brief {
    min-width: 0;
    padding: clamp(22px, 3.3vw, 46px);
    border: 1px solid #d8b477;
    border-radius: 5px;
    background: linear-gradient(141deg, #fffaf0, #f3e4ca);
    box-shadow: 0 28px 44px -28px #1d100bcb;
    color: #352417;
}
.home-partner-brief > .eyebrow { color: #825c2a; }
.home-partner-brief ol {
    margin: 17px 0 0;
    padding: 0;
    list-style: none;
}
.home-partner-brief li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 13px;
    padding-block: 16px;
    border-top: 1px solid #d6ba8e;
}
.home-partner-brief li:last-child { padding-bottom: 0; }
.home-partner-brief li > span {
    min-width: 30px;
    color: #825c2a;
    font: 20px / 1.2 var(--serif);
}
.home-partner-brief h3 {
    font: clamp(19px, 2vw, 26px) / 1.15 var(--serif);
}
.home-partner-brief li p {
    margin-top: 4px;
    color: #654d39;
    font-size: 13px;
    line-height: 1.6;
}
@media (max-width: 780px) {
    .home-partner-inner { grid-template-columns: minmax(0, 1fr); }
}
.home-documents {
    display: grid;
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
    align-items: center;
    gap: clamp(24px, 5vw, 76px);
    padding-block: clamp(42px, 6vw, 86px);
}
.home-documents-copy .eyebrow,
.home-closing .eyebrow {
    margin-bottom: 13px;
    color: #8b642b;
}
.home-documents-copy h2 {
    font-size: clamp(36px, 4vw, 57px);
    line-height: 1.08;
}
.home-documents-copy h2 em,
.home-closing h2 em {
    color: #8b642b;
}
.home-documents-copy p:not(.eyebrow) {
    max-width: 36ch;
    margin-block: 17px 23px;
    color: var(--muted);
}
.home-documents-copy .button {
    max-width: 100%;
    font-size: 12px;
}
.home-documents-gallery {
    display: grid;
    position: relative;
    isolation: isolate;
    gap: 16px;
    min-width: 0;
    padding: clamp(14px, 2.5vw, 32px);
    border: 1px solid #cfad74;
    border-radius: 5px;
    background: linear-gradient(142deg, #fffbf4, #f2e5cd);
    box-shadow: 0 22px 44px -32px #5d391b9c;
}
.home-documents-gallery::before {
    content: '';
    position: absolute;
    top: -1px;
    inset-inline: 13%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #b68a45 48%, transparent);
}
.home-documents-rail-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px 12px;
    color: #654621;
}
.home-documents-rail-toggle {
    min-width: 62px;
    min-height: 44px;
    padding: 4px 10px;
    border: 1px solid #c7a674;
    border-radius: 3px;
    background: #fff9ed;
    color: #654621;
    font-size: 11px;
}
.home-documents-rail-toggle:hover {
    background: #f2dfbb;
}
.home-documents-viewport {
    min-width: 0;
}
.home-documents-track {
    /* Blend the moving track with the gallery so the original white paper disappears. */
    mix-blend-mode: multiply;
}
.home-documents-group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 137px), 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.home-documents-group-copy {
    display: none;
}
.home-documents-card {
    display: grid;
    grid-template-rows: 106px minmax(34px, auto);
    gap: 8px;
    min-width: 0;
    padding: 9px 9px 3px;
    color: #654621;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
}
.home-documents-art {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
}
.home-documents-art > svg {
    display: block;
    flex: none;
    max-width: 100%;
    max-height: 106px;
    overflow: hidden;
}
.home-documents-card > span {
    display: grid;
    place-items: center;
    border-top: 1px solid #c8a46b70;
}
.home-closing {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px 35px;
    margin-bottom: clamp(30px, 5vw, 68px);
    padding: clamp(24px, 4vw, 56px);
    border-block: 1px solid #d6b57f;
    background: radial-gradient(ellipse at 83% 6%, #edcf984f, transparent 66%), #f5eddf;
}
.home-closing h2 {
    font-size: clamp(32px, 3.5vw, 51px);
}
.home-closing-links .closing-contact {
    margin-top: 7px;
}
@media (prefers-reduced-motion: no-preference) {
    .home-documents-gallery.home-reveal-visible::before {
        animation: home-documents-rule .8s .18s var(--ease) both;
    }
    .home-documents-gallery[data-rail-motion] .home-documents-viewport {
        padding-bottom: 12px;
        border-bottom: 1px solid #c8a46b;
        overflow: hidden;
    }
    .home-documents-gallery[data-rail-motion] .home-documents-track {
        display: flex;
        width: max-content;
        animation: brand-rail-loop 42s linear infinite;
    }
    .home-documents-gallery[data-rail-motion] .home-documents-group {
        display: flex;
        padding-right: 12px;
    }
    .home-documents-gallery[data-rail-motion] .home-documents-card {
        flex: 0 0 168px;
        width: 168px;
    }
    .home-documents-gallery[data-rail-motion="paused"] .home-documents-track,
    .home-documents-gallery.home-reveal-pending .home-documents-track {
        animation-play-state: paused;
    }
}
@media (prefers-reduced-motion: reduce) {
    .home-documents-rail-toggle {
        display: none;
    }
}
@keyframes home-documents-rule {
    from { opacity: 0; transform: scaleX(.25); }
    to { opacity: 1; transform: scaleX(1); }
}

@media (max-width: 1050px) {
    .spotlight-gallery .spotlight {
        gap: 37px;
    }
    .spotlight-gallery .spotlight h1 {
        font-size: clamp(54px, 7.2vw, 83px);
    }
}
@media (max-width: 760px) {
    .spotlight-gallery::before {
        inset: 12px 16px;
    }
    .spotlight-gallery .spotlight {
        grid-template-columns: minmax(0, 1fr);
        gap: 29px;
        padding-block: 35px;
    }
    .spotlight-gallery .spotlight-intro {
        padding-block: 6px 0;
    }
    .spotlight-gallery .spotlight-intro > .eyebrow {
        margin-bottom: 19px;
    }
    .spotlight-gallery .spotlight h1 {
        font-size: clamp(51px, 10vw, 76px);
        line-height: .98;
    }
    .spotlight-gallery .spotlight h1 em {
        margin-top: 13px;
        font-size: .64em;
    }
    .spotlight-gallery .spotlight-description {
        margin-block: 20px;
    }
    .spotlight-gallery .spotlight-intro > .button {
        min-height: 50px;
    }
    .spotlight-gallery .spotlight-stage {
        padding: 20px 21px 21px;
    }
    .spotlight-gallery .spotlight-slide {
        grid-template-rows: clamp(178px, 53vw, 305px) minmax(100px, auto);
    }
    .spotlight-gallery .spotlight-product-copy {
        padding-top: 19px;
    }
    .spotlight-gallery .spotlight-margin-note {
        display: none;
    }
    .spotlight-gallery .spotlight-controls {
        padding-top: 12px;
    }
    .home-documents,
    .home-closing {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (prefers-reduced-motion: reduce) {
    .spotlight-gallery .spotlight-image,
    .spotlight-gallery .spotlight-image:hover,
    .spotlight-gallery .spotlight-pick > i,
    body.page-home .home-discovery .discovery-card:hover .discovery-top > .icon {
        transform: none;
        transition: none;
    }
}
