@font-face {
  font-family: PeydaLatin;
  src: url("assets/fonts/peyda-400.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0-2F,U+3A-FFFF;
}
@font-face {
  font-family: PeydaLatin;
  src: url("assets/fonts/peyda-500.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
  unicode-range: U+0-2F,U+3A-FFFF;
}
@font-face {
  font-family: PeydaLatin;
  src: url("assets/fonts/peyda-600.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
  unicode-range: U+0-2F,U+3A-FFFF;
}
@font-face {
  font-family: PeydaLatin;
  src: url("assets/fonts/peyda-700.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
  unicode-range: U+0-2F,U+3A-FFFF;
}
@font-face {
  font-family: Peyda;
  src: url("assets/fonts/peyda-400.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: Peyda;
  src: url("assets/fonts/peyda-500.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: Peyda;
  src: url("assets/fonts/peyda-600.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: Peyda;
  src: url("assets/fonts/peyda-700.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
@keyframes orbit-drift {
  0% {
    transform: translate(-22px,14px) scale(.94);
    opacity: .6;
  }
  50% {
    transform: translate(10px,-18px) scale(1.025);
    opacity: .95;
  }
  100% {
    transform: translate(25px,12px) scale(1.08);
    opacity: .7;
  }
}
:root{
  color-scheme: light;
  --paper: #eeeee7;
  --scroll-thumb: #b29b61;
  --header-glass: #eeeee7d4;
  --surface: #e3e4db;
  --card: #f6f6f0;
  --ink: #111426;
  --muted: #616b68;
  --line: #cdd0c5;
  --gold: #e3c76e;
  --gold-soft: #efdfad;
  --navy: #141437;
  --on-dark: #f1f2f7;
  --radius: 24px;
  --section-space: 48px;
  --title: clamp(28px,2.8vw,40px);
  --body: 15px;
  --small: 12px;
  --ease: cubic-bezier(.22,1,.36,1);
}
:root[data-theme=dark]{
  color-scheme: dark;
  --paper: #101222;
  --scroll-thumb: #8c7947;
  --header-glass: #101222cc;
  --surface: #202438;
  --card: #191d30;
  --ink: #eceef5;
  --muted: #adb5c6;
  --line: #363d53;
}
*{
  box-sizing: border-box;
}
html{
  background: var(--paper);
  scroll-behavior: auto;
  scroll-padding-top: 110px;
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) var(--paper);
}
body{
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 var(--body)/1.9 Peyda,sans-serif;
}
button,input,select,textarea{
  font: inherit;
}
button{
  cursor: pointer;
}
a{
  color: inherit;
  text-decoration: none;
}
img{
  display: block;
  max-width: 100%;
}
svg{
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
h1,h2,h3,p,figure{
  margin: 0;
}
h1,h2,h3{
  font-weight: 700;
  line-height: 1.6;
  text-wrap: balance;
}
em{
  font-style: normal;
}
mark{
  background: var(--gold);
  color: var(--navy);
  border-radius: 12px;
  padding: 2px .2em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
[hidden]{
  display: none !important;
}
::selection{
  background: var(--gold);
  color: var(--navy);
}
:focus-visible{
  outline: 3px solid #ad872d;
  outline-offset: 4px;
}
::-webkit-scrollbar{
  width: 6px;
  height: 6px;
  background: var(--paper);
}
::-webkit-scrollbar-track{
  background: var(--paper);
}
::-webkit-scrollbar-corner{
  background: var(--paper);
}
::-webkit-scrollbar-thumb{
  background: var(--scroll-thumb);
  border: 1px solid transparent;
  background-clip: padding-box;
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover{
  background-color: #a48436;
}
@supports selector(::-webkit-scrollbar){html{
    scrollbar-width: auto;
    scrollbar-color: auto;
  }}
.shell{
  width: min(1380px,91%);
  margin-inline: auto;
}
.skip{
  position: fixed;
  inset-block-start: -100px;
  background: var(--card);
  padding: 12px;
  z-index: 100;
}
.skip:focus{
  inset-block-start: 8px;
}
.pill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: var(--surface);
  color: var(--muted);
  font-size: 11px;
  min-height: 32px;
}
.pill i,.micro i{
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
  display: inline-block;
}
.micro{
  display: block;
  font-size: 11px;
  color: var(--muted);
}
.header{
  display: flex;
  align-items: center;
  gap: 20px;
  padding-inline: 4.5%;
  height: 90px;
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  color: white;
  transition: background .3s,color .3s,height .3s;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: transparent;
}
.logo{
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.logo img{
  width: 105px;
  height: 44px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.desktop-nav{
  display: flex;
  gap: 2px;
  margin-inline-end: auto;
  padding: 5px 8px;
  border-radius: 40px;
  background: #131427a8;
  backdrop-filter: blur(14px);
}
.desktop-nav a{
  padding: 9px 10px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  border-radius: 24px;
}
.desktop-nav a:hover,.desktop-nav a.current{
  background: #ffffff0a;
  color: var(--gold);
}
.header.scrolled{
  height: 72px;
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  background: var(--header-glass);
  color: var(--ink);
  border-bottom: 1px solid var(--line);
}
.header.scrolled .logo img{
  filter: none;
  width: 96px;
  height: 40px;
}
.header.scrolled .desktop-nav{
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.header.scrolled .desktop-nav a.current,.header.scrolled .desktop-nav a:hover{
  color: #6f5114;
  background: #e3c76e48;
  box-shadow: inset 0 0 0 1px #ae85344d;
}
.header-controls{
  display: flex;
  gap: 7px;
}
.utility{
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #ffffff35;
  background: #13142785;
  color: inherit;
  font-weight: 600;
  font-size: 12px;
  position: relative;
}
.header.scrolled .utility{
  background: var(--surface);
  border-color: var(--line);
}
.utility:hover{
  border-color: var(--gold);
}
.button,.nav-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 48px;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 40px;
  font-size: 13px;
  font-weight: 500;
  transition: transform .2s,background .2s;
}
.button>span,.nav-cta>span{
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  flex-shrink: 0;
  font-size: 19px;
}
.button svg,.nav-cta svg{
  width: 18px;
  height: 18px;
}
.button.dark{
  background: var(--navy);
  color: white;
}
.button.dark>span{
  background: var(--gold);
  color: var(--navy);
}
.button.gold,.nav-cta{
  background: var(--gold);
  color: var(--navy);
}
.button.gold>span,.nav-cta>span{
  background: var(--navy);
  color: var(--gold);
}
.button.outline{
  background: transparent;
  border-color: var(--line);
  color: var(--ink);
}
.button.outline>span{
  background: var(--surface);
}
.button:hover{
  transform: translateY(-2px);
}
.nav-cta{
  min-height: 44px;
  padding: 6px 12px;
  gap: 8px;
  font-size: 12px;
  white-space: nowrap;
}
.nav-cta>span{
  width: 26px;
  height: 26px;
}
.nav-cta svg{
  width: 16px;
  height: 16px;
}
.mobile-toggle{
  display: none;
}
#mobile-nav{
  position: absolute;
  inset: 80px 4.5% auto;
  padding: 15px;
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 20px 40px #0002;
}
#mobile-nav a{
  display: block;
  padding: 10px 14px;
  border-radius: 10px;
}
#mobile-nav a:hover{
  background: var(--surface);
}
.hero{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--navy);
  color: white;
  display: grid;
  align-items: center;
  height: min(860px,100svh);
  min-height: 640px;
  padding: 140px 7% 90px;
}
.hero-bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -3;
  opacity: 0;
  transform: scale(1.035);
  transition: opacity 2s cubic-bezier(.4,0,.2,1),transform 9s linear;
  pointer-events: none;
}
.hero-bg.is-active{
  opacity: 1;
  transform: scale(1.065);
}
.hero-shade{
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,#10152620 0%,#1015269c 48%,#101526dc 100%);
  z-index: -2;
}
.hero-content{
  text-align: start;
  width: min(100%,740px);
  margin-inline-end: auto;
}
.hero-pill{
  background: #ffffff0a;
  color: #e0e3eb;
  border-color: #ffffff25;
  backdrop-filter: blur(10px);
  font-size: 11px;
}
.hero h1{
  font-size: clamp(30px,3.1vw,44px);
  line-height: 1.65;
  margin: 22px 0 20px;
  text-wrap: balance;
  letter-spacing: -.02em;
}
.hero h1>span{
  display: block;
}
.hero-title-context{
  color: #ead596;
}
.hero-description{
  max-width: 630px;
  font-size: 15px;
  line-height: 2.15;
  color: #e0e3eb;
  text-wrap: pretty;
}
.hero-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-top: 30px;
}
.hero-actions .button{
  width: 168px;
  height: 48px;
  min-height: 48px;
  padding: 6px 12px;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  border-radius: 14px;
}
.hero-actions .button>span{
  width: 30px;
  height: 30px;
  border-radius: 10px;
  transition: transform .25s;
}
.hero-primary{
  background: var(--gold);
  color: var(--navy);
  box-shadow: 0 8px 28px #0002;
}
.hero-primary>span{
  background: var(--navy);
  color: var(--gold);
}
.hero-secondary{
  background: #ffffff08;
  color: white;
  border-color: #ffffff50;
  backdrop-filter: blur(10px);
}
.hero-secondary>span{
  background: #ffffff12;
}
.hero-secondary:hover{
  background: #ffffff18;
}
.hero-primary:hover>span{
  transform: translateX(-3px);
}
:root[dir=ltr] .hero-primary svg{
  transform: rotate(180deg);
}
:root[dir=ltr] .hero-shade{
  background: linear-gradient(90deg,#101526dc 0%,#1015269c 52%,#10152620 100%);
}
.services,.about,.process,.spaces,.faq{
  padding-block: var(--section-space);
}
.section-heading{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  margin-block-end: 28px;
}
.section-heading>div:first-child{
  flex: 1;
}
.section-heading h2{
  font-size: var(--title);
  margin-block-start: 18px;
  max-width: 780px;
}
.section-heading>p,.section-heading>div:last-child:not(:first-child){
  max-width: 400px;
  flex: 0 1 34%;
}
.section-heading p{
  font-size: 15px;
  color: var(--muted);
  line-height: 2;
}
.section-heading .button{
  margin-block-start: 18px;
}
.service-accordion{
  display: flex;
  gap: 12px;
  min-height: 0;
  align-items: stretch;
}
.service-item{
  flex: 0 0 82px;
  min-width: 0;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  transition: flex .48s cubic-bezier(.22,.7,.25,1),border-color .3s;
}
.service-item.active{
  flex: 1;
}
.service-item:nth-child(2){
  background: var(--navy);
  color: white;
}
.service-item:nth-child(4){
  background: var(--gold-soft);
  color: var(--navy);
}
.service-head{
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  background: none;
  border: 0;
  color: inherit;
  padding: 20px;
  min-height: 75px;
  text-align: start;
}
.service-head>span{
  font-size: 12px;
  border: 1px solid var(--line);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.service-head strong{
  font-size: 18px;
  font-weight: 600;
  white-space: nowrap;
}
.service-head b{
  margin-inline-start: auto;
  font-size: 22px;
  font-weight: 400;
}
.active .service-head>span{
  background: var(--gold);
  border-color: var(--gold);
  color: var(--navy);
}
.service-item:not(.active) .service-head{
  height: 100%;
  flex-direction: column;
  gap: 25px;
  padding: 25px 12px;
}
.service-item:not(.active) .service-head strong{
  writing-mode: vertical-rl;
  font-size: 16px;
}
.service-item:not(.active) .service-head b{
  margin: auto 0 0;
}
.service-body{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 24px;
  padding: 0 24px 24px;
  min-width: 0;
  min-height: var(--panel-height,420px);
}
.service-copy h3{
  font-size: 24px;
}
.service-copy p,.service-copy ul{
  font-size: 14px;
  color: var(--muted);
  line-height: 2;
}
.service-copy p{
  margin-block: 14px;
}
.service-copy .micro{
  margin-block-start: 18px;
}
.service-copy ul{
  padding-inline-start: 18px;
  margin-block: 10px 20px;
}
.service-item:nth-child(2) .service-copy p,.service-item:nth-child(2) .service-copy ul,.service-item:nth-child(2) .micro{
  color: #c4cadb;
}
.service-item:nth-child(4) .service-copy p,.service-item:nth-child(4) .service-copy ul,.service-item:nth-child(4) .micro{
  color: #5d573f;
}
.service-copy .button{
  font-size: 12px;
}
.service-visual{
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  height: 285px;
  background: #d3d5c9;
  min-width: 0;
}
.campaign{
  display: grid;
  place-items: center;
  background: #303449;
}
.campaign-post{
  width: 77%;
  height: 225px;
  background: var(--gold);
  color: var(--navy);
  border-radius: 18px;
  padding: 23px;
  transform: rotate(-7deg);
  box-shadow: 10px 10px 0 #ffffff20;
}
.campaign-post>span,.browser-inner>span{
  font-size: 9px;
  letter-spacing: 1px;
}
.campaign-post>strong{
  font-size: 25px;
  line-height: 1.7;
  display: block;
  margin-top: 22px;
}
.campaign-post>i{
  font-style: normal;
  font-size: 36px;
  display: block;
}
.campaign-post>i svg{display:block;width:32px;height:32px}
.campaign-bubble{
  position: absolute;
  bottom: 20px;
  left: 12px;
  border-radius: 20px;
  padding: 7px 15px;
  background: var(--navy);
  color: var(--gold);
  font-size: 11px;
}
.web{
  display: grid;
  place-items: center;
  background: #d3d7cb;
}
.browser-demo{
  width: 86%;
  height: 220px;
  background: #f6f7f1;
  color: #141437;
  border: 1px solid #bcc4b0;
  border-radius: 14px;
  transform: rotate(-6deg);
  position: relative;
}
.browser-bar{
  height: 25px;
  border-bottom: 1px solid #d3d9ca;
  padding: 9px 13px;
  display: flex;
  gap: 4px;
  direction: ltr;
}
.browser-bar i{
  height: 5px;
  width: 5px;
  border-radius: 50%;
  background: #9aa68c;
}
.browser-inner{
  padding: 20px;
}
.browser-inner>strong{
  display: block;
  font-size: 21px;
  line-height: 1.6;
  margin-top: 10px;
}
.wire-grid{
  display: flex;
  gap: 7px;
  margin-top: 17px;
}
.wire-grid i{
  height: 37px;
  background: var(--gold-soft);
  border-radius: 5px;
  flex: 1;
}
.wire-cursor{
  position: absolute;
  left: 15px;
  bottom: 15px;
  font-size: 40px;
}
.consulting{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px;
  background: #191a37;
  color: #efe4be;
  border: 1px solid #e2c66b26;
}
.consulting-caption{
  font-size: 12px;
  color: #eee9dc;
}
.consulting-path{
  width: 100%;
  min-height: 0;
  flex: 1;
  overflow: visible;
}
.consulting-grid{
  stroke: #ffffff0b;
  stroke-width: 1;
}
.consulting-route{
  stroke: #ddc774;
  stroke-width: 2;
}
.consulting-path>circle{
  fill: #252642;
  stroke: #ddc774;
  stroke-width: 1;
}
.consulting-symbols{
  stroke: #efe4be;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.consulting-labels{
  display: flex;
  justify-content: space-between;
  direction: ltr;
  padding-inline: 7%;
  font-size: 12px;
}
.process .section-heading,.spaces .section-heading{
  display: block;
}
.process .process-intro,.spaces .section-intro{
  max-width: 680px;
  margin-block-start: 12px;
}
.audience-scroll{
  height: calc(300px + 18vh);
  position: relative;
}
.audience-scene{
  position: sticky;
  top: 120px;
  height: 300px;
  border-radius: var(--radius);
  overflow: hidden;
  color: white;
}
.audience-scene canvas{
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
}
.audience-copy{
  position: absolute;
  border-radius: 16px;
}
.audience-copy>span{
  display: block;
}
.audience-copy mark{
  background: none;
  color: var(--gold);
  padding: 0;
}
.audience-labels{
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .4s;
}
.audience-scene.connected .audience-labels{
  opacity: 1;
}
.audience-labels span{
  position: absolute;
  top: 75%;
  transform: translateX(-50%);
  padding: 4px 9px;
  background: #141437cc;
  border: 1px solid #ffffff25;
  border-radius: 20px;
  font-size: 11px;
  white-space: nowrap;
  color: var(--gold);
}
.audience-labels span:nth-child(1){
  left: 54%;
}
.audience-labels span:nth-child(2){
  left: 36%;
}
.audience-labels span:nth-child(3){
  left: 18%;
}
.process-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 18px;
  counter-reset: stage;
}
.process-grid article{
  position: relative;
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: var(--radius);
  padding: 26px;
  transition: border-color .25s,transform .25s;
  padding-block: 30px 48px;
}
.process-grid article:hover{
  border-color: #bba156;
  transform: translateY(-4px);
}
.process-grid article>span{
  font-size: 32px;
  font-weight: 500;
  color: var(--line);
  background: none;
  width: auto;
  height: auto;
  border-radius: 12px;
  display: grid;
  place-items: center;
  margin-block-end: 20px;
  position: absolute;
  inset-inline-end: 22px;
  inset-block-end: 12px;
  margin: 0;
  opacity: .5;
  pointer-events: none;
}
.process-grid h3{
  font-size: 21px;
  margin-block-end: 12px;
}
.process-grid p{
  font-size: 14px;
  color: var(--muted);
  line-height: 2;
  position: relative;
}
.process-grid article:before{
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline: 26px;
  height: 2px;
  background: var(--gold);
}
.space-grid{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px;
}
.space-grid figure{
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface);
}
.space-grid img{
  height: 320px;
  width: 100%;
  object-fit: cover;
  transition: transform .6s;
}
.space-grid figure:hover img{
  transform: scale(1.025);
}
.space-grid figcaption{
  padding: 18px 20px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.space-grid figcaption>span{
  font-size: 16px;
  font-weight: 600;
}
.space-grid figcaption>b{
  font-size: 11px;
  font-weight: 400;
  color: var(--muted);
}
.faq{
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 80px;
}
.faq h2{
  font-size: var(--title);
  margin-block: 22px 28px;
  line-height: 1.9;
}
.faq-callout{
  background: var(--navy);
  color: white;
  border-radius: var(--radius);
  padding: 28px;
}
.faq-callout .micro{
  color: var(--gold);
}
.faq-callout h3{
  font-size: 23px;
  margin-block: 18px;
}
.faq-callout p{
  font-size: 14px;
  color: #bac2d6;
  line-height: 2;
  margin-block: 16px;
}
.faq-list{
  position: relative;
  padding-inline-start: 28px;
  align-self: start;
}
.faq-list:before{
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block: 20px;
  background: var(--gold);
  width: 1px;
}
.faq-list details{
  position: relative;
  border-bottom: 1px solid var(--line);
}
.faq-list summary{
  list-style: none;
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  padding: 22px 0;
  font-size: 15px;
  min-height: 78px;
  position: relative;
}
.faq-list summary::-webkit-details-marker{
  display: none;
}
.faq-list summary>span{
  font-size: 11px;
  color: var(--muted);
}
.faq-list summary>strong{
  font-weight: 600;
  flex: 1;
}
.faq-list summary>small{
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 2px 8px;
  font-size: 10px;
  color: var(--muted);
  white-space: nowrap;
}
.faq-list summary>b{
  width: 32px;
  height: 32px;
  border: 1px solid var(--line);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 22px;
  flex-shrink: 0;
  font-weight: 400;
  transition: transform .2s;
  line-height: 1;
}
.faq-list details[open] summary>b{
  transform: rotate(45deg);
  background: var(--gold);
  color: var(--navy);
  border-color: var(--gold);
}
.faq-list p{
  font-size: 14px;
  color: var(--muted);
  line-height: 2;
  padding: 0 24px 24px;
}
.contact{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #101124;
  color: var(--on-dark);
  padding: 72px 0;
}
.contact-grid{
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 80px;
  align-items: center;
}
.contact .pill{
  background: #ffffff0a;
  border-color: #ffffff25;
  color: #c5cee0;
}
.contact h2{
  font-size: var(--title);
  margin-block: 24px 20px;
}
.contact h2 em{
  color: var(--gold);
}
.contact-main>p{
  font-size: 15px;
  line-height: 2;
  max-width: 520px;
  color: #bac2d5;
}
.contact-main form{
  margin-block-start: 28px;
}
.brief-inline{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.brief-inline>div{
  min-width: 0;
}
label{
  display: block;
  font-size: 13px;
  color: #c5cee0;
  margin-block-end: 8px;
}
input,textarea,.select-trigger{
  width: 100%;
  border: 1px solid #ffffff35;
  background: #ffffff08;
  color: #f1f3f8;
  border-radius: 16px;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 1.8;
  margin-block-end: 18px;
  min-height: 54px;
}
input::placeholder,textarea::placeholder{
  color: #a3aec5;
  font-size: 13px;
}
textarea{
  resize: vertical;
  min-height: 110px;
}
.select-field{
  position: relative;
}
.select-trigger{
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: start;
  gap: 10px;
}
.select-trigger svg{
  width: 16px;
  height: 16px;
}
.select-options{
  position: absolute;
  inset-inline: 0;
  top: calc(100% - 12px);
  padding: 6px;
  border: 1px solid #424b65;
  border-radius: 16px;
  background: #202438;
  box-shadow: 0 16px 40px #0005;
  z-index: 10;
}
.select-options button{
  display: flex;
  align-items: center;
  width: 100%;
  border: 0;
  background: none;
  color: #e7ebf5;
  padding: 11px 12px;
  text-align: start;
  border-radius: 10px;
  font-size: 14px;
  min-height: 44px;
}
.select-options button:hover,.select-options button:focus-visible{
  background: #ffffff10;
}
.select-options button[aria-selected=true]{
  background: var(--gold);
  color: var(--navy);
}
#form-result{
  font-size: 13px;
  margin-block-start: 18px;
}
#form-result a,#form-result button{
  display: inline-flex;
  background: var(--gold);
  color: var(--navy);
  border: 0;
  border-radius: 24px;
  padding: 10px 16px;
  margin: 10px 0 0 10px;
  min-height: 44px;
}
.consult-card{
  background: #1a1b2fe8;
  border: 1px solid #ffffff25;
  border-radius: var(--radius);
  padding: 28px;
}
.consult-card>.micro{
  color: var(--gold);
}
.consult-card h3{
  font-size: 26px;
  margin-block: 16px;
}
.consult-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  border-bottom: 1px solid #ffffff20;
  padding-block-end: 20px;
}
.consult-tags span{
  background: #ffffff0d;
  color: #c1c9dc;
  border-radius: 20px;
  padding: 4px 10px;
  font-size: 11px;
}
.consult-tags span:last-child{
  background: var(--gold);
  color: var(--navy);
}
.consult-card>p{
  font-size: 14px;
  color: #b3bed3;
  line-height: 2;
  margin-block-start: 18px;
}
.phone,.email{
  display: flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  max-width: 100%;
  font-family: inherit;
  font-variant-numeric: tabular-nums;
}
.phone{
  font-size: 26px;
  font-weight: 500;
  color: #e8ddb9;
  margin-block-start: 24px;
}
.email{
  font-size: 14px;
  color: #b8c6df;
  margin-block-start: 14px;
}
.contact-orbits{
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  display: grid;
  place-items: center;
  overflow: hidden;
}
@keyframes contact-orbit-breathe{0%,100%{transform:translate(-50%,-50%) scale(.97)}50%{transform:translate(-50%,-50%) scale(1.03)}}
.contact-orbits i{position:absolute;left:50%;top:50%;width:450px;height:450px;border:1px solid #e3c76e18;border-radius:50%;animation:contact-orbit-breathe 12s ease-in-out infinite;animation-play-state:paused}
.contact.orbits-visible .contact-orbits i{animation-play-state:running}
.contact-orbits i:nth-child(2){width:620px;height:620px}
.contact-orbits i:nth-child(3){width:800px;height:800px}
.contact-orbits i:nth-child(4){width:980px;height:980px}
.contact-orbits i:nth-child(5){width:1200px;height:1200px}
@media(max-width:760px){
  .contact-orbits i{width:260px;height:260px}
  .contact-orbits i:nth-child(2){width:430px;height:430px}
  .contact-orbits i:nth-child(3){width:600px;height:600px}
  .contact-orbits i:nth-child(n+4){display:none}
}
@media(prefers-reduced-motion:reduce){.contact-orbits i{animation:none;transform:translate(-50%,-50%)}}
.footer{
  background: var(--paper);
  border-top: 1px solid var(--line);
  color: var(--ink);
}
.footer-grid{
  display: grid;
  grid-template-columns: 1.5fr .7fr .7fr 1.1fr;
  gap: 45px;
  padding-block: 45px 24px;
}
.footer-grid>*{
  min-width: 0;
}
.footer .logo img{
  filter: none;
  width: 120px;
  height: 50px;
}
.footer-brand>p{
  font-size: 13px;
  line-height: 2.1;
  color: var(--muted);
  margin-block-start: 18px;
  max-width: 380px;
  text-wrap: pretty;
}
.footer-column>.micro{
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  margin-block: 8px 20px;
}
.footer-column>a{
  display: block;
  font-size: 14px;
  color: var(--muted);
  margin-block: 10px;
  min-height: 26px;
  max-width: 100%;
  width: max-content;
}
.footer-column>a:hover{
  color: #94701e;
}
.footer-contact>a,.footer-contact>p{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 0;
  min-height: 26px;
  font-size: 14px;
  line-height: 26px;
  color: var(--muted);
}
.footer-contact svg{
  width: 18px;
  height: 18px;
  color: var(--muted);
  flex-shrink: 0;
  margin-block-start: 4px;
}
.footer-copyright{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.footer-bottom{
  grid-column: 1/-1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-top: 1px solid var(--line);
  padding-block-start: 20px;
  font-size: 12px;
  color: var(--muted);
}
.footer-bottom>a{
  order: -1;
  margin-inline-end: auto;
  color: var(--ink);
  min-height: 30px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.footer-bottom>a svg{width:15px;height:15px;flex:none}
.reveal{
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .65s ease var(--delay,0ms),transform .65s var(--ease) var(--delay,0ms);
}
.reveal.entered{
  opacity: 1;
  transform: none;
}
:root[data-theme=dark] .header.scrolled .logo img{
  filter: brightness(0) invert(1);
}
:root[data-theme=dark] .footer-brand>.logo{
  width: max-content;
  padding: 8px 12px;
  border-radius: 12px;
  background: #eeeee7;
}
:root[data-theme=dark] .header.scrolled .desktop-nav a.current,:root[data-theme=dark] .header.scrolled .desktop-nav a:hover{
  color: var(--gold);
  background: #ffffff0a;
  box-shadow: none;
}
.faq-list summary:before{
  content: "";
  position: absolute;
  inset-inline-start: -33px;
  top: 50%;
  transform: translateY(-50%);
  width: 11px;
  height: 11px;
  border: 2px solid var(--line);
  border-radius: 50%;
  background: var(--paper);
}
.faq-list details[open] summary:before{
  background: var(--gold);
  border-color: var(--navy);
}
.faq-list summary>b svg{
  width: 18px;
  height: 18px;
}
.stage-icon{
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: var(--surface);
  color: var(--ink);
  display: grid;
  place-items: center;
  margin-block-end: 20px;
}
.stage-icon svg{
  width: 28px;
  height: 28px;
}
.process-grid article:hover .stage-icon{
  color: #9d7922;
}
.stage-title{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-block-end: 16px;
}
.stage-title .stage-icon{
  margin: 0;
  flex-shrink: 0;
  width: 32px;
  height: 36px;
  background: none;
  color: var(--ink);
  border-radius: 0;
}
.stage-title h3{
  margin: 0;
  font-size: 21px;
}
.utility:after{
  content: attr(data-tooltip);
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  padding: 7px 11px;
  border-radius: 9px;
  background: var(--navy);
  color: white;
  border: 1px solid #ffffff30;
  font-size: 12px;
  font-weight: 400;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s;
  z-index: 60;
}
.utility:hover:after,.utility:focus-visible:after{
  opacity: 1;
}
.footer-contact{
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}
.footer-contact>.micro{
  margin: 8px 0 8px;
}
:root[lang=en] body{
  font-family: PeydaLatin,Arial,Helvetica,sans-serif;
}
:root[lang=en] .phone,:root[lang=en] .footer-contact{
  font-family: inherit;
}
#media-detail{
  width: min(760px,calc(100% - 24px));
  max-height: 90svh;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--card);
  color: var(--ink);
}
#media-detail::backdrop{
  background: #080d22bd;
  backdrop-filter: blur(8px);
}
.catalog-toolbar{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.catalog-toolbar h3{
  font-size: 17px;
}
.catalog-toolbar button{
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
  color: var(--ink);
  font-size: 24px;
}
#catalog-page{
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}
.catalog-download{
  display: block;
  padding: 14px 0 0;
  color: var(--ink);
  font-size: 13px;
}
@keyframes intro-open {
  to {
    transform: translateY(-100%);
  }
}
@keyframes intro-open-bottom {
  to {
    transform: translateY(100%);
  }
}
@keyframes intro-logo {
  0% {
    opacity: 0;
    transform: translateY(12px);
  }
  25%,50% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
  }
}
#site-intro{
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
  display: grid;
  place-items: center;
}
#site-intro[hidden]{
  display: none;
}
.intro-panel{
  position: absolute;
  inset: 0 0 50%;
  background: var(--navy);
  animation: intro-open .9s .3s var(--ease) both;
}
.intro-panel:nth-child(2){
  inset: 50% 0 0;
  animation-name: intro-open-bottom;
}
#site-intro img{
  width: 150px;
  height: auto;
  filter: brightness(0) invert(1);
  z-index: 1;
  animation: intro-logo 1s both;
}
@keyframes assistant-arrive {
  from {
    opacity: 0;
    transform: translateY(10px) scale(.9);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes assistant-panel-enter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#assistant-toggle{
  animation: assistant-arrive .6s 1.2s var(--ease) backwards;
  --assistant-accent: var(--gold);
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 60;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 16px 16px 16px 6px;
  background: var(--navy);
  color: var(--gold);
  box-shadow: 0 4px 15px #00000025;
  transition: transform .25s,background .25s,box-shadow .25s;
}
#assistant-toggle:hover{
  transform: translateY(-2px);
  box-shadow: 0 5px 18px #00000025;
}
#assistant-toggle svg{
  width: 25px;
  height: 25px;
}
#assistant-toggle[data-surface=dark]{
  --assistant-accent: #9b7521;
  background: #f6f6f0;
  color: var(--navy);
  border-color: #e3c76e75;
  box-shadow: 0 4px 18px #0003;
}
#assistant-toggle[data-surface=light]{
  --assistant-accent: var(--gold);
  background: var(--navy);
  color: var(--gold);
  border-color: #e3c76e50;
}
#assistant-toggle::after{
  content: attr(data-tooltip);
  position: absolute;
  left: calc(100% + 10px);
  top: 50%;
  transform: translate(-4px,-50%);
  white-space: nowrap;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 6px 10px;
  background: var(--card);
  color: var(--ink);
  font-size: 11px;
  font-weight: 500;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s,transform .2s;
  box-shadow: 0 4px 14px #00000012;
}
#assistant-toggle:hover::after,#assistant-toggle:focus-visible::after{
  opacity: 1;
  transform: translate(0,-50%);
}
#assistant-panel{
  animation: assistant-panel-enter .25s var(--ease) both;
  position: fixed;
  left: 24px;
  bottom: 80px;
  z-index: 61;
  width: min(350px,calc(100vw - 32px));
  max-height: min(560px,calc(100svh - 120px));
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--card);
  color: var(--ink);
  padding: 20px;
  box-shadow: 0 18px 65px #0003;
}
.assistant-heading{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.assistant-heading span{
  font-size: 16px;
  font-weight: 600;
}
.assistant-heading p{
  font-size: 11px;
  color: var(--muted);
}
.assistant-heading button{
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  padding: 0;
  line-height: 1;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
  color: var(--ink);
}
.assistant-heading button svg{
  width: 16px;
  height: 16px;
  display: block;
}
.assistant-welcome{
  font-size: 13px;
  margin-top: 16px;
}
.assistant-topics{
  display: grid;
  gap: 8px;
  margin-top: 14px;
}
.assistant-topics button{
  text-align: start;
  padding: 10px 12px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  font-size: 12px;
  color: var(--ink);
}
.assistant-topics button:hover{
  border-color: #ac8731;
}
#assistant-answer{
  font-size: 13px;
  line-height: 1.9;
  padding: 14px;
  margin-top: 14px;
  background: var(--surface);
  border-radius: 12px;
}
#assistant-link{
  color: var(--ink);
  font-size: 12px;
  margin-top: 12px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
#assistant-link:not([hidden]){display:inline-flex;align-items:center;gap:6px}
#assistant-link svg{width:15px;height:15px;flex:none}
.assistant-note{
  font-size: 10px;
  color: var(--muted);
  margin-top: 16px;
}
@media (max-width:600px){#assistant-toggle{
    left: 16px;
    bottom: 16px;
    width: 40px;
    height: 40px;
  }
#assistant-panel{
    left: 16px;
    bottom: 68px;
  }}
@media (max-width:1200px){.header{
    gap: 12px;
  }
.desktop-nav a{
    font-size: 11px;
    padding: 9px 7px;
  }
.nav-cta{
    padding: 8px 12px;
    gap: 8px;
  }
.section-heading{
    gap: 35px;
  }
.faq,.contact-grid{
    gap: 45px;
  }
.footer-grid{
    gap: 28px;
  }
.service-item{
    flex-basis: 68px;
  }
.service-body{
    gap: 18px;
    padding-inline: 20px;
  }
.process-grid article{
    padding: 22px;
  }
.process-grid h3{
    font-size: 20px;
  }}
@media (max-width:1000px){.header .nav-cta{
    display: none;
  }
.desktop-nav{
    margin-inline-end: auto;
  }
.service-body{
    grid-template-columns: 1fr;
  }
.service-visual{
    height: 220px;
  }
.section-heading>p,.section-heading>div:last-child:not(:first-child){
    flex-basis: 38%;
  }
.process-grid{
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
.faq-list summary>small{
    display: none;
  }
.footer-grid{
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
.footer-brand{
    grid-column: 1/-1;
  }
.space-grid img{
    height: 240px;
  }}
@media (max-width:820px){:root{
    --section-space: 36px;
    --title: 32px;
  }
.header{
    height: 80px;
    gap: 12px;
  }
.desktop-nav{
    display: none;
  }
.header-controls{
    margin-inline-start: auto;
  }
.mobile-toggle{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 42px;
    height: 42px;
    border: 1px solid #ffffff35;
    border-radius: 50%;
    background: #13142785;
    padding: 11px;
    color: inherit;
  }
.mobile-toggle span{
    width: 18px;
    height: 1px;
    background: currentColor;
  }
.header.scrolled .mobile-toggle{
    background: var(--surface);
    border-color: var(--line);
  }
.hero{
    height: 100svh;
    min-height: 100svh;
    padding: calc(100px + env(safe-area-inset-top)) 6% calc(30px + env(safe-area-inset-bottom));
  }
.hero h1{
    font-size: 34px;
  }
.section-heading{
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
  }
.section-heading>p,.section-heading>div:last-child:not(:first-child){
    max-width: 600px;
  }
.service-accordion{
    flex-direction: column;
    min-height: 0;
  }
.service-item,.service-item.active{
    flex: none;
    width: 100%;
  }
.service-item:not(.active) .service-head{
    height: auto;
    min-height: 74px;
    flex-direction: row;
    padding: 20px;
    gap: 16px;
  }
.service-item:not(.active) .service-head strong{
    writing-mode: horizontal-tb;
    font-size: 18px;
  }
.service-item:not(.active) .service-head b{
    margin: 0;
    margin-inline-start: auto;
  }
.service-body{
    grid-template-columns: 1fr 1fr;
    min-height: var(--panel-height,420px);
  }
.audience-scroll{
    height: calc(300px + 12vh);
  }
.audience-scene{
    height: 300px;
  }
.audience-copy>strong{
    font-size: 26px;
  }
.audience-copy{
    inset-inline-start: 18px;
    bottom: 18px;
  }
.space-grid{
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
  }
.space-grid img{
    height: 230px;
  }
.space-grid figcaption{
    flex-direction: column;
    align-items: flex-start;
    padding: 14px;
  }
.faq,.contact-grid{
    grid-template-columns: 1fr;
    gap: 32px;
  }
.faq-callout{
    padding: 25px;
  }
.contact{
    padding-block: 50px;
  }
.consult-card h3{
    font-size: 24px;
  }
.footer-grid{
    gap: 26px;
  }
.footer-contact{
    grid-column: 1/-1;
  }}
@media (max-width:600px){.audience-copy{
    inset-inline: 20px;
    bottom: 18px;
    padding: 10px 0 0;
    background: none;
    border-radius: 0;
    border-top: 1px solid #ffffff20;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
  }
.audience-copy>span,.audience-copy>strong{
    font-size: 18px;
    line-height: 1.6;
  }
.audience-labels span{
    top: 66%;
    transform: translateX(-50%);
    font-size: 10px;
    padding: 4px 7px;
    background: none;
    border: none;
  }
.audience-labels span:nth-child(1){
    left: 82%;
  }
.audience-labels span:nth-child(2){
    left: 50%;
  }
.audience-labels span:nth-child(3){
    left: 18%;
  }
.space-grid{
    grid-template-columns: 1fr;
  }
.space-grid img{
    height: 290px;
  }
.space-grid figcaption{
    flex-direction: row;
  }}
@media (max-width:500px){:root{
    --title: 29px;
  }
.logo img{
    width: 95px;
  }
.hero{
    min-height: 100svh;
    padding: calc(100px + env(safe-area-inset-top)) 22px calc(28px + env(safe-area-inset-bottom));
  }
.hero-shade{
    background: linear-gradient(#101526a8,#101526ce);
  }
:root[dir=ltr] .hero-shade{
    background: linear-gradient(#101526a8,#101526ce);
  }
.hero h1{
    font-size: clamp(22px,5.8vw,28px);
    line-height: 1.6;
    margin-block: 18px 14px;
  }
.hero-description{
    font-size: 13px;
    line-height: 1.95;
  }
.hero-actions{
    gap: 10px;
    margin-top: 22px;
  }
.hero-actions .button{
    flex: 1 1 0;
    width: auto;
    max-width: 168px;
    min-width: 0;
    height: 44px;
    min-height: 44px;
    font-size: 12px;
    gap: 8px;
    padding: 5px 10px;
  }
.hero-actions .button>span{
    width: 28px;
    height: 28px;
  }
.hero-pill{
    font-size: 11px;
  }
.service-body{
    grid-template-columns: 1fr;
    padding: 0 18px 22px;
  }
.service-copy h3{
    font-size: 23px;
  }
.service-visual{
    height: 240px;
  }
.process-grid{
    grid-template-columns: 1fr;
  }
.process-grid article{
    padding: 24px;
  }
.process-grid article>span{
    font-size: 18px;
    margin: 0;
  }
.process-grid h3{
    font-size: 22px;
  }
.brief-inline{
    grid-template-columns: 1fr;
    gap: 0;
  }
.faq-list{
    padding-inline-start: 22px;
  }
.faq-list summary{
    font-size: 14px;
    gap: 10px;
  }
.faq-list p{
    padding-inline: 0;
    font-size: 14px;
  }
.consult-card{
    padding: 24px;
  }
.phone{
    font-size: 24px;
  }
.footer-column>a{
    font-size: 13px;
  }
.footer-column>.micro{
    font-size: 14px;
  }
.footer-bottom{
    flex-wrap: wrap;
    font-size: 11px;
  }
.faq-list summary:before{
    inset-inline-start: -27px;
  }
.footer-contact svg{
    width: 18px;
  }}
@media (max-width:1000px){.hero{
    height: 100svh;
    min-height: 100svh;
  }}
@media (max-width:1000px) and (max-height:500px){.hero{
    height: 100svh;
    min-height: 100svh;
    padding: 82px 5% 18px;
  }
.hero-content{
    width: 100%;
  }
.hero-pill{
    display: none;
  }
.hero h1{
    font-size: 22px;
    line-height: 1.35;
    margin: 0 0 10px;
  }
.hero-description{
    font-size: 12px;
    line-height: 1.7;
    max-width: 650px;
  }
.hero-actions{
    margin-top: 12px;
    gap: 10px;
  }
.hero-actions .button{
    height: 44px;
    min-height: 44px;
    padding-block: 5px;
    font-size: 12px;
  }
.hero-actions .button>span{
    width: 28px;
    height: 28px;
  }
.header,.header.scrolled{
    height: 64px;
  }
#mobile-nav{
    top: 64px;
    max-height: calc(100svh - 80px);
    overflow-y: auto;
  }}
@media (prefers-reduced-motion:reduce){html{
    scroll-behavior: auto;
  }
*,*:before,*:after{
    animation: none !important;
    transition: none !important;
  }
.reveal{
    opacity: 1;
    transform: none;
  }
.audience-scroll{
    height: auto;
  }
.audience-scene{
    position: relative;
    top: 0;
  }}
@media (max-width: 600px){.service-visual.consulting{
    padding: 20px;
  }}
.services .section-heading,.about .section-heading{
  display: block;
}
.heading-details{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-block-start: 14px;
}
.heading-details p{
  max-width: 740px;
  margin: 0;
}
.section-heading .heading-details .button{
  flex-shrink: 0;
  margin: 0;
}
@media (max-width: 800px){.heading-details{
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }}
.media-showcase{
  padding-block: var(--section-space);
}
.media-showcase .section-heading{
  align-items: flex-end;
  gap: 24px;
}
.media-library-button{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: transparent;
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: 30px;
  padding: 11px 18px;
  min-height: 44px;
  font-size: 13px;
  flex-shrink: 0;
}
.media-library-button:hover{
  background: var(--surface);
  border-color: var(--muted);
}
.media-library-button svg{
  width: 18px;
  height: 18px;
}
.media-frame{
  position: relative;
  min-height: 0;
  aspect-ratio: 16/10;
  background: var(--surface);
  border-radius: 22px;
  overflow: hidden;
  isolation: isolate;
  touch-action: pan-y;
}
.media-shot{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 18px;
  opacity: 0;
  transition: opacity .6s ease;
}
.media-shot.is-visible{
  opacity: 1;
}
:root[dir=ltr] .media-information{
  direction: ltr;
}
#media-status{
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-top: 8px;
}
#media-status:empty{
  display: none;
}
.media-position{
  color: var(--muted);
  font-size: 11px;
  direction: ltr;
}
#media-library{
  width: min(830px,calc(100vw - 28px));
  max-height: 85svh;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--card);
  color: var(--ink);
}
#media-library::backdrop{
  background: #080d22ad;
  backdrop-filter: blur(8px);
}
.media-library-heading{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}
.media-library-heading .micro{
  font-size: 11px;
  color: var(--muted);
}
.media-library-heading h3{
  font-size: 22px;
  margin-top: 6px;
}
#media-library-close{
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  padding: 0;
  color: var(--ink);
  background: var(--surface);
  border: 0;
  border-radius: 50%;
}
#media-library-close svg{
  width: 18px;
  height: 18px;
}
.media-filters{
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 20px;
}
.media-filters button{
  font-size: 12px;
  padding: 8px 13px;
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 30px;
  color: var(--muted);
  background: transparent;
}
.media-filters button[aria-pressed=true]{
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}
#media-filmstrip{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
#media-filmstrip button{
  display: flex;
  align-items: center;
  text-align: start;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  background: transparent;
  min-height: 54px;
}
#media-filmstrip button:hover{
  background: var(--surface);
}
#media-filmstrip button[aria-pressed=true]{
  background: var(--gold-soft);
  color: var(--navy);
  border-color: #b59a4f;
}
#media-filmstrip span{
  color: var(--muted);
  font-size: 11px;
  flex-shrink: 0;
}
#media-filmstrip strong{
  font-size: 13px;
  font-weight: 500;
}
.catalog-link{
  display: block;
  width: max-content;
  max-width: 100%;
  font-size: 12px;
  margin-top: 20px;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  padding-bottom: 5px;
}
@media (max-width: 700px){.media-showcase .section-heading{
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }
.media-showcase .section-heading h2{
    margin-bottom: 0;
  }
.media-frame{
    border-radius: 18px;
  }
.media-shot{
    padding: 12px;
  }
#media-library{
    padding: 18px;
  }
.media-library-heading h3{
    font-size: 19px;
  }
#media-filmstrip{
    grid-template-columns: 1fr;
  }}
.outdoor-preview{
  position: relative;
  padding: 18px 22px;
  overflow: hidden;
  background: radial-gradient(ellipse at 55% 65%,#33324d,#17182f 75%);
  display: flex;
  flex-direction: column;
}
.outdoor-caption{
  font-size: 11px;
  color: #dbd2b3;
}
.outdoor-art{
  width: 100%;
  flex: 1;
  min-height: 0;
}
.outdoor-signal{
  animation: outdoor-signal 3s ease-in-out infinite;
}
@keyframes outdoor-signal {
  50% {
    opacity: .25;
  }
}
.audience-copy{
  left: auto;
  right: 6%;
  width: 30%;
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
  max-width: 30%;
  padding: 0;
  background: none;
}
.audience-copy>span{
  font-size: 13px;
  margin-bottom: 10px;
  color: #bbc2d5;
}
.audience-copy>strong{
  display: block;
  font-size: clamp(22px,2.4vw,32px);
  line-height: 1.7;
}
.audience-copy mark{
  display: block;
}
.audience-scene{
  background: radial-gradient(ellipse at 30% 50%,#29294a 0%,#141437 72%);
}
@media (max-width: 600px){.audience-copy{
    right: auto;
    left: auto;
    top: 18px;
    bottom: auto;
    inset-inline: 18px;
    max-width: none;
    width: auto;
    transform: none;
    border: 0;
    display: block;
    text-align: center;
    padding: 0;
  }
.audience-copy>span{
    font-size: 11px;
    margin-bottom: 2px;
  }
.audience-copy>strong{
    font-size: 20px;
  }
.audience-copy mark{
    display: inline;
    margin-inline-start: .25em;
  }
.audience-labels span{
    top: 78%;
    font-size: 9px;
  }
.process-grid article{
    padding: 22px 20px 42px;
  }
.process-grid article>span{
    font-size: 18px;
    line-height: 1;
    bottom: 15px;
    inset-inline-end: 20px;
    opacity: .65;
  }}
#language-toggle{
  display: grid;
  place-items: center;
  padding: 0;
  line-height: 1;
  font-family: Arial,sans-serif;
}
#assistant-toggle.introducing{
  animation: assistant-notice .8s ease-in-out 2;
}
#assistant-toggle.introducing::after{
  opacity: 1;
  transform: translate(0,-50%);
  max-width: calc(100vw - 88px);
  white-space: normal;
  width: max-content;
  line-height: 1.7;
}
@keyframes assistant-notice {
  0%,100% {
    transform: translateY(0) rotate(0);
  }
  40% {
    transform: translateY(-6px) rotate(-5deg);
    box-shadow: 0 0 0 7px #b89d4320;
  }
  70% {
    transform: translateY(-2px) rotate(4deg);
  }
}
@media (prefers-reduced-motion: reduce){.media-shot{
    transition: none;
  }
#assistant-toggle.introducing{
    animation: none;
  }}
.media-filters{
  scrollbar-width: none;
}
.media-filters::-webkit-scrollbar{
  display: none;
}
.service-item.active .service-body{
  animation: service-content-enter .32s .14s ease-out both;
}
@keyframes service-content-enter {
  from {
    opacity: 0;
    transform: translateY(9px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce){.service-item.active .service-body{
    animation: none;
  }}
.outdoor-brand{
  filter: brightness(0) invert(1);
  opacity: .95;
}
#language-toggle::after{
  font-family: Peyda,sans-serif;
  line-height: 1.9;
}
:root[lang=en] #language-toggle::after{
  font-family: PeydaLatin,Arial,sans-serif;
}
.service-copy .button svg{
  width: 18px;
  height: 18px;
  display: block;
}
@media (min-width: 761px){.service-accordion{
    height: calc(var(--panel-height,420px) + 77px);
    align-items: stretch;
  }
.service-item{
    height: 100%;
  }
.service-head{
    flex-shrink: 0;
  }
.service-body{
    height: var(--panel-height,420px);
    min-height: 0;
    flex: 0 0 var(--panel-height,420px);
    overflow: hidden;
  }}
#media-detail,#media-library{
  direction: ltr;
}
:root[dir=rtl] #media-detail>*, :root[dir=rtl] #media-library>*{
  direction: rtl;
}
#media-detail-close{
  display: grid;
  place-items: center;
  padding: 0;
  line-height: 1;
}
#media-detail-close svg{
  width: 18px;
  height: 18px;
  display: block;
}
#media-filmstrip button img{
  width: 76px;
  height: 50px;
  object-fit: cover;
  border-radius: 7px;
  flex-shrink: 0;
}
#media-filmstrip button{
  padding: 9px;
  gap: 9px;
}
.header .nav-cta{
  min-width: 108px;
  justify-content: center;
  padding-inline: 20px;
}
.platform-access{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  border-radius: 18px;
}
.platform-access .micro{
  font-size: 11px;
}
.platform-access h3{
  margin: 6px 0 8px;
  line-height: 1.7;
}
.platform-access p{
  font-size: 13px;
  line-height: 1.9;
  margin: 0;
}
.platform-link{
  display: inline-flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
  font-size: 13px;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 12px;
}
.platform-link svg{
  width: 18px;
  height: 18px;
}
@media (max-width:700px){.platform-access{
    flex-direction: column;
    align-items: flex-start;
  }}
#media-library{
  overflow: hidden;
  padding: 12px;
}
#media-library .media-library-scroll{
  max-height: calc(85svh - 26px);
  overflow: auto;
  padding: 14px;
  direction: ltr;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}
:root[dir=rtl] #media-library .media-library-scroll>*{
  direction: rtl;
}
.platform-access{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 228px;
  background: radial-gradient(ellipse at 90% 50%,#303550,#171c34 70%);
  border: 1px solid #d2b77935;
  color: #f5f1e6;
  padding: 30px 34px;
}
.platform-copy{
  position: relative;
  z-index: 1;
  max-width: 64%;
}
.platform-access .micro{
  color: #dfc584;
}
.platform-access h3{
  font-size: 22px;
}
.platform-access p{
  color: #c1c5d2;
  max-width: 620px;
}
.platform-art{
  position: absolute;
  width: 37%;
  height: 100%;
  inset-block: 0;
  inset-inline-end: 0;
  opacity: .65;
  pointer-events: none;
}
.platform-link{
  z-index: 1;
  background: #e3c76e;
  color: #161a33;
}
@media (max-width:700px){#media-library{
    padding: 10px;
  }
#media-library .media-library-scroll{
    padding: 8px;
    max-height: calc(85svh - 22px);
  }
.platform-access{
    gap: 16px;
  }
.platform-copy{
    max-width: 100%;
  }
.platform-access h3{
    font-size: 20px;
  }
.platform-art{
    inset-inline-end: -20px;
  }
.platform-link{
    align-self: flex-start;
  }}
.platform-link{
  margin-top: 20px;
  align-self: auto;
}
@media (max-width:700px){.platform-access{
    min-height: 0;
    padding: 24px 22px 125px;
  }
.platform-art{
    width: 210px;
    height: 130px;
    inset-block: auto -8px;
    opacity: .48;
  }
.platform-link{
    margin-top: 18px;
  }}
:root[dir=rtl] #media-library>.media-library-scroll{
  direction: ltr;
}
.platform-access{
  margin-top: 44px;
}
.nav-cta{
  transition: background-color .22s,color .22s,box-shadow .22s,transform .22s;
}
.header .nav-cta:hover{
  background: #f1d782;
  color: #121630;
  box-shadow: 0 5px 16px #0c113521;
  transform: translateY(-2px);
}
.header .nav-cta:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}
@media (max-width:700px){.platform-access{
    margin-top: 32px;
  }}
@media (prefers-reduced-motion:reduce){.header .nav-cta{
    transition: none;
  }
.header .nav-cta:hover{
    transform: none;
  }}
.media-explorer{height:390px;display:grid;grid-template-columns:178px minmax(0,1fr);max-width:1200px;margin-inline:auto;border:1px solid var(--line);border-radius:20px;background:var(--card);overflow:hidden}
.media-category-rail{display:flex;flex-direction:column;padding:20px 12px;background:var(--surface);border-inline-end:1px solid var(--line);gap:14px;min-width:0}
.media-rail-label{font-size:11px;color:var(--muted);padding-inline:12px}
.atlas-categories{display:grid;gap:6px}
.atlas-categories button{position:relative;isolation:isolate;display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);text-align:start;font-size:12px;transition:background .25s,color .25s,border-color .25s;overflow:hidden}
.atlas-categories button svg{width:21px;height:21px;flex-shrink:0;display:block}
.atlas-categories button:hover{color:var(--ink);background:var(--card)}
.atlas-categories button[aria-pressed=true]{background:var(--card);color:var(--ink);border-color:var(--line);box-shadow:0 3px 12px #11142608}
.atlas-categories button[aria-pressed=true] svg{color:#ac8b3b}
.atlas-categories button::after{content:"";position:absolute;bottom:0;inset-inline-start:0;height:2px;width:100%;background:#b69b55;transform:scaleX(0);transform-origin:right}
.media-explorer.is-playing .atlas-categories button[aria-pressed=true]::after{animation:media-countdown 5.6s linear forwards}
.media-stage{direction:ltr;min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);min-width:0;height:100%;background:var(--card)}
.media-photographic{aspect-ratio:auto;position:relative;isolation:isolate;overflow:hidden;border-radius:0;height:100%;min-height:0;background:#151b30}
.media-photographic::before{content:"";position:absolute;inset:-25px;background:var(--media-photo) center/cover;filter:blur(25px);opacity:.23;z-index:-1}
.media-photographic .media-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;padding:0;opacity:0;transition:opacity 1.1s ease;transform:none}
.media-photographic .media-shot.is-visible{opacity:1}
.media-photo-caption{position:absolute;inset:auto 0 0;padding:30px 18px 14px;background:linear-gradient(transparent,#101729b0);color:#eee9d9;pointer-events:none;font:9px Arial,sans-serif;letter-spacing:1.5px}
.media-information{min-height:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:24px;min-width:0}
.media-editorial h3{font-size:22px;line-height:1.65;margin:10px 0}
.media-editorial p{font-size:13px;line-height:1.95;color:var(--muted);margin:0;min-height:0}
.media-info-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:20px}
.media-info-actions .button{min-height:42px;font-size:12px;padding:8px 14px;justify-content:flex-start;gap:10px;text-align:start;border-radius:10px}
.media-detail-link{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:transparent;font-size:12px;transition:background .2s,border-color .2s}
.media-detail-link svg{width:17px;height:17px}
.media-detail-link:hover{background:var(--surface);border-color:var(--muted)}
.media-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}
.media-navigation button{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--ink);padding:0}
.media-navigation button svg{width:16px;height:16px}
.media-navigation button:hover{background:var(--gold-soft);color:#141437}
.media-position{font-size:11px;color:var(--muted);direction:ltr}
@keyframes media-countdown{to{transform:scaleX(1)}}
@media(max-width:1100px){.media-explorer{grid-template-columns:152px minmax(0,1fr)}.media-stage{grid-template-columns:minmax(0,1.2fr) minmax(240px,1fr)}.media-category-rail{padding:18px 8px}.media-information{padding:20px}.atlas-categories button{font-size:11px;gap:7px;padding:10px 8px}}
@media(max-width:800px){.media-explorer{grid-template-columns:1fr;height:auto}.media-category-rail{display:block;padding:10px;border-inline-end:0;border-bottom:1px solid var(--line)}.media-rail-label{display:none}.atlas-categories{display:flex;overflow-x:auto;scrollbar-width:none;gap:6px}.atlas-categories button{flex:0 0 auto;min-height:44px;font-size:12px;padding:9px 12px}.atlas-categories::-webkit-scrollbar{display:none}.media-stage{height:100%}}
@media(max-width:600px){.media-stage{display:block;height:auto}.media-photographic{height:auto;aspect-ratio:16/10}.media-information{padding:20px}.media-editorial h3{font-size:20px;margin:8px 0}.media-editorial p{min-height:0;font-size:12px;line-height:1.9}.media-info-actions{flex-direction:row;flex-wrap:wrap;margin-top:16px}.media-info-actions>*{flex:1 1 130px}.media-info-actions .button,.media-detail-link{font-size:11px;padding:9px 12px}.media-navigation{margin-top:14px;padding-top:12px}.media-photo-caption{padding:24px 12px 12px}}
@media(prefers-reduced-motion:reduce){.media-photographic .media-shot{transition:none}.media-explorer.is-playing .atlas-categories button::after{animation:none}}

:root[dir=rtl] .media-information{direction:rtl}
:root[dir=rtl] .media-navigation button svg{transform:scaleX(-1)}
#media-status{min-height:18px;margin-top:6px}#media-status:empty{display:block}

.media-info-actions .button>span{width:26px;height:26px;border-radius:8px;flex:0 0 26px;display:grid;place-items:center;padding:0}.media-info-actions .button>span svg{width:16px;height:16px}.media-detail-link>span{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border-radius:8px;background:var(--surface)}.media-editorial .micro{line-height:1.5}.media-editorial h3{line-height:1.6}
@media(min-width:601px) and (max-width:800px){.media-stage{height:370px}}

.space-image{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--surface)}.space-grid .space-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.3s ease,transform 6.5s linear}.space-grid .space-photo.visible{opacity:1}.space-grid figure:hover .space-photo{transform:none}@media(prefers-reduced-motion:reduce){.space-grid .space-photo{transition:none}}

/* Consistent inset and reading width for service cards. */
@media (min-width:761px){.service-head{padding-inline:clamp(24px,2.6vw,40px)}.service-body{padding:0 clamp(24px,2.6vw,40px) clamp(26px,2.8vw,42px);gap:clamp(24px,3vw,48px)}.service-copy{min-width:0}.service-copy h3{font-size:clamp(20px,1.6vw,25px);line-height:1.55}.service-copy p{font-size:13px;line-height:1.85;max-width:47ch;margin-block:10px}.service-copy ul{font-size:13px;line-height:1.8;margin-block:8px 16px}.service-copy .micro{margin-block-start:12px}.service-copy .button{font-size:12px}}
@media (max-width:760px){.service-head{padding-inline:20px}.service-body{gap:18px;padding:0 20px 24px}.service-copy h3{font-size:20px;line-height:1.6}.service-copy p,.service-copy ul{font-size:13px;line-height:1.8}}

/* Detail dialog uses an inset scroll region like the media library. */
#media-detail{padding:0;overflow:hidden;max-height:85svh;overscroll-behavior:contain}
#media-detail .media-detail-scroll{max-height:calc(85svh - 2px);overflow-y:auto;overflow-x:hidden;padding:16px 18px;direction:ltr;scrollbar-gutter:stable;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
:root[dir=rtl] #media-detail>.media-detail-scroll{direction:ltr}
:root[dir=rtl] #media-detail .media-detail-scroll>*{direction:rtl}
#media-detail::backdrop,#media-library::backdrop{backdrop-filter:none;background:#0a0e23a8}
:root[data-theme=dark] .footer-brand>.logo{width:max-content;padding:0;background:transparent;border-radius:0}
:root[data-theme=dark] .footer-brand>.logo img{filter:brightness(0) invert(1)}
.campaign-bubble{direction:rtl;unicode-bidi:plaintext}
.header .nav-cta:hover{background:#171b36;color:#e9cb76;box-shadow:0 0 0 2px #e3c76e inset;transform:none}
:root[data-theme=dark] .header .nav-cta:hover{background:#f4e1a6;color:#171b36;box-shadow:0 0 0 2px #171b36 inset}
@media (max-width:600px){
  .media-category-rail{padding:10px 12px 4px;overflow:hidden}
  .atlas-categories{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding-bottom:8px}
  .atlas-categories button,.atlas-categories button:last-child{flex:0 0 auto;grid-column:auto;width:auto;min-height:42px;padding:8px 13px;gap:7px;font-size:11px;white-space:nowrap;scroll-snap-align:start}
  .atlas-categories button svg{width:18px;height:18px}
  .atlas-categories::-webkit-scrollbar{display:none}
}
.header .utility{transition:background-color .22s,color .22s,border-color .22s,box-shadow .22s,transform .22s}
.header .utility:hover{background:#e7ca79;color:#151a35;border-color:#e7ca79;box-shadow:0 4px 14px #12172b22;transform:translateY(-2px)}
:root[data-theme=dark] .header .utility:hover{background:#f0dea7;color:#141932;border-color:#f0dea7;box-shadow:0 4px 18px #0005}
.header .utility:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:1100px){.header .nav-cta{display:none}}
@media(prefers-reduced-motion:reduce){.header .utility{transition:none}.header .utility:hover{transform:none}}

:root[dir=rtl] #media-detail .catalog-toolbar{flex-direction:row-reverse}
.catalog-download,.catalog-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;width:auto;padding:10px 16px;margin-top:14px;border-radius:10px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-size:12px;font-weight:600;line-height:1.5;transition:background-color .2s,color .2s}
.catalog-download:hover,.catalog-link:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.catalog-download span,.catalog-link span{font-size:17px;line-height:1}
.catalog-download span svg,.catalog-link span svg{display:block;width:16px;height:16px}

:root[dir=rtl] #media-detail .catalog-toolbar{justify-content:flex-end;gap:12px}
:root[dir=rtl] #media-detail .catalog-toolbar h3{margin:0}
@media(min-width:821px) and (max-width:1050px){
  .desktop-nav{display:none}
  .header-controls{margin-inline-start:auto}
  .mobile-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:11px;border:1px solid #ffffff35;border-radius:50%;background:#13142785;color:inherit}
  .mobile-toggle span{width:18px;height:1px;background:currentColor}
  .header.scrolled .mobile-toggle{background:var(--surface);border-color:var(--line)}
}
@media(max-width:1000px){
  .space-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,calc((100% - 28px)/3));grid-template-columns:none;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:4px}
  .space-grid::-webkit-scrollbar{display:none}
  .space-grid figure{min-width:0;scroll-snap-align:start}
}
@media(max-width:600px){
  .space-grid{grid-auto-columns:min(78vw,310px);gap:12px}
  .space-grid img{height:clamp(260px,84vw,320px)}
}
.space-grid:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(min-width:701px) and (max-width:820px){
  .media-showcase .section-heading{align-items:flex-start}
  .media-showcase .section-heading>div:first-child{width:100%;text-align:start}
  .media-showcase .media-library-button{align-self:flex-start}
}
.space-grid,.media-frame{cursor:grab}
.space-grid.is-dragging,.media-frame.is-dragging{cursor:grabbing;user-select:none}
.space-grid.is-dragging,.atlas-categories.is-dragging{scroll-snap-type:none}
.space-grid img,.media-frame img{user-select:none;-webkit-user-drag:none}
.media-frame{touch-action:pan-y}
@media(max-width:800px){.atlas-categories{scroll-snap-type:none}}
@media(min-width:601px){.space-grid{touch-action:pan-y}}
