/* Isolated mascot hero: image art remains fully contained at every width. */
html body.royal-site .km-slider{position:relative;width:min(1440px,calc(100% - 80px));height:480px;margin:16px auto 20px;background:#171819;color:#f5f4f0;border-radius:16px;overflow:hidden;isolation:isolate;touch-action:pan-y}
.km-slide{position:absolute;inset:0;display:grid;grid-template-columns:43% 57%;align-items:center;padding:0 32px}
.km-slide[hidden]{display:none}
.km-copy{position:relative;z-index:2;padding-bottom:44px;min-width:0}
html body.royal-site .km-copy h1,html body.royal-site .km-copy h2{font-size:clamp(28px,3.2vw,44px);line-height:1.1;letter-spacing:-.025em;color:#f5f4f0;margin:0 0 18px;text-wrap:balance;font-weight:650}
html body.royal-site .km-model{color:#d2d2ce;font-size:14px;line-height:1.45;min-height:61px;margin:0 0 20px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-width:440px}
html body.royal-site .km-cta{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:44px;padding:12px 20px;background:#ddc397;color:#171819;border:1px solid #ddc397;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none}
html body.royal-site .km-cta:hover{background:#ecd5ad;color:#171819}
.km-art{position:absolute;top:0;right:0;bottom:0;width:57%;display:flex;align-items:center;justify-content:center;mask-image:linear-gradient(to right,transparent,#000 12%)}
.km-art img{display:block;width:100%;height:100%;object-fit:contain}
.km-controls{position:absolute;z-index:3;bottom:16px;left:32px;display:flex;align-items:center;gap:12px}
.km-controls[hidden]{display:none}.km-dots{display:flex}
html body.royal-site .km-controls button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;background:transparent;color:#f5f4f0;border:1px solid transparent;border-radius:6px;font-size:12px;cursor:pointer}
.km-dots span{display:block;width:7px;height:7px;background:#999d96;border-radius:8px}.km-dots [aria-pressed=true] span{width:22px;background:#ddc397}
html body.royal-site .km-controls [data-km-pause]{border-color:#8e887a;min-width:96px}
.km-slider :focus-visible,.km-slider:focus-visible{outline:2px solid #ddc397;outline-offset:-3px}
@media(max-width:1200px){html body.royal-site .km-slider{width:calc(100% - 48px);height:400px}.km-slide{padding:0 24px}.km-controls{left:24px}}
@media(max-width:900px) and (min-width:601px){html body.royal-site .km-slider{height:360px}.km-slide{grid-template-columns:45% 55%;padding:0 20px}.km-art{width:55%}html body.royal-site .km-copy h1,html body.royal-site .km-copy h2{font-size:28px}.km-model{font-size:12px!important}.km-controls{left:20px}}
@media(max-width:600px){html body.royal-site .km-slider{width:calc(100% - 32px);height:calc(254px + clamp(200px,65vw,290px));margin-top:12px}.km-slide{display:grid;grid-template-columns:1fr;grid-template-rows:206px 1fr 48px;padding:0;align-items:start}.km-copy{padding:16px 16px 0;display:grid;grid-template-rows:60px 48px 44px;gap:10px}html body.royal-site .km-copy h1,html body.royal-site .km-copy h2{font-size:26px;line-height:1.1;margin:0;text-wrap:balance;align-self:center}html body.royal-site .km-model{font-size:12px;line-height:16px;min-height:0;margin:0;align-self:center}html body.royal-site .km-cta{justify-self:start;font-size:12px;padding:10px 16px;gap:20px}.km-art{position:relative;grid-row:2;inset:auto;width:100%;height:100%;mask-image:none}.km-art img{object-fit:contain}.km-controls{left:16px;bottom:4px;gap:8px}}
@media(min-width:901px){.km-art{width:calc(57% - 24px)}}
@media(max-width:600px){.km-slide{grid-template-rows:206px minmax(0,1fr) 48px}.km-art,.km-art img{min-height:0}}

/* Full-bleed art: continuous scene behind copy at every breakpoint. */
html body.royal-site .km-slider{height:clamp(260px,32vw,480px)}
.km-slide{display:flex;align-items:center;padding:24px 32px 60px}
.km-copy{width:43%;padding:0;display:block}
.km-art{position:absolute;inset:0;width:100%;height:100%;display:block;mask-image:none;z-index:0}
.km-art img{width:100%;height:100%;object-fit:cover;object-position:right center}
html body.royal-site .km-model{min-height:0;margin:0 0 18px}
html body.royal-site .km-copy h1,html body.royal-site .km-copy h2{margin:0 0 14px}
@media(min-width:701px) and (max-width:1000px){.km-slide{padding:20px 24px 56px}.km-copy{width:43%}html body.royal-site .km-copy h1,html body.royal-site .km-copy h2{font-size:26px}html body.royal-site .km-model{font-size:12px;line-height:1.35;margin-bottom:12px}.km-controls{bottom:8px}}
@media(max-width:700px){html body.royal-site .km-slider{width:calc(100% - 32px);height:auto;aspect-ratio:2/3;max-height:none;margin-top:12px}.km-slide{display:block;padding:0}.km-copy{position:absolute;top:0;left:0;width:100%;padding:18px 20px;box-sizing:border-box;display:block}.km-art{position:absolute;inset:0;width:100%;height:100%;mask-image:none}.km-art img{object-fit:cover;object-position:center center}html body.royal-site .km-copy h1,html body.royal-site .km-copy h2{font-size:clamp(24px,5.7vw,34px);line-height:1.1;max-width:420px;margin:0 0 10px;text-wrap:balance}html body.royal-site .km-model{font-size:12px;line-height:1.35;min-height:0;max-width:390px;margin:0 0 12px}html body.royal-site .km-cta{font-size:12px;min-height:44px;padding:10px 16px}.km-controls{left:16px;bottom:8px}}
@media(max-width:360px){.km-copy{padding:14px 16px}html body.royal-site .km-copy h1,html body.royal-site .km-copy h2{font-size:23px;margin-bottom:8px}html body.royal-site .km-model{font-size:11px;margin-bottom:8px}}
@media(max-width:360px){html body.royal-site .km-cta{gap:8px;padding:10px 12px;font-size:11px}}
@media(min-width:701px) and (max-width:800px){.km-copy{width:40%}}

/* One shared indicator glides between the fixed 44px targets. */
.km-dots-fluid{position:relative}
.km-dots-fluid [data-km-go] span,.km-dots-fluid [data-km-go][aria-pressed=true] span{width:7px;background:#999d96}
.km-dots-fluid .km-dot-indicator{position:absolute;pointer-events:none;left:0;top:50%;width:22px;height:7px;border-radius:8px;background:#ddc397;transition:transform 250ms var(--ease-in-out,cubic-bezier(0.77,0,0.175,1))}
@media(prefers-reduced-motion:reduce){.km-dots-fluid .km-dot-indicator{transition:none}}
