.unc-contact {
    --unc-blue: #477ce4;
    --unc-blue-2: #70c8ff;
    --unc-navy: #0a1937;
    --unc-text: #11203d;
    --unc-muted: #62718c;
    --unc-line: #d7e5f7;
    --unc-pale: #f2f7fd;
    --unc-white: #fff;
    position: relative;
    overflow: clip;
    background: #fff;
    color: var(--unc-text);
    font-family: Inter, "Helvetica Neue", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    isolation: isolate;
}
.unc-contact *, .unc-contact *::before, .unc-contact *::after { box-sizing: border-box; }
.unc-contact a { color: inherit; text-decoration: none; }
.unc-contact button, .unc-contact input, .unc-contact select, .unc-contact textarea { font: inherit; }
.unc-contact svg { display: block; width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.unc-shell { width: min(1440px, calc(100% - 80px)); margin: 0 auto; }
.unc-section { position: relative; padding: clamp(92px, 9vw, 150px) 0; }

.unc-hero { position: relative; min-height: min(760px, 85vh); display: grid; align-items: center; overflow: hidden; background: var(--unc-navy); color: #fff; }
.unc-hero__media { position: absolute; inset: -20px; background-image: var(--unc-hero); background-position: 50% 54%; background-size: cover; transform: scale(1.04); animation: uncHeroIn 1.4s ease both; will-change: transform; }
.unc-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,18,44,.94) 0%, rgba(5,18,44,.82) 42%, rgba(5,18,44,.27) 74%, rgba(5,18,44,.44) 100%); }
.unc-hero__grid { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(120,203,255,.45) 1px, transparent 1px), linear-gradient(90deg, rgba(120,203,255,.45) 1px, transparent 1px); background-size: 86px 86px; -webkit-mask-image: linear-gradient(90deg,#000,transparent 70%); mask-image: linear-gradient(90deg,#000,transparent 70%); }
.unc-hero__grid::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 18%, rgba(111,207,255,.18) 22%, transparent 27%); transform: translateX(-100%); animation: uncScan 8s 1s linear infinite; }
.unc-hero__content { position: relative; z-index: 2; padding: 92px 0; }
.unc-hero__kicker { margin: 0 0 22px; color: #92dbff; font-size: 14px; font-weight: 800; letter-spacing: .28em; }
.unc-hero h1 { max-width: 900px; margin: 0; color: #fff; font-size: clamp(50px, 6.2vw, 96px); font-weight: 800; line-height: .98; letter-spacing: -.055em; }
.unc-hero__content > p:not(.unc-hero__kicker) { max-width: 720px; margin: 30px 0 38px; color: rgba(237,246,255,.82); font-size: clamp(18px, 1.6vw, 24px); }
.unc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 60px; padding: 0 30px; border: 0; border-radius: 999px; cursor: pointer; font-weight: 750; transition: transform .3s ease, box-shadow .3s ease, background .3s ease; }
.unc-btn svg { transition: transform .3s ease; }
.unc-btn:hover { transform: translateY(-3px); }
.unc-btn:hover svg { transform: translateX(5px); }
.unc-btn--primary { color: #fff !important; background: linear-gradient(120deg, #477ce4, #68a4ef); box-shadow: 0 18px 45px rgba(32,91,194,.35); }
.unc-scroll { position: absolute; z-index: 3; right: 5vw; bottom: 42px; display: flex; align-items: center; gap: 13px; color: rgba(255,255,255,.72) !important; font-size: 11px; font-weight: 700; letter-spacing: .22em; writing-mode: vertical-rl; }
.unc-scroll span { width: 1px; height: 58px; background: rgba(255,255,255,.52); position: relative; overflow: hidden; }
.unc-scroll span::after { content: ""; position: absolute; inset: 0; background: #85d7ff; animation: uncScroll 2s ease-in-out infinite; }

.unc-section-head { max-width: 1120px; margin: 0 auto 66px; text-align: center; }
.unc-section-head h2, .unc-form-intro > h2 { margin: 0; color: var(--unc-blue); font-size: clamp(42px, 5.2vw, 82px); font-weight: 850; line-height: .98; letter-spacing: -.045em; text-transform: uppercase; }
.unc-title-line { display: block; width: 0; height: 4px; margin: 28px auto 30px; border-radius: 999px; background: linear-gradient(90deg, transparent, #7ecfff 22%, var(--unc-blue) 52%, #7ecfff 78%, transparent); box-shadow: 0 0 22px rgba(90,171,255,.6); transition: width 1s cubic-bezier(.2,.8,.2,1) .15s; }
.is-visible .unc-title-line, .unc-section-head.is-visible .unc-title-line { width: min(270px, 44vw); }
.unc-section-head h3, .unc-form-intro > h3 { margin: 0; color: var(--unc-navy); font-size: clamp(28px, 3vw, 48px); line-height: 1.12; letter-spacing: -.035em; }
.unc-section-head p { max-width: 860px; margin: 23px auto 0; color: var(--unc-muted); font-size: 18px; }

.unc-details { background: radial-gradient(circle at 9% 8%, rgba(115,199,255,.14), transparent 25%), #fff; }
.unc-contact-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.unc-contact-card { position: relative; min-height: 350px; padding: 42px; overflow: hidden; border: 1px solid var(--unc-line); border-radius: 26px; background: rgba(255,255,255,.88); box-shadow: 0 20px 55px rgba(35,72,124,.08); transition: transform .38s ease, border-color .38s ease, box-shadow .38s ease; }
.unc-contact-card::after { content: ""; position: absolute; top: -50%; left: -110%; width: 65%; height: 210%; transform: rotate(18deg); background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent); transition: left .7s ease; }
.unc-contact-card:hover { transform: translateY(-9px); border-color: #a8caf8; box-shadow: 0 28px 75px rgba(35,86,161,.15); }
.unc-contact-card:hover::after { left: 150%; }
.unc-contact-card__icon { display: grid; place-items: center; width: 72px; height: 72px; margin-bottom: 46px; border-radius: 20px; background: #edf5ff; color: var(--unc-blue); }
.unc-contact-card--wa .unc-contact-card__icon { color: #18a85e; background: #e8f8ef; }
.unc-contact-card__icon svg { width: 34px; height: 34px; }
.unc-contact-card small { color: var(--unc-blue); font-weight: 800; letter-spacing: .18em; }
.unc-contact-card h3 { margin: 11px 0 4px; font-size: 30px; }
.unc-contact-card p { margin: 0; color: var(--unc-muted); font-size: 17px; word-break: break-word; }
.unc-contact-card strong { position: absolute; left: 42px; bottom: 38px; display: inline-flex; align-items: center; gap: 10px; color: var(--unc-navy); font-size: 14px; }
.unc-contact-card strong svg { width: 17px; }
.unc-map { position: relative; display: grid; grid-template-columns: .78fr 1.22fr; min-height: 440px; margin-top: 32px; overflow: hidden; border: 1px solid var(--unc-line); border-radius: 28px; background: var(--unc-pale); box-shadow: 0 25px 70px rgba(35,72,124,.1); }
.unc-map__copy { display: flex; gap: 24px; align-items: flex-start; padding: 56px; }
.unc-map__pin { flex: 0 0 auto; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; color: #fff; background: linear-gradient(135deg,var(--unc-blue),#78cbff); box-shadow: 0 0 0 0 rgba(71,124,228,.35); animation: uncPulse 2.4s ease-out infinite; }
.unc-map__pin svg { width: 30px; height: 30px; }
.unc-map small { color: var(--unc-blue); font-weight: 800; letter-spacing: .16em; }
.unc-map h3 { margin: 10px 0 15px; font-size: 32px; line-height: 1.15; }
.unc-map p { margin: 0; color: var(--unc-muted); }
.unc-map iframe { width: 100%; height: 100%; min-height: 440px; border: 0; filter: saturate(.72) contrast(.95); }
.unc-map__open { position: absolute; right: 24px; bottom: 24px; z-index: 2; display: flex; gap: 10px; align-items: center; padding: 13px 19px; border-radius: 999px; background: #fff; color: var(--unc-navy) !important; font-size: 13px; font-weight: 800; box-shadow: 0 10px 30px rgba(17,47,91,.18); }

.unc-social { background: linear-gradient(180deg,#f4f8fd,#edf5fd); }
.unc-social__grid-bg { position: absolute; inset: 0; opacity: .55; background-image: linear-gradient(#dce9f8 1px,transparent 1px),linear-gradient(90deg,#dce9f8 1px,transparent 1px); background-size: 70px 70px; -webkit-mask-image: linear-gradient(#000,transparent); mask-image: linear-gradient(#000,transparent); }
.unc-social .unc-shell { position: relative; }
.unc-social-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.unc-social-card { display: grid; grid-template-columns: auto 1fr auto; gap: 24px; align-items: center; padding: 34px; border: 1px solid rgba(188,211,239,.9); border-radius: 22px; background: rgba(255,255,255,.83); box-shadow: 0 15px 42px rgba(35,72,124,.07); transition: transform .35s ease, background .35s ease, color .35s ease; }
.unc-social-card > span { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; color: #fff; }
.unc-social-card > span svg { width: 30px; height: 30px; }
.unc-social-card--facebook > span { background: #3977df; }
.unc-social-card--instagram > span { background: linear-gradient(135deg,#7d45d9,#f03b78,#f5a233); }
.unc-social-card--linkedin > span { background: #1769b0; }
.unc-social-card--facebook > span svg,
.unc-social-card--linkedin > span svg,
.unc-floating__fb > svg,
.unc-floating__li > svg { fill: currentColor; stroke: none; }
.unc-social-card small { color: var(--unc-muted); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.unc-social-card h3 { margin: 2px 0 0; font-size: 23px; }
.unc-social-card > svg { width: 22px; color: var(--unc-blue); }
.unc-social-card:hover { transform: translateY(-7px); background: #fff; color: var(--unc-blue); }

.unc-form-section { background: #fff; }
.unc-form-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(48px,7vw,110px); align-items: start; }
.unc-form-intro { position: sticky; top: 80px; padding-top: 24px; }
.unc-form-intro > h2 { font-size: clamp(42px,4.8vw,76px); }
.unc-form-intro > .unc-title-line { margin-left: 0; }
.unc-form-intro.is-visible > .unc-title-line { width: min(240px,44vw); }
.unc-form-intro > h3 { font-size: clamp(30px,3.3vw,48px); }
.unc-form-intro > p { margin: 24px 0 34px; color: var(--unc-muted); font-size: 18px; }
.unc-form-proof { display: grid; gap: 15px; padding: 26px 0; border-top: 1px solid var(--unc-line); border-bottom: 1px solid var(--unc-line); }
.unc-form-proof span { display: flex; align-items: center; gap: 14px; color: #3c4c69; }
.unc-form-proof strong { color: var(--unc-blue); font-size: 12px; letter-spacing: .14em; }
.unc-form-intro > a { display: inline-flex; gap: 10px; align-items: center; margin-top: 28px; color: #1da866; font-weight: 800; }
.unc-form-card { padding: clamp(30px,4vw,56px); border: 1px solid var(--unc-line); border-radius: 28px; background: linear-gradient(145deg,#fbfdff,#f2f7fd); box-shadow: 0 28px 85px rgba(36,76,135,.12); }
.unc-form { display: grid; gap: 20px; }
.unc-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.unc-form label { display: grid; gap: 8px; color: #344563; font-size: 13px; font-weight: 750; }
.unc-form input, .unc-form select, .unc-form textarea { width: 100%; border: 1px solid #cfdef0; border-radius: 12px; outline: none; background: #fff; color: var(--unc-text); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.unc-form input, .unc-form select { height: 54px; padding: 0 15px; }
.unc-form textarea { resize: vertical; min-height: 145px; padding: 15px; }
.unc-form input:focus, .unc-form select:focus, .unc-form textarea:focus { border-color: var(--unc-blue); box-shadow: 0 0 0 4px rgba(71,124,228,.12); }
.unc-consent { grid-template-columns: auto 1fr !important; align-items: start; font-weight: 500 !important; }
.unc-consent input { width: 18px; height: 18px; margin-top: 2px; }
.unc-btn--submit { justify-self: start; color: #fff; background: linear-gradient(120deg,#0b1e43,#477ce4); box-shadow: 0 16px 38px rgba(22,64,137,.25); }
.unc-btn--submit svg { width: 20px; height: 20px; }
.unc-hp { position: absolute !important; left: -9999px !important; }
.unc-notice { margin-bottom: 24px; padding: 16px 18px; border-radius: 12px; font-size: 14px; }
.unc-notice--success { border: 1px solid #a7dfbf; background: #edf9f2; color: #167444; }
.unc-notice--error { border: 1px solid #efc6c6; background: #fff3f3; color: #aa3131; }

.unc-floating { position: fixed; z-index: 9995; right: 24px; top: 50%; display: flex; flex-direction: column; gap: 10px; transform: translateY(-50%); }
.unc-floating a { position: relative; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; color: #fff !important; box-shadow: 0 14px 38px rgba(15,39,78,.22); transition: transform .28s ease, box-shadow .28s ease; }
.unc-floating a:hover { transform: translateX(-6px) scale(1.06); box-shadow: 0 18px 45px rgba(15,39,78,.3); }
.unc-floating a > svg { width: 26px; height: 26px; }
.unc-floating a > span { position: absolute; right: calc(100% + 12px); padding: 7px 11px; border-radius: 8px; background: var(--unc-navy); color: #fff; font-size: 11px; font-weight: 700; opacity: 0; pointer-events: none; transform: translateX(8px); transition: .25s ease; }
.unc-floating a:hover > span { opacity: 1; transform: none; }
.unc-floating__wa { background: #53c773; }
.unc-floating__fb { background: #3e79df; }
.unc-floating__ig { background: linear-gradient(135deg,#7047dc,#f13f7a,#f6a13d); }
.unc-floating__li { background: #1769b0; }
.unc-floating__up { margin-top: 6px; color: var(--unc-navy) !important; background: #fff; }
.unc-floating__up > svg { width: 21px !important; height: 21px !important; }

.unc-reveal { opacity: 0; transform: translateY(34px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.unc-reveal.is-visible { opacity: 1; transform: none; }
.unc-contact-grid .unc-reveal:nth-child(2), .unc-social-grid .unc-reveal:nth-child(2) { transition-delay: .1s; }
.unc-contact-grid .unc-reveal:nth-child(3), .unc-social-grid .unc-reveal:nth-child(3) { transition-delay: .2s; }

@keyframes uncHeroIn { from { opacity: .3; transform: scale(1.12); } to { opacity: 1; transform: scale(1.04); } }
@keyframes uncScan { to { transform: translateX(130%); } }
@keyframes uncScroll { 0% { transform: translateY(-100%); } 55%,100% { transform: translateY(100%); } }
@keyframes uncPulse { 70% { box-shadow: 0 0 0 18px rgba(71,124,228,0); } 100% { box-shadow: 0 0 0 0 rgba(71,124,228,0); } }

@media (max-width: 1050px) {
    .unc-shell { width: min(100% - 48px, 1440px); }
    .unc-contact-grid, .unc-social-grid { grid-template-columns: 1fr; }
    .unc-contact-card { min-height: 300px; }
    .unc-map { grid-template-columns: 1fr; }
    .unc-map iframe { min-height: 360px; }
    .unc-form-layout { grid-template-columns: 1fr; }
    .unc-form-intro { position: static; }
}
@media (max-width: 700px) {
    .unc-shell { width: min(100% - 30px, 1440px); }
    .unc-section { padding: 78px 0; }
    .unc-hero { min-height: 700px; }
    .unc-hero__veil { background: linear-gradient(90deg,rgba(5,18,44,.94),rgba(5,18,44,.7)); }
    .unc-hero h1 { font-size: clamp(44px,14vw,66px); }
    .unc-scroll { display: none; }
    .unc-contact-card { padding: 30px; }
    .unc-contact-card strong { left: 30px; bottom: 28px; }
    .unc-map__copy { padding: 34px 25px; }
    .unc-map__copy { flex-direction: column; }
    .unc-social-card { padding: 24px; gap: 16px; }
    .unc-social-card > span { width: 54px; height: 54px; }
    .unc-field-row { grid-template-columns: 1fr; }
    .unc-form-card { padding: 24px 18px; }
    .unc-floating { right: 10px; gap: 8px; }
    .unc-floating a { width: 48px; height: 48px; }
    .unc-floating a > svg { width: 22px; height: 22px; }
}
@media (prefers-reduced-motion: reduce) {
    .unc-contact *, .unc-contact *::before, .unc-contact *::after { animation: none !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
    .unc-reveal { opacity: 1; transform: none; }
    .unc-title-line { width: min(270px,44vw); }
}
