:root{
  --bg:#09090b;
  --panel:#111216;
  --text:#f5f3ef;
  --muted:#aaa49c;
  --line:rgba(255,255,255,.1);
  --accent:#ff4629;
  --accent-deep:#d93620;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:#09090b;color:var(--text);
  font-family:"Microsoft YaHei","PingFang SC","Segoe UI",Arial,sans-serif;
}
body:has(.contact-page-shell){
  min-height:100vh;display:flex;flex-direction:column
}
a{color:inherit;text-decoration:none}
.site-header{
  position:relative;z-index:10;display:flex;justify-content:space-between;align-items:center;
  padding:24px 6vw;border-bottom:1px solid var(--line);background:#09090b
}
.header-tools{display:flex;align-items:center;margin-left:auto}
.lang-switch{
  margin-left:18px;padding:8px 10px;border-left:1px solid var(--line);font-size:12px;
  color:rgba(255,255,255,.86);transition:border-color .22s ease,color .22s ease
}
.lang-switch:hover{border-color:rgba(255,70,41,.5);color:#fff}
.home-page .site-header{
  position:absolute;top:0;left:0;right:0;background:transparent;border-bottom:0
}
body:has(.service-story) .site-header{
  position:absolute;top:0;left:0;right:0;background:transparent;border-bottom:0
}
.brand{font-weight:700;letter-spacing:.18em}
.site-header nav{
  position:relative;display:flex;gap:24px;color:rgba(255,255,255,.78)
}
.site-header nav a{
  position:relative;display:inline-flex;align-items:center;
  transition:color .28s ease,transform .28s cubic-bezier(.22,1,.36,1)
}
.site-header nav a:hover{
  color:#fff;transform:translateY(-2px)
}
.site-header nav a.is-active{
  color:#fff
}
.nav-orb{
  position:absolute;left:0;bottom:-13px;width:8px;height:8px;border-radius:999px;
  background:var(--accent);transform:translateX(0) scale(1);
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    width .24s ease,
    height .24s ease;
}
.nav-orb.is-moving{
  width:14px;height:6px
}
main{padding:5vw 6vw 8vw}
.home-page main{padding:0}
body:has(.service-story) main{padding:0 6vw}
body:has(.contact-page-shell) main{
  padding:0 6vw;flex:1;display:flex
}
.fullscreen-slider{
  position:relative;height:100vh;min-height:720px;overflow:hidden
}
.slide{
  position:absolute;inset:0;opacity:0;transition:opacity .6s ease;
  background-size:cover;background-position:center
}
.slide.is-active{opacity:1}
.slide-1{
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.2)),
    radial-gradient(circle at 25% 40%,rgba(255,70,41,.46),transparent 24%),
    linear-gradient(135deg,#26303a,#101216 72%)
}
.slide-2{
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.2)),
    radial-gradient(circle at 30% 45%,rgba(151,131,96,.42),transparent 24%),
    linear-gradient(135deg,#26221d,#101112 72%)
}
.slide-3{
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.2)),
    radial-gradient(circle at 28% 44%,rgba(137,146,194,.42),transparent 24%),
    linear-gradient(135deg,#252938,#101115 72%)
}
.slide-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.14) 45%,rgba(0,0,0,.62) 100%)
}
.slide-copy{
  position:absolute;right:6vw;top:50%;transform:translateY(-50%);
  width:min(420px,36vw)
}
.slide-copy p,.slide-copy h1,.slide-copy span,.slide-copy .slide-cta{
  opacity:0;transform:translateY(18px);
}
.slide.is-active .slide-copy p{
  animation:floatIn .7s cubic-bezier(.22,1,.36,1) .08s forwards
}
.slide.is-active .slide-copy h1{
  animation:floatIn .8s cubic-bezier(.22,1,.36,1) .14s forwards
}
.slide.is-active .slide-copy span{
  animation:floatIn .8s cubic-bezier(.22,1,.36,1) .22s forwards
}
.slide.is-active .slide-copy .slide-cta{
  animation:floatIn .8s cubic-bezier(.22,1,.36,1) .3s forwards
}
.slide-copy p{
  margin:0 0 14px;color:var(--accent);letter-spacing:.24em;text-transform:uppercase;font-size:12px
}
.slide-copy h1{
  margin:0 0 18px;font-size:clamp(32px,4vw,var(--slide-title-size,54px));line-height:1.02;letter-spacing:-.03em
}
.slide-copy span{color:rgba(255,255,255,.78);line-height:1.8}
.slide-cta{
  display:inline-flex;margin-top:24px;padding:13px 20px;border:1px solid rgba(255,255,255,.35);
  color:#fff;text-decoration:none;transition:transform .25s ease,border-color .25s ease,background .25s ease
}
.slide-cta:hover{transform:translateY(-3px);border-color:var(--accent);background:rgba(255,70,41,.14)}
.slider-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:54px;height:54px;border:1px solid rgba(255,255,255,.28);
  background:rgba(0,0,0,.18);color:#fff;font-size:42px;line-height:1;
  display:grid;place-items:center;cursor:pointer
}
.slider-arrow:hover{
  border-color:rgba(255,70,41,.7);color:var(--accent)
}
.slider-prev{left:28px}
.slider-next{right:28px}
.home-lower{
  min-height:100vh;padding:5vw 6vw 8vw;background:#09090b;
  display:flex;flex-direction:column;justify-content:center
}
.home-page .home-lower{position:relative;z-index:2}
.home-page.is-jumping .slide.is-active{
  animation:heroImageExit .8s cubic-bezier(.22,1,.36,1) both
}
.home-page.is-jumping .slide.is-active .slide-copy{
  animation:heroCopyExit .65s cubic-bezier(.22,1,.36,1) both
}
.home-page.is-returning .fullscreen-slider{
  animation:heroReturn .8s cubic-bezier(.22,1,.36,1) both
}
.home-page.is-returning .slide.is-active{
  animation:heroImageReturn .8s cubic-bezier(.22,1,.36,1) both
}
.home-page.is-returning .slide.is-active .slide-copy{
  animation:heroCopyReturn .7s cubic-bezier(.22,1,.36,1) both
}
.home-page.is-jumping [data-latest-heading]{
  animation:latestPop .8s cubic-bezier(.22,1,.36,1) .18s both
}
.section-head p,.page-head p{
  color:var(--accent);letter-spacing:.22em;text-transform:uppercase;font-size:12px
}
.section-head{margin-bottom:20px}
.section-head-row{
  display:flex;justify-content:space-between;align-items:end;gap:18px
}
.section-head h2{font-size:30px;margin:10px 0 0}
.section-head-row a{
  padding:11px 15px;border:1px solid var(--line);color:rgba(255,255,255,.88);
  transition:border-color .22s ease,transform .22s ease,color .22s ease
}
.section-head-row a:hover{
  border-color:rgba(255,70,41,.5);color:#fff;transform:translateY(-2px)
}
.feature-grid,.asset-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px
}
.feature-card{
  min-height:280px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;justify-content:flex-end
}
.feature-card,.asset-card,.lead-form{
  transition:border-color .28s ease,transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease
}
.feature-card:hover,.asset-card:hover{
  transform:translateY(-4px);border-color:rgba(255,70,41,.45);
  box-shadow:0 16px 40px rgba(0,0,0,.28)
}
.feature-card span,.asset-card small{color:var(--muted)}
.feature-card h3{font-size:24px;line-height:1.2;margin:12px 0 0;max-width:280px}
.cover-orbit{
  position:absolute;right:-30px;top:-30px;width:190px;height:190px;border-radius:999px;
  background:radial-gradient(circle,rgba(255,70,41,.14),transparent 70%)
}
.feature-2{transform:translateY(28px)}
.feature-3{transform:translateY(56px)}
.page-head{max-width:760px;margin-bottom:24px}
.page-head-wide h1{font-size:clamp(34px,4vw,52px);margin:10px 0 12px}
.page-head span{display:block;color:var(--muted);line-height:1.8}
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.filter-row a{
  border:1px solid var(--line);padding:10px 14px;color:var(--muted);background:rgba(255,255,255,.025)
}
.filter-row .active{background:var(--text);color:#111}
.filter-row a:hover{border-color:rgba(255,70,41,.45);color:#fff}
.asset-card{
  display:block;position:relative;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.03)
}
.cover-placeholder{
  aspect-ratio:4/3;border-bottom:1px solid var(--line);
  background:
    linear-gradient(135deg,rgba(216,178,110,.3),transparent 42%),
    radial-gradient(circle at 70% 30%,rgba(255,255,255,.14),transparent 18%),
    linear-gradient(135deg,#252832,#121318 72%)
}
.cover-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--line)}
.asset-meta{padding:18px 18px 22px}
.asset-card h2{font-size:22px;line-height:1.24;margin:10px 0 0}
.asset-clean{max-width:1440px;margin:0 auto}
.asset-work{
  display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start
}
.asset-media{min-width:0}
.video-wide{
  width:100%;aspect-ratio:16/9;background:#000
}
.video-wide iframe{width:100%;height:100%;border:0}
.gallery-clean{display:grid;gap:18px}
.gallery-placeholder{
  min-height:360px;border:1px solid var(--line);
  display:grid;place-items:center;color:var(--muted);
  background:
    linear-gradient(135deg,rgba(216,178,110,.18),transparent 35%),
    linear-gradient(135deg,#20222b,#111216)
}
.gallery-image{display:block;width:100%;height:auto;border:1px solid var(--line)}
.gallery-2,.gallery-5{min-height:300px}
.gallery-3{min-height:420px}
.gallery-4{min-height:340px}
.gallery-placeholder span{
  padding:10px 14px;background:rgba(0,0,0,.28);border:1px solid var(--line)
}
.asset-side{
  position:sticky;top:24px;border-left:1px solid var(--line);padding-left:24px
}
.back-link{display:inline-block;color:var(--muted);margin-bottom:18px}
.asset-side h1{
  font-size:clamp(28px,3vw,40px);line-height:1.06;letter-spacing:-.03em;
  margin:0 0 18px
}
.asset-side p{
  margin:0 0 24px;color:var(--muted);line-height:1.9
}
.asset-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.asset-tags span{padding:7px 10px;border:1px solid var(--line);color:var(--muted);font-size:13px}
.purchase-stack{display:grid;gap:10px}
.purchase-row{
  display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center
}
.purchase-row > span{
  display:grid;place-items:center;width:34px;height:34px;border-radius:999px;
  background:rgba(255,255,255,.08);font-size:11px;color:#fff
}
.purchase-stack a{
  padding:13px 16px;background:var(--accent);color:#fff;text-align:center;
  transition:transform .22s ease,background .22s ease
}
.purchase-stack a:hover{
  background:var(--accent-deep);transform:translateY(-2px)
}
.site-footer{
  padding:24px 6vw;border-top:1px solid var(--line);color:var(--muted)
}
.scroll-hint{
  position:fixed;left:50%;bottom:22px;z-index:20;
  width:34px;height:34px;border:1px solid rgba(255,255,255,.24);border-radius:999px;
  display:grid;place-items:center;color:#fff;background:rgba(0,0,0,.2);
  opacity:0;pointer-events:none;transform:translate(-50%,10px);
  transition:opacity .35s ease,transform .35s ease
}
.scroll-hint.is-visible{
  opacity:1;transform:translate(-50%,0);
  animation:hintBob 1.6s ease-in-out infinite
}
body:has(.contact-page-shell) .site-footer{
  margin-top:0
}
.service-page-jumping .service-chapter.is-active{
  animation:chapterShift .8s cubic-bezier(.22,1,.36,1) both
}
.reveal{
  opacity:0;transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)
}
.reveal.is-visible{
  opacity:1;transform:translateY(0)
}
@keyframes floatIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes heroImageExit{
  from{transform:scale(1);filter:blur(0)}
  to{transform:scale(1.04);filter:blur(3px)}
}
@keyframes heroReturn{
  0%{transform:translateY(-3vh)}
  70%{transform:translateY(1.5vh)}
  100%{transform:translateY(0)}
}
@keyframes heroImageReturn{
  from{transform:scale(1.04);filter:blur(3px)}
  to{transform:scale(1);filter:blur(0)}
}
@keyframes heroCopyReturn{
  from{opacity:0;transform:translateY(-62%) translateX(24px)}
  to{opacity:1;transform:translateY(-50%) translateX(0)}
}
@keyframes heroCopyExit{
  from{opacity:1;transform:translateY(-50%)}
  to{opacity:0;transform:translateY(-62%) translateX(24px)}
}
@keyframes latestPop{
  from{opacity:0;transform:translateY(28px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes hintBob{
  0%,100%{transform:translate(-50%,0)}
  50%{transform:translate(-50%,6px)}
}
@keyframes chapterShift{
  0%{transform:translateY(0)}
  70%{transform:translateY(-4vh)}
  100%{transform:translateY(0)}
}
@media(max-width:900px){
  .site-header{display:block}
  .header-tools{margin-top:16px}
  .site-header nav{flex-wrap:wrap}
  .fullscreen-slider{min-height:620px}
  .slide-copy{
    left:6vw;right:6vw;top:auto;bottom:80px;transform:none;width:auto
  }
  .feature-grid,.asset-grid{grid-template-columns:1fr}
  .feature-2,.feature-3{transform:none}
  .asset-work{grid-template-columns:1fr}
  .asset-side{position:static;order:-1;border-left:0;padding-left:0}
  .slider-arrow{width:44px;height:44px;font-size:34px}
  .slider-prev{left:16px}
  .slider-next{right:16px}
    top:auto;right:auto;left:50%;bottom:-18px;width:1px;height:18px
  }
    top:auto;right:auto;left:calc(50% - 4px);bottom:-18px;transform:rotate(135deg)
  }
  .service-cta{display:grid}
  .service-chapter{min-height:auto}
    inset:-2vh -8vw;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px
  }
}

.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}


/* Asset library filters */
.asset-library-head{margin-bottom:18px}
.asset-library-head h1{margin-bottom:0}
.filter-row{position:relative;gap:18px;align-items:center;padding-bottom:12px}
.filter-row a{position:relative;border:0!important;background:transparent!important;padding:7px 2px;font-size:13px;color:rgba(255,255,255,.62);transition:color .24s ease,transform .24s cubic-bezier(.22,1,.36,1)}
.filter-row a:hover,.filter-row a.active{color:#fff;transform:translateY(-1px)}
.filter-row::after{content:"";position:absolute;left:var(--filter-dot-left,0px);bottom:0;width:7px;height:7px;border-radius:999px;background:var(--accent);transform:translateX(-50%) scale(1);transition:left .38s cubic-bezier(.22,1,.36,1),width .22s ease,height .22s ease}
.filter-row.is-moving::after{width:13px;height:6px}
.asset-card small,.asset-grid-rich .asset-card small{display:none!important}
.asset-card h2{margin-top:0}
.lead-form select{color:#fff;background:#17171a}
.lead-form select option{background:#17171a;color:#fff}
.lead-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,70,41,.12);outline:none}


/* Header lines and reveal motion */
.site-header{border-bottom:1px solid rgba(255,255,255,.1)!important}
.home-page .site-header,
body:has(.service-story) .site-header{border-bottom:1px solid rgba(255,255,255,.16)!important}
.site-header::after{content:"";position:absolute;left:6vw;right:6vw;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);opacity:.55;pointer-events:none}

.asset-library-head.reveal,.filter-row.reveal{transition-delay:.05s}.asset-grid-animated .asset-card{opacity:0;transform:translateY(22px) scale(.985);animation:cardFloatIn .72s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--stagger, 1) * .045s)}.asset-grid-animated.is-visible .asset-card{animation-play-state:running}.asset-grid-animated .asset-card:hover{transform:translateY(-5px) scale(1.01)!important}

.contact-page-v4 .contact-detail-strip strong,
.contact-page-v4 .contact-detail-strip a{color:rgba(255,255,255,.68)!important}.contact-page-v4 .contact-detail-strip a:hover{color:#fff!important}

@keyframes cardFloatIn{from{opacity:0;transform:translateY(24px) scale(.985);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}


/* Brand and page icons */
.brand-logo{display:inline-flex;align-items:center;min-width:0}
.brand-logo img{display:block;width:auto;height:34px;max-width:190px;object-fit:contain}
@media(max-width:640px){.brand-logo img{height:28px;max-width:138px}}
.hero-inline-icon{display:block;width:clamp(76px,7vw,118px);height:auto;object-fit:contain;margin:0 0 18px;filter:drop-shadow(0 18px 36px rgba(0,0,0,.34))}
.service-inline-icon{width:clamp(96px,8vw,136px);margin-bottom:20px}
.service-hero-rich{padding-top:18px}
.contact-inline-icon{width:clamp(70px,6vw,106px);margin-bottom:16px}
.contact-page-v4 .contact-hero{padding-top:6px}
/* Asset library cover-only cards */
.asset-grid-covers-only{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:18px!important;align-items:start!important}
.asset-grid-covers-only .asset-cover-card{display:block!important;aspect-ratio:1/1!important;height:auto!important;min-height:0!important;padding:0!important;border-radius:0;overflow:hidden;background:rgba(255,255,255,.035)}
.asset-grid-covers-only .cover-image,.asset-grid-covers-only .cover-placeholder{display:block!important;width:100%!important;height:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;object-position:center!important;border:0!important}
.asset-grid-covers-only .asset-meta{display:none!important}
@media(min-width:1500px){.asset-grid-covers-only{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important}}
@media(max-width:760px){.asset-grid-covers-only{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:12px!important}}


/* Asset empty state */
.asset-empty-state{grid-column:1/-1;min-height:280px;display:grid;place-items:center;text-align:center;border:1px dashed rgba(255,255,255,.16);background:rgba(255,255,255,.035);padding:48px 24px}.asset-empty-state h2{margin:0 0 10px;font-size:28px}.asset-empty-state p{margin:0 0 22px;color:var(--muted)}.asset-empty-state a{display:inline-flex;padding:12px 18px;background:var(--accent);color:#fff;transition:transform .22s ease,background .22s ease}.asset-empty-state a:hover{background:var(--accent-deep);transform:translateY(-2px)}


/* Scroll hint glyph */
.scroll-hint{font-size:0!important}
.scroll-hint::before{content:"\2193";font-size:17px;line-height:1;color:#fff;font-family:Arial,Helvetica,sans-serif}

/* Canonical consolidation pass: final interaction contracts */
.lang-switch{
  margin-left:28px!important;
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 0!important;
  border-left:0!important;
  color:rgba(255,255,255,.72);
  text-decoration:none;
  transition:color .24s ease, transform .24s ease;
}
.lang-switch::before{
  content:"";
  width:16px;
  height:16px;
  flex:0 0 auto;
  background:currentColor;
  -webkit-mask:url('/icon/globe.svg') center/contain no-repeat;
  mask:url('/icon/globe.svg') center/contain no-repeat;
  opacity:.92;
  transform:none!important;
  transition:transform .24s cubic-bezier(.2,.8,.2,1), color .24s ease, opacity .24s ease;
}
.lang-switch::after{
  content:"";
  position:absolute;
  left:-14px;
  top:50%;
  width:1px;
  height:18px;
  background:rgba(255,255,255,.18);
  transform:translateY(-50%)!important;
  opacity:1;
  pointer-events:none;
}
.lang-switch:hover,
.lang-switch:focus-visible{
  color:var(--accent);
  transform:translateY(-1px);
}
.lang-switch:hover::before,
.lang-switch:focus-visible::before{
  transform:scale(1.08)!important;
  opacity:1;
}
.lang-switch span,
.lang-switch b,
.lang-switch strong{color:inherit!important;}

.site-footer{
  min-height:72px!important;
  padding:18px clamp(20px,4vw,56px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
}
.footer-icons{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
  flex:1 1 auto!important;
}
.footer-icons a,
.footer-icons span{
  width:auto!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:.82;
  transform:none;
  transition:opacity .22s ease, transform .22s cubic-bezier(.2,.8,.2,1), filter .22s ease;
}
.footer-icons a:hover,
.footer-icons a:focus-visible{
  opacity:1;
  transform:translateY(-2px) scale(1.08);
  filter:drop-shadow(0 8px 18px rgba(255,70,41,.25));
}
.footer-icons span{opacity:.32;pointer-events:none;}
.footer-icons img{width:24px!important;height:24px!important;object-fit:contain!important;display:block!important;}
@media(max-width:720px){
  .site-footer{justify-content:center!important;flex-direction:column!important;min-height:86px!important;}
  .footer-icons{order:-1;flex:0 0 auto!important;}
}

.purchase-stack{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.purchase-row{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:0;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.purchase-icon,
.purchase-icon-fallback{
  width:44px;
  height:44px;
  object-fit:contain;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.95;
}
.purchase-icon-fallback{
  color:rgba(255,255,255,.64);
  font-size:12px;
  letter-spacing:.08em;
}
.purchase-button{
  width:100%;
  min-height:42px;
  padding:0 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff!important;
  background:var(--accent)!important;
  border:1px solid rgba(255,70,41,.72)!important;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.15;
  text-decoration:none!important;
  white-space:normal;
  overflow-wrap:anywhere;
  transition:transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease, filter .24s ease;
}
.purchase-button:hover,
.purchase-button:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(255,70,41,.26);
  filter:saturate(1.08) brightness(1.04);
}
@media(max-width:1180px){.purchase-stack{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.purchase-stack{grid-template-columns:1fr;}.purchase-button{min-height:40px;}}


/* Canonical hero CTA and copy geometry */
.fullscreen-slider .slide-copy{
  position:absolute!important;
  right:6vw!important;
  left:auto!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  max-width:min(430px,34vw)!important;
  z-index:8!important;
  pointer-events:auto!important;
}
.slide-copy .slide-cta,
.slide.is-active .slide-copy .slide-cta,
.fullscreen-slider .slide-copy .slide-cta{
  opacity:1!important;
  position:relative!important;
  z-index:12!important;
  pointer-events:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 22px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border-radius:0!important;
  border:1px solid rgba(255,70,41,.9)!important;
  color:#fff!important;
  background:linear-gradient(180deg,var(--accent),var(--accent-deep))!important;
  box-shadow:none!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-decoration:none!important;
  transform:translateY(0)!important;
  transition:transform .24s cubic-bezier(.16,1,.3,1), box-shadow .24s ease, filter .24s ease, border-color .24s ease!important;
}
.slide-copy .slide-cta::before,
.slide-copy .slide-cta::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  display:block!important;
  pointer-events:none!important;
  z-index:-1!important;
  transition:opacity .24s ease, transform .56s cubic-bezier(.22,1,.36,1)!important;
}
.slide-copy .slide-cta::before{
  background:rgba(255,255,255,.13)!important;
  opacity:0!important;
  transform:scaleX(.72)!important;
  transform-origin:left center!important;
}
.slide-copy .slide-cta::after{
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.35) 46%,transparent 62%)!important;
  opacity:0!important;
  transform:translateX(-115%)!important;
  mix-blend-mode:screen!important;
}
.slide-copy .slide-cta:hover,
.slide-copy .slide-cta:focus-visible,
.slide-copy .slide-cta.is-hovering{
  transform:translateY(-5px) scale(1.025)!important;
  border-color:rgba(255,255,255,.48)!important;
  box-shadow:0 0 30px rgba(255,70,41,.38),0 0 68px rgba(255,70,41,.22),0 0 0 1px rgba(255,255,255,.12) inset!important;
  filter:saturate(1.08)!important;
}
.slide-copy .slide-cta:hover::before,
.slide-copy .slide-cta:focus-visible::before,
.slide-copy .slide-cta.is-hovering::before{opacity:1!important;transform:scaleX(1)!important;}
.slide-copy .slide-cta:hover::after,
.slide-copy .slide-cta:focus-visible::after,
.slide-copy .slide-cta.is-hovering::after{opacity:1!important;transform:translateX(115%)!important;}
.slide-copy .slide-cta:active{transform:translateY(-1px) scale(.99)!important;}
@media(max-width:900px){
  .fullscreen-slider .slide-copy{
    left:6vw!important;
    right:6vw!important;
    top:112px!important;
    transform:none!important;
    max-width:min(520px,88vw)!important;
  }
}
@media(max-width:560px){
  .fullscreen-slider .slide-copy{top:96px!important;}
  .slide-copy .slide-cta{min-height:44px!important;padding:0 18px!important;}
}


/* Canonical latest works section */
.latest-showcase{
  position:relative;
  min-height:calc(100vh - 72px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding-bottom:96px!important;
}
.latest-showcase .latest-head{
  margin:0 0 26px!important;
}
.latest-showcase .latest-head p{
  font-size:clamp(22px,3vw,38px)!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  text-transform:none!important;
  margin:0 0 8px!important;
  color:var(--accent)!important;
  font-weight:850!important;
}
.latest-showcase .latest-head h2{
  max-width:720px!important;
  margin:0!important;
  font-size:clamp(20px,2.4vw,34px)!important;
  line-height:1.16!important;
  letter-spacing:-.035em!important;
  color:#fff!important;
  font-weight:760!important;
}
.latest-work-row{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  align-items:start!important;
}
.latest-work-row .latest-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.latest-grid .latest-cover-card{
  position:relative!important;
  transform:none!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.035)!important;
  text-decoration:none!important;
}
.latest-grid .latest-cover-card .feature-cover,
.latest-grid .latest-cover-card .feature-cover-placeholder{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
}
.latest-grid .latest-cover-card span,
.latest-grid .latest-cover-card h3{display:none!important;}
.latest-work-row .latest-cover-card{
  opacity:0;
  animation:cardFloatIn .72s cubic-bezier(.22,1,.36,1) forwards;
  animation-delay:calc(var(--card-index, 0) * .055s);
}
.latest-work-row .latest-cover-card:nth-child(1){--card-index:1}
.latest-work-row .latest-cover-card:nth-child(2){--card-index:2}
.latest-work-row .latest-cover-card:nth-child(3){--card-index:3}
.latest-work-row .latest-cover-card:nth-child(4){--card-index:4}
.latest-more{
  position:absolute!important;
  right:clamp(10px,2.4vw,34px)!important;
  bottom:-50px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:8px 0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:clamp(17px,1.8vw,24px)!important;
  font-weight:820!important;
  letter-spacing:-.025em!important;
  line-height:1!important;
  text-decoration:none!important;
  transition:color .22s ease, transform .24s cubic-bezier(.16,1,.3,1)!important;
}
.latest-more::after{
  content:""!important;
  display:block!important;
  width:28px!important;
  height:1px!important;
  background:var(--accent)!important;
  transition:width .24s ease, background .24s ease!important;
}
.latest-more:hover,
.latest-more:focus-visible{
  color:#fff!important;
  transform:translateX(4px)!important;
}
.latest-more:hover::after,
.latest-more:focus-visible::after{width:42px!important;}
@media(max-width:980px){
  .latest-showcase{padding-bottom:110px!important;}
  .latest-work-row .latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .latest-more{bottom:-54px!important;}
}
@media(max-width:560px){
  .latest-showcase{justify-content:flex-start!important;padding-top:96px!important;padding-bottom:90px!important;}
  .latest-showcase .latest-head p{font-size:30px!important;}
  .latest-showcase .latest-head h2{font-size:22px!important;}
  .latest-work-row .latest-grid{grid-template-columns:1fr!important;gap:14px!important;}
  .latest-more{position:static!important;justify-self:end!important;margin-top:20px!important;font-size:20px!important;}
}


/* Canonical cover card hover */
.asset-grid-covers-only .asset-cover-card,
.latest-grid .latest-cover-card{
  position:relative!important;
  overflow:hidden!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:none!important;
  isolation:isolate!important;
  transition:transform .52s cubic-bezier(.16,1,.3,1), border-color .34s ease, box-shadow .52s ease!important;
}
.asset-grid-covers-only .cover-image,
.latest-grid .latest-cover-card .feature-cover{
  transform:scale(1)!important;
  filter:blur(0) saturate(1) brightness(1)!important;
  will-change:transform,filter;
  transition:transform .72s cubic-bezier(.16,1,.3,1), filter .48s ease!important;
}
.asset-grid-covers-only .asset-cover-card::after,
.latest-grid .latest-cover-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:#000!important;
  opacity:0!important;
  transform:none!important;
  transition:opacity .42s ease!important;
}
.asset-grid-covers-only .asset-cover-card::before,
.latest-grid .latest-cover-card::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:42px!important;
  height:42px!important;
  z-index:3!important;
  pointer-events:none!important;
  background:url('/icon/eye.svg') center/contain no-repeat!important;
  opacity:0!important;
  transform:translate(-50%,-72%) scale(.96)!important;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.42))!important;
  transition:opacity .34s ease, transform .54s cubic-bezier(.16,1,.3,1)!important;
}
.asset-grid-covers-only .asset-cover-card:hover,
.asset-grid-covers-only .asset-cover-card:focus-visible,
.latest-grid .latest-cover-card:hover,
.latest-grid .latest-cover-card:focus-visible{
  transform:scale(1.018)!important;
  border-color:rgba(255,255,255,.2)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.26)!important;
}
.asset-grid-covers-only .asset-cover-card:hover .cover-image,
.asset-grid-covers-only .asset-cover-card:focus-visible .cover-image,
.latest-grid .latest-cover-card:hover .feature-cover,
.latest-grid .latest-cover-card:focus-visible .feature-cover{
  transform:scale(1.06)!important;
  filter:blur(1.1px) saturate(.88) brightness(.78)!important;
}
.asset-grid-covers-only .asset-cover-card:hover::after,
.asset-grid-covers-only .asset-cover-card:focus-visible::after,
.latest-grid .latest-cover-card:hover::after,
.latest-grid .latest-cover-card:focus-visible::after{opacity:.62!important;}
.asset-grid-covers-only .asset-cover-card:hover::before,
.asset-grid-covers-only .asset-cover-card:focus-visible::before,
.latest-grid .latest-cover-card:hover::before,
.latest-grid .latest-cover-card:focus-visible::before{
  opacity:.92!important;
  transform:translate(-50%,-50%) scale(1)!important;
}
@media(max-width:760px){
  .asset-grid-covers-only .asset-cover-card::before,
  .latest-grid .latest-cover-card::before{width:34px!important;height:34px!important;}
}


/* Canonical services and contact pages */
body:has(.service-story) main{padding:0 6vw!important;}
body:has(.service-story) .site-header{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom:1px solid rgba(255,255,255,.16)!important;}
body:has(.service-story-single) main{min-height:calc(100vh - 72px)!important;}
.service-story,.service-story-single{position:relative;min-height:auto!important;}
.service-chapter{box-sizing:border-box;}
.service-single-page{
  min-height:calc(100vh - 72px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:clamp(22px,3.6vh,38px)!important;
  padding-top:clamp(92px,11vh,120px)!important;
  padding-bottom:clamp(86px,10vh,118px)!important;
}
.service-hero,.service-hero-rich{
  align-self:flex-start!important;
  text-align:left!important;
  margin:0!important;
  max-width:760px!important;
}
.service-inline-icon{
  display:block!important;
  width:clamp(96px,8vw,136px)!important;
  height:auto!important;
  margin:0 0 20px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.34));
}
.service-hero h1{
  margin:0 0 14px!important;
  font-size:clamp(34px,4vw,52px)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
}
.service-hero span{
  display:block!important;
  max-width:680px!important;
  color:rgba(255,255,255,.68)!important;
  line-height:1.84!important;
}
.service-chapter-1 .process-row{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  margin:0!important;
  align-items:stretch!important;
}
.service-chapter-1 .process-row article{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto 1fr!important;
  gap:12px!important;
  min-height:150px!important;
  padding:20px 16px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.024))!important;
  overflow:visible!important;
  transition:transform .26s cubic-bezier(.16,1,.3,1),border-color .26s ease,background .26s ease!important;
}
.service-chapter-1 .process-row article:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(255,70,41,.45)!important;
  background:linear-gradient(180deg,rgba(255,70,41,.10),rgba(255,255,255,.035))!important;
}
.service-chapter-1 .process-row article:not(:last-child)::after{
  content:'›';
  position:absolute;
  right:-13px;
  top:50%;
  transform:translateY(-50%);
  color:var(--accent);
  font-size:22px;
  opacity:.78;
  pointer-events:none;
}
.service-chapter-1 .process-row article em{
  display:block!important;
  margin:0!important;
  color:var(--accent)!important;
  font-size:clamp(28px,2.2vw,38px)!important;
  line-height:.9!important;
  font-weight:900!important;
  font-style:normal!important;
  letter-spacing:-.06em!important;
}
.service-chapter-1 .process-row article div{display:grid!important;gap:9px!important;align-content:start!important;}
.service-chapter-1 .process-row article strong{display:block!important;color:#fff!important;font-size:clamp(16px,1.25vw,20px)!important;line-height:1.25!important;letter-spacing:-.02em!important;}
.service-chapter-1 .process-row article span{display:block!important;color:rgba(255,255,255,.66)!important;font-size:13px!important;line-height:1.72!important;}
.service-cta,.service-cta-chapter1{
  width:100%!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:24px!important;
  margin:clamp(18px,3vh,34px) 0 0!important;
  padding:20px 24px!important;
  border:1px solid var(--line)!important;
  background:rgba(255,255,255,.03)!important;
}
.service-cta p{margin:0 0 8px!important;color:var(--accent)!important;font-size:12px!important;letter-spacing:.22em!important;text-transform:uppercase!important;}
.service-cta h2{margin:0 0 8px!important;font-size:clamp(21px,2.2vw,30px)!important;line-height:1.12!important;}
.service-cta span{display:block!important;color:var(--muted)!important;line-height:1.72!important;}
.service-cta a{flex:none!important;padding:13px 18px!important;background:var(--accent)!important;color:#fff!important;text-decoration:none!important;transition:transform .24s cubic-bezier(.16,1,.3,1),background .24s ease,box-shadow .24s ease!important;}
.service-cta a:hover,.service-cta a:focus-visible{transform:translateY(-3px)!important;background:var(--accent-deep)!important;box-shadow:0 0 26px rgba(255,70,41,.30),0 0 54px rgba(255,70,41,.18)!important;}
body:has(.service-story-single) .site-footer{margin-top:0!important;}


/* Canonical red button glow
   Base state stays clean; hover/focus glow is centered around the button. */
.slide-copy .slide-cta,
.service-cta a,
.lead-form button,
.purchase-button{
  box-shadow:none!important;
}
.slide-copy .slide-cta:hover,
.slide-copy .slide-cta:focus-visible,
.slide-copy .slide-cta.is-hovering,
.service-cta a:hover,
.service-cta a:focus-visible,
.lead-form button:hover,
.lead-form button:focus-visible,
.purchase-button:hover,
.purchase-button:focus-visible{
  box-shadow:0 0 28px rgba(255,70,41,.34),0 0 58px rgba(255,70,41,.18)!important;
}


body:has(.contact-page-v4) main{padding:0 6vw!important;flex:1!important;display:flex!important;align-items:center!important;}
.contact-page-shell{flex:1!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
.contact-page-v4{width:100%!important;min-height:calc(100vh - 150px)!important;display:flex!important;align-items:center!important;}
.contact-layout-v4{width:100%!important;display:grid!important;grid-template-columns:minmax(260px,380px) minmax(0,1fr)!important;gap:clamp(34px,5vw,72px)!important;align-items:center!important;}
.contact-left-panel{display:grid!important;gap:24px!important;align-content:start!important;}
.contact-inline-icon{display:block!important;width:clamp(70px,6vw,106px)!important;height:auto!important;margin:0 0 16px!important;object-fit:contain!important;}
.contact-page-v4 .contact-hero{padding-top:0!important;}
.contact-page-v4 .contact-hero h1{margin:0 0 14px!important;font-size:clamp(32px,4.2vw,58px)!important;line-height:.98!important;letter-spacing:-.055em!important;}
.contact-page-v4 .contact-hero span{display:block!important;max-width:390px!important;color:rgba(255,255,255,.68)!important;line-height:1.78!important;}
.contact-page-v4 .contact-detail-strip{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
.contact-page-v4 .contact-detail-strip article{min-height:auto!important;padding:0!important;border:0!important;background:transparent!important;display:block!important;}
.contact-page-v4 .contact-detail-strip small{display:none!important;}
.contact-page-v4 .contact-detail-strip strong,
.contact-page-v4 .contact-detail-strip a{display:block!important;color:rgba(255,255,255,.68)!important;font-size:13px!important;line-height:1.58!important;word-break:break-word!important;text-decoration:none!important;}
.contact-page-v4 .contact-detail-strip a:hover,.contact-page-v4 .contact-detail-strip a:focus-visible{color:#fff!important;}
.contact-page-v4 .contact-form-zone{width:100%!important;}
.lead-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;padding:clamp(24px,3vw,38px)!important;border:1px solid var(--line)!important;background:rgba(255,255,255,.03)!important;}
.lead-form label{display:grid!important;gap:9px!important;color:var(--muted)!important;font-size:13px!important;}
.lead-form .full{grid-column:1/-1!important;}
.form-success{margin:0!important;color:#fff!important;background:rgba(255,70,41,.14)!important;border:1px solid rgba(255,70,41,.4)!important;padding:12px!important;}
.lead-form input,.lead-form select,.lead-form textarea{width:100%!important;padding:12px 13px!important;border:1px solid var(--line)!important;color:var(--text)!important;background:rgba(0,0,0,.18)!important;font:inherit!important;}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none!important;border-color:rgba(255,70,41,.7)!important;box-shadow:0 0 0 3px rgba(255,70,41,.12)!important;}
.contact-page-v4 .lead-form input,.contact-page-v4 .lead-form select{min-height:48px!important;}
.contact-page-v4 .lead-form textarea{min-height:164px!important;resize:vertical!important;}
.lead-form button{justify-self:start!important;min-width:150px!important;height:48px!important;padding:0 18px!important;border:0!important;background:var(--accent)!important;color:#fff!important;font-weight:700!important;letter-spacing:.08em!important;cursor:pointer!important;transition:transform .24s cubic-bezier(.16,1,.3,1),background .24s ease,box-shadow .24s ease!important;}
.lead-form button:hover,.lead-form button:focus-visible{background:var(--accent-deep)!important;transform:translateY(-3px)!important;box-shadow:0 0 26px rgba(255,70,41,.30),0 0 54px rgba(255,70,41,.18)!important;}
.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important;}
@media(max-width:1080px){
  .service-chapter-1 .process-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .service-chapter-1 .process-row article:nth-child(2)::after{display:none!important;}
}
@media(max-width:980px){
  body:has(.contact-page-v4) main{padding:92px 6vw 42px!important;align-items:flex-start!important;}
  .contact-page-v4{min-height:auto!important;align-items:flex-start!important;}
  .contact-layout-v4{grid-template-columns:1fr!important;gap:28px!important;}
  .contact-page-v4 .contact-detail-strip{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;}
}
@media(max-width:720px){
  .service-single-page{justify-content:flex-start!important;padding-top:88px!important;padding-bottom:28px!important;}
  .service-chapter-1 .process-row{grid-template-columns:1fr!important;gap:10px!important;}
  .service-chapter-1 .process-row article{min-height:auto!important;padding:13px!important;}
  .service-chapter-1 .process-row article::after{display:none!important;}
  .service-cta{display:grid!important;padding:15px!important;gap:14px!important;}
  .service-cta a{justify-self:start!important;}
  .contact-page-v4 .lead-form{grid-template-columns:1fr!important;padding:20px!important;}
  .contact-page-v4 .contact-detail-strip{grid-template-columns:1fr!important;}
}


/* Canonical asset detail page */
.asset-clean{
  max-width:1440px!important;
  margin:0 auto!important;
  padding-top:clamp(82px,9vh,112px)!important;
}
.asset-work{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(340px,380px)!important;
  gap:28px!important;
  align-items:start!important;
}
.asset-media{min-width:0!important;}
.video-wide{width:100%!important;aspect-ratio:16/9!important;background:#000!important;margin-bottom:18px!important;}
.video-wide iframe{width:100%!important;height:100%!important;border:0!important;display:block!important;}
.gallery-clean{display:grid!important;gap:18px!important;}
.gallery-image{display:block!important;width:100%!important;height:auto!important;border:1px solid var(--line)!important;}
.gallery-placeholder{min-height:360px!important;border:1px solid var(--line)!important;display:grid!important;place-items:center!important;color:var(--muted)!important;background:linear-gradient(135deg,rgba(216,178,110,.18),transparent 35%),linear-gradient(135deg,#20222b,#111216)!important;}
.gallery-placeholder span{padding:10px 14px!important;background:rgba(0,0,0,.28)!important;border:1px solid var(--line)!important;}
.asset-side{
  position:sticky!important;
  top:86px!important;
  max-height:calc(100vh - 102px)!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  border-left:1px solid var(--line)!important;
  padding-left:24px!important;
  overflow:hidden!important;
}
.back-link{display:inline-block!important;color:var(--muted)!important;margin-bottom:16px!important;text-decoration:none!important;transition:color .22s ease!important;}
.back-link:hover,.back-link:focus-visible{color:#fff!important;}
.asset-side h1{font-size:18px!important;line-height:1.35!important;letter-spacing:0!important;margin:0 0 14px!important;}
.asset-side p{font-size:14px!important;line-height:1.85!important;}
.asset-tags{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:0 0 16px!important;}
.asset-tags span{padding:7px 10px!important;border:1px solid var(--line)!important;color:var(--muted)!important;font-size:13px!important;}
.asset-description-block{
  position:relative!important;
  flex:0 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  margin:0 0 14px!important;
}
.asset-description-block p{
  margin:0 0 10px!important;
  color:var(--muted)!important;
  font-size:14px!important;
  line-height:1.85!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  scrollbar-color:rgba(255,255,255,.34) rgba(255,255,255,.07)!important;
}
.asset-description-block:not(.is-expanded) p{
  display:-webkit-box!important;
  -webkit-line-clamp:16!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  max-height:360px!important;
}
.asset-description-block.is-expanded p{
  display:block!important;
  max-height:calc((100vh - 390px) * .75)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding-right:8px!important;
}
.asset-description-block p::-webkit-scrollbar{width:6px!important;}
.asset-description-block p::-webkit-scrollbar-track{background:rgba(255,255,255,.07)!important;}
.asset-description-block p::-webkit-scrollbar-thumb{background:rgba(255,255,255,.34)!important;border-radius:999px!important;}
.asset-description-block button{
  align-self:flex-end!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:var(--accent)!important;
  font-size:14px!important;
  cursor:pointer!important;
}
.purchase-stack{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:14px!important;
}
.purchase-row{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.purchase-row::before,.purchase-row::after{display:none!important;content:none!important;}
.purchase-row:hover{transform:none!important;background:transparent!important;border-color:transparent!important;}
.purchase-row>img,.purchase-icon,.purchase-icon-fallback{
  width:44px!important;
  height:44px!important;
  object-fit:contain!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:.95!important;
}
.purchase-icon-fallback,
.purchase-row>span:not(.purchase-button){
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.04)!important;
  color:rgba(255,255,255,.7)!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}
.purchase-button{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  min-height:42px!important;
  padding:0 12px!important;
  overflow:hidden!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border-radius:999px!important;
  color:#fff!important;
  background:var(--accent)!important;
  border:1px solid rgba(255,70,41,.72)!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  line-height:1.15!important;
  text-decoration:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  transition:transform .24s cubic-bezier(.16,1,.3,1), box-shadow .24s ease, filter .24s ease, background .24s ease!important;
}
.purchase-button::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(115deg,transparent,rgba(255,255,255,.30),transparent)!important;
  transform:translateX(-120%)!important;
  transition:transform .55s cubic-bezier(.22,1,.36,1)!important;
}
.purchase-button:hover,.purchase-button:focus-visible{
  transform:translateY(-3px)!important;
  background:var(--accent-deep)!important;
  box-shadow:0 0 26px rgba(255,70,41,.30),0 0 54px rgba(255,70,41,.18)!important;
  filter:saturate(1.08) brightness(1.04)!important;
}
.purchase-button:hover::after,.purchase-button:focus-visible::after{transform:translateX(120%)!important;}
@media(max-width:1180px){.purchase-stack{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.purchase-button{font-size:11px!important;}}
@media(max-width:900px){
  .asset-clean{padding-top:92px!important;}
  .asset-work{grid-template-columns:1fr!important;}
  .asset-side{position:static!important;order:-1!important;max-height:none!important;border-left:0!important;padding-left:0!important;overflow:visible!important;}
  .asset-description-block.is-expanded p{max-height:none!important;overflow:visible!important;}
  .purchase-stack{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .purchase-stack{grid-template-columns:1fr!important;}
  .purchase-row{flex-direction:row!important;justify-content:flex-start!important;}
  .purchase-button{font-size:13px!important;min-height:40px!important;}
}


/* Canonical contact verification */
.turnstile-field{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:70px!important;}
.form-error{margin:0!important;color:#fff!important;background:rgba(180,35,24,.16)!important;border:1px solid rgba(255,92,70,.45)!important;padding:12px!important;}


/* Contact success state */
.lead-form .form-success,
.form-success{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  margin:0!important;
  color:#dffbea!important;
  background:linear-gradient(135deg,rgba(34,197,94,.22),rgba(34,197,94,.10))!important;
  border:1px solid rgba(74,222,128,.42)!important;
  box-shadow:0 14px 34px rgba(22,163,74,.12)!important;
  padding:13px 14px!important;
  border-radius:12px!important;
  line-height:1.55!important;
}
.form-success .success-check{
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:#22c55e!important;
  color:#06140b!important;
  font-weight:900!important;
  font-size:15px!important;
  box-shadow:0 0 0 5px rgba(34,197,94,.16)!important;
}
.form-success span:last-child{color:#dffbea!important;}


/* Responsive top safe area
   Header/nav wraps taller on narrow screens; keep first-screen content below it. */
@media(max-width:900px){
  .fullscreen-slider .slide-copy{
    top:clamp(132px,16vh,172px)!important;
    bottom:auto!important;
    transform:none!important;
    left:6vw!important;
    right:6vw!important;
    max-width:min(520px,88vw)!important;
  }
  .service-single-page{
    padding-top:clamp(132px,16vh,172px)!important;
  }
  .service-inline-icon{
    width:clamp(82px,14vw,112px)!important;
    margin-bottom:14px!important;
  }
}
@media(max-width:560px){
  .fullscreen-slider .slide-copy{
    top:128px!important;
  }
  .fullscreen-slider .slide-copy h1{
    font-size:clamp(26px,8vw,38px)!important;
    line-height:1.02!important;
  }
  .fullscreen-slider .slide-copy span{
    font-size:13px!important;
    line-height:1.55!important;
    max-width:92vw!important;
  }
  .service-single-page{
    padding-top:128px!important;
  }
  .service-inline-icon{
    width:76px!important;
    margin-bottom:12px!important;
  }
}
@media(max-width:900px) and (max-height:680px){
  .fullscreen-slider .slide-copy span,
  .service-hero span{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .service-single-page{
    gap:18px!important;
  }
}


/* Home page two-screen contract.
   Screen 1 = hero. Screen 2 = latest works + footer. No negative margins,
   no overlay patches, no section bleed. */
.home-page main{background:#09090b!important;}
.home-page .fullscreen-slider{
  height:100vh!important;
  min-height:100vh!important;
  margin:0!important;
  position:relative!important;
  z-index:1!important;
}
.home-page .home-lower,
.home-page .latest-showcase{
  height:calc(100vh - 112px)!important;
  min-height:0!important;
  margin:0!important;
  padding:clamp(34px,5vh,58px) 6vw!important;
  position:relative!important;
  z-index:2!important;
  background:#09090b!important;
  overflow:hidden!important;
}
.home-page .site-footer{
  height:112px!important;
  min-height:112px!important;
  margin-top:0!important;
  flex:0 0 112px!important;
  position:relative!important;
  z-index:2!important;
  background:#09090b!important;
}
@media(max-width:720px){
  .home-page .home-lower,
  .home-page .latest-showcase{
    height:calc(100vh - 86px)!important;
    padding:clamp(26px,4vh,42px) 6vw!important;
  }
  .home-page .site-footer{
    height:86px!important;
    min-height:86px!important;
    flex-basis:86px!important;
  }
}

/* Services single-page footer behavior */
body:has(.service-story-single) .site-footer{margin-top:0!important;}





/* Asset detail compact spacing */
.asset-clean{padding-top:clamp(16px,2.1vh,28px)!important;}
@media(max-width:900px){.asset-clean{padding-top:18px!important;}}



/* Footer alignment */
.site-footer{
  padding-left:6vw!important;
  padding-right:6vw!important;
}
.site-footer>span:first-child{
  text-align:left!important;
  align-self:center!important;
}
@media(max-width:720px){
  .site-footer{
    align-items:stretch!important;
    text-align:left!important;
  }
  .site-footer>span:first-child{
    align-self:flex-start!important;
  }
  .site-footer .footer-icons{
    align-self:center!important;
  }
}


/* Footer icon interaction */
.footer-icons{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
  flex:1 1 auto!important;
}
.footer-icons a,.footer-icons span{
  width:auto!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:.74!important;
  transition:opacity .22s ease,transform .24s cubic-bezier(.16,1,.3,1),filter .24s ease!important;
}
.footer-icons img{
  width:24px!important;
  height:24px!important;
  object-fit:contain!important;
  display:block!important;
  filter:brightness(0) invert(1)!important;
}
.footer-icons a:hover,.footer-icons a:focus-visible{
  opacity:1!important;
  transform:translateY(-2px) scale(1.08)!important;
  filter:drop-shadow(0 0 16px rgba(255,70,41,.32))!important;
}
.footer-icons span{opacity:.32!important;pointer-events:none!important;}

