.elementor-kit-55{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-55 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================================
   APO GLOBAL STYLES
   Elementor > Site Settings > Custom CSS
   ============================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Source+Sans+3:wght@300;400;500;600;700&family=Pinyon+Script&display=swap');


/* ============================================================
   GLOBAL VARIABLES
============================================================ */

:root{
  --ink:#1F2D3A;
  --navy:#2A3C4D;
  --slate:#5E7484;
  --slate-soft:#8DA0AD;

  --powder:#BCD0DC;
  --sage:#CBD3C7;
  --sand:#E4D8C7;

  --beige:#F2EBDF;
  --beige-blue:#E9EEF1;
  --paper:#FDFCFA;
  --white:#fff;

  --line:#E4DDD0;
  --line-soft:#EFEAE0;

  --f-display:'Playfair Display',Georgia,serif;
  --f-body:'Source Sans 3',system-ui,sans-serif;
  --f-script:'Pinyon Script',cursive;

  --ease:cubic-bezier(.22,.61,.36,1);
}


/* ============================================================
   APO BASE
============================================================ */

.apo{
  font-family:var(--f-body);
  color:var(--ink);
  line-height:1.62;
}

.apo *{
  box-sizing:border-box;
  margin:0;
  padding:0;
  -webkit-font-smoothing:antialiased;
}

.apo h1,
.apo h2,
.apo h3,
.apo h4{
  font-family:var(--f-display);
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.01em;
}


/* ============================================================
   LAYOUT
============================================================ */

.apo .wrap{
  max-width:1200px;
  margin:0 auto;
  padding:0 40px;
}

.apo .sec{
  padding:104px 0;
}

.apo .sec-head{
  max-width:660px;
  margin-bottom:56px;
}

.apo .sec-head.center{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.apo .sec-head h2{
  font-size:clamp(2.2rem,4vw,3.3rem);
}

.apo .sec-head p{
  font-size:1.12rem;
  color:var(--navy);
  margin-top:20px;
}


/* ============================================================
   EYEBROWS / EMPHASIS
============================================================ */

.apo .eyebrow{
  font-family:var(--f-body);
  font-weight:600;
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--slate);
  display:inline-block;
  margin-bottom:20px;
}

.apo em{
  font-style:italic;
  color:var(--slate);
  font-family:var(--f-display);
}

.apo .photo-note{
  color:rgba(255,255,255,.7);
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:600;
  text-align:center;
  padding:0 30px;
}


/* ============================================================
   BUTTONS
============================================================ */

.apo .btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--f-body);
  font-weight:600;
  font-size:.92rem;
  letter-spacing:.02em;
  padding:15px 30px;
  border:1px solid var(--ink);
  cursor:pointer;
  text-decoration:none;
  transition:all .35s var(--ease);
  border-radius:2px;
  color:var(--ink);
  background:transparent;
}

.apo .btn-solid{
  background:var(--ink);
  color:var(--paper);
}

.apo .btn-solid:hover{
  background:var(--navy);
  transform:translateY(-2px);
  box-shadow:0 12px 26px -12px rgba(31,45,58,.55);
}

.apo .btn-ghost{
  background:transparent;
  color:var(--ink);
  border-color:var(--line);
}

.apo .btn-ghost:hover{
  border-color:var(--ink);
  transform:translateY(-2px);
}

.apo .btn-light{
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
}

.apo .btn-light:hover{
  background:#fff;
  transform:translateY(-2px);
}

.apo .btn-outline-light{
  background:transparent;
  color:var(--paper);
  border-color:rgba(253,252,250,.45);
}

.apo .btn-outline-light:hover{
  border-color:var(--paper);
  transform:translateY(-2px);
}

.apo .btn .arw{
  transition:transform .35s var(--ease);
}

.apo .btn:hover .arw{
  transform:translateX(4px);
}


/* ============================================================
   TEXT LINKS
============================================================ */

.apo .textlink{
  font-weight:600;
  color:var(--slate);
  text-decoration:none;
  letter-spacing:.02em;
  border-bottom:1px solid transparent;
  transition:.3s;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:.9rem;
}

.apo .textlink:hover{
  color:var(--ink);
  border-color:var(--slate);
}

.apo .textlink .arw{
  transition:transform .3s var(--ease);
}

.apo .textlink:hover .arw{
  transform:translateX(4px);
}


/* ============================================================
   LOGO LEGACY STYLES
   Kept in case older sections still use the text logo
============================================================ */

.apo .logo{
  display:inline-flex;
  align-items:center;
  gap:13px;
  text-decoration:none;
  color:inherit;
  line-height:1;
}

.apo .logo-mono{
  font-family:var(--f-script);
  font-size:2.7rem;
  color:currentColor;
  line-height:.7;
  position:relative;
  padding-right:6px;
  letter-spacing:-.02em;
}

.apo .logo-mono::after{
  content:"";
  position:absolute;
  left:6%;
  right:-42%;
  bottom:16%;
  height:1px;
  background:currentColor;
  opacity:.85;
}

.apo .logo-word{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.apo .logo-name{
  font-family:var(--f-display);
  font-size:.82rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:500;
  white-space:nowrap;
}

.apo .logo-sub{
  font-family:var(--f-body);
  font-size:.54rem;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--slate);
  font-weight:600;
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media(max-width:960px){

  .apo .wrap{
    padding:0 24px;
  }

  .apo .sec{
    padding:80px 0;
  }

}


/* ============================================================
   ULTRAWIDE
============================================================ */

@media(min-width:1500px){

  .apo .wrap{
    max-width:1500px;
  }

}

@media(min-width:1900px){

  .apo .wrap{
    max-width:1700px;
  }

}

@media(min-width:2560px){

  .apo .wrap{
    max-width:2000px;
  }

}/* End custom CSS */