:root{
  --bright-ink:#10213d;
  --bright-text:#263b53;
  --bright-muted:#51667d;
  --bright-blue:#0077b6;
  --bright-blue-hover:#005f8f;
  --bright-sky:#eaf7ff;
  --bright-sky-soft:#f5fbff;
  --bright-border:#d7e8f2;
  --bright-card:#fff;
  --bright-shadow:0 16px 42px rgba(26,91,126,.11);
  --primary:var(--bright-ink);
  --secondary:var(--bright-text);
  --accent:var(--bright-blue);
  --bg:var(--bright-sky-soft);
  --text:var(--bright-ink);
  --muted:var(--bright-muted);
  --border:var(--bright-border);
  --radius:16px;
  --yp-primary:var(--bright-ink);
  --yp-accent:var(--bright-blue);
  --yp-bg:var(--bright-sky-soft);
  --yp-text:var(--bright-ink);
  --yp-muted:var(--bright-muted);
  --yp-border:var(--bright-border);
  --yp-radius:16px;
  --formal-radius:16px;
  --formal-ink:var(--bright-ink);
  --formal-blue:var(--bright-blue);
  --formal-pale:var(--bright-sky-soft)
}

body,.yp-page{background:#fff;color:var(--bright-ink)}
body p,.yp-page p{color:var(--bright-muted)}
.section,.yp-section{position:relative}
.section-muted,.yp-muted,.formal-factory,.pack-service-teaser{background:var(--bright-sky-soft)}

/* Shared navigation */
.site-header,.yp-header{
  border-bottom-color:rgba(0,119,182,.14);
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 28px rgba(31,91,123,.06);
  backdrop-filter:blur(16px) saturate(150%)
}
.brand,.yp-brand{color:var(--bright-ink)}
.formal-brand small{color:#5d7289}
.main-nav a,.yp-links a{color:var(--bright-text)}
.main-nav a[aria-current="page"],.yp-links a[aria-current="page"]{color:var(--bright-blue);box-shadow:inset 0 -2px var(--bright-blue)}
.language-picker select,.yp-language-picker select{
  border-color:var(--bright-border);
  border-radius:10px;
  background:#fff;
  color:var(--bright-ink)
}

/* Buttons and links */
.button,.yp-button{
  border-radius:10px;
  background:var(--bright-blue);
  color:#fff!important;
  box-shadow:0 9px 24px rgba(0,119,182,.2)
}
.button:hover,.yp-button:hover{background:var(--bright-blue-hover)}
.button-dark{background:var(--bright-ink)}
.button-dark:hover{background:#193757}
.button-ghost,.yp-button-secondary{
  border:1px solid rgba(0,119,182,.45);
  background:rgba(255,255,255,.92);
  color:var(--bright-blue)!important;
  box-shadow:none
}
.button-ghost:hover,.yp-button-secondary:hover{background:#fff;border-color:var(--bright-blue)}
.text-link,.product-card>a,.yp-card-link,.yp-breadcrumb a{color:var(--bright-blue)}

/* Homepage hero: bright split composition instead of a dark overlay */
.formal-hero.hero{
  min-height:min(760px,calc(100dvh - 72px));
  border-bottom:1px solid var(--bright-border);
  background:var(--bright-sky-soft)
}
.formal-hero .hero-image{
  right:0;
  left:auto;
  width:60%;
  filter:saturate(1.12) contrast(1.02) brightness(1.08);
  object-position:center
}
.formal-hero .hero-scrim{
  background:linear-gradient(90deg,#f7fcff 0%,#f7fcff 35%,rgba(247,252,255,.96) 42%,rgba(247,252,255,.64) 53%,rgba(247,252,255,.08) 72%)
}
.formal-hero .hero-content{z-index:2;color:var(--bright-ink)}
.formal-hero .hero-content>*{max-width:590px}
.formal-hero .hero-content h1{color:var(--bright-ink)!important}
.formal-hero .hero-content>p:not(.eyebrow){color:var(--bright-text)}
.eyebrow,.yp-kicker{color:var(--bright-blue)!important}

/* Homepage proof, product and project surfaces */
.trust-strip{border-color:var(--bright-border);background:#fff}
.trust-grid{gap:0}
.trust-grid div{border-color:var(--bright-border);background:#fff}
.trust-grid strong{color:var(--bright-blue)}
.formal-categories{gap:20px}
.formal-categories .category{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.65);
  border-radius:16px;
  background-image:var(--category-image);
  box-shadow:0 12px 30px rgba(31,91,123,.1)
}
.formal-categories .customer-product-card{background-image:none}
.formal-categories .customer-product-card>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:var(--category-position,50% 50%)
}
.formal-categories .category::after{display:none}
.formal-categories .category span{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  max-width:none;
  min-height:78px;
  display:flex;
  align-items:center;
  padding:18px 24px;
  background:rgba(255,255,255,.96);
  color:var(--bright-ink);
  text-shadow:none
}
.formal-project-grid article{
  border-color:var(--bright-border)!important;
  border-radius:16px!important;
  box-shadow:0 12px 34px rgba(31,91,123,.08)
}
.formal-project-grid img,.yp-card img,.yp-cap-hero img,.yp-media-split img,.yp-page .yp-gallery-card img{
  filter:saturate(1.08) contrast(1.01) brightness(1.04)
}
.formal-process-list div,.pack-service-steps div{border-top-color:var(--bright-blue)}
.formal-process-list strong,.pack-service-steps strong{color:var(--bright-ink)}
.formal-factory{background:linear-gradient(135deg,#effaff 0%,#f8fdff 100%)}
.formal-factory .button-dark{background:var(--bright-blue)}
.formal-factory .button-dark:hover{background:var(--bright-blue-hover)}
.formal-factory video,.formal-video-frame{
  border:1px solid var(--bright-border);
  border-radius:16px;
  background:#dceef7;
  box-shadow:var(--bright-shadow)
}
.formal-capabilities span{border-color:var(--bright-border);color:var(--bright-text)}
.pack-quality-links a{
  overflow:hidden;
  border:1px solid var(--bright-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(31,91,123,.07)
}
.pack-quality-links img{background:#fff}
.pack-quality-links span{margin:0;padding:14px 16px;color:var(--bright-ink)}
.contact-section{
  padding:88px 0;
  background:linear-gradient(135deg,#e7f7ff 0%,#f4fbff 100%);
  color:var(--bright-ink)
}
.contact-grid h2,.contact-section h2{color:var(--bright-ink)}
.contact-grid>div>p:not(.eyebrow){color:var(--bright-text)}
.contact-details{color:var(--bright-ink)}
.home-contact-cta{
  padding:30px;
  border:1px solid rgba(0,119,182,.16);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--bright-shadow)
}
.home-contact-cta p{color:var(--bright-text)}
footer,.yp-footer{border-color:var(--bright-border);background:#fbfdff}

/* Shared inner-page heroes */
.yp-archive-hero,.yp-pack-intro,.yp-contact-hero{
  border-bottom:1px solid var(--bright-border);
  background:linear-gradient(135deg,#edf9ff 0%,#f9fdff 72%)
}
.yp-archive-hero h1,.yp-pack-intro h1,.yp-contact-hero h1{color:var(--bright-ink)}
.yp-hero,.yp-cap-hero{background:#fff}
.yp-formal-hero .yp-hero-grid{gap:72px}
.yp-formal-hero .yp-hero-grid>div:first-child{padding-right:0}
.yp-gallery-card{
  border:1px solid rgba(255,255,255,.8);
  border-radius:16px;
  background:#dceef7;
  box-shadow:0 20px 50px rgba(31,91,123,.16)
}
.yp-gallery-arrow{
  border-color:var(--bright-border);
  border-radius:10px;
  color:var(--bright-blue)
}

/* Archives and content cards */
.yp-product-categories{gap:18px}
.yp-product-categories article{
  padding:24px;
  border:1px solid var(--bright-border);
  border-top:4px solid var(--bright-blue);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(31,91,123,.06)
}
.yp-card,.yp-scope-card,.yp-input,.yp-proof-strip,.yp-pending-item,.yp-contact-note,.yp-lead-form,.yp-empty{
  border-color:var(--bright-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(31,91,123,.07)
}
.yp-card{box-shadow:0 14px 36px rgba(31,91,123,.09)}
.yp-card-body{padding:26px}
.yp-card h2,.yp-scope-card h3,.yp-input strong{color:var(--bright-ink)}
.yp-support-item{border-top-color:var(--bright-blue)}
.yp-process-card{
  border:1px solid var(--bright-border);
  border-top:4px solid var(--bright-blue);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(31,91,123,.06)
}
.yp-check-list li{border-left-color:var(--bright-blue);border-radius:0 12px 12px 0;background:var(--bright-sky-soft)}
.yp-notice,.yp-form-ready{border-color:var(--bright-blue);background:#e6f6ff;color:#0c557b}
.yp-cert-pages a{overflow:hidden;border-color:var(--bright-border);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(31,91,123,.06)}
.yp-cert-pages figcaption{color:var(--bright-muted)}
.yp-pack-step{border-color:var(--bright-border)}
.yp-pack-step b{color:var(--bright-blue)}
.yp-case-summary div{border-top-color:var(--bright-blue)}

/* Light-theme conversion areas */
.yp-contact,.yp-pack-cta{
  border-block:1px solid rgba(0,119,182,.14);
  background:linear-gradient(135deg,#e7f7ff 0%,#f5fbff 100%);
  color:var(--bright-ink)
}
.yp-contact h2,.yp-contact p,.yp-pack-cta h2,.yp-pack-cta p{color:var(--bright-ink)}
.yp-contact-copy p,.yp-pack-cta p{color:var(--bright-text)}

/* Forms */
.yp-lead-form{padding:32px;box-shadow:0 18px 48px rgba(31,91,123,.1)}
.yp-lead-form input,.yp-lead-form textarea,.yp-lead-form select,.yp-form input,.yp-form textarea{
  border-color:#9eb9c9;
  border-radius:10px;
  background:#fff;
  color:var(--bright-ink)
}
.yp-lead-form input:focus,.yp-lead-form textarea:focus,.yp-lead-form select:focus,.yp-form input:focus,.yp-form textarea:focus{
  border-color:var(--bright-blue);
  box-shadow:0 0 0 3px rgba(0,119,182,.14);
  outline:none
}

@media(hover:hover) and (pointer:fine){
  .yp-product-categories article:hover,.yp-process-card:hover,.yp-scope-card:hover{border-color:#9fcfe8;box-shadow:0 15px 34px rgba(31,91,123,.1)}
  .pack-quality-links a:hover{border-color:#9fcfe8}
}

@media(max-width:1024px){
  .formal-hero .hero-image{width:64%}
  .formal-hero .hero-scrim{background:linear-gradient(90deg,#f7fcff 0%,#f7fcff 36%,rgba(247,252,255,.9) 48%,rgba(247,252,255,.14) 76%)}
}

@media(max-width:767px){
  .formal-hero.hero{min-height:calc(100dvh - 64px);align-items:flex-end;background:#fff}
  .formal-hero .hero-image{top:0;right:0;width:100%;height:57%;filter:saturate(1.1) contrast(1.01) brightness(1.08);object-position:center}
  .formal-hero .hero-scrim{background:linear-gradient(0deg,#fff 0%,#fff 47%,rgba(255,255,255,.96) 55%,rgba(255,255,255,.42) 72%,rgba(255,255,255,.04) 100%)}
  .formal-hero .hero-content{padding:42px 0}
  .formal-hero .hero-content>*{max-width:none}
  .formal-categories{gap:16px}
  .formal-categories .category{min-height:230px}
  .formal-process-list{gap:20px}
  .contact-section{padding:58px 0}
  .home-contact-cta{padding:24px}
  .yp-formal-hero .yp-hero-grid{gap:36px}
  .yp-product-categories{gap:14px}
  .yp-product-categories article{padding:20px}
  .yp-lead-form{padding:22px}
}

@media(prefers-reduced-motion:reduce){
  .formal-project-grid img,.yp-card img,.yp-cap-hero img,.yp-media-split img,.yp-page .yp-gallery-card img{filter:saturate(1.04) brightness(1.02)}
}
