/* Netlify/static build fixes: navigation, accessibility, and small screens. */
.eyebrow{display:none}
p{text-align:justify}
p,li{hyphens:none;word-break:normal;overflow-wrap:normal}
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
  margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important
}
.hero-typewriter{
  display:inline;color:inherit;font:inherit;letter-spacing:inherit
}
.hero-typewriter__cursor{
  display:inline-block;width:.08em;height:1em;margin-left:.08em;
  border-right:.1em solid currentColor;vertical-align:-.08em;
  animation:typewriter-blink .75s step-end infinite
}
@keyframes typewriter-blink{50%{opacity:0}}
.hero h1{
  font-size:clamp(2.35rem,4.4vw,3.4rem);line-height:1.15;letter-spacing:-.015em
}
.hero__content{max-width:1100px}
.hero-heading-lead,.hero-heading-tail{display:block}
.page-hero p{
  text-align:center!important;text-wrap:balance
}
.page-services .section-head>p,
.page-gallery .section-head>p,
.page-newsletters .section-head>p,
.page-useful-links .section-head>p{
  text-align:center!important;text-wrap:balance
}
@media(min-width:761px){
  .hero-heading-tail{white-space:nowrap}
  .page-hero p{
    max-width:1080px;font-size:1.65rem;line-height:1.45
  }
  .page-team .team-grid{max-width:760px;margin-right:auto;margin-left:auto;gap:20px}
}
.brand__text{line-height:1}
.brand__name{display:block;line-height:1.15}
.brand__tag{display:block;margin-top:4px;line-height:1.2}
.svc-card{
  position:relative;isolation:isolate;overflow:hidden;border-color:rgba(175,169,57,.34);
  border-top:4px solid var(--accent);
  background:linear-gradient(145deg,#fff 58%,rgba(175,169,57,.12))
}
.svc-card:nth-child(3n+2){
  border-color:rgba(15,39,66,.22);border-top-color:var(--primary);
  background:linear-gradient(145deg,#fff 58%,rgba(15,39,66,.085))
}
.svc-card:nth-child(3n){
  border-color:rgba(28,58,94,.24);border-top-color:var(--primary-light);
  background:linear-gradient(145deg,rgba(175,169,57,.055),rgba(28,58,94,.08))
}
.svc-card__icon{
  position:relative;z-index:1;background:var(--bg-tint);box-shadow:none
}
.svc-card__motif{
  position:absolute;right:-12px;bottom:-14px;z-index:-1;width:132px;height:132px;
  color:var(--primary);opacity:.048;transform:rotate(-7deg)
}
.svc-card:nth-child(3n+1) .svc-card__motif{color:var(--accent-dark);opacity:.06}
.svc-card__motif svg{
  width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.25;
  stroke-linecap:round;stroke-linejoin:round
}
.svc-card h3,.svc-card p,.svc-card__more{position:relative;z-index:1}
.industries__tags .tag{
  border-color:rgba(175,169,57,.38);
  background:linear-gradient(135deg,#fff 0%,#f8f7eb 58%,#f2f5f8 100%);
  box-shadow:0 5px 14px rgba(15,39,66,.07);
  transition:transform .2s ease,box-shadow .2s ease,color .2s ease,border-color .2s ease
}
.industries__tags .tag:nth-child(even){
  background:linear-gradient(135deg,#fff 0%,#f2f5f8 58%,#f8f7eb 100%);
  border-color:rgba(15,39,66,.22)
}
.industries__tags .tag:hover{
  color:#fff;border-color:var(--primary);
  background:linear-gradient(135deg,var(--primary),var(--primary-light) 62%,var(--accent-dark));
  box-shadow:0 9px 22px rgba(15,39,66,.2);transform:translateY(-2px)
}
.faq-item{transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}
.faq-item[open]{
  border-color:rgba(175,169,57,.48);
  background:linear-gradient(135deg,#fff 0%,#faf9f0 64%,#f2f5f8 100%);
  box-shadow:0 10px 25px rgba(15,39,66,.1)
}
.faq-item[open] summary{
  color:var(--primary);
  background:linear-gradient(90deg,#f7f5e6,#f1f4f7)
}
.team-card--compact{
  width:100%;padding:0;appearance:none;text-align:left;font:inherit;color:inherit;cursor:pointer
}
.team-card--compact:hover{transform:none;box-shadow:0 6px 18px rgba(16,37,64,.06)}
.team-card--compact.is-selected{
  border-color:var(--accent);
  background:linear-gradient(145deg,#fff 48%,#f8f6e8 78%,#eef2f6);
  box-shadow:0 12px 28px rgba(15,39,66,.15)
}
.team-card--compact .team-card__photo{display:block}
.team-card--compact .team-card__photo img{
  width:100%;height:100%;object-fit:cover;object-position:top center
}
.team-card--compact .team-card__body{
  display:block;flex:0;padding:17px 18px 19px;text-align:center
}
.team-card__name{
  display:block;font:600 1.16rem/1.25 var(--serif);color:var(--primary)
}
.profile-dialog{
  width:min(920px,calc(100% - 32px));max-height:min(760px,90vh);padding:0;
  border:0;border-radius:var(--radius);overflow:auto;box-shadow:0 30px 80px rgba(7,20,34,.34)
}
.profile-dialog::backdrop{background:rgba(7,20,34,.72);backdrop-filter:blur(3px)}
.profile-dialog__layout{display:grid;grid-template-columns:minmax(260px,340px) 1fr;min-height:470px}
.profile-dialog__photo{background:var(--bg-tint);display:flex;align-items:center;justify-content:center}
.profile-dialog__photo img{
  width:100%;height:100%;max-height:640px;object-fit:contain;object-position:center
}
.profile-dialog__content{
  padding:52px 46px 42px;display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(145deg,#fff 46%,#faf9f1 74%,#f0f3f7)
}
.profile-dialog__content h2{font-size:clamp(1.8rem,3vw,2.45rem);margin:.15em 0 .55em}
.profile-dialog__role{
  color:var(--accent-dark);font-weight:700;font-size:.82rem;letter-spacing:1.2px;
  text-transform:uppercase
}
.profile-dialog__content p{color:var(--muted);margin-bottom:1.4rem}
.profile-dialog__contact{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--line)}
.profile-dialog__contact a{color:var(--primary);font-weight:600;overflow-wrap:anywhere}
.profile-dialog__close{
  position:absolute;top:14px;right:16px;z-index:2;width:40px;height:40px;padding:0;
  border:0;border-radius:50%;background:#fff;color:var(--primary);font:400 1.8rem/1 var(--font);
  cursor:pointer;box-shadow:0 4px 16px rgba(16,37,64,.16)
}
.page-useful-links .site-main>.section{
  background:#fff
}
.page-useful-links .links-grid{align-items:stretch}
.page-useful-links .links-card{
  position:relative;isolation:isolate;overflow:hidden;
  padding:30px 26px 26px;border:1px solid rgba(175,169,57,.35);
  border-top:5px solid var(--accent);
  background:linear-gradient(145deg,#fff 55%,rgba(175,169,57,.12));
  box-shadow:0 10px 28px rgba(15,39,66,.08);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease
}
.page-useful-links .links-card:nth-child(3n+2){
  border-color:rgba(15,39,66,.24);border-top-color:var(--primary);
  background:linear-gradient(145deg,#fff 55%,rgba(15,39,66,.09))
}
.page-useful-links .links-card:nth-child(3n){
  border-color:rgba(28,58,94,.26);border-top-color:var(--primary-light);
  background:linear-gradient(145deg,rgba(175,169,57,.07),rgba(28,58,94,.08))
}
.page-useful-links .links-card__motif{
  position:absolute;right:12px;bottom:10px;z-index:-1;width:96px;height:96px;
  color:var(--primary);opacity:.075
}
.page-useful-links .links-card:nth-child(3n+1) .links-card__motif{color:var(--accent-dark)}
.page-useful-links .links-card__motif svg{
  width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45;
  stroke-linecap:round;stroke-linejoin:round
}
.page-useful-links .links-card h2{
  padding:0 0 13px;margin:0 0 12px;border-bottom:2px solid var(--accent);
  color:var(--primary);font-size:1.2rem
}
.page-useful-links .links-card ul{margin:0}
.page-useful-links .links-card li{padding:0;border-bottom:1px solid rgba(15,39,66,.1)}
.page-useful-links .links-card a{
  display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:8px;
  line-height:1.4;transition:background .2s,color .2s,transform .2s
}
.page-useful-links .links-card a::before{
  content:"";flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--accent)
}
.page-useful-links .links-card a::after{
  content:"\2197";margin-left:auto;color:var(--accent-dark);font-weight:700
}
.page-useful-links .links-card a:hover,
.page-useful-links .links-card a:focus-visible{
  background:rgba(175,169,57,.13);color:var(--primary);transform:translateX(4px)
}
.page-useful-links .links-card:focus-within{border-color:var(--accent)}
@media(hover:hover) and (pointer:fine){
  .team-card--compact:hover{transform:translateY(-8px) scale(1.025);box-shadow:var(--shadow-lg)}
  .page-useful-links .links-card:hover{
    transform:translateY(-7px);box-shadow:0 18px 40px rgba(15,39,66,.15)
  }
}
.mainnav > ul > li > .nav-parent{
  display:block;padding:12px 14px;border:0;background:transparent;cursor:pointer;
  font:600 .93rem var(--font);color:var(--ink)
}
.mainnav > ul > li:hover > .nav-parent,
.mainnav > ul > li:focus-within > .nav-parent{color:var(--accent-dark)}
.mainnav .drop{display:block}
.mainnav li.has-drop:focus-within .drop{opacity:1;visibility:visible;transform:translateY(0)}
.nav-backdrop{display:none}
.footer-brand img{width:auto;max-width:56px;object-fit:contain;flex:0 0 auto}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form textarea{resize:vertical;min-height:130px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid var(--accent);outline-offset:3px
}
@media(min-width:761px) and (max-width:1180px){
  .site-header__in{gap:8px}
  .brand{gap:8px}
  .brand__logo{height:46px}
  .brand__name{font-size:1.05rem}
  .brand__tag{font-size:.62rem;letter-spacing:1.3px;margin-top:3px}
  .mainnav > ul{gap:0}
  .mainnav > ul > li > a,.mainnav > ul > li > .nav-parent{
    padding:10px 8px;font-size:.82rem
  }
  .nav-cta{margin-left:3px}
  .nav-cta .btn{padding:.55em .9em;font-size:.82rem}
}
@media(min-width:761px) and (max-width:820px){
  .site-header__in{flex-wrap:wrap;justify-content:center}
  .mainnav{order:2;flex-basis:100%}
  .mainnav > ul{justify-content:center}
}
@media(max-width:760px){
  .site-header__in{position:relative}
  .nav-toggle{display:flex;position:relative;z-index:230}
  .mainnav{
    position:fixed;top:0;right:-100%;width:82%;max-width:340px;height:100vh;
    background:#fff;box-shadow:-8px 0 30px rgba(0,0,0,.2);padding:80px 20px 20px;
    overflow-y:auto;visibility:hidden;transition:right .3s,visibility 0s linear .3s;z-index:220
  }
  .mainnav.open{right:0;visibility:visible;transition:right .3s}
  .mainnav ul{flex-direction:column;align-items:stretch;gap:0}
  .mainnav > ul > li > a{padding:14px 10px;border-bottom:1px solid var(--line)}
  .mainnav > ul > li > .nav-parent{
    width:100%;padding:14px 10px;border-bottom:1px solid var(--line);
    text-align:left;display:flex;justify-content:space-between;align-items:center
  }
  .mainnav .drop{
    position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-top:0;
    padding:0 0 8px 14px;min-width:0;display:none
  }
  .mainnav li.drop-open > .drop{display:block}
  .mainnav li.has-drop:hover .drop{transform:none}
  .nav-cta{margin:14px 0 0}
  .nav-backdrop{
    position:fixed;inset:0;border:0;background:rgba(7,20,34,.5);z-index:210;
    cursor:default
  }
  body.nav-open{overflow:hidden}
  body.nav-open .nav-backdrop{display:block}
}
@media(max-width:760px){
  .topbar__in{justify-content:center;text-align:center}
  .topbar__contact{justify-content:center;gap:12px 20px}
  .topbar__meta{width:100%}
  .profile-dialog__layout{grid-template-columns:1fr}
  .profile-dialog__photo{min-height:300px;max-height:420px}
  .profile-dialog__content{padding:32px 24px 28px}
}
@media(max-width:520px){
  body{font-size:16px}
  .site-header__in{padding:10px 16px}
  .brand{gap:8px}
  .brand__logo{height:44px}
  .brand__name{font-size:1.05rem}
  .brand__tag{font-size:.62rem;letter-spacing:1.4px;margin-top:3px}
  .topbar__contact a{min-height:28px;display:inline-flex;align-items:center}
  .page-hero{padding:64px 0 46px}
  .hero h1{font-size:2.1rem;line-height:1.16}
  .hero p{font-size:1.05rem}
  .hero__actions .btn{width:100%}
  .intro-split__badge{right:8px;bottom:12px}
  .contact-info__card,.apply-box{padding:24px 20px}
  .cta-strip h3{font-size:1.45rem}
  .page-team .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .page-team .team-card--compact .team-card__body{padding:12px 7px 14px}
  .page-team .team-card__name{font-size:.96rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .hero-typewriter__cursor{display:none}
}
