/* v16: photographic banner, framed collection cards and a distinct contact chapter. */
.kc-noon-hero { background: #211812; }
.kc-noon-layout { gap: 44px; min-height: 650px; }
.kc-noon-copy { flex: 0 0 36%; padding: 65px 0; }
.kc-noon-heading { font-size: 62px; }
.kc-noon-media-stage { flex: 1; min-width: 0; width: auto; height: auto; margin: 0; overflow: hidden; border-radius: 120px 8px 8px 8px; border: 1px solid #b3825759; box-shadow: 0 28px 65px #0005; aspect-ratio: 800 / 462; }
.kc-noon-media { display: block; width: 100%; height: 100%; object-fit: contain; transform: none; }
.kc-noon-media-stage > img { animation: kc-photo-breathe 16s ease-in-out infinite alternate; }
@keyframes kc-photo-breathe { to { transform: scale(1.025); } }
.kc-workshop-grid { gap: 30px; }
.kc-workshop-tile, .kc-workshop-tile:first-child, .kc-workshop-tile:nth-child(2) { border: 0; border-radius: 4px; background: #eee3d3; box-shadow: none; overflow: hidden; }
.kc-workshop-tile > img { aspect-ratio: 1 / 1; object-fit: cover; }
.kc-workshop-caption { margin: -32px 16px 16px; padding: 25px 24px 22px; position: relative; z-index: 2; background: #fffdf8; border: 1px solid #dfc8ac; border-radius: 2px; box-shadow: 0 8px 24px #53331b0a; }
.kc-workshop-caption > b { font-size: 30px; line-height: 1.2; }
.kc-workshop-caption > small { font-size: 15px; }
.kc-workshop-caption > em { font-size: 12px; font-style: normal; letter-spacing: 1.2px; padding-top: 17px; margin-top: 20px; }
.kc-workshop-caption > em svg { width: 24px; height: 24px; transition: transform .3s; }
.kc-workshop-tile:hover .kc-workshop-caption > em svg { transform: translateX(4px); }
.kc-workshop-no { border-radius: 3px; background: #3a281de8; color: #fff4e6; width: 42px; height: 42px; box-shadow: none; }
.kc-workshop-tile:hover, .kc-workshop-tile:focus-visible { box-shadow: 0 18px 40px #51321b14; }
.kc-connect { background: #ede0ce; color: #39271d; border-top: 1px solid #c8aa86; border-bottom: 9px solid #b2774f; padding-top: 90px; padding-bottom: 90px; }
.kc-connect::before { background: radial-gradient(ellipse at 85% 40%, #fff9ed, transparent 65%); }
.kc-connect .kc-edition-label { color: #8a522f; }
.kc-connect-heading { margin-bottom: 45px; }
.kc-connect-heading h2 { color: #39271d; font-size: 76px; }
.kc-connect-arrow { background: #a6633c; color: #fff8ec; width: 90px; height: 90px; }
.kc-connect-details > p, .kc-connect-note { color: #735740; font-size: 17px; }
.kc-connect-row { border-color: #b394724d; }
.kc-connect-row > span { color: #8c5536; font-size: 11px; }
.kc-connect-row > a, .kc-connect-row > p { color: #39271d; font-size: 18px; }
.kc-connect-row > a:hover { color: #a45d34; }
.kc-connect-photo { height: 440px; border-radius: 8px 90px 8px 8px; box-shadow: 16px 16px 0 #c9a47e55; }
.kc-connect-layout { align-items: center; gap: 9%; }
.kc-edition .kc-footer { border-top: 1px solid #5e412b; }
@media (max-width: 1000px) {
    .kc-noon-layout { gap: 28px; min-height: 560px; }
    .kc-noon-heading { font-size: 48px; }
    .kc-noon-media-stage { border-top-left-radius: 65px; }
    .kc-connect-heading h2 { font-size: 60px; }
}
@media (max-width: 700px) {
    .kc-noon-layout { flex-direction: column; gap: 24px; padding-top: 35px; padding-bottom: 38px; }
    .kc-noon-copy { flex: auto; width: 100%; max-width: none; padding: 0; }
    .kc-noon-heading { font-size: 44px; }
    .kc-noon-description { font-size: 16px; margin-top: 18px; }
    .kc-noon-media-stage { flex: auto; width: 100%; margin: 0; border-radius: 55px 5px 5px; }
    .kc-workshop-caption { padding: 21px 20px; }
    .kc-workshop-caption > b { font-size: 27px; }
    .kc-connect { padding-top: 55px; padding-bottom: 60px; }
    .kc-connect-heading h2 { font-size: 46px; }
    .kc-connect-arrow { width: 54px; height: 54px; }
    .kc-connect-layout { gap: 35px; }
    .kc-connect-photo { height: 350px; width: calc(100% - 12px); align-self: flex-start; border-top-right-radius: 65px; box-shadow: 12px 12px 0 #c9a47e55; }
}
@media (prefers-reduced-motion: reduce) {
    .kc-noon-media-stage > img { animation: none; }
}
