
/* =========================================================
   v3.27 — mobile/tablet visual clean-up
   Replaces unicode decorative symbols with CSS-drawn marks,
   prevents emoji-font rendering, and tightens touch layouts.
   ========================================================= */
.ui-glyph,
.ui-chevron,
.ui-caret,
.ui-close-mark,
.marquee-separator{
  display:inline-block;
  flex:0 0 auto;
  position:relative;
  vertical-align:middle;
  font-size:0!important;
  line-height:0!important;
  font-family:inherit!important;
}
.ui-glyph-ne{
  width:10px;
  height:10px;
  margin-left:7px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  transform:translateY(-1px);
}
.ui-glyph-ne::after{
  content:"";
  position:absolute;
  width:12px;
  height:1px;
  right:-1px;
  top:4px;
  background:currentColor;
  transform:rotate(-45deg);
  transform-origin:right center;
}
.ui-glyph-down{
  width:8px;
  height:8px;
  margin-left:7px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
}
.ui-glyph-left{
  width:10px;
  height:10px;
  margin-right:7px;
  border-left:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:translateY(-1px) rotate(45deg);
}
.ui-glyph-left::after{
  content:"";
  position:absolute;
  width:12px;
  height:1px;
  left:-1px;
  top:4px;
  background:currentColor;
  transform:rotate(-45deg);
  transform-origin:left center;
}
.marquee-separator{
  width:6px;
  height:6px;
  margin:0 2px;
  border:1px solid rgba(199,173,135,.78);
  transform:rotate(45deg);
}
.ui-chevron{
  width:8px;
  height:8px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  transform:rotate(45deg);
}
.ui-caret-wrap{
  display:grid!important;
  place-items:center;
  min-width:16px;
  min-height:16px;
}
.ui-caret{
  width:7px;
  height:7px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
}
.ui-close-mark{
  width:13px;
  height:13px;
}
.ui-close-mark::before,
.ui-close-mark::after{
  content:"";
  position:absolute;
  left:6px;
  top:0;
  width:1px;
  height:13px;
  border-radius:999px;
  background:currentColor;
}
.ui-close-mark::before{transform:rotate(45deg)}
.ui-close-mark::after{transform:rotate(-45deg)}
.aw-concierge-close{font-size:0!important}
.aw-concierge-back{display:inline-flex!important;align-items:center!important}

/* Tablet and mobile: no emoji-capable decorative characters remain. */
@media (max-width:1100px){
  .kinetic-group{gap:24px!important}
  .kinetic-group span{font-size:clamp(24px,4.4vw,31px)!important}
  .marquee-separator{width:5px;height:5px;margin:0!important}
  .cursor-glow{display:none!important}
  .service-tier,
  .value-card,
  .project-media,
  .floating-frame,
  .world-canvas{
    transform:none!important;
    will-change:auto!important;
  }
  .service-tier:hover,
  .value-card:hover{
    transform:none!important;
  }
  .world-section::before{
    filter:blur(34px) saturate(.85)!important;
    opacity:.13!important;
  }
  .aw-concierge-panel{
    width:min(360px,calc(100vw - 24px))!important;
  }
}

@media (max-width:920px){
  header .brand img,
  body:not(.inner-page) .brand img{
    height:68px!important;
    max-height:68px!important;
  }
  .hero.hero-static-background .designed-row{
    display:flex!important;
    gap:24px!important;
    overflow-x:auto!important;
    padding:11px 0 5px!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .hero.hero-static-background .designed-row::-webkit-scrollbar{display:none}
  .hero.hero-static-background .designed-row span{
    flex:0 0 auto;
    white-space:nowrap;
  }
  .contact-float-stack{right:10px!important;bottom:10px!important}
  .contact-float{min-height:46px!important}
  .aw-concierge-launcher{left:10px!important;bottom:10px!important;min-height:46px!important}
  .aw-concierge-launcher-mark{width:36px!important;height:36px!important;flex-basis:36px!important}
  .aw-concierge-launcher-copy strong{font-size:12px!important}
  .detail-card{padding:24px!important}
}

@media (max-width:680px){
  header .brand img,
  body:not(.inner-page) .brand img{
    height:60px!important;
    max-height:60px!important;
  }
  .ui-glyph-ne{margin-left:5px}
  .hero-actions .ui-glyph,
  .header-cta .ui-glyph,
  .mobile-panel .ui-glyph{
    display:none!important;
  }
  .kinetic-group{gap:18px!important;padding-right:18px!important}
  .kinetic-group span{font-size:25px!important}
  .marquee-separator{width:4px;height:4px}
  .contact-float .contact-label{display:none!important}
  .contact-float{width:46px!important;padding:6px!important;justify-content:center!important}
  .contact-float-stack{gap:8px!important}
  .aw-concierge-launcher{min-width:174px!important}
  .aw-concierge-panel{left:8px!important;right:8px!important;width:auto!important}
  .aw-concierge-brand strong{font-size:16px!important}
  .aw-concierge-brand small{font-size:9px!important}
  .aw-concierge-form textarea{font-size:16px!important}
  .process-dial{animation-duration:30s!important}
}

@media (prefers-reduced-motion:reduce){
  .kinetic-track,
  .process-dial{
    animation:none!important;
  }
}


/* =========================================================
   v3.28 — concierge polish + orbit refinements
   ========================================================= */

/* Concierge: cleaner liquid-glass composition */
.aw-concierge-launcher{
  min-width:198px!important;
  padding:6px 18px 6px 10px!important;
  gap:12px!important;
}
.aw-concierge-launcher-mark{
  width:42px!important;height:42px!important;flex-basis:42px!important;
  margin-left:1px;
}
.aw-concierge-launcher-mark img{width:26px!important;height:26px!important}
.aw-concierge-launcher-copy strong{font-size:13.5px!important}

.aw-concierge-panel{
  --panel-edge:rgba(244,231,212,.22);
  width:min(364px,calc(100vw - 28px))!important;
  border-color:rgba(246,235,219,.26)!important;
  background:
    radial-gradient(circle at 18% 10%,rgba(255,255,255,.14),transparent 24%),
    radial-gradient(circle at 22% 92%,rgba(102,145,174,.08),transparent 28%),
    linear-gradient(155deg,rgba(129,138,149,.22),rgba(28,32,39,.30) 44%,rgba(8,10,14,.58) 100%)!important;
  box-shadow:0 34px 90px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.24),0 0 0 1px rgba(255,255,255,.02)!important;
}
.aw-concierge-panel::before{
  background:linear-gradient(125deg,rgba(255,255,255,.10),transparent 25%,transparent 72%,rgba(201,148,87,.05))!important;
}
.aw-concierge-panel::after{
  inset:7px!important;
  border-radius:24px!important;
  border-color:rgba(255,255,255,.035)!important;
  box-shadow:inset 0 0 20px rgba(255,255,255,.012), inset 0 0 0 1px rgba(255,255,255,.01)!important;
}
.aw-concierge-header{
  padding:14px 16px 12px!important;
  gap:14px!important;
  border-bottom-color:rgba(255,255,255,.085)!important;
}
.aw-concierge-brand{gap:13px!important}
.aw-concierge-mark{
  width:48px!important;height:48px!important;flex-basis:48px!important;
  margin-left:2px;
}
.aw-concierge-mark img{width:31px!important;height:31px!important}
.aw-concierge-brand strong{font-size:17px!important}
.aw-concierge-brand small{font-size:10.5px!important;letter-spacing:.02em!important;color:#d6d1ca!important}
.aw-concierge-brand small i{width:7px!important;height:7px!important}

.aw-concierge-close{
  width:38px!important;height:38px!important;flex-basis:38px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:rgba(255,255,255,.045)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 18px rgba(0,0,0,.12)!important;
}
.aw-concierge-close:hover{transform:none!important;background:rgba(255,255,255,.08)!important}
.aw-concierge-back{
  padding:0 4px!important;
  font-size:11px!important;
  letter-spacing:.02em!important;
  color:#ddd4ca!important;
}
.aw-concierge-chat{padding:0 14px 12px!important}
.aw-concierge-messages{padding:8px 2px 10px!important}
.aw-message{margin-bottom:10px!important}
.aw-message p{
  max-width:86%!important;
  padding:12px 14px!important;
  border-color:rgba(255,255,255,.085)!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
  font-size:11px!important;
  line-height:1.55!important;
}
.aw-concierge-form{
  grid-template-columns:minmax(0,1fr) 46px!important;
  gap:10px!important;
  min-height:58px!important;
  padding:6px 6px 6px 14px!important;
  border-color:rgba(255,255,255,.11)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(6,9,13,.10))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 10px 24px rgba(0,0,0,.10)!important;
}
.aw-concierge-form::before{display:none!important}
.aw-concierge-input-shell{
  min-height:44px!important;
  overflow:hidden!important;
}
.aw-concierge-input-label{
  left:0!important;
  font-size:9px!important;
  letter-spacing:.11em!important;
  color:#d9d0c4!important;
}
.aw-concierge-form textarea,
.aw-concierge-form textarea:focus,
.aw-concierge-form textarea:hover,
.aw-concierge-form textarea:active{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:40px!important;
  max-height:84px!important;
  margin:0!important;
  padding:12px 0 10px 162px!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  background-image:none!important;
  color:#f2ece4!important;
  font-size:11px!important;
  line-height:1.45!important;
  resize:none!important;
}
.aw-concierge-form textarea::-webkit-resizer{display:none!important}
.aw-concierge-form.is-active textarea{padding-left:0!important}
.aw-concierge-form textarea::placeholder{color:rgba(220,213,205,.58)!important;opacity:0!important}
.aw-concierge-form.is-active textarea::placeholder{opacity:1!important}
.aw-concierge-form button{
  width:46px!important;height:46px!important;flex-basis:46px!important;
  align-self:stretch!important;
  border-color:rgba(255,255,255,.18)!important;
  background:radial-gradient(circle at 35% 24%,#ecd3ae,#ca9860 54%,#9e6934)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.46),inset 0 -5px 10px rgba(93,48,12,.16),0 8px 18px rgba(0,0,0,.18)!important;
}
.aw-concierge-form button svg{width:17px!important;height:17px!important;transform:translateX(1px)}
.aw-concierge-footer{border-top-color:rgba(255,255,255,.06)!important}
.aw-concierge-footer span{font-size:8px!important;letter-spacing:.02em!important}

/* Glyph refinements */
.ui-glyph-left{width:11px!important;height:11px!important;transform:translateY(-1px) rotate(45deg)!important}
.ui-glyph-left::after{width:14px!important;top:5px!important}
.ui-chevron{width:9px!important;height:9px!important;border-width:1.2px!important;opacity:.9}
.ui-close-mark{width:14px!important;height:14px!important}
.ui-close-mark::before,.ui-close-mark::after{left:6.5px!important;height:14px!important;width:1.2px!important;background:currentColor!important;opacity:.96}

/* Service hero orbit restored */
.service-orbit{
  transform-style:preserve-3d;
  perspective:1200px;
}
.service-orbit::before{
  content:"";
  position:absolute;
  inset:10% 16%;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(197,153,95,.08),rgba(102,136,161,.05) 40%,transparent 70%);
  filter:blur(18px);
  pointer-events:none;
}
.service-ring{
  animation:serviceRingSpin 26s linear infinite;
}
.service-core{
  position:absolute;
  inset:30%;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  transform:translateZ(22px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 24px 44px rgba(0,0,0,.18);
  animation:serviceCoreFloat 8s ease-in-out infinite;
}
.service-core::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.05);
  pointer-events:none;
}
.service-core img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.26))}
.service-core-kicker{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#b79365}
.service-core strong{font:500 14px/1 var(--display);letter-spacing:.04em;color:#efe7dd}
.service-node{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 16px 34px rgba(0,0,0,.12);
  animation:serviceNodeFloat 8s ease-in-out infinite;
}
.service-node.sn2{animation-delay:-2s}.service-node.sn3{animation-delay:-4s}.service-node.sn4{animation-delay:-6s}

/* Process dial restored */
.process-dial{
  transform-style:preserve-3d;
  perspective:1400px;
  border-color:rgba(198,161,107,.18)!important;
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.015),transparent 62%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02), 0 30px 50px rgba(0,0,0,.08);
  animation:processDialSpin 24s linear infinite;
}
.process-dial::before,
.process-dial::after{
  content:"";
  position:absolute;
  inset:10%;
  border-radius:50%;
  pointer-events:none;
}
.process-dial::before{border:1px solid rgba(255,255,255,.05);transform:translateZ(12px)}
.process-dial::after{inset:22%;border:1px solid rgba(198,161,107,.10);transform:translateZ(-8px)}
.process-dial > span{
  color:#c7a06a!important;
  font-size:11px!important;
  text-shadow:0 0 14px rgba(198,161,107,.20);
}
.dial-core{
  inset:30%!important;
  border-color:rgba(255,255,255,.12)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.028))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 20px 48px rgba(0,0,0,.18),0 0 34px rgba(109,143,168,.08);
  transform:translateZ(28px);
  animation:processCoreFloat 7.8s ease-in-out infinite;
}
.dial-core img{width:44%!important;max-width:84px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.26))}

@keyframes serviceRingSpin{from{transform:rotateZ(0deg)}to{transform:rotateZ(360deg)}}
@keyframes serviceCoreFloat{0%,100%{transform:translateZ(22px) translateY(0px)}50%{transform:translateZ(28px) translateY(-8px)}}
@keyframes serviceNodeFloat{0%,100%{transform:translateY(0px) translateZ(10px)}50%{transform:translateY(-8px) translateZ(18px)}}
@keyframes processDialSpin{from{transform:rotateZ(0deg) rotateX(68deg)}to{transform:rotateZ(360deg) rotateX(68deg)}}
@keyframes processCoreFloat{0%,100%{transform:translateZ(28px) rotateZ(0deg)}50%{transform:translateZ(40px) rotateZ(-8deg)}}

@media (max-width:680px){
  .aw-concierge-panel{width:auto!important}
  .aw-concierge-brand strong{font-size:16px!important}
  .aw-concierge-form textarea{padding-left:152px!important}
  .service-core img{width:48px!important;height:48px!important}
  .service-core strong{font-size:12px!important}
}
