/* Contact page. The form reuses meeting.css (fields, progress header, success tick). */
.c-hero { position: relative; overflow: hidden; isolation: isolate; margin-top: 88px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #ffe9d0 0%, #fff3e3 40%, #fffaf3 100%); }
.c-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(to right, rgba(16,33,47,.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(16,33,47,.05) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse 70% 90% at 78% 50%, #000 15%, transparent 75%); mask-image: radial-gradient(ellipse 70% 90% at 78% 50%, #000 15%, transparent 75%); }
.c-hero-bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.c-hero-bg svg { position: absolute; right: -200px; top: -200px; width: 720px; height: 720px; overflow: visible; }
.c-hero-bg path { fill: none; stroke: #f7861e; stroke-width: 2; opacity: .18; }
.c-hero-bg g { transform-origin: 310px 310px; animation: spin 50s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.c-hero-in { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; padding-block: 56px 64px; }
.pill { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px 8px 12px; border-radius: 999px; border: 1px solid rgba(16,33,47,.1); background: rgba(255,255,255,.8); font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #a65700; }
.pill i { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); }
.c-copy h1 { margin: 22px 0 0; max-width: 680px; font-size: clamp(36px, 4.6vw, 64px); line-height: 1.04; font-weight: 800; letter-spacing: -.04em; }
.c-lead { margin: 20px 0 0; max-width: 520px; font-size: 18px; line-height: 1.65; color: var(--mute); }
.c-quick { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.c-quick a { display: flex; align-items: center; gap: 14px; padding: 12px 22px 12px 12px; border-radius: 999px; background: #fff; box-shadow: 0 16px 28px -16px rgba(16,33,47,.45); transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s; }
.c-quick a:hover { transform: translateY(-3px); box-shadow: 0 22px 34px -16px rgba(16,33,47,.55); }
.c-quick small { display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }
.c-quick b { display: block; font-size: 15px; }
.ci { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: #fff3e3; color: #e56f06; }
.ci svg { width: 20px; height: 20px; }

.c-sig { position: relative; width: min(100%, 380px); aspect-ratio: 1; margin-left: auto; }
.c-sig svg { display: block; width: 100%; height: 100%; overflow: visible; }
.c-sig .a { fill: none; stroke: #f7861e; stroke-width: 14; stroke-linecap: round; opacity: 0; }
.c-sig .dot { fill: #f7861e; }
.c-sig::before { content: ""; position: absolute; inset: 8%; border-radius: 50%; background: radial-gradient(circle, #fff 0%, #ffeedb 70%); box-shadow: 0 40px 70px -40px rgba(16,33,47,.4); z-index: -1; }
.in .c-sig .a, .c-sig.in .a { animation: sigw 2.8s ease-in-out infinite; }
.c-sig .a2 { animation-delay: .35s !important; } .c-sig .a3 { animation-delay: .7s !important; }
@keyframes sigw { 0% { opacity: 0; transform: translateY(8px); } 30% { opacity: 1; } 70% { opacity: .9; } 100% { opacity: 0; transform: translateY(-8px); } }
.c-sig.in .dot { animation: dotb 1.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes dotb { 0%,100% { transform: scale(1); } 50% { transform: scale(1.2); } }
.fl { position: absolute; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #fff; color: #e56f06; box-shadow: 0 20px 30px -14px rgba(16,33,47,.5); }
.fl svg { width: 24px; height: 24px; }
.fl.f1 { left: 0; top: 18%; } .fl.f2 { right: 2%; top: 8%; } .fl.f3 { right: 8%; bottom: 8%; }
.c-sig.in .fl { animation: fbob 5s ease-in-out infinite; } .c-sig.in .f2 { animation-delay: -1.7s; } .c-sig.in .f3 { animation-delay: -3.4s; }
@keyframes fbob { 0%,100% { translate: 0 0; } 50% { translate: 0 -12px; } }

.c-main { padding: 72px 0 80px; background: #fdf6ec; }
.c-grid { display: grid; grid-template-columns: 440px 1fr; gap: 40px; align-items: start; }
.c-info { position: relative; padding: 36px 32px 28px; border-radius: 32px; color: #fff; background: linear-gradient(150deg, #f7861e 0%, #ee6f0b 100%); box-shadow: 0 50px 90px -40px rgba(238,111,11,.7); overflow: hidden; isolation: isolate; contain: paint; }
.c-info::before { content: ""; position: absolute; z-index: -1; right: -90px; top: -110px; width: 320px; height: 320px; border-radius: 50%; border: 2px dashed rgba(255,255,255,.35); }
.c-info.in::before { animation: spin 40s linear infinite; }
.c-info h2 { margin: 0; font-size: 28px; font-weight: 800; letter-spacing: -.02em; color: #fff; }
.oft { position: relative; display: inline-flex; margin-top: 22px; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.22); }
.oft button { position: relative; z-index: 1; padding: 10px 20px; border: 0; border-radius: 999px; background: none; cursor: pointer; font: 700 14px Inter, sans-serif; color: rgba(255,255,255,.92); transition: color .3s; }
.oft button[aria-selected="true"] { color: #c25e00; }
.oft button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.oft-pill { position: absolute; left: 0; top: 4px; bottom: 4px; border-radius: 999px; background: #fff; transition: transform .45s cubic-bezier(.34,1.3,.5,1), width .45s cubic-bezier(.34,1.3,.5,1); }
.ofcs { margin-top: 22px; min-height: 176px; }
.ofc[hidden] { display: none; }
.ofc.on { animation: ofin .5s cubic-bezier(.16,1,.3,1); }
@keyframes ofin { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.ofc small { display: block; margin-bottom: 14px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.ofc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ofc li { display: flex; align-items: center; gap: 14px; font-size: 15.5px; line-height: 1.5; }
.ofc .ci { width: 40px; height: 40px; background: rgba(255,255,255,.2); color: #fff; }
.ofc address { font-style: normal; }
.ofc a { font-weight: 600; } .ofc a:hover { text-decoration: underline; }
.c-map { position: relative; height: 210px; margin-top: 12px; overflow: hidden; border-radius: 22px; box-shadow: 0 20px 34px -18px rgba(90,40,0,.6); background: #fff3e3; }
.c-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.c-map-note { position: absolute; left: 12px; bottom: 10px; padding: 3px 10px; border-radius: 999px; background: rgba(255,255,255,.92); font-size: 11px; font-weight: 700; color: #6a4a28; }

.c-form { position: relative; border-radius: 32px; background: #fff; box-shadow: 0 50px 90px -50px rgba(16,33,47,.4), 0 0 0 1px rgba(16,33,47,.04); overflow: hidden; }
.c-form .mgrid { padding-top: 28px; }
.c-form textarea { min-height: 150px; }

.c-trust { padding: 88px 0 96px; background: #fff; overflow: hidden; }
.c-trust-t { margin: 0 0 40px; text-align: center; font-size: clamp(28px, 3.4vw, 44px); font-weight: 800; letter-spacing: -.03em; }
.c-trust-t span { color: var(--orange); font-variant-numeric: tabular-nums; }
.c-marq { -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.c-marq-in { display: flex; width: max-content; align-items: center; gap: 72px; margin: 0; padding: 0 36px; list-style: none; animation: cmarq 36s linear infinite; }
.c-marq:hover .c-marq-in { animation-play-state: paused; }
.c-marq-in img { display: block; height: 64px; width: auto; max-width: none; opacity: .75; filter: grayscale(1); transition: filter .35s, opacity .35s, transform .35s cubic-bezier(.34,1.56,.64,1); }
.c-marq-in img:hover { filter: none; opacity: 1; transform: scale(1.12); }
@keyframes cmarq { to { transform: translateX(-50%); } }

@media (max-width: 1100px) { .c-grid { grid-template-columns: 380px 1fr; gap: 28px; } }
@media (max-width: 900px) {
  .c-hero-in { grid-template-columns: 1fr; padding-block: 36px 44px; gap: 24px; }
  .c-sig { margin: 0 auto; width: min(100%, 260px); --rx: 0px !important; }
  .c-main { padding: 40px 0 56px; }
  .c-grid { grid-template-columns: 1fr; }
  .c-trust { padding: 56px 0 64px; }
  .c-marq-in { gap: 48px; }
}
@media (max-width: 560px) {
  .c-info { padding: 28px 22px 22px; border-radius: 26px; }
  .c-quick a { width: 100%; }
  .c-form .mgrid { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .c-hero *, .c-info::before, .c-marq-in { animation: none !important; }
  .c-sig .a { opacity: 1; } .ofc.on { animation: none; }
}

.c-trust-t { max-width: none; width: 100%; }
.c-info::before { opacity: .45; right: -150px; top: -170px; }
.c-map-note { left: auto; right: 12px; top: 10px; bottom: auto; }

/* real client logos: one visual size box, colour on hover */
.c-marq-in { gap: 64px; animation-duration: 70s; }
.c-marq-in li { flex: none; display: grid; place-items: center; height: 76px; width: 190px; }
.c-marq-in img { height: auto; width: auto; max-height: 64px; max-width: 180px; object-fit: contain; filter: grayscale(1); opacity: .8; }
.c-marq-in img:hover { filter: none; opacity: 1; }
@media (max-width: 900px) { .c-marq-in { gap: 40px; } .c-marq-in li { width: 150px; height: 64px; } .c-marq-in img { max-height: 52px; max-width: 140px; } }
