*{box-sizing:border-box}
:root{--p:#350364;--navy:#1f3a5a;--gold:#f0a830;--tint:#e9f6ff;--gray:#6b6b6b}
html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,Arial,sans-serif;color:#333;background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:400}
.wrap{max-width:800px;margin:0 auto;padding:0 16px}
@media(min-width:832px){.wrap{padding:0}}
.rule{width:72px;border:0;border-top:1px solid var(--navy);margin:18px 0 26px}
.rule.wide{width:200px;margin:14px auto 0}
.btn{display:inline-block;min-width:160px;padding:12px 20px;border:1px solid var(--navy);color:var(--navy);background:transparent;font:600 12px Montserrat,sans-serif;text-align:center;text-decoration:none;cursor:pointer;transition:background .25s,color .25s}
.btn:hover{background:var(--navy);color:#fff}
.btn-w{border-color:#fff;color:#fff}.btn-w:hover{background:#fff;color:var(--p)}

/* header */
.site-header{background:var(--p);position:relative;z-index:20}
.hwrap{max-width:782px;margin:0 auto;height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 16px}
@media(min-width:814px){.hwrap{padding:0}}
.brand img{width:102px;height:auto}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:20px}
.site-nav a{color:#fff;text-decoration:none;font-size:10px;letter-spacing:.3px;padding-bottom:3px;border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a[aria-current]{border-bottom-color:#fff}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0}

/* heroes */
.hero{position:relative;overflow:hidden;color:#fff;text-align:center}
.hero .bg,.hero picture{position:absolute;inset:0;width:100%;height:100%}
.hero .bg{object-fit:cover}
.hero-in{position:relative;z-index:1}
.hero-home{min-height:397px;display:flex;align-items:center;justify-content:center;padding:34px 16px 30px}
.hero-home .bg{object-position:center 100%}
.hero-home::before{content:"";position:absolute;inset:0;background:rgba(40,45,90,.12);z-index:1}
.hero-home .hero-in{z-index:2}
.hero-home h1{font-weight:800;font-size:32px;line-height:1.25;max-width:820px;margin:0 auto;text-shadow:0 1px 6px rgba(0,0,0,.25)}
.hero-home .hq{font-style:italic;font-weight:300;font-size:30px;line-height:1.63;max-width:520px;margin:6px auto 0;text-shadow:0 1px 6px rgba(0,0,0,.3)}
.hero-home .hs{font-weight:300;font-size:16px;margin:4px 0 6px}
.progs{font-size:12px;font-weight:700;margin:0;color:#fff}
.progs a{color:var(--gold);text-decoration:none}
.progs i{font-style:normal;margin:0 8px}
.hero-about{height:187px}
.hero-about .bg{object-position:center 40%}
.hero-about h1{font-weight:300;font-size:40px;line-height:1;padding-top:8px}
.hero-about .aq{font-style:italic;font-weight:300;font-size:20px;line-height:1.3;text-align:left;margin:6px 0 0}
.qband{background:var(--p);color:#fff;padding:22px 0 44px}
.qband p{margin:0;font-weight:700;font-size:16px}
.hero-sm{height:106px;display:flex;align-items:center;justify-content:center}
.hero-ct{height:123px;display:flex;align-items:center;justify-content:center}
.hero-sm h1,.hero-ct h1{font-weight:300;font-size:40px}

/* home: what do we do */
.wwd-sec{padding:170px 0 0}
.wwd{display:grid;grid-template-columns:1fr 1fr}
.wwd-img{min-height:403px}
.slides{position:relative;overflow:hidden}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.slides img.on{opacity:1}
.wwd-img img:first-child{object-position:22% center}
.wwd-txt{background:var(--tint);padding:34px 27px 34px}
.wwd-txt h2{font-size:28px;color:var(--navy);font-weight:400}
.wwd-txt .rule{margin:14px 0 26px}
.wwd-txt p{font-size:10.5px;line-height:1.35;color:var(--gray);font-weight:300;margin:0 0 14px}
.wwd-txt .sig{font-weight:700;font-size:12px;color:var(--navy);margin:28px 0 22px}

/* home: services tiles */
.svc-sec{text-align:center;padding:42px 16px 0}
.h-svc{font-weight:600;font-size:30px;color:var(--navy)}
.sub{font-size:10px;font-weight:300;color:#888;margin:10px 0 52px}
.tiles{max-width:796px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.tile{position:relative;height:111px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-size:12px;font-weight:500;padding:0 14px}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.tile::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);transition:background .3s}
.tile span{position:relative;z-index:1;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.tile:hover img{transform:scale(1.06)}.tile:hover::after{background:rgba(53,3,100,.45)}

/* collaborators */
.collab{text-align:center;padding:52px 16px 18px}
.h-collab{font-weight:500;font-size:28px;color:var(--navy);font-variant:small-caps;letter-spacing:.3px}
.collab-band{border-top:23px solid #46045f;background:#6a4b98 url(/images/collabsky.webp) center bottom/cover no-repeat;min-height:222px;display:flex;align-items:center;padding:20px 16px 40px}
.logos{max-width:800px;margin:0 auto;width:100%;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;justify-items:center;gap:20px}
.logos img{max-height:115px;max-width:170px;width:auto;opacity:.9}

/* let's talk */
.lt{position:relative;overflow:hidden;padding:46px 0 47px}
.lt .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 70%}
.lt::before{content:"";position:absolute;inset:0;background:rgba(84,110,168,.86);z-index:1}
.lt-grid{position:relative;z-index:2;display:grid;grid-template-columns:388px 1fr;gap:23px}
.lt-card{background:rgba(83,95,165,.85);display:flex;flex-direction:column;min-height:304px}
.lt-copy{padding:28px 27px;flex:1;color:#fff}
.lt-copy h2{font-weight:300;font-size:28px;margin-bottom:22px}
.lt-copy p{font-size:11px;line-height:1.35;margin:0 0 14px;opacity:.9}
.lt-copy a{color:var(--gold);font-weight:600;text-decoration:none}
.lt-bar{height:43px;background:var(--p)}
.line-form label{display:block;color:#fff;font-size:10px;margin-bottom:14px}
.line-form input,.line-form select{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #fff;color:#fff;font:13px Montserrat,sans-serif;padding:8px 0 6px;margin-top:4px;border-radius:0;outline:none}
.line-form select{padding-top:16px}
.line-form option{color:#333}
.line-form .btn{margin-top:4px}

/* testimonials */
.testi{background:var(--tint);padding:56px 16px 70px;text-align:center;min-height:440px}
.testi h2{font-weight:300;font-size:26px;color:var(--navy);margin-bottom:44px}
.tslides{position:relative;max-width:700px;margin:0 auto;min-height:190px}
.tslide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s;pointer-events:none}
.tslide.on{opacity:1;pointer-events:auto;position:relative}
.tslide blockquote{margin:0 0 22px;font-style:italic;font-weight:300;font-size:16px;line-height:1.6;color:#444}
.tslide strong{display:block;font-weight:700;font-size:13px;color:var(--navy)}
.tslide span{display:block;font-size:11px;color:var(--gray);margin-top:4px}
.tdots{display:flex;justify-content:center;gap:10px;margin-top:26px}
.tdot{width:10px;height:10px;border-radius:50%;border:1px solid var(--navy);background:transparent;padding:0;cursor:pointer}
.tdot.on{background:var(--navy)}

/* about */
.hiwe{background:var(--tint);padding:46px 0}
.hiwe-grid{display:grid;grid-template-columns:400px 1fr;gap:27px;align-items:start}
.hiwe-grid img{width:100%;height:198px;object-fit:cover}
.hiwe-txt{padding-top:12px}
.hiwe-txt h2{font-weight:700;font-size:16px;color:var(--navy);margin-bottom:22px}
.hiwe-txt p{font-size:10.5px;line-height:1.35;color:var(--gray);font-weight:300;margin:0 0 24px;max-width:290px}
.team{padding:46px 0 70px}
.team h2{font-size:32px;color:#111;font-weight:400}
.tintro{font-size:11px;font-weight:300;color:var(--gray);margin:14px 0 0}
.team .rule.wide{margin:14px auto 0}
.lead{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:100px;align-items:end}
.lead-img img{width:230px;margin:0 auto}
.lead-txt{align-self:start;padding-top:20px}
.lead-txt h3{font-weight:600;font-size:20px;color:var(--navy)}
.lead-txt .role{font-size:12px;color:#999;margin:2px 0 14px}
.lead-txt p{font-family:"Open Sans",Arial,sans-serif;font-weight:300;font-size:10.5px;line-height:1.35;color:var(--gray);margin:0 0 14px}
.lead-txt strong{font-weight:600}
.mems{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.mem-img{height:160px;overflow:hidden}
.mem-img img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.mem h3{font-weight:400;font-size:16px;color:var(--navy);margin:12px 0 6px;line-height:1.25}
.mem p{font-family:"Open Sans",Arial,sans-serif;font-weight:300;font-size:9.5px;line-height:1.45;color:#444;margin:0 0 14px}

/* services */
.intro{background:var(--p);color:#fff;padding:18px 16px 44px}
.intro-in{max-width:482px;margin:0 auto}
.intro p{font-size:13px;line-height:1.25;margin:0 0 16px;font-weight:400}
.intro .gap{margin-top:32px}
.svc{padding:62px 0 20px;scroll-margin-top:10px}
.svc h2{font-size:26px;color:var(--navy);margin-bottom:18px;padding-left:10px}
.svc-row{display:grid;grid-template-columns:400px 1fr;gap:20px;align-items:start}
.img-r .svc-row{grid-template-columns:1fr 388px}
.img-r .svc-img{order:2}
.img-r .svc-txt{padding:0 20px}
.img-r h2{padding-left:14px}
.svc-img img{width:100%;height:264px;object-fit:cover}
.img-r .svc-img img{height:258px}
#projectdevelopment .svc-img img{height:309px}
#projectdevelopment h2{padding-left:0}
.svc-txt{padding-top:2px}
.svc-txt h3{font-weight:600;font-size:15px;color:var(--navy);line-height:1.25}
.svc-txt ul{list-style:none;padding:0;margin:16px 0;font-size:11px;font-weight:300;color:#888;line-height:1.4}
.svc-txt .price{font-weight:600;font-size:13px;color:var(--navy);margin:0 0 18px;line-height:1.25}

/* contact */
.ct{padding:62px 0 70px}
.ct-grid{display:grid;grid-template-columns:410px 229px;gap:0}
.ct-info h2{font-weight:400;font-size:30px;color:var(--navy)}
.ct-info .rule{margin:10px 0 22px}
.ci{margin-bottom:26px}
.ci svg{width:32px;height:32px;margin:0 0 10px}
.ci a{color:var(--gold);text-decoration:none;font-size:12px;font-weight:300}
.ci p{margin:0;font-size:12px;color:#556;font-weight:300;line-height:1.3}
.box-form label{display:block;font-size:10px;color:#777;font-weight:300;margin-bottom:12px}
.box-form input,.box-form select,.box-form textarea{display:block;width:100%;border:1px solid #888;border-radius:0;padding:6px;font:12px Montserrat,sans-serif;margin-top:4px;background:#fff}
.box-form textarea{height:53px;resize:vertical}
.box-form .btn{min-width:133px;padding:8px 14px;border-width:1.5px;font-size:11px}
.map-strip #etg-map{height:180px;background:#e5e5e5}
.etg-tiles{filter:grayscale(1) brightness(1.08) contrast(.85)}
.etg-pin{background:none;border:0}
.leaflet-container a{color:#2a6fb0}

/* appointment */
.appt{padding:16px 16px;text-align:center}
.pill{display:inline-block;background:var(--p);color:var(--gold);font-weight:700;font-size:12px;padding:9px 37px;border-radius:30px;text-decoration:none}
.nf{font-size:28px;color:var(--navy);margin:40px 0 20px}

/* forms shared */
.hp{position:absolute;left:-9999px}
.form-msg{font-size:12px;margin:10px 0 0}
.line-form .form-msg{color:#fff}

/* footer */
.site-footer{background:var(--p);color:#fff;font-size:10px}
.fgrid{display:grid;grid-template-columns:267px 133px 200px 1fr;padding:38px 16px 60px}
@media(min-width:832px){.fgrid{padding:38px 0 60px}}
.fbrand img{width:127px;height:auto;margin-bottom:9px}
.fbrand p{margin:0;line-height:1.4}
.site-footer h6{font-size:9.5px;font-weight:700;margin:18px 0 10px}
.site-footer ul{list-style:none;margin:0;padding:0}
.ql li{margin-bottom:3px}
.sl li{margin-bottom:6px}
.site-footer a{text-decoration:none}
.ql a{color:#fff}
.sl a{color:var(--gold)}
.fc p{margin:0;line-height:1.9}
.fc a{color:var(--gold)}
.fc .gold{color:var(--gold)}
.fc a[href^=mailto]{color:#fff}
.social{display:flex;gap:13px;margin-top:12px!important}
.social a{width:25px;height:25px;border-radius:50%;background:#8a6fa3;display:flex;align-items:center;justify-content:center}
.social svg{width:13px;height:13px;fill:#fff}
.social a:hover{background:var(--gold)}
.fine{border-top:1px solid rgba(255,255,255,.8);text-align:center;padding:22px 16px 20px}
.fine p{margin:0;font-size:9px}

/* responsive */
@media(max-width:860px){
  .wwd-sec{padding-top:70px}
  .lt-grid{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr;gap:10px 20px}
}
@media(max-width:700px){
  .nav-toggle{display:block}
  .site-nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--p);padding:6px 16px 16px}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;gap:0}
  .site-nav a{display:block;padding:12px 0;font-size:13px;border-bottom:1px solid rgba(255,255,255,.15)}
  .hero-home h1{font-size:24px}
  .hero-home .hq{font-size:21px}
  .hero-home .hs{font-size:14px}
  .progs{font-size:11px;line-height:1.9}
  .wwd,.hiwe-grid,.svc-row,.img-r .svc-row,.lead,.ct-grid{grid-template-columns:1fr}
  .img-r .svc-img{order:0}
  .img-r .svc-txt{padding:0}
  .svc h2,.img-r h2{padding-left:0;font-size:22px}
  .svc-img img,.img-r .svc-img img,#projectdevelopment .svc-img img{height:auto;aspect-ratio:3/2}
  .wwd-img{min-height:0;aspect-ratio:1/1}
  .tiles{grid-template-columns:1fr 1fr}
  .logos{grid-template-columns:1fr 1fr;gap:30px}
  .logos img{max-height:90px;max-width:140px}
  .hero-about{height:auto;padding:16px 0 18px}
  .hero-about .aq{font-size:16px}
  .lead{margin-top:40px}
  .lead-img img{width:200px}
  .mems{grid-template-columns:1fr 1fr;gap:20px 12px}
  .mem-img{height:auto;aspect-ratio:6/5}
  .mem p{font-size:11px}
  .lead-txt p,.wwd-txt p,.hiwe-txt p,.tintro{font-size:12.5px}
  .hiwe-grid img{height:auto}
  .ct-grid{gap:20px}
  .fgrid{grid-template-columns:1fr}
}
@media(max-width:420px){.mems{grid-template-columns:1fr}.mem-img{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.slides img,.tslide{transition:none}}

/* recording pass 10/18 */
.site-header{position:sticky;top:0;transition:box-shadow .3s}
.hwrap,.brand img{transition:height .3s,width .3s}
.site-header.small .hwrap{height:50px}
.site-header.small .brand img{width:64px}
.site-header.small{box-shadow:0 2px 8px rgba(0,0,0,.25)}
.hero-home{min-height:560px;padding:40px 16px 46px}
.hero-btn{margin-top:26px;min-width:160px;font-size:12px}
.hero .bg.plx{height:130%;top:-15%}
.lt-card{background:var(--p)}
.lt-copy p{opacity:1}
.lt-bar{display:none}
.testi .tslide blockquote{font-style:normal;font-size:11px;line-height:1.45;color:#666;max-width:420px;margin:0 auto 18px}
.testi .tslide blockquote p{margin:0 0 12px}
.testi .qm{display:block;font-size:30px;line-height:1;color:#555;margin-bottom:8px;font-family:Georgia,serif}
.testi .tslide figcaption{font-size:10px;color:#666;max-width:420px;margin:0 auto}
.tslides{min-height:220px;max-width:520px}
.testi{padding-top:40px;min-height:500px}
.testi h2{margin-bottom:60px}
@media(max-width:700px){.site-header.small .hwrap{height:56px}.hero-home{min-height:480px}.testi .tslide blockquote,.testi .tslide figcaption{font-size:13px}}

/* recording pass 2: backgrounds stay put while the page scrolls */
.wwd-sec{padding-top:50px}
.hero .bg,.hero picture,.lt .bg{display:none}
.hero-home{background:#5a6a9a url(/images/herohome.webp) center 70%/cover fixed}
.hero-about{background:#556 url(/images/heroabout.webp) center 30%/cover fixed}
.hero-sm{background:#7b97c8 url(/images/heroservices.webp) center 20%/cover fixed}
.hero-ct{background:#567 url(/images/herocontact.webp) center 20%/cover fixed}
.collab-band{border-top:0;min-height:245px;background:linear-gradient(rgba(104,66,158,.78),rgba(104,66,158,.78)),url(/images/heroservicesmobile.webp) center 60%/cover fixed}
.lt{background:url(/images/letstalkbg.webp) center/cover fixed}
.logos img{max-height:130px;max-width:190px}
@media(max-width:700px),(hover:none){
  .hero-home,.hero-about,.hero-sm,.hero-ct,.collab-band,.lt{background-attachment:scroll}
  .hero-home{background-image:url(/images/herohomemobile.webp);background-position:center 80%}
  .hero-about{background-image:url(/images/heroaboutmobile.webp)}
  .hero-sm{background-image:url(/images/heroservicesmobile.webp)}
}
.hero-about{background-image:url(/images/heroaboutmobile.webp);background-position:center 8%}
.hero-sm{background-image:url(/images/heroservicesmobile.webp);background-position:center 31%}
.hero-ct{background-attachment:scroll;background-position:center}
.wwd-img img:first-child{object-position:40% 100%;transform-origin:40% 100%}
.wwd-img img.on:first-child,.wwd-img img:first-child{transform:scale(1.14)}
.hero-about{background-image:linear-gradient(rgba(20,20,40,.22),rgba(20,20,40,.22)),url(/images/heroaboutmobile.webp)}
@media(max-width:700px),(hover:none){.hero-about{background-image:linear-gradient(rgba(20,20,40,.22),rgba(20,20,40,.22)),url(/images/heroaboutmobile.webp)}}
.mem-img img[src*=faithhollowell]{object-position:center 50%}
.mem-img img[src*=terriroquemoore]{object-position:center 58%}
