/*
 * CAYMAR_UNIFIED_DIVISION_DESIGN_V1
 * One typography / colors / header / footer system inherited from Nudge Option 1.
 * This CSS styles ONLY the content of division pages; the public Option 1
 * shared header/footer still use the original Nudge selectors and markup.
 */
.caymar-unified-division {
  background: #fff;
  color: var(--color-foreground);
  font-family: var(--font-body);
  overflow-x: clip;
}
.caymar-unified-division * { box-sizing: border-box; }
.caymar-unified-division .caymar-shell-language-links {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border: 1px solid #D4A72C;
  background: #0B1F3A;
  flex: 0 0 auto;
}
.caymar-unified-division .caymar-shell-language-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 35px;
  min-height: 38px;
  color: #fff;
  background: transparent;
  font-size: .8rem;
  font-weight: 800;
  text-decoration: none;
}
.caymar-unified-division .caymar-shell-language-links a[aria-current="page"] {
  background: #D4A72C;
  color: #0B1F3A;
}
.cu-wrap {
  width: min(calc(100% - 2 * var(--page-margin)),var(--wide));
  margin-inline: auto;
}
.cu-two-column {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: center;
  gap: clamp(1.5rem,5vw,5rem);
}
.cu-kicker {
  color: #E3BE55;
  font-family: var(--font-body);
  font-size: .81rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .15em;
  margin: 0 0 1.1rem;
}
.cu-kicker-dark { color: #87640F; }
.caymar-unified-division h1,
.caymar-unified-division h2,
.caymar-unified-division h3 {
  font-family: var(--font-head);
  text-transform: uppercase;
  line-height: 1.08;
  letter-spacing: .01em;
  overflow-wrap: anywhere;
}
.caymar-unified-division .cu-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.75rem,6vw,5.6rem);
  max-width: 15ch;
}
.caymar-unified-division .cu-hero-lead {
  max-width: 54ch;
  color: #DBE3EC;
  font-size: clamp(1rem,1.5vw,1.18rem);
  line-height: 1.65;
  margin: 1.4rem 0 0;
}
.cu-hero {
  position: relative;
  background: linear-gradient(120deg,#07162B 0%,#0B1F3A 64%,#163A63 100%);
  color: #fff;
  border-bottom: 5px solid #D4A72C;
}
.cu-hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: clamp(2rem,5vw,5rem);
  align-items: center;
  padding-block: clamp(3rem,7vw,7rem);
  min-height: min(740px,calc(100dvh - var(--rail-h)));
}
.cu-hero-content,.cu-hero-media { min-width: 0; }
.cu-hero-media { width: 100%; }
.cu-visual,
.cu-photo {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  min-height: 280px;
  overflow: hidden;
  border: 2px solid rgba(212,167,44,.7);
  background: linear-gradient(145deg,#183C63,#0B1F3A);
}
.cu-photo img { display: block; width: 100%; height: auto; object-fit: cover; }
.cu-hero .cu-photo img { max-height: 450px; object-fit: cover; }
.cu-photo figcaption {
  padding: .55rem .85rem;
  background: #0B1F3A;
  color: #E3BE55;
  font-size: .8rem;
}
.cu-visual { height: 380px; }
.cu-visual-label {
  position: absolute; left: 1.4rem; bottom: 1rem;
  color: #fff; font-size: .76rem; font-weight: 800; letter-spacing: .12em;
}
.cu-solar-sun {
  position: absolute; right: 9%; top: 7%;
  width: 125px; height: 125px; border-radius: 50%;
  background: radial-gradient(circle,#E3BE55 0%,#D4A72C 50%,transparent 70%);
  opacity: .9;
}
.cu-solar-array {
  position: absolute; left: 12%; right: 12%; top: 35%;
  height: 34%; display: grid; grid-template-columns: repeat(4,1fr);
  grid-template-rows: repeat(2,1fr); gap: 3px; padding: 4px;
  border: 4px solid #D4A72C;
  background: #D4A72C;
  transform: skewY(-8deg);
  box-shadow: 0 30px 40px #0006;
}
.cu-solar-array span {
  background: repeating-linear-gradient(90deg,transparent 0 24px,#638EB04D 24px 26px),
    linear-gradient(145deg,#275678,#0B1F3A);
}
.cu-operations-art {
  position: absolute; inset: 17% 13% 24%;
  background: #F4F6F8; border-top: 5px solid #D4A72C;
  padding: 1.8rem; box-shadow: 0 24px 40px #0007;
  display: grid; grid-template-columns: repeat(3,1fr);
  align-content: center; gap: 1rem;
}
.cu-operations-art span { display: block; background: #BFCBD9; height: 17px; }
.cu-operations-art span:nth-child(2) { width: 70%; }
.cu-operations-art span:nth-child(3) { width: 80%; }
.cu-operations-art b { height: 65px; border-top: 4px solid #D4A72C; background: #DBE3EC; }
.cu-actions {
  display: flex; flex-wrap: wrap; align-items: center; gap: .8rem;
  margin-top: 1.8rem;
}
.cu-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 52px; padding: .65rem 1.2rem;
  border: 2px solid #D4A72C; border-radius: 0;
  font-family: var(--font-head); font-size: 1rem; font-weight: 700;
  color: #fff; text-align: center; text-decoration: none;
  text-transform: uppercase; letter-spacing: .03em;
}
.cu-btn-gold { background: #D4A72C; color: #0B1F3A; }
.cu-btn-outline { background: transparent; }
.cu-btn:hover,.cu-btn:focus-visible { background: #E3BE55; color: #0B1F3A; }
.cu-contact-hint { margin: 1rem 0 0; color: #C5D1DF; font-size: .84rem; }
.cu-intro, .cu-services, .cu-steps, .cu-gallery { padding-block: var(--section-y); }
.cu-intro { background: #fff; }
.cu-services { background: #F4F6F8; }
.cu-steps { background: #fff; }
.cu-gallery { background: #fff; }
.caymar-unified-division h2 {
  color: #0B1F3A; font-size: clamp(2rem,3.8vw,3.75rem);
  max-width: 19ch; margin: 0;
}
.cu-intro-copy {
  max-width: 60ch; color: #526071; font-size: 1.07rem;
  line-height: 1.8; margin: 0;
}
.cu-card-grid {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1.25rem; margin-top: 2.2rem;
}
.cu-card {
  min-width: 0; padding: clamp(1.25rem,2.5vw,2rem);
  background: #fff; border-top: 5px solid #D4A72C;
  box-shadow: 0 12px 25px #0B1F3A0D;
}
.cu-card-index { color: #87640F; font-weight: 800; font-size: .8rem; }
.caymar-unified-division .cu-card h3 {
  font-size: 1.5rem; color: #0B1F3A;
  margin: 1rem 0 .7rem;
}
.cu-card p { font-size: .97rem; color: #526071; margin: 0; }
.cu-steps-grid {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1.4rem; list-style: none; padding: 0; margin: 2.2rem 0 0;
}
.cu-steps-grid li { padding: 1.2rem 0; border-top: 3px solid #D4A72C; }
.cu-steps-grid span { font-weight: 800; color: #87640F; }
.cu-steps-grid p { color: #526071; font-size: 1.03rem; }
.cu-gallery-photo { border-color: #DFE4EA; background: #fff; }
.cu-gallery-photo figcaption { color: #526071; background: #F4F6F8; }
.cu-contact {
  padding-block: clamp(3rem,6vw,6rem);
  background: #0B1F3A; color: #DBE3EC;
  border-top: 5px solid #D4A72C;
}
.caymar-unified-division .cu-contact h2 { color: #fff; }
.cu-contact p { max-width: 58ch; }
.cu-social {
  display: flex; flex-direction: column; gap: 1rem;
  padding-left: 2rem; border-left: 2px solid #D4A72C;
}
.cu-social span { color: #E3BE55; letter-spacing: .08em; font-weight: 800; }
.cu-social a { color: #fff; font-size: 1.1rem; }
.cu-social a:hover { color: #E3BE55; }
@media (max-width: 940px) {
  .cu-hero-grid,.cu-two-column { grid-template-columns: minmax(0,1fr); }
  .cu-hero-grid { min-height: 0; }
  .cu-hero-media { max-width: 720px; }
  .cu-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cu-social { border-left: none; border-top: 2px solid #D4A72C; padding: 1.25rem 0 0; }
}
@media (max-width: 599px) {
  .cu-hero-grid { padding-block: 2.5rem 3rem; }
  .caymar-unified-division .cu-hero h1 {
    font-size: clamp(2.2rem,10.5vw,3.6rem);
  }
  .cu-visual { height: 275px; min-height: 0; }
  .cu-card-grid,.cu-steps-grid { grid-template-columns: minmax(0,1fr); }
  .cu-btn { flex: 1 1 100%; }
  .cu-gallery-inner { gap: 1.6rem; }
  .caymar-unified-division .caymar-shell-language-links a { min-width: 32px; min-height: 34px; }
}

/* CAYMAR_UNIFIED_NOT_FOUND_STYLE_V1: same design system, no legacy header. */
.cu-not-found {
  padding-block: clamp(5rem,12vw,10rem);
  min-height: 60vh;
  background: #F4F6F8;
}
.caymar-unified-division .cu-not-found h1 {
  color: #0B1F3A;
  font-size: clamp(2.9rem,8vw,6rem);
  margin: 0 0 1.2rem;
}
.cu-not-found p:not(.cu-kicker) {
  font-size: 1.15rem;
  color: #526071;
  margin: 0 0 2rem;
}
