.pro-hero { position: relative; min-height: calc(100svh - 84px); display: flex; align-items: center; overflow: hidden; isolation: isolate; color: white; }
.pro-hero-image, .pro-hero-shade { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.pro-hero-image { object-fit: cover; object-position: center; }
.pro-hero-shade { z-index: -1; background: linear-gradient(90deg, rgba(4,21,35,.97), rgba(5,24,39,.82) 42%, rgba(5,24,39,.16) 80%), linear-gradient(0deg, rgba(4,21,35,.55), transparent 40%); }
.pro-hero-content { padding-block: clamp(78px,10vh,122px); }
.pro-hero h1 { max-width: 800px; margin: 0; font: 400 clamp(3.7rem,7vw,7.1rem)/.92 Georgia,"Times New Roman",serif; letter-spacing: -.055em; }
.pro-hero h1 em { display: block; color: var(--gold); font-style: italic; }
.pro-hero-lead { max-width: 760px; margin: 30px 0 0; font-size: clamp(1.1rem,1.6vw,1.4rem); font-weight: 700; line-height: 1.45; }
.pro-hero-copy { max-width: 640px; margin: 15px 0 0; color: #d7e1e6; line-height: 1.7; }
.pro-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.pro-button-ghost { border-color: rgba(255,255,255,.58); background: rgba(5,24,39,.25); color: white; backdrop-filter: blur(7px); }
.pro-button-ghost:hover, .pro-button-ghost:focus-visible { background: white; color: var(--navy); }
.pro-proof { display: flex; flex-wrap: wrap; gap: 18px 30px; margin-top: 48px; color: #c6d4db; font-size: .76rem; font-weight: 700; }
.pro-proof span { display: flex; align-items: center; gap: 9px; }
.pro-proof span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(244,183,25,.18); }

.pro-intro { padding-block: clamp(88px,10vw,142px); background: var(--paper); }
.pro-intro-grid { display: grid; grid-template-columns: 1fr; gap: 30px; align-items: start; }
.pro-intro h2, .pro-section-heading h2, .pro-method h2, .pro-contact h2 { margin: 0; font: 400 clamp(2.6rem,4.3vw,4.3rem)/1.03 Georgia,"Times New Roman",serif; letter-spacing: -.042em; }
.pro-intro-grid > div:first-child { max-width: 980px; }
.pro-intro-grid > div:last-child { max-width: 760px; padding-left: 0; border-left: 0; }
.pro-intro-grid > div:last-child p { margin: 0; color: var(--muted); line-height: 1.78; }
.pro-intro-grid > div:last-child p + p { margin-top: 18px; }

.pro-services { padding-block: clamp(90px,10vw,145px); background: var(--navy-soft); color: white; }
.pro-section-heading { max-width: 870px; }
.pro-section-heading > p:last-child { max-width: 680px; margin: 25px 0 0; color: #bdcbd4; line-height: 1.75; }
.pro-service-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 1px; margin-top: 66px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.14); }
.pro-service-card { grid-column: span 2; }
.pro-service-card:nth-child(4), .pro-service-card:nth-child(5) { grid-column: span 3; }
.pro-service-card { min-height: 330px; padding: 30px; background: var(--navy); transition: background 180ms ease, transform 180ms ease; }
.pro-service-card:hover { z-index: 1; background: #0a263e; transform: translateY(-5px); }
.pro-service-card > span { color: var(--gold); font: 400 2.4rem/1 Georgia,"Times New Roman",serif; }
.pro-service-card h3 { margin: 55px 0 18px; font-size: 1.3rem; line-height: 1.25; }
.pro-service-card p { margin: 0; color: #b8c8d1; font-size: .9rem; line-height: 1.72; }
.pro-service-card:nth-child(even) > span { color: #4ed1cc; }
.pro-service-link { color: inherit; text-decoration: none; cursor: pointer; }
.pro-service-link:focus-visible { outline: 3px solid var(--gold); outline-offset: -3px; }
.pro-service-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; color: white; font-size: .78rem; letter-spacing: .04em; transition: gap 180ms ease, color 180ms ease; }
.pro-service-link:hover .pro-service-cta, .pro-service-link:focus-visible .pro-service-cta { gap: 13px; color: var(--gold); }


.pro-method { padding-block: clamp(90px,10vw,145px); background: var(--cream); }
.pro-method-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10vw; }
.pro-method-title { position: sticky; top: 125px; align-self: start; }
.pro-steps { margin: 0; padding: 0; border-top: 3px solid var(--navy); list-style: none; }
.pro-steps li { display: grid; grid-template-columns: 60px 1fr; gap: 24px; padding: 36px 0; border-bottom: 1px solid #cbd3d1; }
.pro-steps > li > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: white; color: var(--teal-dark); font: 400 1.4rem/1 Georgia,"Times New Roman",serif; }
.pro-steps h3 { margin: 2px 0 10px; font-size: 1.16rem; }
.pro-steps p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.7; }

.pro-contact { padding-block: 98px; background: var(--teal-dark); color: white; }
.pro-contact-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 9vw; align-items: center; }
.pro-contact h2 { font-size: clamp(2.8rem,5vw,5.2rem); }
.pro-contact-grid > div:first-child > p:last-child { max-width: 620px; margin: 28px 0 0; color: #d7efee; line-height: 1.7; }
.pro-contact-actions { display: flex; flex-direction: column; border-top: 1px solid rgba(255,255,255,.22); }
.pro-contact-actions a { display: flex; flex-direction: column; gap: 7px; padding: 28px 30px; border-bottom: 1px solid rgba(255,255,255,.22); transition: background 180ms ease, padding-left 180ms ease; }
.pro-contact-actions a:hover, .pro-contact-actions a:focus-visible { padding-left: 40px; background: rgba(7,29,48,.2); }
.pro-contact-actions span { font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pro-contact-actions strong { color: var(--gold); font: 400 clamp(1.7rem,3vw,2.7rem)/1.1 Georgia,"Times New Roman",serif; }

@media (max-width: 1000px) {
  .pro-service-grid { grid-template-columns: repeat(2,1fr); }
  .pro-service-card, .pro-service-card:nth-child(4), .pro-service-card:nth-child(5) { grid-column: span 1; }
}

@media (max-width: 860px) {
  .pro-hero { min-height: calc(100svh - 72px); align-items: flex-end; }
  .pro-hero-shade { background: linear-gradient(0deg, rgba(4,21,35,.98), rgba(4,21,35,.82) 58%, rgba(4,21,35,.18)); }
  .pro-hero-content { padding-top: 210px; padding-bottom: 52px; }
  .pro-intro-grid, .pro-method-grid, .pro-contact-grid { grid-template-columns: 1fr; gap: 48px; }
  .pro-intro-grid > div:last-child { padding: 0; border: 0; }
  .pro-method-title { position: static; }
  .pro-service-grid { grid-template-columns: 1fr; }
  .pro-service-card { min-height: 0; }
}

@media (max-width: 520px) {
  .pro-hero h1 { font-size: clamp(3.2rem,14vw,4.8rem); }
  .pro-hero-actions { display: grid; }
  .pro-hero-actions .button { width: 100%; justify-content: space-between; }
  .pro-proof { display: grid; }
  .pro-intro h2, .pro-section-heading h2, .pro-method h2, .pro-contact h2 { font-size: clamp(2.35rem,12vw,3.4rem); }
  .pro-service-card { padding: 25px 22px; }
  .pro-contact-actions a { padding-inline: 12px; }
}
