.elementor-11476 .elementor-element.elementor-element-98dff7b{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-11476 .elementor-element.elementor-element-98dff7b .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-11476 .elementor-element.elementor-element-98dff7b:after{content:"0.66";}.elementor-11476 .elementor-element.elementor-element-98dff7b .elementor-post__thumbnail__link{width:100%;}.elementor-11476 .elementor-element.elementor-element-98dff7b .elementor-post__meta-data span + span:before{content:"///";}.elementor-11476 .elementor-element.elementor-element-98dff7b.elementor-posts--thumbnail-left .elementor-post__thumbnail__link{margin-right:20px;}.elementor-11476 .elementor-element.elementor-element-98dff7b.elementor-posts--thumbnail-right .elementor-post__thumbnail__link{margin-left:20px;}.elementor-11476 .elementor-element.elementor-element-98dff7b.elementor-posts--thumbnail-top .elementor-post__thumbnail__link{margin-bottom:20px;}.elementor-11476 .elementor-element.elementor-element-d44a630:not(.elementor-motion-effects-element-type-background), .elementor-11476 .elementor-element.elementor-element-d44a630 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-272769f );}.elementor-11476 .elementor-element.elementor-element-d44a630{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-11476 .elementor-element.elementor-element-d44a630 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-11476 .elementor-element.elementor-element-d7cfe6c.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-11476 .elementor-element.elementor-element-d7cfe6c.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-11476 .elementor-element.elementor-element-c17d1a2{color:var( --e-global-color-ea44b4c );}.elementor-11476 .elementor-element.elementor-element-f3a3986{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-11476 .elementor-element.elementor-element-6a288e9 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 50px 0px 0px;}.elementor-11476 .elementor-element.elementor-element-6c58951 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-11476 .elementor-element.elementor-element-6c58951 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-11476 .elementor-element.elementor-element-ec223f7 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 50px;}.elementor-11476 .elementor-element.elementor-element-a446b43 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-11476 .elementor-element.elementor-element-babdcba:not(.elementor-motion-effects-element-type-background), .elementor-11476 .elementor-element.elementor-element-babdcba > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-272769f );}.elementor-11476 .elementor-element.elementor-element-babdcba{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-11476 .elementor-element.elementor-element-babdcba > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-11476 .elementor-element.elementor-element-7e4d627.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-11476 .elementor-element.elementor-element-7e4d627.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-11476 .elementor-element.elementor-element-7e4d627 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-11476 .elementor-element.elementor-element-c4641dd{color:var( --e-global-color-ea44b4c );}.elementor-11476 .elementor-element.elementor-element-9eb80fa > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-11476 .elementor-element.elementor-element-9eb80fa > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-11476 .elementor-element.elementor-element-03ade20{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-11476 .elementor-element.elementor-element-03ade20 .elementor-wrapper{--video-aspect-ratio:1.77777;}:root{--page-title-display:none;}@media(max-width:768px){.elementor-11476 .elementor-element.elementor-element-98dff7b .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-11476 .elementor-element.elementor-element-98dff7b:after{content:"0.5";}.elementor-11476 .elementor-element.elementor-element-98dff7b .elementor-post__thumbnail__link{width:100%;}.elementor-11476 .elementor-element.elementor-element-6a288e9 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-11476 .elementor-element.elementor-element-ec223f7 > .elementor-element-populated{margin:5px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-1f17354 */.afdel-hero{
  position:relative;
  min-height:92vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.afdel-hero__bg{ position:absolute; inset:0; z-index:0; }
.afdel-hero__bg img{
  width:100%; height:100%; object-fit:cover;
}
.afdel-hero__bg::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(11,31,58,0.92) 20%, rgba(11,31,58,0.55) 70%);
}

.afdel-hero__content{
  position:relative; z-index:1;
  max-width:760px;
  padding:0 56px;
  color:#fff;
}

.afdel-hero__heading{
  font-family:'Fraunces', serif;
  font-weight:500;
  font-size:clamp(40px, 6vw, 80px);
  line-height:1.08;
  margin:0 0 24px;
}
.mask{ display:inline-block; overflow:hidden; vertical-align:top; }
.word{
  display:inline-block;
  transform:translateY(115%);
  opacity:0;
  transition:transform 900ms cubic-bezier(.16,.8,.24,1), opacity 700ms ease;
  transition-delay:calc(var(--i) * 110ms);
}
.word--accent{ font-style:italic; color:var(--gold-soft); }

.afdel-hero__sub{
  font-size:18px;
  color:rgba(255,255,255,0.8);
  margin:0 0 32px;
  opacity:0; transform:translateY(14px);
  transition:opacity 700ms ease 500ms, transform 700ms cubic-bezier(.16,.8,.24,1) 500ms;
}

.afdel-hero__actions{
  display:flex; gap:14px; flex-wrap:wrap;
  opacity:0; transform:translateY(14px);
  transition:opacity 700ms ease 640ms, transform 700ms cubic-bezier(.16,.8,.24,1) 640ms;
}

/* translucent glass buttons */
.glass-btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 24px;
  font-size:14px; font-weight:600;
  color:#fff; text-decoration:none;
  background:var(--glass-bg);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid var(--glass-border);
  border-radius:4px;
  transition:background 300ms ease, transform 250ms ease;
}
.glass-btn:hover{ background:rgba(255,255,255,0.16); transform:translateY(-2px); }
.glass-btn--solid{ background:var(--gold); border-color:var(--gold); color:var(--ink); font-weight:700; }
.glass-btn--solid:hover{ background:var(--gold-soft); }

#heroContent.is-loaded .word{ transform:translateY(0); opacity:1; }
#heroContent.is-loaded .afdel-hero__sub,
#heroContent.is-loaded .afdel-hero__actions{ opacity:1; transform:translateY(0); }

@media (max-width:700px){
  .afdel-hero__content{ padding:0 24px; }
  .afdel-hero__heading{ font-size:clamp(32px, 10vw, 48px); }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-b688eb0 */:root{
  --ink:#0B1F3A;
  --paper:#F7F5F0;
  --gold:#B08D3D;
  --gold-soft:#D4B876;
  --slate:#5B6472;
  --glass-bg: rgba(255,255,255,0.08);
  --glass-border: rgba(255,255,255,0.18);
}

/* reusable scroll-reveal, used across Who We Are / Practice Areas / People / Contact */
.reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity 800ms cubic-bezier(.16,.8,.24,1), transform 800ms cubic-bezier(.16,.8,.24,1);
}
.reveal.is-in{ opacity:1; transform:translateY(0); }
.reveal-d1{ transition-delay:120ms; }
.reveal-d2{ transition-delay:240ms; }
.reveal-d3{ transition-delay:360ms; }

/* reusable translucent glass panel, used in Who We Are stat card + Contact card */
.glass{
  background:var(--glass-bg);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  border-radius:8px;
}

@media (prefers-reduced-motion: reduce){
  .reveal{ transition:none !important; opacity:1 !important; transform:none !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-009e400 */.afdel-about{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  background:var(--paper);
}
.afdel-about__text{
  display:flex; flex-direction:column; justify-content:center;
  padding:80px 72px;
}
.eyebrow{
  font-family:'Fraunces', serif; font-style:italic; font-size:16px;
  display:inline-flex; align-items:center; gap:12px;
  color:var(--ink); margin:0 0 20px;
}
.eyebrow::after{ content:''; width:44px; height:1px; background:var(--gold); }
.section-heading{
  font-family:'Fraunces', serif; font-weight:500;
  font-size:clamp(30px, 3.4vw, 42px); line-height:1.15;
  color:var(--ink); margin:0 0 22px;
}
.section-body{
  color:var(--slate); font-size:15.5px; line-height:1.75;
  max-width:46ch; margin:0 0 26px;
}
.text-link{
  color:var(--gold); font-weight:600; font-size:14px; text-decoration:none;
  border-bottom:1px solid var(--gold); padding-bottom:3px; width:fit-content;
}

.afdel-about__media{ position:relative; overflow:hidden; min-height:600px; }
.afdel-about__media img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transform:scale(1.18);
  transition:transform 1600ms cubic-bezier(.16,.8,.24,1);
}
.about__curtain{
  position:absolute; inset:0; background:var(--paper);
  transform:translateX(0%); z-index:2;
  transition:transform 900ms cubic-bezier(.65,0,.24,1);
}
.about__stat{
  position:absolute; left:32px; bottom:32px; z-index:3;
  padding:20px 26px; color:#fff;
  opacity:0; transform:translateY(16px);
  transition:opacity 700ms ease 700ms, transform 700ms cubic-bezier(.16,.8,.24,1) 700ms;
}
.about__stat strong{ display:block; font-family:'Fraunces', serif; font-size:32px; color:var(--gold-soft); }
.about__stat span{ font-size:12px; letter-spacing:0.1em; text-transform:uppercase; opacity:0.85; }

.afdel-about__media.is-revealed .about__curtain{ transform:translateX(100%); }
.afdel-about__media.is-revealed img{ transform:scale(1); }
.afdel-about__media.is-revealed .about__stat{ opacity:1; transform:translateY(0); }

@media (max-width:860px){
  .afdel-about{ grid-template-columns:1fr; }
  .afdel-about__text{ padding:56px 24px; }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-c41f8a4 */.hero__content{ max-width:900px; }

.hero__heading{
  font-family:'Fraunces', serif;
  font-weight:500;
  font-size:clamp(40px, 6vw, 84px);
  line-height:1.08;
  margin:0 0 24px;
  color:#0E1F3D;
}

/* each word sits in a "mask" box that hides overflow, so it can slide up from nothing */
.mask{
  display:inline-block;
  overflow:hidden;
  vertical-align:top;
}

.word{
  display:inline-block;
  transform:translateY(115%);
  opacity:0;
  transition:transform 900ms cubic-bezier(.16,.8,.24,1), opacity 700ms ease;
  transition-delay:calc(var(--i) * 110ms);
}

.word--accent{
  font-style:italic;
  color:#3AA0E0; /* swap for your accent blue */
}

.hero__sub{
  font-size:18px;
  color:#5C6470;
  margin:0 0 28px;
  opacity:0;
  transform:translateY(14px);
  transition:opacity 700ms ease 480ms, transform 700ms cubic-bezier(.16,.8,.24,1) 480ms;
}

.hero__locations{
  display:flex;
  align-items:center;
  gap:14px;
  opacity:0;
  transform:translateY(14px);
  transition:opacity 700ms ease 600ms, transform 700ms cubic-bezier(.16,.8,.24,1) 600ms;
}
.hero__locations a{
  color:#0E1F3D;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  letter-spacing:0.02em;
}
.hero__divider{ color:#c8c8c8; }

/* ===== Triggered state — JS adds this class right after load ===== */
#heroContent.is-loaded .word{
  transform:translateY(0);
  opacity:1;
}
#heroContent.is-loaded .hero__sub,
#heroContent.is-loaded .hero__locations{
  opacity:1;
  transform:translateY(0);
}

@media (max-width:600px){
  .hero__heading{ font-size:clamp(32px, 9vw, 48px); }
  .hero__sub{ font-size:15px; }
}

@media (prefers-reduced-motion: reduce){
  .word, .hero__sub, .hero__locations{ transition:none !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-eea7889 */.about__media{
  position:relative;
  overflow:hidden;
  min-height:600px; /* adjust to match your column height */
}

.about__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.18);
  transition:transform 1600ms cubic-bezier(.16,.8,.24,1);
}

.about__curtain{
  position:absolute;
  inset:0;
  background:#F4F1EA; /* swap for your brand panel color */
  transform:translateX(0%);
  transition:transform 900ms cubic-bezier(.65,0,.24,1);
  z-index:2;
}

.about__caption{
  position:absolute;
  left:40px;
  bottom:40px;
  z-index:1;
  color:#fff;
  opacity:0;
  transform:translateY(16px);
  transition:opacity 700ms ease 700ms, transform 700ms cubic-bezier(.16,.8,.24,1) 700ms;
}
.about__caption strong{
  display:block;
  font-family:'Fraunces', serif;
  font-size:26px;
  font-weight:500;
}
.about__caption span{
  display:block;
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  margin-top:6px;
  opacity:0.85;
}

/* triggered state — added by the JS below */
.about__media.is-revealed .about__curtain{ transform:translateX(100%); }
.about__media.is-revealed img{ transform:scale(1); }
.about__media.is-revealed .about__caption{ opacity:1; transform:translateY(0); }

@media (prefers-reduced-motion: reduce){
  .about__curtain, .about__media img, .about__caption{ transition:none !important; }
}/* End custom CSS */