/* PRO-ETUDES: original logo blue, a brighter action blue, black and white. */
:root {
  --blue: #1e53a5;
  --bright: #225fda;
  --navy: #0b111c;
  --ink: #14171d;
  --muted: #596474;
  --paper: #f7f9ff;
  --line: #dce4ef;
}

.topbar { background: #11151c; color: #d4dfef; }
.topbar a { color: #fff; }
.site-header { background: #fafcff; border-color: #e3e9f3; }
.logo-card, .footer-brand .logo-card { background: transparent; padding: 0; }
.header-inner { min-height: 108px; }
.main-nav { color: #262c36; }
.main-nav a:hover { color: var(--blue); }
.header-cta, .button-blue {
  background: linear-gradient(125deg, #1e53a5, #225fda);
  box-shadow: 0 5px 15px #1e53a519;
}
.header-cta:hover, .button-blue:hover { background: #194db1; }
.button { border-radius: 3px; }
.header-cta { border-radius: 3px; }

/* Keep photographs natural; reserve saturated blue for the brand. */
.hero { background: #10151f; }
.hero-shade {
  background: linear-gradient(90deg, #070d18ed 0%, #0a1425c4 32%, #0b17264d 68%, #10151f1a),
              linear-gradient(0deg, #060c19b8, transparent 40%);
}
.hero-slide { object-position: center 46%; }
.hero h1 { color: #fff; text-shadow: 0 2px 28px #00000020; }
.hero h1 em { color: #85b0ff; }
.hero-intro { color: #e2e8f2; }
.hero .light-eyebrow { color: #d5e4ff; }
.hero-actions .button-blue {
  background: linear-gradient(115deg, #1e53a5, #2868e4);
  box-shadow: 0 8px 28px #030b1c40;
}
.hero-actions .button-blue:hover { background: #285fc7; }
.button-outline { background: #ffffff08; border-color: #d3e3fc9e; }
.button-outline:hover { background: #ffffff1c; }
.hero-grid { opacity: .12; }
.hero-grid:after { border-color: #d4e5ff50; box-shadow: 0 0 0 55px #95bff410, 0 0 0 110px #95bff408; }
.hero-controls button { background: #101b2a52; border-color: #e1ebfc80; }
.hero-controls button:hover { background: var(--blue); }
.slide-caption { color: #e6efff; }

.pole-section { background: #fff; }
.pole-strip { box-shadow: 0 15px 45px #173d7714; }
.pole-card { border-color: #dae3f0; border-top-color: var(--blue); }
.pole-card>div>span { color: #63758f; font-size: 7px; letter-spacing: .04em; }
.pole-card h2 { color: #1b2433; font-weight: 600; }
.pole-card .icon { stroke: var(--blue); }
.pole-arrow { color: #4276bf; }
.pole-card:hover { background: #1e53a5; }
.pole-card:hover h2 { color: #fff; }
.pole-card:hover>div>span { color: #d2e2fc; }
.pole-card:hover .icon, .pole-card:hover .pole-arrow { color: #fff; stroke: #fff; }

.about { background: #fff; }
h2 span { color: #68798e; }
.about-copy .lead, .about-accordion p, .section-heading.center>p:not(.eyebrow),
.project-heading>p, .service-card p, .method-grid p { color: #58677b; }
.about-accordion summary { color: #252e3d; }
.about-image-frame { border-color: #a7bfe1; }
.about-image-note { background: linear-gradient(135deg, #1e53a5, #2867d8); }
.about-image-note>span { color: #e0ebff; }
.image-credit-label { color: #65768f; }
.why-section { background: #1e53a5; }
.why-shade { background: linear-gradient(100deg, #174da7f5, #1e53a5e3 52%, #1a438ac7); }
.why-grid .eyebrow, .why-points>div>span { color: #d9e8ff; }
.why-points p { color: #d6e3f8; }
.why-points>div>span { border-color: #bad4fa75; }
.services { background: #fff; }
.service-grid { border-color: #dce5f1; }
.service-card { border-color: #dce5f1; transition: background .25s, box-shadow .25s; }
.service-card .icon { background: #edf3ff; border-radius: 4px; padding: 7px; width: 51px; height: 51px; }
.service-card h3 { color: #171f2b; }
.service-card:hover { background: #f5f8ff; box-shadow: inset 0 3px 0 #1e53a5, 0 8px 22px #1849970c; }
.service-no { color: #6d83a2; }
.card-more { border-top-color: #dce6f5; }
.complementary>span { color: #65758b; }
.projects-section { background: #f4f7fc; }
.project-card { background: #fff; border: 1px solid #dfe7f2; transition: box-shadow .3s, transform .3s; }
.project-card:hover { box-shadow: 0 13px 30px #17498f14; transform: translateY(-3px); }
.project-photo>img { filter: none; }
.project-card:hover .project-photo>img { filter: none; }
.project-card-caption { padding: 20px 21px 24px; }
.project-card-caption>span { color: #3264a8; }
.project-card-caption h3 { color: #1c2635; }
.project-filters button { color: #596c84; }
.illustration-note { color: #63748b; }

.tools-section {
  background: radial-gradient(ellipse at 100% 0%, #1e53a52c, transparent 56%), #0b111c;
}
.tools-heading .eyebrow { color: #acccff; }
.tools-heading>p { color: #b6c6dc; }
.tool-card { background: #17263b62; border-color: #7898c447; }
.tool-card:hover { background: #2142765e; }
.tool-card:before { background: #5d97ff; }
.tool-overline { color: #c1d7f8; }
.tool-icon { stroke: #91baff; }
.tool-card p { color: #b0c0d7; }
.tool-steps { color: #a0c2f6; }
.tool-state { color: #a5bcd9; border-color: #98b7e13b; }
.tool-link { color: #fff; }
.method-grid>div>span { color: #376cad; }
.method-grid h3 { color: #1a2331; }

/* A light contact area and footer keep the original black/blue logo legible. */
.contact-section { background: linear-gradient(125deg, #edf3ff, #f8faff 65%); color: #161e2b; }
.contact-section:before { border-color: #1e53a522; box-shadow: 0 0 0 50px #1e53a506, 0 0 0 100px #1e53a505; }
.contact-copy .eyebrow { color: var(--blue); }
.contact-copy>p:not(.eyebrow) { color: #52657e; }
.contact-signature>span { color: var(--blue); }
.contact-signature p { color: #536780; }
.contact-signature strong { color: #1d3558; }
.contact-recruitment { border-color: #1e53a52e; }
.contact-recruitment>span { color: #3d6395; }
.contact-recruitment button { color: #173f79; }
.contact-recruitment button>span { color: var(--blue); }
.contact-form-card { border: 1px solid #dce6f7; border-top: 3px solid var(--blue); box-shadow: 0 16px 48px #174b9f0c; }
.contact-form-note { color: #65748a; }
.site-footer { background: #fff; color: #586a81; border-top: 1px solid #dce5f1; }
.footer-grid>div>h2 { color: #223d63; }
.footer-grid a:hover, .footer-grid button:hover { color: #1e53a5; }
.footer-grid .back-top { color: #1e53a5; }
.footer-brand>p { color: #53657e; }
.footer-bottom { color: #526a8a; border-top-color: #dbe5f3; }
.back-top>span { color: #1e53a5; }
.hero .eyebrow, .tools-heading .eyebrow, .contact-copy .eyebrow { font-size: 10px; }
.pole-card>div>span { font-size: 8px; }
.tool-overline { font-size: 9px; }
.tool-steps, .tool-state { font-size: 8px; }
.photo-label { font-size: 8px; }

@media(max-width:1200px) {
  .pole-card>div>span { font-size: 8px; }
}
@media(max-width:1000px) {
  .header-inner { min-height: 100px; }
}
@media(max-width:760px) {
  .header-inner { min-height: 83px; }
  .hero-shade { background: linear-gradient(90deg, #080f1df0, #101a2bb3 70%, #0b172680), linear-gradient(0deg, #07101cb3, transparent 40%); }
  .hero-slide { object-position: 60% center; }
  .hero h1 em { color: #9bbfff; }
  .main-nav { background: #fafcff; }
  .pole-card>div>span { font-size: 7px; }
  .hero .eyebrow, .tools-heading .eyebrow, .contact-copy .eyebrow { font-size: 8px; }
  .service-card .icon { width: 42px; height: 42px; padding: 5px; }
  .project-card-caption { padding: 18px 20px 22px; }
  .footer-brand .logo-card { width: 145px; }
}
@media(max-width:370px) {
  .footer-brand .logo-card { width: 135px; }
}
