.contact-page { overflow-x: hidden; }
.contact-page .navbar-nav .nav-link.active { color: var(--ink); }

.contact-hero { background: var(--paper); min-height: 590px; overflow: hidden; padding: 105px 0 90px; position: relative; }
.contact-hero-grid { background-image: linear-gradient(rgba(37,29,58,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(37,29,58,.045) 1px,transparent 1px); background-size: 62px 62px; inset: 0; mask-image: linear-gradient(to right,black,transparent 82%); position: absolute; }
.contact-hero-inner { position: relative; z-index: 2; }
.contact-orb { border-radius: 50%; filter: blur(2px); pointer-events: none; position: absolute; }
.contact-orb-one { background: rgba(255,145,77,.78); height: 230px; right: 8%; top: 110px; width: 230px; }
.contact-orb-two { border: 1px solid rgba(37,29,58,.16); height: 340px; right: -80px; top: 230px; width: 340px; }
.contact-breadcrumb { align-items: center; color: var(--muted); display: flex; font-size: .7rem; gap: .5rem; margin-bottom: 2.5rem; }
.contact-breadcrumb a { font-weight: 700; }
.contact-breadcrumb a:hover { color: var(--brand-strong); }
.contact-breadcrumb i { font-size: .55rem; }
.contact-hero h1 { font: 800 clamp(3.3rem,6vw,6.1rem)/.95 Manrope,sans-serif; letter-spacing: -.075em; margin: 0; max-width: 850px; }
.contact-hero h1 span { color: transparent; -webkit-text-stroke: 1.5px var(--ink); }
.contact-hero-copy { color: var(--muted); font-size: 1.05rem; line-height: 1.75; margin-top: 1.8rem; max-width: 680px; }
.response-card { align-items: flex-start; backdrop-filter: blur(16px); background: rgba(255,255,255,.88); border: 1px solid rgba(255,255,255,.95); border-radius: 24px; box-shadow: 0 22px 65px rgba(37,29,58,.14); display: flex; gap: 1rem; margin-left: auto; max-width: 390px; padding: 1.35rem; position: relative; }
.response-icon { align-items: center; background: var(--brand); border-radius: 14px; display: inline-flex; flex: 0 0 auto; font-size: 1.2rem; height: 48px; justify-content: center; width: 48px; }
.response-card small,.response-card strong { display: block; }
.response-card small { color: var(--muted); font-size: .62rem; margin-bottom: .25rem; text-transform: uppercase; }
.response-card strong { font: 800 .98rem Manrope,sans-serif; }
.response-card p { color: var(--muted); font-size: .72rem; line-height: 1.55; margin-top: .5rem; }

.contact-main { background: #fff; padding: 100px 0; }
.contact-layout { align-items: start; display: grid; gap: clamp(3rem,7vw,7rem); grid-template-columns: .8fr 1.2fr; }
.contact-sidebar { position: sticky; top: 130px; }
.contact-sidebar h2,.form-heading h2,.expectations-heading h2 { font: 800 clamp(2rem,3.4vw,3.3rem)/1.05 Manrope,sans-serif; letter-spacing: -.055em; margin: 0; }
.contact-methods { display: grid; gap: .75rem; margin-top: 2rem; }
.contact-method { align-items: center; background: #faf7fb; border: 1px solid var(--line); border-radius: 18px; display: grid; gap: .85rem; grid-template-columns: auto 1fr auto; padding: 1rem; transition: border-color .2s,transform .2s; }
a.contact-method:hover { border-color: #ccbcd7; transform: translateY(-2px); }
.contact-method > span { align-items: center; background: var(--ink); border-radius: 12px; color: var(--brand); display: flex; font-size: 1rem; height: 43px; justify-content: center; width: 43px; }
.contact-method small,.contact-method strong,.contact-method em { display: block; }
.contact-method small { color: var(--muted); font-size: .58rem; text-transform: uppercase; }
.contact-method strong { font: 800 .78rem Manrope,sans-serif; margin-top: .12rem; overflow-wrap: anywhere; }
.contact-method em { color: var(--muted); font-size: .6rem; font-style: normal; margin-top: .2rem; }
.contact-method > i { color: var(--brand-strong); }
.contact-address { align-items: start; }
.contact-address > span { background: var(--brand); color: var(--ink); }
.contact-address em { line-height: 1.45; }
.contact-assurance { align-items: flex-start; border-top: 1px solid var(--line); display: flex; gap: .75rem; margin-top: 1.5rem; padding-top: 1.5rem; }
.contact-assurance > i { color: var(--brand-strong); font-size: 1.2rem; }
.contact-assurance strong,.contact-assurance span { display: block; }
.contact-assurance strong { font-size: .75rem; }
.contact-assurance span { color: var(--muted); font-size: .66rem; line-height: 1.55; margin-top: .25rem; }

.contact-form-shell { background: var(--ink); border-radius: 30px; box-shadow: 0 30px 90px rgba(37,29,58,.18); color: #fff; overflow: hidden; padding: clamp(1.3rem,3vw,2.2rem); }
.form-heading { align-items: end; display: flex; justify-content: space-between; padding: .5rem .3rem 1.6rem; }
.form-heading .eyebrow { color: rgba(255,255,255,.6); }
.form-heading h2 { color: #fff; font-size: clamp(1.8rem,3vw,2.7rem); }
.form-heading > span { align-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 99px; color: rgba(255,255,255,.72); display: inline-flex; flex: 0 0 auto; font-size: .62rem; gap: .4rem; padding: .5rem .7rem; }
.contact-proposal-form { border-radius: 21px; padding: clamp(1.2rem,3vw,1.8rem); }
.contact-proposal-form .form-grid { gap: 1.15rem; }
.contact-proposal-form .form-grid input,.contact-proposal-form .form-grid select,.contact-proposal-form .form-grid textarea { font-size: .85rem; padding: .92rem 1rem; }

.contact-expectations { background: var(--paper); padding: 100px 0; }
.expectations-heading { max-width: 650px; }
.expectations-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,1fr); margin-top: 3rem; }
.expectations-grid article { background: #fff; border: 1px solid var(--line); border-radius: 24px; min-height: 270px; padding: 1.6rem; position: relative; }
.expectations-grid article > span { color: #a39aa9; font: 800 .62rem Manrope,sans-serif; position: absolute; right: 1.4rem; top: 1.4rem; }
.expectations-grid article > i { align-items: center; background: var(--brand); border-radius: 16px; display: flex; font-size: 1.25rem; height: 54px; justify-content: center; width: 54px; }
.expectations-grid article:nth-child(2) > i { background: var(--violet); }
.expectations-grid article:nth-child(3) > i { background: var(--orange); }
.expectations-grid h3 { font-size: 1.05rem; font-weight: 800; letter-spacing: -.035em; margin: 3rem 0 .7rem; }
.expectations-grid p { color: var(--muted); font-size: .8rem; line-height: 1.65; }

@media (max-width: 991.98px) {
    .contact-hero { min-height: auto; padding: 75px 0; }
    .response-card { margin: 0; }
    .contact-orb-one { right: -60px; top: 160px; }
    .contact-layout { grid-template-columns: 1fr; }
    .contact-sidebar { position: static; }
}

@media (max-width: 767.98px) {
    .contact-hero { padding: 55px 0 65px; }
    .contact-hero h1 { font-size: clamp(3.1rem,15vw,5rem); }
    .contact-main,.contact-expectations { padding: 70px 0; }
    .expectations-grid { grid-template-columns: 1fr; }
    .expectations-grid article { min-height: 230px; }
}

@media (max-width: 575.98px) {
    .contact-hero-copy { font-size: .93rem; }
    .form-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .contact-form-shell { border-radius: 24px; margin-inline: -.25rem; }
}
