/* Simple, clean styles for the RSS template */
:root{
  --bg:#fafafa;
  --accent:#0f5d8c;
  --muted:#666;
  /* sampled from logo */
  --logo-navy:#07223a;
  --logo-orange:#ff7a18;
  --container:1100px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;line-height:1.5;color:#0b1b26;background:radial-gradient(1200px 600px at 10% 10%, rgba(15,93,140,0.06), transparent 10%), linear-gradient(180deg,#072638 0%, rgba(15,93,140,0.12) 30%, #f7fbff 100%);background-attachment:fixed}
.container{max-width:var(--container);margin:0 auto;padding:1.5rem}
.site-header{background:#fff;border-bottom:1px solid #eee;position:relative;z-index:60;overflow:visible}
.site-header .container{display:flex;align-items:center;gap:0.85rem;padding:0.55rem 1rem;position:relative}

.brand{margin:0;font-size:2.2rem;display:flex;align-items:baseline;gap:1rem;font-weight:800}
.brand .acronym{font-size:0.98rem;color:var(--muted);display:block;margin-top:2px}
.brand-link{display:flex;align-items:center;gap:1rem;text-decoration:none;color:inherit}
.logo-link{display:block;margin-right:0.75rem}
.logo{width:110px;height:110px;object-fit:contain;border-radius:12px;background:white;padding:8px;box-shadow:0 6px 18px rgba(0,0,0,0.10);display:block}
.nav{margin-left:auto;display:flex;gap:0.75rem}
.nav a{text-decoration:none;color:var(--muted);padding:.4rem .55rem}
.nav a:hover{color:var(--accent)}
.nav-toggle{display:block;background:transparent;border:0;font-size:1.5rem;padding:.25rem;cursor:pointer;position:absolute;right:1rem;top:50%;transform:translateY(-50%);z-index:2}

/* Dropdown menu for industries in header */
.nav-dropdown{position:relative}
.dropdown-toggle{background:transparent;border:0;color:var(--muted);padding:.5rem;cursor:pointer;font-weight:700}
.dropdown-toggle:focus{outline:2px solid rgba(15,93,140,0.14);border-radius:6px}
.dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid #eee;border-radius:8px;padding:0.5rem;display:none;min-width:160px;box-shadow:0 12px 30px rgba(7,34,58,0.08);z-index:9999}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{display:block}
.dropdown-menu a{display:block;padding:.45rem .75rem;color:var(--muted);text-decoration:none;border-radius:6px}
.dropdown-menu a:hover{background:rgba(15,93,140,0.06);color:var(--logo-navy)}

@media (max-width:720px){
  .dropdown-menu{position:static;display:none;background:transparent;box-shadow:none;border:0;padding:0}
  .nav-dropdown:focus-within .dropdown-menu{display:block}
  .dropdown-menu a{padding:.5rem 0}
}

.contact-cta{background:var(--logo-orange);color:#fff;padding:0.45rem 0.85rem;border-radius:6px;text-decoration:none;font-weight:600;margin-left:0.5rem;display:inline-block}
.contact-cta:hover{opacity:.95}

@media (max-width:720px){
  .contact-cta{display:none}
}
.hero{padding:3.5rem 0;background:linear-gradient(180deg, #fff 0%, #f6f9ff 100%)}
.hero{padding:3.5rem 0;background:linear-gradient(180deg,#f7fbff 0%,#eef6ff 60%)}
.hero h2{font-size:2.75rem;margin:0 0 .25rem;color:var(--logo-navy)}
.hero .lead{color:var(--muted);max-width:60ch;font-size:1.125rem}
h3{margin-top:0}
.services ul{list-style:disc;margin-left:1.25rem}
.contact address{font-style:normal;line-height:1.6;color:var(--muted)}
.site-footer{border-top:1px solid #eee;padding:1rem 0;background:#fff}

/* per-letter brand colours to match the logo */
.brand-letter{display:inline-block;font-weight:900;letter-spacing:-0.02em;margin-right:0;line-height:1;font-family:inherit}
.brand-letter.r,.brand-letter.s1{color:var(--logo-navy)}
.brand-letter.s2{color:var(--logo-orange)}

@media (max-width:720px){
  .nav{display:none}
  .nav-toggle{display:inline-block;margin-left:auto}
  .hero{padding:2rem 0}
  .logo{width:120px;height:120px;padding:10px}
  .brand{font-size:2rem}
  .brand .acronym{font-size:.9rem}
  .hero h2{font-size:1.75rem}
  .hero .lead{font-size:1rem}
}

/* Visual enhancements: banners, image grid and animations */
:root{
  --gradient-start: #07223a;
  --gradient-end: #0f5d8c33;
}

.page-banner{position:relative;color:#fff;background-size:cover;background-position:center;padding:3.5rem 0;border-bottom:1px solid rgba(0,0,0,0.06);overflow:hidden}
.page-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(7,34,58,0.35), rgba(15,93,140,0.12));z-index:0;mix-blend-mode:overlay}
.page-banner .container{position:relative;z-index:1}
.page-banner h2{margin:0;font-size:2rem;color:#fff}
.page-banner .lead{color:rgba(255,255,255,0.95)}

.image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:3rem 0}
.image-grid figure{margin:0}
.illustration{width:100%;height:220px;border-radius:10px;display:block;box-shadow:0 8px 20px rgba(7,34,58,0.08);transition:transform .36s ease,box-shadow .36s ease;background:#fff;display:flex;align-items:center;justify-content:center;object-fit:cover}
.image-grid figcaption{padding-top:.5rem;color:var(--muted);font-size:.95rem}
.image-grid figure:hover .illustration{transform:translateY(-6px) scale(1.02);box-shadow:0 18px 40px rgba(7,34,58,0.12)}

/* reveal animations */
.reveal{opacity:0;transform:translateY(12px);will-change:transform,opacity}
.reveal.is-visible{animation:fadeInUp .7s ease forwards}
.image-grid figure:nth-child(1) .reveal{animation-delay:.12s}
.image-grid figure:nth-child(2) .reveal{animation-delay:.24s}
.image-grid figure:nth-child(3) .reveal{animation-delay:.36s}

@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}

/* CTA pulse */
@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.03)}100%{transform:scale(1)}}
.contact-cta{animation: pulse 4s ease-in-out infinite}

/* responsive image grid */
@media (max-width:900px){
  .image-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .image-grid{grid-template-columns:1fr}
  .illustration{height:180px}
  .page-banner{padding:2rem 0}
}

/* subtle floating background shapes */
.shape-1{position:absolute;right:-80px;top:-40px;width:260px;height:260px;background:radial-gradient(circle at 30% 30%, rgba(255,122,24,0.12), rgba(15,93,140,0.04));border-radius:50%;filter:blur(20px);z-index:0}
.shape-2{position:absolute;left:-120px;bottom:-60px;width:380px;height:380px;background:radial-gradient(circle at 60% 60%, rgba(7,34,58,0.06), rgba(15,93,140,0.02));border-radius:50%;filter:blur(28px);z-index:0}

/* Additional polished gradients and animated effects */
:root{
  --grad-a: #07223a;
  --grad-b: #0f5d8c;
  --grad-c: #ffb27a;
}

/* Animated hero soft gradient */
.hero{position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(120deg,var(--grad-a),var(--grad-b),var(--grad-c));opacity:0.06;filter:blur(36px);transform:translateX(-20%);animation:slideGradient 14s linear infinite}
.hero > .container{position:relative;z-index:1}
@keyframes slideGradient{0%{transform:translateX(-20%)}50%{transform:translateX(20%)}100%{transform:translateX(-20%)}}

/* Gradient CTA and subtle hover */
.contact-cta{background:linear-gradient(90deg,var(--logo-orange),#ffb072);box-shadow:0 8px 28px rgba(15,93,140,0.06);transition:transform .22s ease,box-shadow .22s ease,opacity .18s}
.contact-cta:hover{transform:translateY(-3px);opacity:1}

/* Nav link gradient hover and subtle backdrop */
.site-header{background:linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.75));backdrop-filter:blur(6px)}
.nav a{transition:color .18s ease,background .18s ease}
.nav a:hover{color:#fff;background:linear-gradient(90deg,rgba(15,93,140,0.14),rgba(255,122,24,0.06));padding:.5rem;border-radius:8px}

/* gradient-banner class used for services page */
.gradient-banner{background:linear-gradient(135deg,var(--grad-a),var(--grad-b));}
.gradient-banner::before{background:linear-gradient(180deg, rgba(7,34,58,0.2), rgba(15,93,140,0.06));}

/* gentle card hover and focus */
.image-grid figure:focus-within .illustration,.image-grid figure:hover .illustration{transform:translateY(-8px) scale(1.03);box-shadow:0 22px 46px rgba(7,34,58,0.14)}

/* reduce-motion fallback */
@media (prefers-reduced-motion: reduce){
  .hero::after, .shape-1, .shape-2, .contact-cta, .image-grid figure .illustration{animation:none;transition:none}
}

/* Footer socials */
.site-footer .footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.site-footer .socials{display:flex;gap:.6rem;align-items:center}
.site-footer .socials a{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:8px;color:#fff;background:linear-gradient(90deg,var(--logo-navy),var(--logo-orange));text-decoration:none;transition:transform .18s ease,opacity .12s}
.site-footer .socials a svg{width:18px;height:18px;fill:currentColor}
.site-footer .socials a:hover{transform:translateY(-4px);opacity:0.95}
.site-footer small a{color:inherit;text-decoration:underline}

/* developer credit in footer */
.site-footer .dev{display:block;color:var(--muted);font-size:0.95rem;margin-top:6px}

/* Footer three-column layout */
.site-footer{background:#fff;border-top:1px solid #eee;padding:1.25rem 0}
.site-footer .footer-inner.grid{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}
.site-footer .footer-col{flex:1;min-width:160px}
.site-footer .footer-brand{display:flex;align-items:center}
.site-footer .footer-logo{width:110px;height:110px;object-fit:contain;border-radius:10px;background:#fff;padding:10px;box-shadow:0 10px 28px rgba(0,0,0,0.08)}
.site-footer h4{margin:0 0 .5rem;font-size:1rem;color:var(--logo-navy);font-weight:700}
.site-footer .footer-links{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.site-footer .footer-nav{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}
.site-footer .footer-nav a{color:var(--muted);text-decoration:none;padding:.15rem 0;border-radius:6px}
.site-footer .footer-nav a:hover{color:var(--logo-navy);background:transparent}
.site-footer .footer-contact{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.site-footer .footer-contact address{font-style:normal;color:var(--muted);line-height:1.4}
.site-footer .footer-contact p{margin:.4rem 0}
.site-footer .footer-contact .socials{margin-top:.5rem}

@media (max-width:720px){
  .site-footer .footer-inner.grid{flex-direction:column;align-items:center;text-align:center}
  .site-footer .footer-contact{align-items:center;text-align:center}
  .site-footer .footer-links{order:3}
  .site-footer .footer-logo{width:88px;height:88px;padding:8px}
}

/* Contact form styles */
.contact-block{margin-top:1.5rem;margin-bottom:2.5rem}
.contact-form{background:linear-gradient(180deg, rgba(7,34,58,0.9), rgba(7,34,58,0.96));padding:1.25rem;border-radius:14px;color:#e6eef6;box-shadow:0 18px 40px rgba(7,34,58,0.36)}
.contact-form .form-row{display:block;margin-bottom:1rem}
.contact-form .label{display:block;font-weight:700;margin-bottom:.5rem}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form textarea{width:100%;padding:1rem;border-radius:14px;border:1px solid rgba(255,255,255,0.04);background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));color:#d5e6f2;font-size:1rem;resize:vertical}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,0.35)}
.contact-form textarea{min-height:160px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;padding:.9rem 1.25rem;border-radius:40px;font-weight:700;cursor:pointer}
.btn-primary{background:linear-gradient(90deg,#e8b84a,#f5d07a);color:#10202a;width:100%;box-shadow:0 12px 30px rgba(15,93,140,0.06)}
.btn-primary:hover{transform:translateY(-3px);opacity:0.98}

@media (max-width:720px){
  .contact-form{padding:1rem;border-radius:12px}
  .contact-form input[type="text"],.contact-form input[type="email"],.contact-form textarea{padding:.9rem}
}

/* ============================================================
   Homepage redesign — hero, stats, services, approach, teasers
   ============================================================ */

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.8rem;
  font-weight:700;
  color:var(--logo-orange);
  margin:0 0 .75rem;
}
.section-head{max-width:62ch;margin:0 auto 2.5rem;text-align:center}
.section-head h2{margin:.25rem 0 .5rem;font-size:2rem;color:var(--logo-navy)}
.section-head .lead{color:var(--muted);margin:0}
.section-head.light .eyebrow{color:#ffb27a}
.section-head.light h2{color:#fff}

/* ---- Hero ---- */
.hero-full{
  position:relative;
  min-height:min(78vh,680px);
  display:flex;
  align-items:center;
  background-size:cover;
  background-position:center;
  color:#fff;
  overflow:hidden;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(115deg, rgba(7,34,58,0.94) 0%, rgba(7,34,58,0.82) 38%, rgba(7,34,58,0.45) 68%, rgba(7,34,58,0.25) 100%);
  z-index:0;
}
.hero-inner{position:relative;z-index:1;padding-top:4.5rem;padding-bottom:4.5rem}
.hero-title{
  font-size:clamp(2.2rem,4.4vw,3.4rem);
  line-height:1.1;
  margin:0 0 1.1rem;
  max-width:18ch;
  font-weight:800;
  letter-spacing:-0.01em;
}
.hero-lead{max-width:52ch;font-size:1.15rem;color:rgba(255,255,255,0.88);margin:0 0 2rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}

.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:.9rem 1.6rem;font-weight:700;text-decoration:none;transition:transform .18s ease,opacity .18s ease,background .18s ease;border:2px solid transparent;cursor:pointer}
.btn-cta{background:linear-gradient(90deg,var(--logo-orange),#ffb072);color:#10202a;box-shadow:0 12px 30px rgba(15,93,140,0.10)}
.btn-cta:hover{transform:translateY(-3px)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,0.55)}
.btn-ghost:hover{background:rgba(255,255,255,0.12);border-color:#fff}

/* ---- Stat strip (overlaps hero) ---- */
.stat-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(7,34,58,0.08);
  border-radius:14px;
  overflow:hidden;
  margin-top:-3.25rem;
  position:relative;
  z-index:2;
  box-shadow:0 22px 50px rgba(7,34,58,0.16);
}
.stat{background:#fff;padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}
.stat-num{font-size:1.9rem;font-weight:800;color:var(--logo-navy)}
.stat-label{font-size:.85rem;color:var(--muted);line-height:1.3}

/* ---- Services grid ---- */
.services-overview{padding:5rem 0 3.5rem}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.service-card{
  background:#fff;
  border:1px solid rgba(7,34,58,0.08);
  border-radius:14px;
  padding:1.75rem 1.5rem;
  box-shadow:0 10px 28px rgba(7,34,58,0.06);
  transition:transform .22s ease,box-shadow .22s ease;
}
.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(7,34,58,0.12)}
.card-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:12px;
  background:linear-gradient(135deg,rgba(15,93,140,0.10),rgba(255,122,24,0.12));
  color:var(--logo-navy);
  margin-bottom:1rem;
}
.service-card h3{margin:0 0 .5rem;font-size:1.08rem;color:var(--logo-navy)}
.service-card p{margin:0 0 1rem;color:var(--muted);font-size:.95rem}
.card-link{color:var(--logo-orange);font-weight:700;text-decoration:none;font-size:.92rem}
.card-link:hover{text-decoration:underline}

/* ---- Approach band ---- */
.approach-band{
  background:linear-gradient(135deg,var(--logo-navy),#0b3a5c);
  color:#fff;
  padding:4.5rem 0;
  margin-top:1rem;
}
.approach-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.approach-step{position:relative;padding-left:1rem;border-left:2px solid rgba(255,178,122,0.4)}
.step-num{display:block;font-size:.85rem;font-weight:800;letter-spacing:.08em;color:#ffb27a;margin-bottom:.5rem}
.approach-step h3{margin:0 0 .5rem;font-size:1.2rem}
.approach-step p{margin:0;color:rgba(255,255,255,0.78);font-size:.95rem}

/* ---- About teaser ---- */
.about-teaser{display:grid;grid-template-columns:0.9fr 1.1fr;gap:3rem;align-items:center;padding:5rem 0}
.about-teaser-media img{width:100%;height:340px;object-fit:cover;border-radius:16px;box-shadow:0 20px 44px rgba(7,34,58,0.14)}
.about-teaser-copy h2{margin:.25rem 0 1rem;font-size:1.9rem;color:var(--logo-navy)}
.about-teaser-copy p{color:var(--muted);margin:0 0 1rem}

/* ---- Industries strip ---- */
.industries-strip{background:#f4f7fb;padding:3.5rem 0}
.industries-strip-inner{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.industries-strip-inner h2{margin:.25rem 0 0;font-size:1.5rem;color:var(--logo-navy)}
.chip-list{list-style:none;display:flex;gap:.6rem;flex-wrap:wrap;margin:0;padding:0;flex:1}
.chip-list li{background:#fff;border:1px solid rgba(7,34,58,0.1);padding:.5rem .95rem;border-radius:999px;font-size:.88rem;color:var(--logo-navy);font-weight:600}

/* ---- CTA band ---- */
.cta-band{background:linear-gradient(90deg,var(--logo-orange),#ff9a4d);padding:3rem 0}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.cta-band-inner h2{margin:0 0 .35rem;color:#10202a;font-size:1.6rem}
.cta-band-inner p{margin:0;color:rgba(16,32,42,0.75)}
.cta-band .btn-cta{background:#10202a;color:#fff;box-shadow:none}
.cta-band .btn-cta:hover{transform:translateY(-3px);background:#0b3a5c}

/* ---- Services gallery ---- */
.services-gallery{padding:3rem 0}
.services-gallery .section-head{max-width:62ch;margin:0 auto 1.25rem;text-align:center}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.gallery-grid figure{margin:0}
.gallery-img{width:100%;height:220px;object-fit:cover;border-radius:12px;box-shadow:0 12px 30px rgba(7,34,58,0.08);transition:transform .28s ease,box-shadow .28s ease}
.gallery-img:hover{transform:translateY(-6px);box-shadow:0 28px 60px rgba(7,34,58,0.12)}
.gallery-grid figcaption{padding-top:.5rem;color:var(--muted);font-size:.95rem;text-align:center}

@media (max-width:900px){
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .gallery-grid{grid-template-columns:1fr}
  .gallery-img{height:180px}
}

/* ---- Responsive ---- */
@media (max-width:980px){
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .approach-steps{grid-template-columns:1fr;gap:1.75rem}
  .about-teaser{grid-template-columns:1fr;gap:1.75rem}
  .about-teaser-media img{height:240px}
  .stat-strip{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .card-grid{grid-template-columns:1fr}
  .stat-strip{grid-template-columns:1fr;margin-top:-2rem}
  .hero-full{min-height:auto}
  .hero-inner{padding-top:3rem;padding-bottom:3rem}
  .cta-band-inner{flex-direction:column;align-items:flex-start}
  .industries-strip-inner{flex-direction:column;align-items:flex-start}
}
