.elementor-kit-6{--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-6 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 */:root{
  --red:#DA3932;
  --gold:#A8834B;
  --deep-red:#6B1714;
  --ink:#12100E;
  --bone:#F4F1EA;
  --offwhite:#EAE6E1;
  --concrete:#8C8781;
  --line:rgba(18,16,14,.10);
  --white:#fff;

  --band-sand:#B8A47E;
  --band-slate:#7C8B99;
  --band-stone:#ADA69E;

  --display:'Fraunces',Georgia,serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;

  --nav-h:76px;
  --max:1280px;
  --gut:clamp(20px,5vw,72px);
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--body);font-size:16px;line-height:1.65;
  color:var(--ink);background:var(--white);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}

h1,h2,h3,h4{font-family:var(--display);font-weight:300;line-height:1.08;letter-spacing:-.02em;}
h1{font-size:clamp(38px,6.4vw,84px);}
h2{font-size:clamp(30px,4.4vw,58px);}
h3{font-size:clamp(21px,2.4vw,30px);}
h4{font-size:clamp(18px,1.6vw,22px);}
p{color:#403C38;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut);}
.eyebrow{
  font:500 11px/1 var(--body);letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);display:flex;align-items:center;gap:10px;margin-bottom:22px;
}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--gold);}
.eyebrow.center{justify-content:center;}
.lede{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:#4A4540;max-width:62ch;}
.muted{color:var(--concrete);}
section{padding:clamp(64px,8vw,124px) 0;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:11px;
  padding:15px 30px;border:1px solid transparent;border-radius:2px;
  font:500 13.5px/1 var(--body);letter-spacing:.04em;cursor:pointer;
  transition:all .4s var(--ease);
}
.btn svg{transition:transform .4s var(--ease);}
.btn:hover svg{transform:translateX(5px);}
.btn-primary{background:var(--red);color:#fff;}
.btn-primary:hover{background:var(--deep-red);}
.btn-ghost{border-color:var(--line);color:var(--ink);background:transparent;}
.btn-ghost:hover{border-color:var(--ink);background:var(--ink);color:#fff;}
.btn-light{border-color:rgba(255,255,255,.4);color:#fff;background:transparent;}
.btn-light:hover{background:#fff;color:var(--ink);}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:96vh;display:flex;align-items:flex-end;
  padding-bottom:clamp(60px,8vw,110px);overflow:hidden;background:var(--ink);
}
.hero-bg{position:absolute;inset:0;}
.hero-slide{position:absolute;inset:0;opacity:0;
  transition:opacity .8s var(--ease);}
.hero-slide.on{opacity:1;}
.hero-slide img{width:100%;height:100%;object-fit:cover;opacity:.9;
  transform:scale(1.02);}
.hero-slide.on img{animation:kenburns 3.8s linear forwards;}
@keyframes kenburns{
  from{transform:scale(1.02) translate3d(0,0,0);}
  to{transform:scale(1.09) translate3d(-1%,-.7%,0);}
}
.hero-bg::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(18,16,14,.42) 0%,rgba(18,16,14,.14) 44%,rgba(18,16,14,.62) 100%);}
.hero-grain{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.05;
  background-image:radial-gradient(rgba(255,255,255,.9) 1px,transparent 1px);
  background-size:3px 3px;}

.hero-content{position:relative;z-index:5;max-width:var(--max);margin:0 auto;
  padding:0 var(--gut);width:100%;}
.hero h1{color:#fff;max-width:15ch;margin-bottom:26px;}
.hero h1 em{font-style:italic;color:var(--gold);}
.hero p{color:rgba(255,255,255,.8);max-width:52ch;font-size:clamp(16px,1.5vw,19px);margin-bottom:36px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;}

/* rotating discipline word */
.rotator{display:inline-grid;vertical-align:bottom;}
.rotator span{grid-area:1/1;opacity:0;transform:translateY(.32em);
  color:var(--gold);font-style:italic;
  transition:opacity .6s var(--ease),transform .6s var(--ease);}
.rotator span.on{opacity:1;transform:none;}

/* slide indicator */
.hero-dots{position:absolute;left:var(--gut);bottom:clamp(26px,3.4vw,44px);z-index:6;
  display:flex;gap:9px;align-items:center;}
.hero-dots button{width:34px;height:2px;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.26);position:relative;overflow:hidden;}
.hero-dots button::after{content:'';position:absolute;inset:0;width:0;background:var(--red);}
.hero-dots button.on::after{width:100%;transition:width 2.5s linear;}

.scroll-hint{position:absolute;bottom:30px;right:var(--gut);z-index:6;
  writing-mode:vertical-rl;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(255,255,255,.5);display:flex;align-items:center;gap:12px;}
.scroll-hint::after{content:'';width:1px;height:52px;background:rgba(255,255,255,.32);
  animation:pulse 2.4s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* ---------- intro split ---------- */
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(36px,6vw,90px);align-items:center;}
.split-media{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:4/5;}
.split-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);}
.split-media:hover img{transform:scale(1.05);}

/* ---------- service bands ---------- */
.band{padding:clamp(36px,4.5vw,68px) 0;color:#fff;position:relative;overflow:hidden;}
.band--sand{background:var(--band-sand);}
.band--slate{background:var(--band-slate);}
.band--stone{background:var(--band-stone);}
.band--deep{background:var(--deep-red);}
.band h2{color:#fff;margin-bottom:22px;font-size:clamp(25px,3.4vw,42px);}
.band-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:clamp(26px,4vw,54px);align-items:center;}
.band-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);}
.band-cols h4{color:#fff;margin-bottom:12px;font-family:var(--body);font-size:15px;
  font-weight:600;letter-spacing:.01em;}
.band-cols p{color:rgba(255,255,255,.9);font-size:14.6px;line-height:1.55;}
.band-media{display:flex;align-items:center;justify-content:center;
  max-height:clamp(180px,22vw,290px);}
.band-media img{max-width:100%;max-height:clamp(180px,22vw,290px);
  width:auto;height:auto;object-fit:contain;
  transition:transform .9s var(--ease);}
.band-media:hover img{transform:scale(1.04);}
.band .btn{margin-top:30px;}
.band-caps{list-style:none;margin-top:20px;display:flex;flex-wrap:wrap;gap:8px;}
.band-caps li{font-size:11.5px;letter-spacing:.04em;padding:6px 12px;border-radius:100px;
  background:rgba(255,255,255,.16);color:#fff;}

/* ---------- service cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:2px;
  background:var(--line);border:1px solid var(--line);}
.card{background:#fff;padding:clamp(28px,3.4vw,46px);transition:background .45s var(--ease);
  cursor:pointer;position:relative;}
.card:hover{background:var(--bone);}
.card-num{font:500 11px/1 var(--body);letter-spacing:.2em;color:var(--gold);margin-bottom:22px;display:block;}
.card h3{margin-bottom:14px;}
.card p{font-size:15px;color:#55504B;margin-bottom:22px;}
.card-link{font-size:12.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  color:var(--red);display:inline-flex;align-items:center;gap:8px;}
.card:hover .card-link svg{transform:translateX(5px);}
.card-link svg{transition:transform .4s var(--ease);}

/* ---------- projects ---------- */
.proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(16px,2vw,26px);}
.proj{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:4/3.1;cursor:pointer;background:var(--ink);}
.proj img{width:100%;height:100%;object-fit:cover;transition:transform .95s var(--ease),opacity .5s;}
.proj:hover img{transform:scale(1.07);opacity:.72;}
.proj-info{position:absolute;left:0;right:0;bottom:0;padding:26px;z-index:2;
  background:linear-gradient(0deg,rgba(18,16,14,.9),transparent);}
.proj-cat{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);
  display:block;margin-bottom:8px;}
.proj-info h4{color:#fff;}
.proj-meta{color:rgba(255,255,255,.6);font-size:13px;margin-top:5px;}
.proj.tall{aspect-ratio:4/5.4;}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:clamp(26px,4vw,58px);}
.stat-num{font-family:var(--body);font-weight:600;font-size:clamp(44px,6vw,76px);
  line-height:1;letter-spacing:-.04em;color:var(--ink);}
.stat hr{border:0;border-top:1px dotted rgba(18,16,14,.3);margin:20px 0 18px;}
.stat h4{font-family:var(--body);font-weight:600;font-size:17px;margin-bottom:8px;}
.stat p{font-size:14.5px;color:var(--concrete);}

/* ---------- why ---------- */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(26px,3.4vw,48px);}
.why-item{padding-top:24px;border-top:1px solid var(--line);}
.why-item h4{margin-bottom:11px;font-family:var(--body);font-weight:600;font-size:16.5px;}
.why-item p{font-size:14.8px;color:#55504B;}

/* ---------- blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(20px,2.6vw,34px);}
.post{cursor:pointer;display:flex;flex-direction:column;}
.post-img{border-radius:4px;overflow:hidden;aspect-ratio:16/10.5;margin-bottom:20px;background:var(--bone);}
.post-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);}
.post:hover .post-img img{transform:scale(1.06);}
.post-cat{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
  margin-bottom:11px;display:block;}
.post h4{margin-bottom:11px;transition:color .3s;}
.post:hover h4{color:var(--red);}
.post p{font-size:14.6px;color:#55504B;margin-bottom:16px;}
.post-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;
  padding-top:15px;border-top:1px solid var(--line);font-size:12.5px;color:var(--concrete);}
.post-foot .rm{color:var(--red);font-weight:500;letter-spacing:.05em;text-transform:uppercase;font-size:11.5px;}

/* ---------- article ---------- */
.article-hero{padding-top:calc(var(--nav-h) + 60px);padding-bottom:44px;background:var(--bone);}
.article-hero h1{font-size:clamp(31px,4.6vw,58px);max-width:20ch;margin:18px 0 22px;}
.article-meta{display:flex;flex-wrap:wrap;gap:22px;font-size:13.5px;color:var(--concrete);}
.article-figure{aspect-ratio:16/8;border-radius:4px;overflow:hidden;margin:-24px 0 0;}
.article-figure img{width:100%;height:100%;object-fit:cover;}
.article-body{max-width:74ch;margin:0 auto;}
.article-body h2{font-size:clamp(24px,2.8vw,36px);margin:52px 0 18px;}
.article-body h3{font-size:clamp(19px,2vw,24px);margin:38px 0 14px;}
.article-body p{font-size:17px;line-height:1.78;margin-bottom:20px;}
.article-body ul{margin:0 0 22px 20px;}
.article-body li{font-size:16.6px;line-height:1.75;margin-bottom:9px;color:#403C38;}
.pull{border-left:2px solid var(--red);padding:6px 0 6px 26px;margin:34px 0;
  font-family:var(--display);font-size:clamp(20px,2.3vw,27px);line-height:1.4;color:var(--ink);}

/* ---------- CTA banner ---------- */
.cta-banner{background:var(--deep-red);color:#fff;text-align:center;
  padding:clamp(58px,7.5vw,104px) 0;}
.cta-banner h2{color:#fff;margin-bottom:18px;}
.cta-banner p{color:rgba(255,255,255,.78);max-width:56ch;margin:0 auto 32px;}

/* ---------- form ---------- */
.form-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(34px,5vw,80px);align-items:start;}
.field{margin-bottom:20px;}
.field label{display:block;font-size:12px;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:var(--concrete);margin-bottom:8px;}
.field input,.field select,.field textarea{
  width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:2px;
  background:#fff;font-size:15px;transition:border-color .3s,box-shadow .3s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(218,57,50,.09);}
.field textarea{min-height:132px;resize:vertical;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.file-drop{border:1px dashed rgba(18,16,14,.24);border-radius:3px;padding:26px;
  text-align:center;cursor:pointer;transition:all .35s var(--ease);background:var(--bone);}
.file-drop:hover{border-color:var(--red);background:#fff;}
.file-drop svg{margin:0 auto 10px;color:var(--gold);}
.file-drop p{font-size:13.5px;color:var(--concrete);}
.file-drop input{display:none;}
.form-success{display:none;text-align:center;padding:56px 30px;background:var(--bone);border-radius:4px;}
.form-success.show{display:block;animation:fade .5s var(--ease);}
.tick{width:60px;height:60px;border-radius:50%;background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;margin:0 auto 22px;}
.contact-item{padding:20px 0;border-top:1px solid var(--line);}
.contact-item span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:6px;}
.contact-item strong{font-weight:500;font-size:16px;}

/* ---------- FAQ ---------- */
.faq{max-width:900px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;background:none;border:0;text-align:left;cursor:pointer;
  padding:26px 44px 26px 0;position:relative;
  font-family:var(--display);font-size:clamp(17px,1.9vw,23px);font-weight:400;color:var(--ink);}
.faq-q::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-family:var(--body);font-size:22px;font-weight:300;color:var(--red);transition:transform .4s var(--ease);}
.faq-item.open .faq-q::after{transform:translateY(-50%) rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .55s var(--ease);}
.faq-a p{padding-bottom:26px;font-size:15.6px;color:#55504B;max-width:78ch;}

/* ---------- logo marquee ---------- */
.rail{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.marquee{display:flex;width:max-content;animation:scroll 46s linear infinite;}
@keyframes scroll{to{transform:translate3d(-50%,0,0)}}
.track{display:flex;align-items:center;}
.lg{flex:0 0 auto;width:clamp(150px,15vw,196px);height:clamp(42px,4.6vw,56px);
  margin:0 clamp(20px,2.8vw,44px);display:flex;align-items:center;justify-content:center;}
.lg svg{width:100%;height:100%;overflow:visible;}
.lg .wm{fill:var(--ink);opacity:.7;}

/* ---------- page header ---------- */
.page-head{padding-top:calc(var(--nav-h) + 74px);padding-bottom:56px;background:var(--bone);}
.page-head h1{max-width:17ch;margin-bottom:20px;}
.crumb{font-size:12.5px;color:var(--concrete);margin-bottom:20px;}
.crumb a:hover{color:var(--red);}

/* ---------- footer ---------- */
.footer{background:#fff;color:var(--ink);padding:clamp(56px,7vw,92px) 0 30px;
  border-top:1px solid var(--line);}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:clamp(28px,4vw,58px);
  padding-bottom:48px;border-bottom:1px solid rgba(18,16,14,.12);}
.foot-grid p{color:#5C5751;font-size:14.5px;max-width:40ch;}
.foot-grid h5{font:600 11.5px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:20px;}
.foot-grid ul{list-style:none;}
.foot-grid li{margin-bottom:11px;}
.foot-grid li a{font-size:14.5px;color:#4A4540;transition:color .3s,padding-left .3s;}
.foot-grid li a:hover{color:var(--red);padding-left:5px;}
.socials{display:flex;gap:10px;margin-top:24px;}
.socials a{width:38px;height:38px;border:1px solid rgba(18,16,14,.18);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--ink);
  transition:all .35s var(--ease);}
.socials a:hover{background:var(--red);border-color:var(--red);color:#fff;}
.foot-bot{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;
  padding-top:26px;font-size:13px;color:var(--concrete);}
.foot-bot a:hover{color:var(--red);}



/* ---------- service page enhancements ---------- */
.svc-hero{position:relative;min-height:66vh;display:flex;align-items:flex-end;
  padding:calc(var(--nav-h) + 60px) 0 clamp(44px,5vw,74px);overflow:hidden;background:var(--ink);}
.svc-hero-bg{position:absolute;inset:0;}
.svc-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.5;
  animation:kenburns 16s linear infinite alternate;}
.svc-hero-bg::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,16,14,.7),rgba(18,16,14,.32) 45%,rgba(18,16,14,.92));}
.svc-hero .wrap{position:relative;z-index:2;}
.svc-hero h1{color:#fff;max-width:17ch;margin-bottom:22px;}
.svc-hero .lede{color:rgba(255,255,255,.84);max-width:56ch;}
.svc-hero .crumb{color:rgba(255,255,255,.5);}
.svc-hero .crumb a:hover{color:#fff;}

.svc-quote{background:var(--ink);color:#fff;padding:clamp(52px,6vw,86px) 0;}
.svc-quote p{font-family:var(--display);font-weight:300;
  font-size:clamp(23px,3.1vw,42px);line-height:1.24;letter-spacing:-.015em;
  color:#fff;max-width:22ch;}
.svc-quote .mark{color:var(--red);font-size:1.4em;line-height:0;vertical-align:-.18em;}

.cap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);}
.cap{background:#fff;padding:clamp(22px,2.6vw,34px);position:relative;
  transition:background .45s var(--ease),transform .45s var(--ease);}
.cap:hover{background:var(--bone);}
.cap .i{font:600 10.5px/1 var(--body);letter-spacing:.2em;color:var(--gold);
  display:block;margin-bottom:16px;}
.cap h4{font-family:var(--body);font-weight:600;font-size:15.5px;letter-spacing:.005em;}
.cap::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;
  background:var(--red);transition:width .5s var(--ease);}
.cap:hover::after{width:100%;}

.ben{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
  gap:clamp(24px,3vw,44px);}
.ben-item{position:relative;padding:30px 26px 28px;background:var(--bone);border-radius:3px;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);}
.ben-item:hover{transform:translateY(-5px);box-shadow:0 24px 44px -26px rgba(18,16,14,.3);}
.ben-item .b{width:34px;height:2px;background:var(--red);margin-bottom:18px;}
.ben-item h4{font-family:var(--body);font-weight:600;font-size:16.5px;margin-bottom:10px;}
.ben-item p{font-size:14.6px;line-height:1.62;color:#55504B;}

.svc-reel{position:relative;width:100%;overflow:hidden;background:var(--ink);padding:0;}
.svc-reel-track{display:flex;width:max-content;animation:reel 44s linear infinite;}
.svc-reel:hover .svc-reel-track{animation-play-state:paused;}
@keyframes reel{to{transform:translate3d(-50%,0,0);}}
.svc-reel figure{margin:0;flex:0 0 auto;
  width:clamp(230px,26vw,400px);aspect-ratio:4/3;
  overflow:hidden;position:relative;border-right:2px solid var(--ink);background:#1c1815;}
.svc-reel img{width:100%;height:100%;object-fit:cover;opacity:.88;
  transition:opacity .6s var(--ease),transform 1.1s var(--ease);}
.svc-reel figure:hover img{opacity:1;transform:scale(1.06);}
.svc-reel figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;
  background:linear-gradient(0deg,rgba(18,16,14,.88),transparent);
  font:500 10.5px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.82);}
.svc-reel::before,.svc-reel::after{content:'';position:absolute;top:0;bottom:0;width:11vw;
  z-index:2;pointer-events:none;}
.svc-reel::before{left:0;background:linear-gradient(90deg,var(--ink),transparent);}
.svc-reel::after{right:0;background:linear-gradient(270deg,var(--ink),transparent);}
@media(prefers-reduced-motion:reduce){
  .svc-reel-track{animation:none;}
  .svc-reel{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}
@media(max-width:640px){
  .svc-reel-track{animation-duration:30s;}
  .svc-reel figure{width:210px;}
}


/* ---------- inner page banner slideshow ---------- */
.bslide{position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease);}
.bslide.on{opacity:1;}
.bslide img{width:100%;height:100%;object-fit:cover;opacity:.5;transform:scale(1.02);}
.bslide.on img{animation:kenburns 3.8s linear forwards;}
.about-hero-bg .bslide img{opacity:.46;}
.bdots{position:absolute;left:var(--gut);bottom:clamp(22px,2.6vw,34px);z-index:6;
  display:flex;gap:8px;}
.bdots i{width:26px;height:2px;background:rgba(255,255,255,.26);position:relative;overflow:hidden;}
.bdots i::after{content:'';position:absolute;inset:0;width:0;background:var(--red);}
.bdots i.on::after{width:100%;transition:width 2.5s linear;}

/* ---------- about page enhancements ---------- */
.about-hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;
  padding:calc(var(--nav-h) + 70px) 0 clamp(48px,5.5vw,80px);overflow:hidden;background:var(--ink);}
.about-hero-bg{position:absolute;inset:0;}
.about-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.46;
  animation:kenburns 18s linear infinite alternate;}
.about-hero-bg::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,16,14,.68),rgba(18,16,14,.3) 46%,rgba(18,16,14,.93));}
.about-hero .wrap{position:relative;z-index:2;}
.about-hero h1{color:#fff;max-width:16ch;margin-bottom:22px;}
.about-hero .lede{color:rgba(255,255,255,.84);}
.about-hero .crumb{color:rgba(255,255,255,.5);}

.manifesto{background:var(--deep-red);color:#fff;padding:clamp(56px,7vw,96px) 0;}
.manifesto h2{color:#fff;max-width:20ch;margin-bottom:30px;}
.manifesto p{color:rgba(255,255,255,.82);font-size:clamp(16px,1.5vw,18.5px);
  line-height:1.65;max-width:60ch;}
.manifesto .rule{width:52px;height:2px;background:#fff;opacity:.5;margin-bottom:26px;}

.timeline{position:relative;}
.timeline::before{content:'';position:absolute;left:0;right:0;top:22px;height:1px;
  background:var(--line);}
.tl-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;position:relative;}
.tl{padding:0 clamp(10px,1.3vw,20px);position:relative;}
.tl .dot{width:11px;height:11px;border-radius:50%;background:var(--bone);
  border:2px solid var(--red);position:relative;z-index:2;margin:17px 0 22px;}
.tl .n{font:600 10px/1 var(--body);letter-spacing:.2em;color:var(--gold);display:block;margin-bottom:9px;}
.tl h4{font-family:var(--body);font-weight:600;font-size:14.6px;margin-bottom:8px;}
.tl p{font-size:13.2px;line-height:1.55;color:#55504B;}

.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;
  background:rgba(255,255,255,.14);}
.value{background:var(--ink);padding:clamp(26px,3vw,40px);}
.value .n{font:600 10.5px/1 var(--body);letter-spacing:.2em;color:var(--gold);
  display:block;margin-bottom:18px;}
.value h4{font-family:var(--display);font-weight:300;font-size:clamp(20px,2.2vw,27px);
  color:#fff;margin-bottom:12px;}
.value p{font-size:14.6px;line-height:1.62;color:rgba(255,255,255,.66);}

@media(max-width:1020px){
  .tl-grid{grid-template-columns:repeat(2,1fr);gap:30px 0;}
  .timeline::before{display:none;}
}
@media(max-width:600px){
  .tl-grid{grid-template-columns:1fr;}
  .svc-hero,.about-hero{min-height:auto;}
}

/* ---------- process ---------- */
.proc{display:grid;grid-template-columns:repeat(5,1fr);gap:0;}
.proc-step{padding:0 clamp(14px,1.8vw,26px);position:relative;}
.proc-step+.proc-step{border-left:1px solid var(--line);}
.proc-ico{width:46px;height:46px;color:var(--red);margin-bottom:20px;flex:0 0 auto;}
.proc-ico svg{width:46px;height:46px;display:block;}
.proc-step h4{font-family:var(--body);font-weight:600;font-size:15.5px;letter-spacing:.01em;
  margin-bottom:10px;color:var(--ink);hyphens:none;word-break:normal;}
.proc-step .n{font:600 10.5px/1 var(--body);letter-spacing:.2em;color:var(--gold);
  display:block;margin-bottom:12px;}
.proc-step p{font-size:13.8px;line-height:1.6;color:#55504B;}
@media(max-width:1020px){
  .proc{grid-template-columns:repeat(2,1fr);gap:34px 0;}
  .proc-step:nth-child(odd){border-left:0;}
}
@media(max-width:600px){
  .proc{grid-template-columns:1fr;gap:28px;}
  .proc-step{border-left:0 !important;padding:0;}
  .proc-step+.proc-step{padding-top:26px;border-top:1px solid var(--line);}
}

/* ---------- image fallback ---------- */
.imgwrap{position:relative;width:100%;height:100%;overflow:hidden;background:var(--bone);}
img.failed{opacity:0;}
.ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#EFEBE4 0%,#DED7CC 48%,#CFC6B8 100%);}
.ph svg{width:56%;max-width:230px;height:auto;color:rgba(18,16,14,.26);}
.ph-label{position:absolute;bottom:14px;left:16px;font:500 9.5px/1 var(--body);
  letter-spacing:.2em;text-transform:uppercase;color:rgba(18,16,14,.34);}
.hero-bg .ph{background:linear-gradient(135deg,#2A2622,#12100E);}
.hero-bg .ph svg{color:rgba(255,255,255,.14);}
.hero-bg .ph-label{display:none;}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease),transform .85s var(--ease);}
.rv.in{opacity:1;transform:none;}

/* ---------- responsive ---------- */
@media(max-width:1020px){
  .nav-links{display:none;}
  .burger{display:flex;}
  .split,.band-grid,.form-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .band-cols,.field-row{grid-template-columns:1fr;}
  .band-media,.band-media img{max-height:190px;}
  .foot-grid{grid-template-columns:1fr;}
  .hero{min-height:88vh;}
  .scroll-hint{display:none;}
  .proj.tall{aspect-ratio:4/3.1;}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  .hero-slide{opacity:1;}
  .hero-slide:not(.on){opacity:0;}
  .rv{opacity:1;transform:none;}
}
/* Mobile responsiveness pass */
@media (max-width: 780px){
  .split{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 600px){
  .foot-grid{grid-template-columns:1fr;gap:32px;}
  .field-row{grid-template-columns:1fr;}
}
@media (max-width: 400px){
  .why-grid, .proj-grid, .work-gallery{grid-template-columns:1fr;}
}
html, body{max-width:100%;overflow-x:hidden;}
/* Mobile responsiveness pass 2: fixed-width Elementor containers/headings overflow on small screens */
@media (max-width: 900px){
  .elementor-element{max-width:100% !important;}
  .elementor-widget-heading .elementor-heading-title,
  .e-heading-base{max-width:100% !important;}
}
/* Service pages */
.banner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.banner-grid img{width:100%;height:220px;object-fit:cover;border-radius:10px;display:block;}
@media (max-width:820px){.banner-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.banner-grid{grid-template-columns:1fr;}}
.cap-pills{display:flex;flex-wrap:wrap;gap:10px;}
.cap-pills span{background:var(--bone,#F4F1EA);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:13.5px;color:var(--ink);}
.service-quote{border-left:3px solid var(--ink);padding:8px 0 8px 24px;font-family:var(--display);font-size:24px;line-height:1.4;color:var(--ink);}

/* Services hub */
.services-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;}
@media (max-width:700px){.services-hub-grid{grid-template-columns:1fr;}}
.service-card{border:1px solid var(--line);border-radius:14px;padding:32px;background:var(--white,#fff);transition:box-shadow .2s var(--ease);display:block;text-decoration:none;}
.service-card:hover{box-shadow:0 16px 32px rgba(18,16,14,.08);}
.service-card .eyebrow{margin-bottom:10px;}
.service-card h3{font-family:var(--display);font-size:22px;color:var(--ink);margin-bottom:10px;}
.service-card p{color:var(--concrete);font-size:15px;margin-bottom:0;}

/* === Blog post banner image (added 2026-09-19) === */
.blog-banner{width:100%;max-height:420px;overflow:hidden;border-radius:12px;margin:24px 0 8px;border:1px solid var(--line);}
.blog-banner img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:640px){.blog-banner{max-height:220px;border-radius:8px;}}

/* === Unify page background tone to --bone, remove seam under hero sections (added 2026-09-19) === */
body{background:var(--bone) !important;}

/* === About page: reduce oversized hero/title section height (added 2026-09-19) === */
body.page-id-422 .article-hero{padding-top:64px;padding-bottom:28px;}

/* === Header Services dropdown (added 2026-09-19) === */
.nav-dropdown{position:relative;display:inline-block;}
.nav-dropdown>a{display:inline-flex;align-items:center;gap:4px;}
.nav-dropdown .caret{font-size:10px;transition:transform .2s var(--ease,ease);}
.nav-dropdown:hover .caret{transform:rotate(180deg);}
.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:220px;background:var(--white,#fff);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.08);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .18s var(--ease,ease);z-index:200;}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.nav-dropdown-menu a{display:block;padding:9px 12px;border-radius:6px;font-size:14px;color:var(--ink);text-decoration:none;white-space:nowrap;}
.nav-dropdown-menu a:hover{background:var(--bone);}
@media (max-width:900px){.nav-dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding-left:12px;display:none;}
.nav-dropdown.open .nav-dropdown-menu{display:block;}}

/* === Homepage lead-form section (added 2026-09-19) === */
.home-lead-form-section{padding:88px 0;background:var(--bone);border-top:1px solid var(--line);}
.home-lead-form-section .section-head{text-align:center;max-width:640px;margin:0 auto 40px;}
.home-lead-form-section .eyebrow{color:var(--concrete);letter-spacing:.08em;font-size:12px;text-transform:uppercase;margin-bottom:12px;}
.home-lead-form-section h2{font-family:var(--display);font-size:clamp(28px,4vw,40px);margin:0 0 12px;}

/* === Contact page redesign (added 2026-09-19) === */
.contact-redesign{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:640px;}
.contact-redesign .contact-info-col{background:var(--ink);color:#fff;padding:80px 56px;display:flex;flex-direction:column;justify-content:center;}
.contact-redesign .contact-info-col .eyebrow{color:rgba(255,255,255,.6);letter-spacing:.1em;text-transform:uppercase;font-size:12px;margin-bottom:16px;}
.contact-redesign .contact-info-col h1{font-family:var(--display);font-size:clamp(32px,4vw,48px);line-height:1.1;margin:0 0 20px;color:#fff;}
.contact-redesign .contact-info-col p.lede{color:rgba(255,255,255,.75);font-size:17px;line-height:1.6;margin:0 0 40px;max-width:420px;}
.contact-redesign .contact-detail{display:flex;flex-direction:column;gap:22px;margin-bottom:40px;}
.contact-redesign .contact-detail-item{display:flex;gap:14px;align-items:flex-start;}
.contact-redesign .contact-detail-item .label{color:rgba(255,255,255,.5);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}
.contact-redesign .contact-detail-item a,.contact-redesign .contact-detail-item span{color:#fff;font-size:16px;text-decoration:none;}
.contact-redesign .contact-detail-item a:hover{text-decoration:underline;}
.contact-redesign .social-row{display:flex;gap:12px;}
.contact-redesign .social-row a{width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:14px;}
.contact-redesign .social-row a:hover{background:rgba(255,255,255,.12);}
.contact-redesign .contact-form-col{background:var(--bone);padding:80px 56px;display:flex;flex-direction:column;justify-content:center;}
.contact-redesign .contact-form-col h2{font-family:var(--display);font-size:26px;margin:0 0 8px;color:var(--ink);}
.contact-redesign .contact-form-col p.form-sub{color:var(--concrete);margin:0 0 32px;font-size:15px;}
@media (max-width:900px){.contact-redesign{grid-template-columns:1fr;}
.contact-redesign .contact-info-col,.contact-redesign .contact-form-col{padding:56px 28px;}}


/* === Contact page: apply 2-col Konstra-style layout to the actual live elements (added 2026-09-19) === */
body.page-id-394 .elementor-element-d28e6791.e-con{max-width:none;width:100%;padding:0;}


body.page-id-394 .elementor-element-5c598562 .contact-info-col{height:100%;}

@media (max-width:900px){
  body.page-id-394 .elementor-element-d28e6791 .e-con-inner{grid-template-columns:1fr;}
  body.page-id-394 .elementor-element-f7b9d69.contact-form-card{padding:56px 28px;}
}


/* === Home V2: lead-form section above footer (added 2026-09-19) === */
.elementor-element-81657e7{background:var(--bone);padding:88px 24px;border-top:1px solid var(--line);}
.elementor-element-81657e7 .e-con-inner{max-width:640px;margin:0 auto;display:flex;flex-direction:column;}
.elementor-element-81657e7 .section-head{text-align:center;margin-bottom:32px;}
.elementor-element-81657e7 .section-head p{color:var(--concrete);font-size:15px;margin:0;}


/* === Contact page fixes: nav clearance + force text colors on dark panel (added 2026-09-19) === */







/* Contact page light layout rework */
body.page-id-394 .elementor-element-d28e6791{margin-top:76px;}
body.page-id-394 .elementor-element-d28e6791 .e-con-inner{display:grid !important;grid-template-columns:1fr 1fr !important;gap:48px !important;align-items:start !important;max-width:1240px;margin:0 auto;padding:0 24px;}
.elementor-element-8fbb263{grid-column:1/-1 !important;}
.contact-top{padding:56px 0 24px;text-align:left;}
.contact-top .pill-badge{display:inline-block;padding:8px 20px;border-radius:999px;background:var(--bone) !important;border:1px solid var(--line);color:var(--ink) !important;font-family:var(--body);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:20px;}
.contact-top-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;}
.contact-top-row h1{font-family:var(--display);color:var(--ink) !important;font-size:clamp(32px,4vw,48px);margin:0;max-width:520px;}
.contact-top-desc{font-family:var(--body);color:var(--concrete) !important;font-size:16px;line-height:1.6;max-width:420px;margin:0;}
body.page-id-394 .elementor-element-f7b9d69.contact-form-card{background:var(--bone) !important;border:1px solid var(--line);border-radius:16px;padding:48px;margin:0;}
.elementor-element-5c598562{grid-column:auto;}
.contact-image-card{position:relative;width:100%;height:480px;border-radius:16px;overflow:hidden;}
.contact-image-card img{width:100%;height:100%;object-fit:cover;display:block;}
.contact-image-badge{position:absolute;bottom:24px;left:24px;background:#fff !important;color:var(--ink) !important;font-family:var(--body);font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:10px 20px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.12);}
.elementor-element-ab263ac{grid-column:1/-1 !important;}
.contact-info-row{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:32px;padding:56px 0 72px;border-top:1px solid var(--line);margin-top:24px;}
.contact-info-row .info-col{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.contact-info-row .info-icon{width:48px;height:48px;border-radius:50%;background:var(--bone) !important;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#DA3932 !important;}
.contact-info-row .info-title{font-family:var(--display);color:var(--ink) !important;font-size:16px;font-weight:600;}
.contact-info-row .info-text{font-family:var(--body);color:var(--concrete) !important;font-size:14px;line-height:1.5;}
body.page-id-394 .elementor-element-f7b9d69 button.elementor-button,body.page-id-394 .elementor-element-f7b9d69 .elementor-button{background:#DA3932 !important;border-color:#DA3932 !important;color:#fff !important;}
body.page-id-394 .elementor-element-f7b9d69 button.elementor-button:hover,body.page-id-394 .elementor-element-f7b9d69 .elementor-button:hover{background:#c22f29 !important;border-color:#c22f29 !important;}
body.page-id-394{background:var(--bone) !important;}
@media (max-width:900px){body.page-id-394 .elementor-element-d28e6791 .e-con-inner{grid-template-columns:1fr !important;}.contact-top-row{flex-direction:column;align-items:flex-start;}.contact-info-row{grid-template-columns:1fr !important;}}

.svc-section{border-top:1px solid var(--line);}
.svc-head{padding:clamp(56px,7vw,92px) 0 clamp(24px,3vw,40px);}
.svc-list{border-top:1px solid var(--line);}
.svc-row{display:grid;grid-template-columns:60px 1fr 1.3fr 40px;align-items:center;gap:clamp(18px,3vw,44px);padding:clamp(26px,3.4vw,40px) 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;}
.svc-row .svc-num{font:600 12px/1 var(--body);letter-spacing:.18em;color:var(--gold);}
.svc-row .svc-name{font-family:var(--display);font-size:clamp(20px,2.6vw,30px);margin:0;transition:color .4s var(--ease);}
.svc-row .svc-desc{font:400 15px/1.6 var(--body);color:var(--concrete);max-width:46ch;}
.svc-row .svc-arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .45s var(--ease);flex:0 0 auto;justify-self:end;}
.svc-row:hover{background:var(--bone);}
.svc-row:hover .svc-name{color:var(--red);}
.svc-row:hover .svc-arrow{background:var(--red);border-color:var(--red);color:#fff;transform:translateX(4px) rotate(-45deg);}
.svc-list .svc-row:nth-child(1).rv{transition-delay:0s;}
.svc-list .svc-row:nth-child(2).rv{transition-delay:.1s;}
.svc-list .svc-row:nth-child(3).rv{transition-delay:.2s;}
.svc-list .svc-row:nth-child(4).rv{transition-delay:.3s;}
@media(max-width:780px){.svc-row{grid-template-columns:40px 1fr 32px;}.svc-row .svc-desc{display:none;}}

.cta-final{background:#ECE7DD;color:var(--ink);text-align:center;padding:clamp(120px,14vw,220px) 0;}
.cta-final .cta-ticks{display:flex;justify-content:center;gap:6px;margin-bottom:28px;}
.cta-final .cta-ticks span{width:14px;height:2px;background:rgba(18,16,14,.18);display:inline-block;}
.cta-final.in .cta-ticks span{background:var(--red);transition:background .5s var(--ease);}
.cta-final.in .cta-ticks span:nth-child(1){transition-delay:.1s;}
.cta-final.in .cta-ticks span:nth-child(2){transition-delay:.35s;}
.cta-final.in .cta-ticks span:nth-child(3){transition-delay:.6s;}
.cta-final.in .cta-ticks span:nth-child(4){transition-delay:.85s;}
.cta-final h2{font-family:var(--display);font-size:clamp(38px,6.4vw,84px);line-height:1.04;margin:0 auto 26px;max-width:15ch;color:var(--ink);}
.cta-final .cta-sub{font:400 18px/1.6 var(--body);color:rgba(18,16,14,.68);max-width:44ch;margin:0 auto clamp(40px,5vw,60px);}
.cta-final .btn-primary{font-size:15px;padding:19px 40px;}
.cta-final .btn-primary:hover{background:var(--ink);color:var(--bone);}

.hc-contact-head{padding:clamp(80px,9vw,120px) 0 0;scroll-margin-top:100px;}
.hc-head{text-align:center;max-width:620px;margin:0 auto;}
.hc-head p{font:400 16px/1.6 var(--body);color:var(--concrete);margin:14px 0 0;}
.home-contact-form{max-width:820px;margin:0 auto;}

.home-contact-form .elementor-button, .home-contact-form button.elementor-button{background:#DA3932 !important;border-color:#DA3932 !important;color:#fff !important;}
.home-contact-form .elementor-button:hover, .home-contact-form button.elementor-button:hover{background:#C22F29 !important;border-color:#C22F29 !important;}/* End custom CSS */