/* V15 — refined arrows and rebuilt contact ending */
.ui-arrow{
  width:1.55em;
  height:1.55em;
  flex:0 0 1.55em;
  margin-left:.55em;
  border:1px solid currentColor;
  border-radius:50%;
  opacity:.86;
  transition:transform .28s ease,background .28s ease,color .28s ease,opacity .28s ease;
}
.ui-arrow::before{
  left:32%;
  top:49%;
  width:42%;
  height:1px;
  transform:rotate(-45deg);
}
.ui-arrow::after{
  top:28%;
  right:27%;
  width:30%;
  height:30%;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
}
a:hover .ui-arrow,button:hover .ui-arrow,.preview-shield:hover .ui-arrow{
  transform:translate(2px,-2px);
  opacity:1;
}
.preview-shield .ui-arrow{font-size:.8em}
.service-icon .ui-arrow{font-size:14px}

.contact{
  min-height:auto;
  padding-top:clamp(105px,11vw,165px);
  padding-bottom:145px;
  background:
    radial-gradient(circle at 86% 58%,rgba(216,255,79,.11),transparent 25%),
    linear-gradient(180deg,#09090b 0%,#070708 100%);
}
.contact-glow{width:56vw;height:56vw;right:-22%;bottom:-34%;opacity:.55}
.contact h2{
  max-width:1100px;
  font-size:clamp(58px,8.2vw,126px);
  line-height:.86;
  letter-spacing:-.065em;
}
.contact h2 em{color:var(--accent);font-family:var(--serif);font-weight:400}
.contact-bottom{
  display:grid;
  grid-template-columns:minmax(0,760px) minmax(280px,380px);
  justify-content:space-between;
  align-items:stretch;
  gap:clamp(28px,5vw,80px);
  margin-top:70px;
}
.contact-copy{max-width:none;display:flex;flex-direction:column}
.contact-copy>p{max-width:650px!important;font-size:clamp(16px,1.35vw,20px);line-height:1.65}
.quick-contact-grid{gap:16px;margin-top:34px}
.quick-contact-card{
  min-height:132px;
  padding:22px;
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.quick-contact-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.06)}
.quick-contact-card .contact-icon{flex-basis:52px;height:52px;font-size:12px}
.quick-contact-card small{font-size:10px}
.quick-contact-card strong{font-size:clamp(12px,1vw,15px);line-height:1.35}
.quick-contact-card em{display:flex;align-items:center;font-size:9px;margin-top:3px}
.contact-assurance{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:25px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.contact-assurance span{padding:18px 18px 18px 0;border-right:1px solid var(--line)}
.contact-assurance span+span{padding-left:18px}
.contact-assurance span:last-child{border-right:0}

.contact-trigger{
  width:100%;
  height:auto;
  min-height:100%;
  border-radius:28px;
  padding:30px;
  border:1px solid rgba(216,255,79,.28);
  background:
    radial-gradient(circle at 82% 20%,rgba(255,255,255,.26),transparent 22%),
    linear-gradient(145deg,var(--accent),#9fd900);
  color:#080908;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  text-align:left;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(139,191,0,.12);
}
.contact-trigger::before{
  content:"";
  position:absolute;
  width:260px;height:260px;border-radius:50%;
  right:-105px;bottom:-130px;
  border:1px solid rgba(0,0,0,.14);
  box-shadow:0 0 0 38px rgba(0,0,0,.035),0 0 0 76px rgba(0,0,0,.025);
}
.contact-trigger:hover{transform:translateY(-6px);box-shadow:0 34px 95px rgba(139,191,0,.2)}
.contact-trigger-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px}
.contact-trigger-copy small{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;opacity:.62}
.contact-trigger-copy strong{font-size:clamp(31px,3.4vw,52px);line-height:.92;letter-spacing:-.055em;max-width:240px}
.contact-trigger-icon{
  position:relative;z-index:1;
  width:64px;height:64px;border-radius:50%;
  background:#090909;
  display:grid;place-items:center;
  transition:transform .35s ease;
}
.contact-trigger:hover .contact-trigger-icon{transform:rotate(90deg)}
.contact-trigger-icon span{position:absolute;width:22px;height:2px;background:var(--accent);border-radius:99px;margin:0;font-size:0}
.contact-trigger-icon span:last-child{transform:rotate(90deg)}
.contact-meta{bottom:35px}

html[data-theme="light"] .contact{
  background:
    radial-gradient(circle at 86% 58%,rgba(121,169,0,.13),transparent 26%),
    linear-gradient(180deg,#f2f4ec 0%,#e9ede3 100%);
}
html[data-theme="light"] .quick-contact-card{background:rgba(255,255,255,.78);box-shadow:0 16px 42px rgba(44,58,31,.07)}
html[data-theme="light"] .contact-trigger{box-shadow:0 28px 70px rgba(91,130,0,.16)}

@media(max-width:980px){
  .contact-bottom{grid-template-columns:1fr}
  .contact-trigger{min-height:240px}
  .contact-trigger-copy strong{max-width:none}
}
@media(max-width:700px){
  .contact{padding-bottom:125px}
  .contact h2{font-size:clamp(51px,15.5vw,78px)}
  .contact-bottom{margin-top:45px}
  .quick-contact-grid{grid-template-columns:1fr}
  .quick-contact-card{min-height:112px;padding:18px}
  .contact-assurance{grid-template-columns:1fr}
  .contact-assurance span,.contact-assurance span+span{padding:15px 0;border-right:0;border-bottom:1px solid var(--line)}
  .contact-assurance span:last-child{border-bottom:0}
  .contact-trigger{min-height:210px;border-radius:22px;padding:24px}
  .contact-trigger-icon{width:54px;height:54px}
  .contact-trigger-copy strong{font-size:36px}
  .contact-meta{left:24px;right:24px}
}

/* V16 — refined animated project-button icon */
.contact-trigger-icon{
  isolation:isolate;
  width:68px;
  height:68px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease;
}
.contact-trigger-icon::before{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:50%;
  border:1px solid rgba(9,9,9,.22);
  border-top-color:rgba(9,9,9,.72);
  border-right-color:transparent;
  opacity:.72;
  transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .35s ease;
}
.contact-trigger-icon::after{
  content:"";
  position:absolute;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--accent);
  right:7px;
  top:8px;
  box-shadow:0 0 14px rgba(216,255,79,.85);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .25s ease;
}
.contact-trigger-icon span{
  width:22px;
  height:2px;
  transform-origin:center;
  transition:transform .42s cubic-bezier(.2,.8,.2,1),width .42s ease,background .25s ease;
}
.contact-trigger-icon span:first-child{transform:translateX(0) rotate(0deg)}
.contact-trigger-icon span:last-child{transform:translateX(0) rotate(90deg)}
.contact-trigger:hover .contact-trigger-icon{
  transform:translateY(-2px) rotate(0deg) scale(1.04);
  box-shadow:0 16px 38px rgba(0,0,0,.28),0 0 0 6px rgba(9,9,9,.06),inset 0 1px 0 rgba(255,255,255,.1);
}
.contact-trigger:hover .contact-trigger-icon::before{transform:rotate(220deg);opacity:1}
.contact-trigger:hover .contact-trigger-icon::after{transform:translate(-8px,8px);opacity:0}
.contact-trigger:hover .contact-trigger-icon span:first-child{
  width:24px;
  transform:translateX(1px) rotate(0deg);
}
.contact-trigger:hover .contact-trigger-icon span:last-child{
  width:11px;
  transform:translate(7px,-5px) rotate(45deg);
}
.contact-trigger:active .contact-trigger-icon{transform:scale(.96)}
@media(max-width:700px){
  .contact-trigger-icon{width:58px;height:58px}
  .contact-trigger-icon::before{inset:-6px}
}
@media(prefers-reduced-motion:reduce){
  .contact-trigger-icon,.contact-trigger-icon::before,.contact-trigger-icon::after,.contact-trigger-icon span{transition:none!important}
}

/* Aohana supplied brand identity */
.loader-brand{width:min(300px,62vw);display:grid;place-items:center}
.loader-logo{grid-area:1/1;width:100%;height:auto;display:block;filter:drop-shadow(0 0 34px rgba(216,255,79,.12))}
.loader-logo-light{display:none}
html[data-theme="light"] .loader-logo-dark{display:none}
html[data-theme="light"] .loader-logo-light{display:block}
.brand{gap:10px;min-width:176px}
.brand-symbol{width:38px;height:38px;object-fit:contain;display:block;border-radius:11px;filter:drop-shadow(0 0 9px rgba(216,255,79,.12))}
.brand-wordmark{position:relative;width:102px;height:25px;display:block}
.brand-wordmark img,.footer-wordmark img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center}
.wordmark-dark{display:none}
html[data-theme="light"] .wordmark-light{display:none}
html[data-theme="light"] .wordmark-dark{display:block}
.footer-made{display:flex;align-items:center;gap:7px;white-space:nowrap}
.footer-wordmark{display:inline-block;position:relative;width:64px;height:13px}
@media(max-width:600px){
  .brand{min-width:auto;gap:8px}
  .brand-symbol{width:34px;height:34px;border-radius:10px}
  .brand-wordmark{width:88px;height:22px}
  .footer-made{gap:5px}
  .footer-wordmark{width:58px;height:12px}
}


