/* v2.8.1 */
/* v2.8.1: Hawaiian characters (ā ē ī ō ū and ʻokina) from Lato 2.015, which has them.
   Google's Lato does not include these letters, so the site's Lato can never draw them.
   This tiny font is used ONLY for those characters; everything else stays in the site's Lato. */
@font-face{font-family:'CircaOtsHaw';src:url('fonts/circa-haw-light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0100-0101,U+0112-0113,U+012A-012B,U+014C-014D,U+016A-016B,U+02BB-02BC;}
@font-face{font-family:'CircaOtsHaw';src:url('fonts/circa-haw-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-0101,U+0112-0113,U+012A-012B,U+014C-014D,U+016A-016B,U+02BB-02BC;}
@font-face{font-family:'CircaOtsHaw';src:url('fonts/circa-haw-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-0101,U+0112-0113,U+012A-012B,U+014C-014D,U+016A-016B,U+02BB-02BC;}
@font-face{font-family:'CircaOtsHaw';src:url('fonts/circa-haw-black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap;unicode-range:U+0100-0101,U+0112-0113,U+012A-012B,U+014C-014D,U+016A-016B,U+02BB-02BC;}
@font-face{font-family:'CircaOtsHaw';src:url('fonts/circa-haw-normal-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0100-0101,U+0112-0113,U+012A-012B,U+014C-014D,U+016A-016B,U+02BB-02BC;}
.circa-ots-case-study,.circa-ots-case-study *{font-family:'CircaOtsHaw','Lato',sans-serif!important;}

/* v2.6: transparent dark Circa nav; full-bleed case study with flush final project image */
body.circa-ots-active #header-space{display:none!important;height:0!important;}
body.circa-ots-active #header-outer,
body.circa-ots-active #header-outer[data-transparent-header="true"],
body.circa-ots-active #header-outer[data-permanent-transparent="1"]{
  background:rgba(64,64,64,.78)!important;
  background-color:rgba(64,64,64,.78)!important;
  box-shadow:none!important;
  border-bottom:0!important;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
body.circa-ots-active #header-outer.scrolled-down,
body.circa-ots-active #header-outer.detached{
  background:rgba(64,64,64,.94)!important;
  background-color:rgba(64,64,64,.94)!important;
}
body.circa-ots-active .container-wrap{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;}
body.circa-ots-active .main-content>.row{padding-top:0!important;padding-bottom:0!important;margin-bottom:0!important;}
body.circa-ots-active .main-content>.row>.wpb_row:last-child,
body.circa-ots-active .main-content>.row>.wpb_row:last-child .wpb_wrapper{margin-bottom:0!important;padding-bottom:0!important;}
body.circa-ots-active #footer-outer{margin-top:0!important;}

/* Circa OTS Case Study — intentionally isolated from Salient/WPBakery layout rules */
.circa-ots-case-study{
  position:relative;
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:0!important;
  overflow:hidden;
  color:#404040;
  font-family:inherit;
  line-height:1.4;
}
.circa-ots-case-study *{box-sizing:border-box}
.circa-ots-case-study section,
.circa-ots-case-study figure,
.circa-ots-case-study blockquote{margin:0}
.circa-ots-case-study h1,
.circa-ots-case-study h2,
.circa-ots-case-study p{margin-top:0}
.circa-ots-case-study img{border:0;box-shadow:none;border-radius:0}
.ots-wrap{width:100%;max-width:1240px;margin:0 auto!important;padding-left:clamp(20px,5vw,90px);padding-right:clamp(20px,5vw,90px)}
.ots-hero{position:relative;width:100%;height:820px;overflow:hidden;background:#2f3a2c;margin-top:0!important}
.ots-hero>img,.ots-next>img{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;min-height:100%!important;object-fit:cover!important;display:block!important;margin:0!important;padding:0!important}
.ots-shade{position:absolute;inset:0;background:rgba(20,20,20,.38)}
.ots-hero-inner{position:relative;height:100%;width:100%;max-width:1400px;margin:0 auto!important;padding:0 clamp(20px,5vw,90px) 96px;display:flex;flex-direction:column;justify-content:flex-end;gap:28px}
.ots-eyebrow{margin:0;font-size:20px;font-weight:700;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.circa-ots-case-study .ots-hero h1{margin:0!important;padding:0!important;font-family:inherit;font-size:clamp(56px,9vw,140px)!important;line-height:.92!important;font-weight:900!important;text-transform:uppercase;letter-spacing:-.01em;color:#fff!important}
.ots-btn{display:inline-block;align-self:flex-start;color:#fff!important;text-decoration:none!important;border:2px solid rgba(255,255,255,.85);padding:16px 30px;font-size:15px;line-height:1.2;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:transparent}
.ots-intro{padding-top:120px;padding-bottom:110px}
.ots-big-intro{margin:0!important;font-size:clamp(28px,3.4vw,50px)!important;line-height:1.22!important;font-weight:300;max-width:1060px}
.ots-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;border-top:1px solid #ccc;padding-top:32px;margin-top:56px}
.ots-meta b,.ots-credits b{display:block;font-size:14px;line-height:1.3;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6a6a6a;margin:0 0 8px}
.ots-meta span{font-size:19px;line-height:1.45}
.ots-dark{width:100%;background:#404040;color:#fff}
.ots-stats{padding-top:100px;padding-bottom:60px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:56px}
.ots-stat{border-top:4px solid #62CAE8;padding-top:28px}
.ots-stat strong{display:block;font-size:clamp(80px,8vw,128px);font-weight:900;line-height:.9}
.ots-stat span{display:block;font-size:19px;line-height:1.45;color:#ddd;margin-top:14px}
.ots-results-note{width:100%;max-width:1240px;margin:0 auto!important;padding:0 clamp(20px,5vw,90px) 80px!important;color:#cfcfcf;font-size:17px!important;line-height:1.5!important}
.ots-band{width:100%;height:clamp(320px,42vw,640px);object-fit:cover;display:block;margin:0!important}
.ots-story{padding-top:140px;padding-bottom:110px;display:flex;flex-direction:column;gap:28px}
.circa-ots-case-study .ots-story h2,.circa-ots-case-study .ots-plan h2,.circa-ots-case-study .ots-riders h2,.circa-ots-case-study .ots-films h2,.circa-ots-case-study .ots-carbus h2,.circa-ots-case-study .ots-recruit h2{margin:0!important;padding:0!important;font-family:inherit;font-size:clamp(32px,3.6vw,52px)!important;line-height:1.04!important;font-weight:900!important;text-transform:uppercase;color:inherit}
.circa-ots-case-study .ots-story h2{font-size:clamp(36px,4.4vw,64px)!important;max-width:1000px}
.ots-story p,.ots-platform p,.ots-plan p,.ots-riders>p,.ots-films>p,.ots-carbus>p,.ots-recruit p{margin:0!important;font-size:20px!important;line-height:1.6!important;max-width:720px}
.ots-story p{font-size:21px!important}
.ots-platform{padding-bottom:140px;display:flex;flex-direction:column;gap:32px}
.ots-platform img,.ots-plan img,.ots-feature img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
/* v2.8.3: pull quote set exactly like the intro statement */
.circa-ots-case-study .ots-platform p.ots-pull{margin:16px 0 0!important;font-size:clamp(28px,3.4vw,50px)!important;line-height:1.22!important;font-weight:300!important;font-style:normal!important;letter-spacing:normal!important;color:#404040!important;max-width:1060px!important}
.ots-light{width:100%;background:#f4f4f4}
.ots-plan{padding-top:130px;padding-bottom:130px;display:grid;grid-template-columns:1fr;gap:64px}
.ots-plan>div{display:flex;flex-direction:column;gap:24px}
.ots-riders{padding-top:140px;padding-bottom:140px;display:flex;flex-direction:column;gap:0}
.ots-riders>p{margin-top:32px!important}
.ots-rider-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:56px}
.ots-rider-grid img{flex:1 1 260px;min-width:0;aspect-ratio:3/2;object-fit:cover;display:block}
.ots-rider-grid .wide{flex-basis:100%;width:100%;aspect-ratio:16/9}
.ots-small{font-size:17px!important;line-height:1.6!important;color:#555!important;max-width:820px!important;margin-top:32px!important}
.ots-films{padding-top:130px;padding-bottom:130px;display:flex;flex-direction:column;gap:48px}
.ots-films>p{color:#ddd!important;margin-top:-16px!important}
.ots-feature,.ots-film-grid figure,.ots-two figure{margin:0!important}
.ots-feature figcaption,.ots-film-grid figcaption{color:#ddd;margin-top:14px;font-size:16px;line-height:1.5}
.ots-feature figcaption{font-size:18px}
.ots-feature figcaption strong,.ots-film-grid figcaption strong{color:#fff}
.ots-film-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.ots-film-grid img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.ots-carbus{padding-top:140px;padding-bottom:140px}
.ots-carbus>p{margin-top:32px!important}
.ots-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;margin-top:56px}
.ots-two img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ots-two figcaption{font-size:17px;line-height:1.45;margin-top:16px}
.ots-quote{padding-top:130px;padding-bottom:130px}
.ots-quote blockquote{margin:0!important;padding:0!important;border:0!important;font-family:inherit;font-size:clamp(34px,4.2vw,62px)!important;line-height:1.15!important;font-weight:300;max-width:1040px;color:#fff}
.ots-quote div{font-size:20px;line-height:1.5;font-style:italic;color:#62CAE8;margin-top:28px}
.ots-recruit{padding-top:130px;padding-bottom:100px;border-bottom:1px solid #ccc}
.ots-recruit p{margin-top:24px!important;max-width:660px}
.ots-credits{padding-top:80px;padding-bottom:120px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;font-size:17px;line-height:1.75}
.ots-credits p{margin:0!important;font-size:17px!important;line-height:1.75!important}
.ots-next{position:relative;display:block;width:100%;height:460px;overflow:hidden;text-decoration:none!important;background:#2a2a2a;margin:0!important;padding:0!important}
.ots-next-inner{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;text-align:center;padding:0 20px}
.ots-next small{font-size:16px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.ots-next strong{font-size:clamp(36px,5vw,64px);line-height:1;font-weight:900;text-transform:uppercase}
@media(max-width:700px){
  .circa-ots-case-study{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
  .ots-hero{height:70vh;min-height:560px}
  .ots-hero-inner{padding-bottom:54px}
  .ots-stats{gap:36px}
  .ots-riders,.ots-story,.ots-carbus{padding-top:90px;padding-bottom:90px}
  .ots-intro{padding-top:80px;padding-bottom:80px}
  .ots-plan,.ots-films,.ots-quote{padding-top:90px;padding-bottom:90px}
}

.ots-video{position:relative;width:100%;aspect-ratio:16/9;background:#111;overflow:hidden}
.ots-video iframe{position:absolute;inset:0;width:100%!important;height:100%!important;border:0;display:block}

/* Eliminate theme whitespace after the final Oakland Airport project image. */
body.circa-ots-active .circa-ots-case-study{margin-bottom:0!important;}
body.circa-ots-active .circa-ots-case-study + *{margin-top:0!important;}
