/* v24: Panuntram story + gallery. Independent layouts; no CSS grid, no clamp. */
.kc24-page {
  --kc24-ink:#2b1d17; --kc24-dark:#241610; --kc24-wine:#3a2219;
  --kc24-gold:#c59870; --kc24-clay:#ab6946; --kc24-milk:#f9f3e9;
  --kc24-paper:#f4ecdf; --kc24-muted:#806b59;
  background:var(--kc24-milk); color:var(--kc24-ink); overflow:clip;
}
.kc24-page *, .kc24-page *::before, .kc24-page *::after { box-sizing:border-box; }
.kc24-page .kc-container { max-width:1280px; padding-left:32px; padding-right:32px; }
.kc24-page .kc19-heading { font-size:62px; line-height:1.12; letter-spacing:-2px; font-weight:800; max-width:900px; }
.kc24-page .kc19-kicker { display:block; font-size:14px; font-weight:800; line-height:1.5; letter-spacing:2.5px; text-transform:uppercase; color:#a76c49; margin-bottom:22px; }
.kc24-page .kc19-rich { font-size:17px; line-height:1.83; color:var(--kc24-muted); }
.kc24-page .kc19-rich :is(p,ul,ol) { margin-top:0; margin-bottom:18px; }
.kc24-page .kc19-rich > :last-child { margin-bottom:0; }
.kc24-page .kc19-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:54px; padding:14px 25px; background:#a76943; border:1px solid #a76943; border-radius:0; color:#fff8ed; font-size:15px; font-weight:800; text-decoration:none; transition:background .35s ease,color .35s ease,transform .35s ease; }
.kc24-page .kc19-button:hover { background:#7c472d; color:#fff; transform:translateY(-3px); }
.kc24-page .kc19-button svg { width:20px; height:20px; }
.kc24-page .kc19-button:focus-visible, .kc24-page button:focus-visible { outline:3px solid #b78358; outline-offset:4px; }
.kc24-section { padding:110px 0; }
.kc24-grain { isolation:isolate; }
.kc24-grain::after { content:''; position:absolute; inset:0; z-index:-1; opacity:.17; pointer-events:none; background-image:radial-gradient(#cba886 0.65px,transparent 0.85px); background-size:7px 7px; }
.kc24-page figure { margin:0; }
.kc24-page figure img { display:block; width:100%; height:100%; object-fit:cover; }
.kc24-page :is(h1,h2,h3,p) { overflow-wrap:normal; word-break:normal; }
.kc24-page h1 { text-wrap:balance; }
.kc24-page :is(h2,h3) { text-wrap:balance; }

/* STORY — bold, asymmetrical opening with continuously rotating metal-work motif. */
.kc24-story-hero { position:relative; overflow:hidden; padding:84px 0 94px; background:radial-gradient(ellipse at 88% 28%,#62412c 0,#302018 38%,#211610 82%); color:#fbf1e5; }
.kc24-story-hero::before { content:''; position:absolute; width:590px; height:590px; right:-200px; top:-220px; border:1px solid #d0a37833; border-radius:50%; }
.kc24-hero-aura { position:absolute; top:-90px; left:-170px; width:550px; height:550px; border-radius:50%; background:#8e4e2b4a; filter:blur(110px); animation:kc24-aura 14s ease-in-out infinite alternate; pointer-events:none; }
.kc24-story-hero-layout { display:flex; gap:72px; align-items:center; min-height:600px; position:relative; z-index:1; }
.kc24-story-hero-copy { flex:0 1 51%; min-width:0; position:relative; z-index:3; padding-top:18px; }
.kc24-hero-rule { display:flex; align-items:center; justify-content:space-between; max-width:490px; border-top:1px solid #d4b08f55; padding-top:22px; }
.kc24-hero-rule .kc19-kicker { color:#dcad84; margin-bottom:0; }
.kc24-hero-glyph, .kc24-gallery-hero .kc24-hero-rule > span { font-size:30px; color:#deb68d; line-height:1; animation:kc24-spin 22s linear infinite; }
.kc24-story .kc24-story-hero h1 { font-size:76px; line-height:1.07; letter-spacing:-3px; color:#fff7ed; margin:32px 0 28px; max-width:670px; }
.kc24-story-lead { max-width:485px; color:#dcc8b5; font-size:18px; line-height:1.8; margin-bottom:32px; }
.kc24-story-hero .kc19-button { background:#e5b285; color:#281810; border-color:#e5b285; }
.kc24-story-hero .kc19-button:hover { background:#f6cba2; }
.kc24-hero-side-note { display:block; margin-top:85px; letter-spacing:2px; text-transform:uppercase; font-size:12px; font-weight:800; color:#bfa38a; }
.kc24-story-stage { flex:1 1 49%; height:590px; min-width:0; position:relative; perspective:1100px; }
.kc24-story-hero-photo { position:absolute; width:82%; height:86%; right:0; top:20px; z-index:2; overflow:hidden; box-shadow:0 35px 90px #160b07aa; border-radius:200px 200px 3px 3px; transform:rotate(2deg); }
.kc24-story-hero-photo img { transition:transform 1.1s ease; }
.kc24-story-stage:hover .kc24-story-hero-photo img { transform:scale(1.045); }
.kc24-story-hero-photo figcaption { position:absolute; z-index:2; bottom:0; left:0; right:0; padding:28px 24px 20px; background:linear-gradient(transparent,#190c08bc); text-align:right; color:#fff6ed; font-size:13px; letter-spacing:1px; }
.kc24-story-floating-photo { position:absolute; z-index:4; bottom:15px; left:0; width:38%; height:37%; border:9px solid #d5b79a; box-shadow:0 28px 60px #12090488; transform:rotate(-8deg); animation:kc24-float 10s ease-in-out infinite alternate; }
.kc24-stage-halo { position:absolute; inset:15px 2% 60px 0; z-index:1; border:1px solid #ceaa813d; border-radius:50%; animation:kc24-spin 45s linear infinite; }
.kc24-stage-halo span { position:absolute; width:21px; height:21px; border:2px solid #cda178; border-radius:50%; top:50px; left:65px; }
.kc24-stage-halo i { position:absolute; width:6px; height:6px; background:#ddaf88; border-radius:50%; bottom:18%; right:0; }
.kc24-stage-mark { position:absolute; color:#e7ba90; font-size:61px; right:-8px; bottom:3px; animation:kc24-pulse 5s ease-in-out infinite; }
.kc24-hero-bottom-line { position:absolute; bottom:0; left:0; right:0; height:6px; display:flex; }
.kc24-hero-bottom-line span:first-child { width:34%; background:#b77750; }
.kc24-hero-bottom-line span:last-child { flex:1; background:#39241a; }

.kc24-ribbon { overflow:hidden; background:#b17b56; color:#fff5e5; padding:17px 0; border-top:1px solid #d7ab81; border-bottom:1px solid #8d5a3c; }
.kc24-ribbon-track { display:flex; width:max-content; animation:kc24-marquee 38s linear infinite; }
.kc24-ribbon-set { display:flex; flex:none; gap:55px; padding-right:55px; }
.kc24-ribbon-set span { white-space:nowrap; display:flex; align-items:center; gap:55px; font-size:15px; font-weight:800; letter-spacing:3px; text-transform:uppercase; }
.kc24-ribbon-set i { font-size:27px; font-style:normal; font-weight:400; color:#f9d6b4; }

.kc24-story-origin { background:#f8f3e9; }
.kc24-origin-layout { display:flex; align-items:center; gap:9%; }
.kc24-origin-visual { flex:0 1 47%; min-width:0; position:relative; padding:35px 45px 45px 0; }
.kc24-origin-photo { height:545px; overflow:hidden; border-radius:210px 210px 2px 2px; position:relative; z-index:2; }
.kc24-origin-photo img { transition:transform 1.8s ease; }
.kc24-origin-visual:hover img { transform:scale(1.06); }
.kc24-orbit-emblem { z-index:3; position:absolute; width:142px; height:142px; border-radius:50%; right:-14px; bottom:0; background:#a5653e; color:#fff2e3; display:flex; align-items:center; justify-content:center; box-shadow:0 15px 60px #50301f33; }
.kc24-orbit-emblem::before, .kc24-orbit-emblem::after { content:''; position:absolute; inset:12px; border:1px dashed #f5d7bc; border-radius:50%; animation:kc24-spin 24s linear infinite; }
.kc24-orbit-emblem::after { inset:26px; animation-direction:reverse; opacity:.7; }
.kc24-orbit-emblem span { font-size:50px; line-height:1; }
.kc24-origin-rail { position:absolute; height:75%; width:1px; left:-18px; top:8%; background:#c8aa8c; }
.kc24-origin-copy { flex:1 1 53%; max-width:565px; }
.kc24-origin-copy .kc19-heading { max-width:540px; margin-bottom:32px; }
.kc24-origin-copy .kc19-rich { max-width:510px; }
.kc24-origin-line { display:block; width:110px; height:2px; background:#b67c58; margin-top:45px; }

.kc24-story-quote { position:relative; z-index:0; overflow:hidden; background:#2c1b15; color:#ffefe0; text-align:center; padding:125px 0; }
.kc24-story-quote .kc-container { position:relative; z-index:2; max-width:980px; }
.kc24-story-quote p { font-size:52px; font-weight:800; line-height:1.25; letter-spacing:-1.5px; margin:2px auto 0; text-wrap:balance; }
.kc24-quote-icon { display:block; font-family:Georgia,serif; font-size:100px; line-height:.9; color:#d5a174; }
.kc24-quote-divider { display:block; margin:36px auto 0; width:75px; height:2px; background:#ad7752; }
.kc24-quote-rings { position:absolute; left:50%; top:50%; width:700px; height:700px; transform:translate(-50%,-50%); opacity:.19; pointer-events:none; }
.kc24-quote-rings span { position:absolute; inset:0; border:1px solid #ceaa87; border-radius:48%; animation:kc24-spin 55s linear infinite; }
.kc24-quote-rings span:nth-child(2) { inset:55px; animation-duration:40s; animation-direction:reverse; }
.kc24-quote-rings span:nth-child(3) { inset:110px; animation-duration:33s; }

.kc24-story-timeline { background:#ede1cf; }
.kc24-section-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:55px; margin-bottom:62px; }
.kc24-section-intro > div { flex:1; min-width:0; }
.kc24-section-intro > p { max-width:330px; font-size:17px; line-height:1.75; color:#846e5b; margin:0 0 10px; }
.kc24-timeline-list { border-top:1px solid #cbb297; }
.kc24-timeline-row { display:flex; gap:45px; align-items:center; border-bottom:1px solid #cbb297; padding:34px 0; min-height:270px; }
.kc24-timeline-number { flex:0 0 78px; align-self:stretch; position:relative; display:flex; justify-content:center; padding-top:4px; }
.kc24-timeline-number span { font-weight:900; color:#a56541; font-size:19px; z-index:1; }
.kc24-timeline-number i { position:absolute; height:80%; width:1px; top:44px; background:#c0a78e; }
.kc24-timeline-text { flex:1; min-width:0; max-width:520px; }
.kc24-timeline-text h3 { font-size:37px; margin:0 0 14px; line-height:1.15; }
.kc24-timeline-text p { font-size:16px; line-height:1.8; color:#77604c; max-width:430px; margin:0; }
.kc24-timeline-image { flex:0 0 275px; height:205px; overflow:hidden; background:#b68c6d; border-radius:2px 75px 2px 2px; box-shadow:12px 12px 0 #be97743d; }
.kc24-timeline-image img { transition:transform .8s ease; }
.kc24-timeline-row:hover img { transform:scale(1.075); }

.kc24-story-craft { background:#291a14; color:#f9eee1; position:relative; }
.kc24-story-craft::before { content:''; position:absolute; width:550px; height:550px; border:1px solid #cf9b713b; border-radius:50%; top:-350px; right:-200px; }
.kc24-section-intro-light .kc19-heading { color:#fff5e9; }
.kc24-section-intro-light .kc19-kicker { color:#d7aa84; }
.kc24-craft-mark { font-size:105px; color:#ba8159; animation:kc24-spin 30s linear infinite; }
.kc24-process-list { display:flex; flex-direction:column; gap:34px; }
.kc24-process-card { display:flex; min-height:395px; background:#3a281f; overflow:hidden; position:relative; border:1px solid #785237; transition:transform .5s ease,box-shadow .5s ease; }
.kc24-process-card:hover { transform:translateY(-6px); box-shadow:0 35px 70px #120b0788; }
.kc24-process-card:nth-child(even) { flex-direction:row-reverse; }
.kc24-process-copy { flex:1 1 48%; padding:54px 54px 48px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; }
.kc24-process-index { font-size:15px; letter-spacing:3px; font-weight:800; color:#d5a279; margin-bottom:40px; }
.kc24-process-copy h3 { font-size:44px; line-height:1.13; color:#fff4e7; margin-bottom:18px; }
.kc24-process-copy p { max-width:440px; font-size:17px; color:#d7c1b0; line-height:1.8; }
.kc24-process-divider { height:2px; width:66px; margin-top:26px; background:#c68b61; }
.kc24-process-image { flex:1 1 52%; min-width:0; height:auto; min-height:390px; overflow:hidden; }
.kc24-process-image img { transition:transform 1s ease; }
.kc24-process-card:hover img { transform:scale(1.07); }

.kc24-story-feature { background:#f6eddf; }
.kc24-feature-layout { display:flex; gap:8%; align-items:center; }
.kc24-feature-photo { flex:0 1 52%; height:550px; background:#eadbc5; position:relative; border-radius:2px 200px 2px 2px; overflow:hidden; }
.kc24-feature-photo figcaption { position:absolute; bottom:0; left:0; right:0; padding:42px 28px 22px; font-weight:700; letter-spacing:1px; color:#fff7ed; background:linear-gradient(transparent,#1f140bb3); }
.kc24-feature-copy { flex:1; min-width:0; position:relative; }
.kc24-feature-copy .kc19-heading { margin-bottom:30px; }
.kc24-feature-decor { display:block; margin-bottom:45px; width:90px; height:90px; border:1px solid #bc8b69; color:#a86b44; font-size:49px; display:flex; align-items:center; justify-content:center; border-radius:50%; animation:kc24-spin 22s linear infinite; }

.kc24-story-values { background:#fffcf6; }
.kc24-values-heading { max-width:870px; margin-bottom:48px; }
.kc24-values-row { display:flex; align-items:stretch; gap:25px; }
.kc24-value-card { flex:1; min-width:0; border:1px solid #d9c8b7; background:#f7f0e7; padding:34px 30px 38px; position:relative; overflow:hidden; transition:transform .45s ease,background .45s ease; }
.kc24-value-card:hover { transform:translateY(-8px); background:#eee1d0; }
.kc24-value-orbit { border:1px solid #ceab8d; border-radius:50%; width:100px; height:100px; display:flex; align-items:center; justify-content:center; position:relative; margin-bottom:60px; }
.kc24-value-orbit i { position:absolute; inset:9px; border:1px dashed #c9a281; border-radius:50%; animation:kc24-spin 23s linear infinite; }
.kc24-value-orbit span { font-size:38px; color:#ac714e; }
.kc24-value-number { position:absolute; right:30px; top:40px; font-size:16px; color:#a26a48; font-weight:800; }
.kc24-value-card h3 { font-size:30px; line-height:1.2; margin:0 0 17px; }
.kc24-value-card p { line-height:1.75; font-size:16px; margin:0; color:#796655; }

.kc24-story-end { position:relative; z-index:0; min-height:530px; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; padding:100px 0; background:#2d1c16; color:#fff4e8; }
.kc24-story-end::before { content:''; position:absolute; z-index:-2; inset:0; background-image:linear-gradient(#20120bdc,#20120bf0),var(--kc24-end-image); background-size:cover; background-position:center; }
.kc24-end-content { max-width:900px !important; position:relative; }
.kc24-end-symbol { display:block; font-size:52px; color:#d6a37d; line-height:1; margin-bottom:14px; animation:kc24-spin 22s linear infinite; }
.kc24-story-end .kc19-kicker { color:#dba981; }
.kc24-story-end .kc19-heading { max-width:750px; margin:0 auto; color:#fff3e6; }
.kc24-story-end p { color:#d6bca6; max-width:540px; margin:24px auto 28px; font-size:17px; line-height:1.75; }
.kc24-story-end .kc19-button { background:#e6bb96; color:#2c1b15; border-color:#e6bb96; }

/* GALLERY — sculptural editorial hero, flexible archive, photographic stories. */
.kc24-gallery-hero { position:relative; overflow:hidden; background:#eee1cf; padding:72px 0 96px; }
.kc24-gallery-hero::before { content:''; position:absolute; background:#f9f2e7; width:530px; height:530px; border-radius:50%; left:-230px; top:-170px; }
.kc24-gallery-hero-layout { min-height:610px; position:relative; display:flex; gap:70px; align-items:center; }
.kc24-gallery-hero-copy { position:relative; z-index:5; flex:0 1 51%; min-width:0; }
.kc24-gallery-hero .kc24-hero-rule { max-width:480px; border-color:#ba9d7d; }
.kc24-gallery-hero .kc24-hero-rule > span { color:#ad714c; }
.kc24-gallery-hero h1 { font-size:77px; line-height:1.08; letter-spacing:-3px; max-width:635px; margin:40px 0 28px; }
.kc24-gallery-hero-copy > p { color:#735844; max-width:460px; font-size:18px; line-height:1.78; margin-bottom:30px; }
.kc24-gallery-corner { display:block; margin-top:90px; font-size:13px; letter-spacing:2.5px; text-transform:uppercase; font-weight:800; color:#966b4e; }
.kc24-gallery-hero-composition { position:relative; height:590px; flex:1 1 49%; min-width:0; perspective:1000px; }
.kc24-gallery-main-image { position:absolute; right:25px; top:25px; height:85%; width:81%; border-radius:160px 160px 3px 3px; overflow:hidden; box-shadow:20px 30px 70px #6e3b2450; transform:rotate(-3deg); }
.kc24-gallery-main-image figcaption { position:absolute; left:0; bottom:0; right:0; background:linear-gradient(transparent,#281811ab); color:#fff8ee; padding:45px 24px 20px; font-size:13px; font-weight:700; letter-spacing:1px; }
.kc24-gallery-main-image img { transition:transform 1s ease; }
.kc24-gallery-hero-composition:hover .kc24-gallery-main-image img { transform:scale(1.06); }
.kc24-gallery-small-photo { position:absolute; overflow:hidden; border:7px solid #f7eee0; box-shadow:0 15px 40px #4d261c61; }
.kc24-gallery-small-0 { width:34%; height:36%; bottom:3px; left:0; z-index:4; transform:rotate(8deg); animation:kc24-float 8s ease-in-out infinite alternate; }
.kc24-gallery-small-1 { width:30%; height:32%; right:0; top:3px; z-index:4; transform:rotate(7deg); animation:kc24-float-reverse 10s ease-in-out infinite alternate; }
.kc24-gallery-hero-ring { position:absolute; inset:2% 0 0 1%; border:1px solid #b78d6b; border-radius:50%; animation:kc24-spin 60s linear infinite; }
.kc24-gallery-hero-stamp { position:absolute; bottom:-1%; right:25%; font-size:65px; color:#9d6240; animation:kc24-spin 20s linear infinite; }
.kc24-gallery-rail { background:#a46b48; height:58px; overflow:hidden; }
.kc24-gallery-rail div { display:flex; justify-content:space-around; align-items:center; height:100%; max-width:1260px; margin:auto; }
.kc24-gallery-rail span { color:#e5c2a4; font-size:32px; animation:kc24-spin 25s linear infinite; }

.kc24-gallery-body { padding:48px 0 0; background:#fbf8f3; }
.kc24-gallery-body .kc19-rich { max-width:850px; margin:0 auto; text-align:center; }
.kc24-gallery-collection { background:#fbf8f3; }
.kc24-gallery-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:35px; }
.kc24-gallery-section-heading .kc19-heading { margin-bottom:0; }
.kc24-gallery-section-heading > p { max-width:360px; font-size:17px; color:#7f6958; line-height:1.75; margin-bottom:4px; }
.kc24-gallery-filters { display:flex; gap:10px; flex-wrap:wrap; align-items:center; border-top:1px solid #ddcdbb; padding:25px 0 38px; }
.kc24-gallery-filter { border:1px solid #d7c2ae; background:transparent; border-radius:0; color:#705443; padding:11px 19px; font-family:Nunito,Arial,sans-serif; font-size:15px; font-weight:800; cursor:pointer; transition:background .25s ease,color .25s ease; display:inline-flex; gap:13px; align-items:center; }
.kc24-gallery-filter span { font-size:12px; opacity:.7; }
.kc24-gallery-filter:hover, .kc24-gallery-filter.is-active { background:#ab704d; color:#fff8ef; border-color:#ab704d; }
.kc24-gallery-grid { display:flex; flex-wrap:wrap; align-items:flex-start; gap:36px 24px; }
.kc24-gallery-tile { flex:0 0 calc((100% - 48px) / 3); min-width:0; transition:opacity .3s ease,transform .4s ease; }
.kc24-gallery-tile.is-filtered, .kc24-gallery-tile.is-paged { display:none; }
.kc24-gallery-tile:nth-child(6n+1), .kc24-gallery-tile:nth-child(6n+5) { flex-basis:calc((100% - 24px) / 2); }
.kc24-gallery-tile:nth-child(6n+2), .kc24-gallery-tile:nth-child(6n+6) { flex-basis:calc((100% - 48px) / 3); }
.kc24-gallery-tile:nth-child(6n+3), .kc24-gallery-tile:nth-child(6n+4) { flex-basis:calc((100% - 48px) / 3); }
.kc24-gallery-tile:nth-child(6n+1) { flex-basis:calc((100% - 24px) / 2); }
.kc24-gallery-tile:nth-child(6n+2) { flex-basis:calc((100% - 24px) / 2); }
.kc24-gallery-tile:nth-child(6n+3), .kc24-gallery-tile:nth-child(6n+4), .kc24-gallery-tile:nth-child(6n+5) { flex-basis:calc((100% - 48px) / 3); }
.kc24-gallery-tile:nth-child(6n+6) { flex-basis:100%; }
.kc24-gallery-image { height:325px; display:block; position:relative; overflow:hidden; background:#e8d6be; }
.kc24-gallery-tile:nth-child(6n+1) .kc24-gallery-image, .kc24-gallery-tile:nth-child(6n+2) .kc24-gallery-image { height:410px; }
.kc24-gallery-tile:nth-child(6n+6) .kc24-gallery-image { height:410px; }
.kc24-gallery-image img { transition:transform .85s cubic-bezier(.2,.7,.2,1); }
.kc24-gallery-image:hover img { transform:scale(1.09); }
.kc24-gallery-image::after { content:''; position:absolute; inset:0; background:#2a170f11; transition:background .3s ease; }
.kc24-gallery-image:hover::after { background:#2a170f43; }
.kc24-gallery-hover-symbol { position:absolute; z-index:3; width:56px; height:56px; right:20px; bottom:20px; border:1px solid #f9eee5ad; background:#fff2e81c; display:flex; align-items:center; justify-content:center; color:#fff; font-size:25px; opacity:0; transform:translateY(10px); transition:.35s ease; }
.kc24-gallery-image:hover .kc24-gallery-hover-symbol, .kc24-gallery-image:focus-visible .kc24-gallery-hover-symbol { opacity:1; transform:translateY(0); }
.kc24-gallery-tile-caption { display:flex; justify-content:space-between; gap:15px; align-items:flex-start; padding:17px 0 0; }
.kc24-gallery-tile-caption > div > span { color:#a46d49; text-transform:uppercase; letter-spacing:1.9px; font-size:12px; font-weight:800; }
.kc24-gallery-tile-caption h3 { font-size:22px; line-height:1.25; margin:8px 0 0; }
.kc24-gallery-tile-caption p { font-size:14px; line-height:1.65; color:#826c5b; margin:7px 0 0; }
.kc24-gallery-index { font-size:13px; font-weight:800; color:#9a806c; }
.kc24-more-holder { display:flex; justify-content:center; padding-top:45px; }
.kc24-load-more { padding:15px 23px; border:1px solid #a86b47; background:#a86b47; color:#fff; font-family:Nunito,Arial,sans-serif; font-size:15px; font-weight:800; cursor:pointer; display:flex; gap:30px; align-items:center; }
.kc24-load-more span { font-size:20px; }
.kc24-load-more:hover { background:#75452f; }

.kc24-gallery-feature { background:#e6d3bb; }
.kc24-gallery-feature-layout { display:flex; align-items:center; gap:7%; }
.kc24-gallery-feature-copy { flex:0 1 43%; position:relative; }
.kc24-gallery-feature-copy .kc19-heading { font-size:61px; margin-bottom:26px; }
.kc24-gallery-feature-copy > p { font-size:17px; color:#765c47; line-height:1.85; max-width:445px; }
.kc24-gallery-feature-photo { flex:1; height:570px; min-width:0; position:relative; overflow:hidden; border-radius:220px 220px 2px 2px; box-shadow:18px 18px 0 #bb97783d; }
.kc24-gallery-feature-photo figcaption { position:absolute; bottom:0; padding:40px 30px 20px; background:linear-gradient(transparent,#1e130dbf); left:0; right:0; color:#fff6eb; letter-spacing:1px; font-weight:700; }

.kc24-gallery-studies { background:#f8f2e9; }
.kc24-studies-row { display:flex; gap:23px; align-items:stretch; }
.kc24-study-card { flex:1; min-width:0; }
.kc24-study-card figure { height:340px; background:#e6d3bd; overflow:hidden; }
.kc24-study-card:nth-child(2) figure { height:405px; }
.kc24-study-card:nth-child(3) figure { height:285px; }
.kc24-study-card img { transition:transform .8s ease; }
.kc24-study-card:hover img { transform:scale(1.075); }
.kc24-study-caption { display:flex; gap:20px; align-items:flex-start; border-top:1px solid #c8ad91; padding:18px 0 0; margin-top:18px; }
.kc24-study-caption > span { flex:0 0 30px; color:#a06c4a; font-size:14px; font-weight:800; }
.kc24-study-caption h3 { font-size:23px; margin:0 0 9px; }
.kc24-study-caption p { color:#826a57; line-height:1.7; font-size:15px; margin:0; }
.kc24-gallery-quote { position:relative; z-index:0; background:#39241a; padding:110px 0 100px; color:#fff1e5; text-align:center; overflow:hidden; }
.kc24-gallery-quote .kc-container { max-width:900px; position:relative; }
.kc24-gallery-quote .kc-container > span { display:block; color:#d4a179; font-size:56px; animation:kc24-spin 26s linear infinite; margin-bottom:28px; }
.kc24-gallery-quote p { font-size:52px; line-height:1.25; font-weight:800; letter-spacing:-1.2px; text-wrap:balance; }
.kc24-gallery-quote i { display:block; height:1px; width:95px; margin:38px auto 0; background:#c68f68; }
.kc24-gallery .kc19-closing { background:#e6d2b9; padding:105px 0; }
.kc24-gallery .kc19-closing .kc19-heading { font-size:56px; }
.kc24-gallery .kc19-closing p { font-size:17px; line-height:1.8; }
.kc24-editorials { background:#fff9ef; }
.kc24-editorial-item { display:flex; align-items:center; gap:8%; margin-bottom:80px; }
.kc24-editorial-item:nth-child(even) { flex-direction:row-reverse; }
.kc24-editorial-item:last-child { margin-bottom:0; }
.kc24-editorial-item > figure { flex:0 1 50%; height:465px; overflow:hidden; }
.kc24-editorial-item > div { flex:1; }
.kc24-editorial-item .kc19-heading { font-size:48px; margin-bottom:23px; }

/* Scroll-triggered reveals, parallax and 3D depth are progressive and never hide content without JS. */
.kc24-page.kc24-enhanced [data-kc24-reveal] { opacity:0; transform:translateY(32px) perspective(900px) rotateX(3deg); transition:opacity .9s ease,transform 1.1s cubic-bezier(.16,1,.3,1); }
.kc24-page.kc24-enhanced [data-kc24-reveal].kc24-visible { opacity:1; transform:translateY(0) perspective(900px) rotateX(0); }
.kc24-page.kc24-enhanced [data-kc24-reveal]:nth-child(2n) { transition-delay:100ms; }
@keyframes kc24-spin { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@keyframes kc24-aura { from { transform:translate(0,0) scale(1); } to { transform:translate(100px,55px) scale(1.25); } }
@keyframes kc24-float { from { transform:translateY(0) rotate(-8deg); } to { transform:translateY(-18px) rotate(-5deg); } }
@keyframes kc24-float-reverse { from { transform:translateY(0) rotate(7deg); } to { transform:translateY(-17px) rotate(10deg); } }
@keyframes kc24-pulse { 0%,100% { opacity:.5; transform:scale(.95); } 50% { opacity:1; transform:scale(1.12); } }
@keyframes kc24-marquee { to { transform:translateX(-50%); } }

@media(max-width:1100px) {
  .kc24-story-hero-layout, .kc24-gallery-hero-layout { gap:35px; }
  .kc24-story .kc24-story-hero h1, .kc24-gallery-hero h1 { font-size:61px; }
  .kc24-page .kc19-heading { font-size:52px; }
  .kc24-origin-layout, .kc24-feature-layout { gap:5%; }
  .kc24-story-stage, .kc24-gallery-hero-composition { height:500px; }
  .kc24-process-copy { padding:45px 30px; }
  .kc24-process-copy h3 { font-size:35px; }
  .kc24-gallery-feature-copy .kc19-heading { font-size:49px; }
  .kc24-gallery-image { height:280px; }
}
@media(max-width:760px) {
  .kc24-page .kc-container { padding-left:20px; padding-right:20px; }
  .kc24-section { padding:68px 0; }
  .kc24-page .kc19-heading { font-size:40px; line-height:1.14; letter-spacing:-1.3px; }
  .kc24-page .kc19-kicker { letter-spacing:1.8px; font-size:12px; margin-bottom:13px; }
  .kc24-page .kc19-rich { font-size:16px; }
  .kc24-story-hero { padding:42px 0 68px; }
  .kc24-story-hero-layout, .kc24-gallery-hero-layout { min-height:0; flex-direction:column; gap:15px; align-items:stretch; }
  .kc24-story-hero-copy, .kc24-gallery-hero-copy { flex:auto; width:100%; }
  .kc24-hero-rule { padding-top:17px; }
  .kc24-story .kc24-story-hero h1, .kc24-gallery-hero h1 { font-size:49px; line-height:1.1; letter-spacing:-1.5px; margin:25px 0 17px; }
  .kc24-story-lead, .kc24-gallery-hero-copy > p { font-size:16px; line-height:1.73; margin-bottom:22px; }
  .kc24-hero-side-note, .kc24-gallery-corner { margin-top:24px; font-size:11px; }
  .kc24-story-stage { margin-top:15px; height:410px; flex:auto; width:100%; }
  .kc24-story-hero-photo { width:78%; height:85%; right:7px; top:7px; border-radius:135px 135px 3px 3px; }
  .kc24-story-floating-photo { width:41%; height:32%; bottom:12px; left:5px; border-width:6px; }
  .kc24-stage-mark { font-size:40px; }
  .kc24-ribbon { padding:13px 0; }
  .kc24-ribbon-set, .kc24-ribbon-set span { gap:30px; }
  .kc24-ribbon-set span { font-size:12px; }
  .kc24-ribbon-set i { font-size:20px; }
  .kc24-origin-layout, .kc24-feature-layout { flex-direction:column; gap:32px; align-items:stretch; }
  .kc24-origin-visual { width:100%; padding:8px 25px 25px 0; }
  .kc24-origin-photo { height:390px; border-radius:150px 150px 2px 2px; }
  .kc24-orbit-emblem { width:92px; height:92px; right:-2px; }
  .kc24-orbit-emblem span { font-size:33px; }
  .kc24-origin-copy { flex:auto; max-width:none; }
  .kc24-origin-copy .kc19-heading, .kc24-feature-copy .kc19-heading { margin-bottom:20px; }
  .kc24-story-quote { padding:85px 0; }
  .kc24-story-quote p { font-size:34px; line-height:1.29; }
  .kc24-quote-icon { font-size:75px; }
  .kc24-quote-rings { width:450px; height:450px; }
  .kc24-section-intro, .kc24-gallery-section-heading { flex-direction:column; gap:12px; align-items:stretch; margin-bottom:34px; }
  .kc24-section-intro > p, .kc24-gallery-section-heading > p { max-width:none; font-size:16px; }
  .kc24-timeline-row { gap:17px; flex-wrap:wrap; padding:26px 0; }
  .kc24-timeline-number { flex:0 0 42px; padding:0; }
  .kc24-timeline-number i { display:none; }
  .kc24-timeline-text { flex:1; }
  .kc24-timeline-text h3 { font-size:28px; }
  .kc24-timeline-text p { font-size:15px; }
  .kc24-timeline-image { margin-left:59px; flex:0 0 calc(100% - 59px); height:235px; }
  .kc24-craft-mark { font-size:60px; }
  .kc24-process-list { gap:22px; }
  .kc24-process-card, .kc24-process-card:nth-child(even) { flex-direction:column-reverse; min-height:0; }
  .kc24-process-image { height:245px; min-height:245px; flex:auto; }
  .kc24-process-copy { flex:auto; padding:25px 23px 32px; }
  .kc24-process-index { margin-bottom:18px; }
  .kc24-process-copy h3 { font-size:30px; margin-bottom:10px; }
  .kc24-process-copy p { font-size:15px; margin:0; }
  .kc24-process-divider { margin-top:19px; }
  .kc24-feature-photo { flex:auto; width:100%; height:390px; border-radius:150px 150px 2px 2px; }
  .kc24-feature-decor { width:70px; height:70px; font-size:35px; margin-bottom:25px; }
  .kc24-values-row { flex-direction:column; gap:15px; }
  .kc24-value-card { padding:25px; }
  .kc24-value-orbit { width:75px; height:75px; margin-bottom:22px; }
  .kc24-value-card h3 { font-size:26px; }
  .kc24-story-end { padding:85px 0; min-height:450px; }
  .kc24-story-end p { font-size:16px; }
  .kc24-gallery-hero { padding:40px 0 60px; }
  .kc24-gallery-hero-composition { flex:auto; width:100%; height:440px; margin-top:18px; }
  .kc24-gallery-main-image { height:80%; right:7%; top:6%; width:76%; border-radius:130px 130px 2px 2px; }
  .kc24-gallery-small-0 { width:36%; height:32%; left:2%; }
  .kc24-gallery-small-1 { width:31%; height:28%; right:0; }
  .kc24-gallery-hero-stamp { font-size:40px; }
  .kc24-gallery-rail { height:42px; }
  .kc24-gallery-rail span { font-size:23px; }
  .kc24-gallery-filters { padding:20px 0 25px; gap:7px; }
  .kc24-gallery-filter { padding:9px 13px; font-size:13px; }
  .kc24-gallery-grid { gap:28px 14px; }
  .kc24-gallery-tile, .kc24-gallery-tile:nth-child(n) { flex:0 0 calc((100% - 14px) / 2); }
  .kc24-gallery-tile:nth-child(5n+1) { flex-basis:100%; }
  .kc24-gallery-image, .kc24-gallery-tile:nth-child(n) .kc24-gallery-image { height:205px; }
  .kc24-gallery-tile:nth-child(5n+1) .kc24-gallery-image { height:315px; }
  .kc24-gallery-hover-symbol { width:36px; height:36px; right:10px; bottom:10px; opacity:1; transform:none; font-size:19px; }
  .kc24-gallery-tile-caption { padding-top:11px; }
  .kc24-gallery-tile-caption h3 { font-size:17px; }
  .kc24-gallery-tile-caption p { font-size:13px; }
  .kc24-gallery-feature-layout { flex-direction:column; gap:25px; align-items:stretch; }
  .kc24-gallery-feature-copy { flex:auto; }
  .kc24-gallery-feature-copy .kc19-heading { font-size:41px; }
  .kc24-gallery-feature-photo { flex:auto; height:390px; border-radius:155px 155px 2px 2px; }
  .kc24-studies-row { flex-wrap:wrap; gap:26px 12px; }
  .kc24-study-card { flex:0 0 calc((100% - 12px) / 2); }
  .kc24-study-card:nth-child(3n) { flex:0 0 100%; }
  .kc24-study-card figure, .kc24-study-card:nth-child(2) figure, .kc24-study-card:nth-child(3) figure { height:240px; }
  .kc24-study-card:nth-child(3n) figure { height:310px; }
  .kc24-study-caption { gap:9px; }
  .kc24-study-caption h3 { font-size:18px; }
  .kc24-study-caption p { font-size:13px; }
  .kc24-gallery-quote { padding:80px 0; }
  .kc24-gallery-quote p { font-size:34px; }
  .kc24-gallery .kc19-closing { padding:75px 0; }
  .kc24-gallery .kc19-closing .kc19-heading { font-size:39px; }
  .kc24-editorial-item,.kc24-editorial-item:nth-child(even) { flex-direction:column; gap:24px; align-items:stretch; margin-bottom:52px; }
  .kc24-editorial-item > figure { flex:auto; height:310px; }
  .kc24-editorial-item .kc19-heading { font-size:38px; }
}
@media(max-width:380px) {
  .kc24-story .kc24-story-hero h1, .kc24-gallery-hero h1 { font-size:42px; }
  .kc24-story-stage, .kc24-gallery-hero-composition { height:365px; }
  .kc24-gallery-tile, .kc24-gallery-tile:nth-child(n) { flex-basis:100%; }
  .kc24-gallery-tile:nth-child(n) .kc24-gallery-image { height:270px; }
}
@media(prefers-reduced-motion:reduce) {
  .kc24-page *, .kc24-page *::before, .kc24-page *::after { animation:none !important; transition:none !important; }
  .kc24-page.kc24-enhanced [data-kc24-reveal] { opacity:1; transform:none; }
}
