:root {
  color-scheme: dark;
  --ci-white: #f6f4ef;
  --ci-soft-white: rgba(246, 244, 239, .83);
  --ci-muted: rgba(246, 244, 239, .59);
  --ci-accent: #dfc39b;
  --ci-gutter: clamp(26px, 5.8vw, 108px);
}
*, *::before, *::after { box-sizing: border-box; }
html { height: 100%; background: #0c1518; }
body.ci-cs-body {
  min-height: 100%; margin: 0; color: var(--ci-white);
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--ci-accent); outline-offset: 5px; }
.ci-cs-page { isolation: isolate; position: relative; min-height: 100vh; min-height: 100svh; overflow: hidden; background: #0c171b; }
.ci-cs-scenery { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: radial-gradient(ellipse at 75% 35%, #2d3c40 0, #14252b 40%, #0a1115 82%); }
.ci-cs-fallback-shape { position: absolute; opacity: .7; pointer-events: none; }
.ci-cs-fallback-shape--one {
  width: 53vw; height: 90vh; min-width: 500px; right: -10%; top: -18%;
  transform: rotate(-32deg); border-radius: 50% 50% 12% 45%;
  background: linear-gradient(120deg, transparent 20%, rgba(178, 179, 159, .13) 45%, transparent 65%);
  border: 1px solid rgba(255, 255, 255, .08);
}
.ci-cs-fallback-shape--two {
  width: 60vw; height: 75vh; right: -20%; bottom: -46%; transform: rotate(35deg);
  border: clamp(40px, 8vw, 150px) solid rgba(144, 172, 170, .065); border-radius: 50%;
}
.ci-cs-slide { position: absolute; inset: 0; opacity: 0; transition: opacity var(--ci-cs-fade, 1400ms) ease; }
.ci-cs-slide--active { opacity: 1; z-index: 1; }
.ci-cs-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1); }
.ci-cs-slide--active.ci-cs-slide--fit-cover img { animation: ci-cs-kenburns 16s ease-out both; }
@keyframes ci-cs-kenburns { from { transform: scale(1); } to { transform: scale(1.095); } }
.ci-cs-gradient-overlay {
  position: absolute; z-index: 2; inset: 0;
  background: linear-gradient(90deg,
     rgba(4, 11, 14, calc(var(--ci-cs-overlay, .62) + .16)) 0%,
     rgba(5, 12, 16, var(--ci-cs-overlay, .62)) 52%,
     rgba(5, 12, 16, calc(var(--ci-cs-overlay, .62) - .12)) 100%),
     linear-gradient(180deg, rgba(4, 11, 14, .27) 0%, rgba(4, 11, 14, .03) 28%, rgba(4, 11, 14, .12) 72%, rgba(4, 11, 14, .47) 100%);
}
.ci-cs-noise { position: absolute; z-index: 3; inset: 0; opacity: .12; pointer-events: none; background: repeating-linear-gradient(120deg, transparent 0, transparent 5px, rgba(255,255,255,.022) 6px, transparent 7px); }
.ci-cs-layout { display: flex; min-height: 100vh; min-height: 100svh; flex-direction: column; position: relative; padding: clamp(25px, 4.1vw, 62px) var(--ci-gutter) clamp(23px, 3.8vw, 58px); }
.ci-cs-header, .ci-cs-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ci-cs-header { min-height: 52px; }
.ci-cs-brand { display: inline-flex; flex-direction: column; align-items: flex-start; min-width: 0; max-width: 55%; }
.ci-cs-brand-image { height: clamp(35px, 4.1vw, 65px); width: auto; max-width: min(320px, 100%); object-fit: contain; object-position: left center; }
.ci-cs-brand-wordmark { font-size: clamp(22px, 2vw, 29px); line-height: 1.03; letter-spacing: -.07em; font-weight: 400; text-transform: none; }
.ci-cs-brand-studio { margin-top: 7px; font-size: 8px; font-weight: 550; line-height: 1.3; letter-spacing: .29em; color: rgba(255,255,255,.61); }
.ci-cs-domain { color: rgba(255,255,255,.65); font-size: 10px; letter-spacing: .2em; font-weight: 600; text-align: right; }
.ci-cs-main { display: flex; flex: 1; align-items: center; padding: clamp(70px, 11vh, 140px) 0 clamp(84px, 11vh, 145px); }
.ci-cs-content { max-width: min(1100px, 91%); }
.ci-cs-eyebrow { display: flex; gap: 15px; align-items: center; font-size: clamp(10px, 0.87vw, 12px); font-weight: 600; letter-spacing: .235em; line-height: 1.6; color: var(--ci-accent); text-transform: uppercase; }
.ci-cs-accent-rule { width: 30px; min-width: 30px; height: 1px; background: var(--ci-accent); }
.ci-cs-title { white-space: pre-line; margin: clamp(24px, 4vh, 44px) 0 clamp(23px, 3.6vh, 38px); font-size: clamp(49px, 7.1vw, 115px); line-height: 1.055; font-weight: 300; letter-spacing: -.067em; text-wrap: balance; }
.ci-cs-description { width: min(660px, 100%); margin: 0; color: var(--ci-soft-white); font-size: clamp(15px, 1.16vw, 18px); line-height: 1.87; font-weight: 350; }
.ci-cs-contact { display: inline-flex; align-items: center; gap: 25px; margin-top: 35px; padding: 0 0 12px; border-bottom: 1px solid rgba(246,244,239,.6); color: var(--ci-white); text-decoration: none; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; transition: gap .2s ease, border-color .2s ease, color .2s ease; }
.ci-cs-contact:hover { gap: 35px; border-color: var(--ci-accent); color: var(--ci-accent); }
.ci-cs-contact span { font-size: 20px; font-weight: 300; line-height: 1; }
.ci-cs-footer { padding-top: 25px; border-top: 1px solid rgba(246,244,239,.19); min-height: 51px; }
.ci-cs-carousel-ui { display: flex; align-items: center; gap: 24px; }
.ci-cs-slide-number { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 650; letter-spacing: .12em; font-variant-numeric: tabular-nums; }
.ci-cs-divider, .ci-cs-slide-number span:last-child { color: rgba(255,255,255,.5); }
.ci-cs-progress-rail { display: block; width: clamp(54px, 7vw, 112px); height: 1px; background: rgba(246,244,239,.3); overflow: hidden; }
.ci-cs-progress-rail span { display: block; background: var(--ci-accent); height: 100%; width: 0; }
.ci-cs-progress-rail span.ci-cs-progress--run { animation: ci-cs-progress var(--ci-cs-interval, 7000ms) linear forwards; }
@keyframes ci-cs-progress { from { width: 0; } to { width: 100%; } }
.ci-cs-slide-controls { display: flex; align-items: center; gap: 6px; }
.ci-cs-arrow { display: grid; place-items: center; border: 1px solid rgba(255,255,255,.33); border-radius: 50%; width: 32px; height: 32px; background: transparent; color: var(--ci-white); font-size: 17px; cursor: pointer; transition: background .2s, border-color .2s; }
.ci-cs-arrow:hover { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.7); }
.ci-cs-footer-right { display: flex; align-items: center; justify-content: flex-end; gap: 23px; }
.ci-cs-footer-copyright, .ci-cs-copyright { color: var(--ci-muted); font-size: 11px; letter-spacing: .03em; }
.ci-cs-footer-separator { display: inline-block; height: 15px; width: 1px; background: rgba(255,255,255,.28); }
.ci-cs-admin-login { display: inline-flex; align-items: center; gap: 10px; color: rgba(255,255,255,.74); text-decoration: none; font-size: 11px; font-weight: 550; letter-spacing: .09em; transition: color .2s; white-space: nowrap; }
.ci-cs-admin-login:hover { color: var(--ci-accent); }
.ci-cs-preview-ribbon { position: fixed; top: 0; left: 50%; z-index: 50; transform: translateX(-50%); background: #e8c598; color: #172120; padding: 8px 16px; border-radius: 0 0 8px 8px; font-size: 10px; font-weight: 700; letter-spacing: .1em; white-space: nowrap; box-shadow: 0 5px 20px rgba(0,0,0,.2); }
.ci-cs-preview-ribbon a { color: #172120; text-decoration: underline; margin-left: 10px; }
@media (max-width: 1050px) {
  .ci-cs-title { font-size: clamp(58px, 8.4vw, 94px); }
  .ci-cs-content { max-width: 100%; }
  .ci-cs-main { padding-top: 110px; padding-bottom: 130px; }
  .ci-cs-domain { letter-spacing: .11em; }
}
@media (max-width: 680px) {
  :root { --ci-gutter: 25px; }
  .ci-cs-layout { min-height: 100svh; padding-top: 29px; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  .ci-cs-header { align-items: flex-start; }
  .ci-cs-brand-wordmark { font-size: 25px; }
  .ci-cs-brand-image { height: 46px; }
  .ci-cs-domain { max-width: 35%; font-size: 8px; letter-spacing: .05em; padding-top: 7px; overflow-wrap: anywhere; }
  .ci-cs-main { align-items: center; padding: 90px 0 100px; }
  .ci-cs-eyebrow { gap: 10px; font-size: 9px; letter-spacing: .14em; line-height: 1.8; }
  .ci-cs-accent-rule { width: 20px; min-width: 20px; }
  .ci-cs-title { margin: 25px 0; font-size: clamp(43px, 10.5vw, 71px); line-height: 1.1; letter-spacing: -.065em; overflow-wrap: break-word; }
  .ci-cs-description { font-size: 15px; line-height: 1.8; }
  .ci-cs-contact { margin-top: 28px; }
  .ci-cs-footer { align-items: flex-start; flex-wrap: wrap; gap: 20px; }
  .ci-cs-footer-left { max-width: 100%; }
  .ci-cs-carousel-ui { gap: 15px; }
  .ci-cs-footer-right { margin-left: auto; gap: 12px; }
  .ci-cs-footer-copyright { display: none; }
  .ci-cs-footer-separator { display: none; }
}
@media (max-width: 380px) {
  .ci-cs-layout { padding-left: 20px; padding-right: 20px; }
  .ci-cs-title { font-size: 41px; }
  .ci-cs-main { padding-top: 70px; padding-bottom: 75px; }
  .ci-cs-progress-rail { width: 44px; }
  .ci-cs-carousel-ui { gap: 10px; }
  .ci-cs-arrow { width: 30px; height: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .ci-cs-slide, .ci-cs-arrow, .ci-cs-contact, .ci-cs-admin-login { animation: none !important; transition: none !important; }
  .ci-cs-slide--active.ci-cs-slide--fit-cover img { animation: none !important; }
  .ci-cs-progress-rail span.ci-cs-progress--run { animation: none !important; width: 100%; }
}
