/* EC Cam Tools homepage (front-page.php). Ported from the approved prototype, revision 2, October 31, 2026. */
.ec-home,.ec-footer{--brass:#C9A04F;--brass-hi:#E0BC6C;--brass-deep:#8C6420;--forge:#0E0F11;--charcoal:#16181B;--gun:#5B6168;
  --steel:#B9BEC4;--steel-hi:#D6DADE;--text2:#3A3F45;--line:#E7E3DB;--paper:#F4F2EE;--white:#fff;--r:4px;
  --wrap:1240px;--gut:clamp(16px,4vw,40px);}
.ec-home{margin:0;background:var(--paper);color:var(--charcoal);font:500 18px/1.6 Barlow,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.ec-home img{max-width:100%;display:block}
.ec-home a{color:var(--brass-deep)}
.ec-home h1,.ec-home h2,.ec-home h3,.ec-home h4{font-family:Saira,sans-serif;font-style:italic;font-weight:900;margin:0 0 .45em;color:var(--forge);letter-spacing:.005em}
.ec-home h1,.ec-home h2,.ec-home h3{text-wrap:balance}
.ec-home h1{font-size:56px;line-height:1}
.ec-home h2{font-size:46px;line-height:1.04}
.ec-home h3{font-size:24px;line-height:1.18}
@media(max-width:1024px){
  .ec-home h1{font-size:46px}
  .ec-home h2{font-size:39px}
}
@media(max-width:767px){
  .ec-home h1{font-size:36px}
  .ec-home h2{font-size:32px}
  .ec-home h3{font-size:21px}
  .ec-home{font-size:17px}
}
.ec-home p{margin:0 0 1em}
.ec-home .wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.ec-home .eyebrow{font:800 14px/1.2 Barlow;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep);margin:0 0 14px}
.ec-home .dark .eyebrow{color:var(--brass)}
.ec-home .lede{font-size:20px;line-height:1.55;font-weight:500;color:var(--text2);max-width:640px}
@media(max-width:767px){
  .ec-home .lede{font-size:18px}
}
.ec-home .dark{background:var(--forge);color:#E8EAEC}
.ec-home .dark h1,.ec-home .dark h2,.ec-home .dark h3{color:#F4F2EE}
.ec-home .dark .lede{color:var(--steel-hi)}
.ec-home .perf{background-color:var(--forge);background-image:radial-gradient(circle at 50% 50%,rgba(0,0,0,.45) 0 2.2px,transparent 2.6px),radial-gradient(circle at 50% 50%,rgba(255,255,255,.035) 0 3px,transparent 3.4px);background-size:12px 12px;background-position:0 0,-.6px -.6px}
.ec-home section{padding:96px 0}
@media(max-width:1024px){
  .ec-home section{padding:72px 0}
}
@media(max-width:767px){
  .ec-home section{padding:56px 0}
}
.ec-home .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:800 16px/1 Barlow;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;padding:17px 26px;border-radius:var(--r);border:2px solid transparent;transition:background .15s,color .15s,border-color .15s;cursor:pointer}
.ec-home .btn-brass{background:var(--brass);color:var(--forge)}
.ec-home .btn-brass:hover{background:var(--brass-hi)}
.ec-home .btn-ghost{border-color:#5B6168;color:#F4F2EE}
.ec-home .btn-ghost:hover{border-color:var(--brass);color:var(--brass)}
.ec-home .btn-dark{background:var(--forge);color:#F4F2EE}
.ec-home .btn-dark:hover{background:var(--brass-deep)}
.ec-home .pill{display:inline-block;padding:6px 12px;border:1.5px solid var(--brass);border-radius:3px;color:var(--brass);font:800 14px/1 Barlow;letter-spacing:.1em;text-transform:uppercase}
.ec-home .hero{padding:0;overflow:hidden}
.ec-home .hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-top:72px;padding-bottom:72px}
.ec-home .hero h1{font-size:60px;text-transform:uppercase;line-height:.96}
.ec-home .hero h1 em{font-style:inherit;color:var(--brass)}
.ec-home .hero .lede{font-size:21px;margin-bottom:28px}
.ec-home .hero .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px}
.ec-home .price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;margin:0 0 26px;color:#F4F2EE;font-size:19px;font-weight:700}
.ec-home .price b{font:italic 900 48px/1 Saira;color:#F4F2EE}
.ec-home .hero .pills{display:flex;flex-wrap:wrap;gap:10px}
.ec-home .vet{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:14px 18px;border:2px solid var(--brass);border-radius:var(--r);background:rgba(201,160,79,.08);max-width:520px}
.ec-home .vet svg{flex:none;color:var(--brass)}
.ec-home .vet b{display:block;font:italic 900 22px/1.1 Saira;color:var(--brass);text-transform:uppercase;letter-spacing:.02em}
.ec-home .vet span{display:block;font-size:16px;color:var(--steel-hi);font-weight:600;margin-top:3px}
.ec-home .hero figure{margin:0;position:relative;border-radius:4px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55);border:2px solid var(--brass)}
.ec-home .hero figure img{aspect-ratio:1000/1105;object-fit:cover;width:100%}
.ec-home .hero figure figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;background:linear-gradient(transparent,rgba(14,15,17,.92));color:var(--steel-hi);font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
@media(max-width:1024px){
  .ec-home .hero .wrap{grid-template-columns:1fr;gap:40px;padding-top:48px}
  .ec-home .hero h1{font-size:48px}
  .ec-home .hero figure{max-width:560px}
}
@media(max-width:767px){
  .ec-home .hero h1{font-size:36px}
  .ec-home .hero .lede{font-size:18px}
  .ec-home .hero .ctas .btn{flex:1 1 100%}
  .ec-home .price b{font-size:40px}
  .ec-home .price{font-size:18px}
}
.ec-home .strip{background:var(--charcoal);border-top:3px solid var(--brass);padding:0}
.ec-home .strip ul{list-style:none;margin:0 auto;padding:18px var(--gut);max-width:var(--wrap);display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ec-home .strip li{display:flex;align-items:center;gap:12px;color:#EEF0F2;font:800 15px/1.25 Barlow;letter-spacing:.06em;text-transform:uppercase}
.ec-home .strip svg{flex:none;color:var(--brass)}
@media(max-width:1024px){
  .ec-home .strip ul{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:400px){
  .ec-home .strip li{font-size:13.5px}
}
.ec-home .problem .grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.ec-home .problem .cards{display:grid;gap:16px}
.ec-home .card{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:26px 28px}
.ec-home .card h3{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.ec-home .card h3 .num{font:italic 900 24px/1 Saira;color:var(--forge);background:var(--brass);border-radius:4px;padding:7px 10px;flex:none}
.ec-home .card p{margin:0;color:var(--text2)}
@media(max-width:1024px){
  .ec-home .problem .grid{grid-template-columns:1fr;gap:36px}
}
.ec-home .how .head{max-width:760px;margin-bottom:44px}
.ec-home .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:s}
.ec-home .step{background:#14161a;border:1px solid #24272c;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.ec-home .step img{aspect-ratio:16/10;object-fit:cover;width:100%}
.ec-home .step .body{padding:24px 26px 28px}
.ec-home .step .body h3{display:flex;gap:12px;align-items:baseline}
.ec-home .step .body h3::before{counter-increment:s;content:counter(s);font:italic 900 34px/1 Saira;color:var(--brass)}
.ec-home .step p{color:var(--steel-hi);margin:0}
.ec-home .illus{font-size:14px;color:#A3A9AF;margin-top:18px;font-weight:600}
@media(max-width:1024px){
  .ec-home .steps{grid-template-columns:1fr 1fr}
  .ec-home .steps .step:last-child{grid-column:1/-1}
  .ec-home .steps .step:last-child img{aspect-ratio:21/8}
}
@media(max-width:767px){
  .ec-home .steps{grid-template-columns:1fr}
  .ec-home .steps .step:last-child img{aspect-ratio:16/10}
}
.ec-home .ind .head{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:40px}
.ec-home .ind .head h2{margin:0}
.ec-home .ind .head .lede{margin:0;padding-top:26px;flex:0 1 400px}
.ec-home .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ec-home .tile{background:var(--white);border:1px solid #DCD6CB;border-radius:6px;padding:24px 22px;display:flex;flex-direction:column;gap:14px}
.ec-home .tile svg{color:var(--brass-deep);width:48px;height:48px}
.ec-home .tile b{font:italic 900 24px/1.1 Saira;color:var(--forge)}
.ec-home .tile span{color:var(--text2);font-size:17px;line-height:1.45}
.ec-home .tile.more{background:var(--forge);border-color:var(--paper)}
.ec-home .tile.more b{color:#F4F2EE}
.ec-home .tile.more span{color:var(--steel)}
.ec-home .tile.more a{color:var(--brass);font-weight:700;text-decoration:none}
@media(max-width:1024px){
  .ec-home .tiles{grid-template-columns:repeat(2,1fr)}
  .ec-home .ind .head{flex-direction:column;align-items:start;gap:16px}
  .ec-home .ind .head .lede{padding-top:0}
}
@media(max-width:400px){
  .ec-home .tiles{grid-template-columns:1fr}
}
.ec-home .prod .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ec-home .prod figure{margin:0;border-radius:4px;overflow:hidden;border:1px solid var(--line)}
.ec-home .prod figure img{aspect-ratio:1200/629;object-fit:cover;width:100%}
.ec-home .prod .box{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--brass);border-radius:6px;padding:36px}
.ec-home .prod .price{color:var(--text2);margin:4px 0 20px}
.ec-home .prod .price b{color:var(--forge)}
.ec-home .specs{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px}
.ec-home .specs li{display:flex;gap:12px;align-items:flex-start}
.ec-home .specs svg{flex:none;margin-top:4px;color:var(--brass-deep)}
.ec-home .buyrow{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
.ec-home .qty{display:flex;border:1.5px solid #cfcac0;border-radius:var(--r);overflow:hidden;background:#fff}
.ec-home .qty button{width:44px;border:0;background:#fff;font:600 20px Barlow;color:var(--charcoal);cursor:pointer}
.ec-home .qty input{width:48px;border:0;text-align:center;font:700 18px Barlow}
.ec-home .buyrow .btn{flex:1 1 220px}
.ec-home .mark{margin-top:20px;font-size:17px;font-weight:600;color:var(--text2);border-top:1px solid var(--line);padding-top:16px}
@media(max-width:1024px){
  .ec-home .prod .grid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:767px){
  .ec-home .prod .box{padding:26px 22px}
}
.ec-home .maker .grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.ec-home .badge{aspect-ratio:1;max-width:400px;width:100%;margin:0 auto;border-radius:50%;display:grid;place-items:center;border:2px solid #2a2d32;position:relative}
.ec-home .badge::after{content:"";position:absolute;inset:14px;border-radius:50%;border:2px solid var(--brass)}
.ec-home .badge img{width:64%}
.ec-home .maker .pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
@media(max-width:1024px){
  .ec-home .maker .grid{grid-template-columns:1fr;gap:40px}
  .ec-home .badge{max-width:280px}
}
.ec-home .fleet{padding:0}
.ec-home .fleet .inner{background:var(--brass);border-radius:6px;padding:53px 62px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;transform:translateY(-1px)}
.ec-home .fleet h2{margin:0 0 6px;color:var(--forge)}
.ec-home .fleet p{margin:0;color:#2a1f0b;font-size:18px}
@media(max-width:767px){
  .ec-home .fleet .inner{grid-template-columns:1fr;padding:35px 24px}
  .ec-home .fleet .btn{width:100%}
}
.ec-home .faq .grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}
.ec-home details{background:var(--white);border:1px solid var(--line);border-radius:6px;margin-bottom:12px}
.ec-home summary{list-style:none;cursor:pointer;padding:20px 56px 20px 22px;font:italic 900 20px/1.24 Saira;color:var(--forge);position:relative}
.ec-home summary::-webkit-details-marker{display:none}
.ec-home summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font:700 24px Barlow;color:var(--brass-deep)}
.ec-home details[open] summary::after{content:"–"}
.ec-home details p{padding:0 22px 20px;margin:0;color:var(--text2)}
@media(max-width:1024px){
  .ec-home .faq .grid{grid-template-columns:1fr;gap:28px}
}
.ec-home .final{text-align:center}
.ec-home .final .lede{margin:0 auto 28px}
.ec-home .final .ctas{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}

/* WordPress/Kadence integration */
.ec-home section,.ec-home .strip{scroll-margin-top:110px}
.ec-home .qty button{padding:0;box-shadow:none;border-radius:0}
.ec-home .qty button:hover{background:var(--paper);color:var(--forge)}
.ec-home .qty input{-moz-appearance:textfield;appearance:textfield;padding:0;border-radius:0;box-shadow:none;background:#fff;color:var(--charcoal)}
.ec-home .qty input::-webkit-outer-spin-button,.ec-home .qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ec-home button.btn{box-shadow:none;font-family:Barlow,system-ui,sans-serif}
.ec-home .btn:hover{box-shadow:none}
.ec-home a.btn-brass,.ec-home a.btn-brass:hover{color:var(--forge)}
.ec-home a.btn-ghost{color:#F4F2EE}.ec-home a.btn-ghost:hover{color:var(--brass)}
.ec-home a.btn-dark,.ec-home button.btn-dark{color:#F4F2EE}
.ec-home .specs li,.ec-home .strip li{margin:0}

/* Match the Kadence content container so sections line up with the header */
.ec-home .wrap{max-width:var(--global-content-width,1290px);padding-left:var(--global-content-edge-padding,1.5rem);padding-right:var(--global-content-edge-padding,1.5rem)}
.ec-home .strip ul{max-width:var(--global-content-width,1290px);padding-left:var(--global-content-edge-padding,1.5rem);padding-right:var(--global-content-edge-padding,1.5rem)}
.ec-home .qty{min-height:54px}
.ec-home .buyrow .btn{flex:1 1 150px}
.ec-home .buyrow{flex-wrap:nowrap}
.ec-home .buyrow .btn{flex:1 1 auto;min-width:0;padding-left:16px;padding-right:16px}

/* Review round 3 (October 31, 2026) */
.ec-home .maker .pill{font-size:17px;padding:8px 15px}
.ec-home .maker .pills{gap:12px}

/* ==========================================================================
   Interior pages (Contact, Request a Quote): dark textured band, white form card
   ========================================================================== */
.ec-home .int{padding:96px 0 104px;min-height:640px}
.ec-home .int-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:start}
.ec-home .int h1{color:#F4F2EE}
.ec-home .int h1 em{font-style:inherit;color:var(--brass)}
.ec-home .int .lede{color:var(--steel-hi);margin-bottom:32px}
.ec-home .int-list{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:18px}
.ec-home .int-list li{display:flex;gap:14px;align-items:flex-start;color:#E8EAEC;margin:0}
.ec-home .int-list svg{flex:none;color:var(--brass);margin-top:2px}
.ec-home .int-list b{display:block;color:#F4F2EE;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:15px;margin-bottom:2px}
.ec-home .int-list a{color:var(--brass);font-weight:700;text-decoration:none}
.ec-home .int-list a:hover{color:var(--brass-hi);text-decoration:underline}
.ec-home .int .pills{display:flex;flex-wrap:wrap;gap:12px}
.ec-home .int .pill{font-size:15px;padding:7px 13px}
.ec-home .form-card{background:#fff;border-top:4px solid var(--brass);border-radius:6px;padding:36px 36px 30px;box-shadow:0 30px 80px rgba(0,0,0,.5);color:var(--charcoal)}
.ec-home .form-card h2{font-size:28px;margin-bottom:6px}
.ec-home .form-card .note{color:var(--text2);font-size:16px;margin-bottom:22px}
@media(max-width:1024px){.ec-home .int{padding:64px 0 72px;min-height:0}.ec-home .int-grid{grid-template-columns:1fr;gap:40px}}
@media(max-width:767px){.ec-home .int{padding:48px 0 56px}.ec-home .form-card{padding:26px 20px 22px}.ec-home .form-card h2{font-size:24px}}

/* Fluent Forms inside the brand card */
.ec-home .fluentform .ff-el-group{margin-bottom:18px}
.ec-home .fluentform .ff-el-input--label label{font:700 16px/1.3 Barlow,system-ui,sans-serif;color:var(--charcoal)}
.ec-home .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label:after{color:#B3261E}
.ec-home .fluentform .ff-el-form-control{border:1.5px solid #CFCAC0;border-radius:4px;padding:12px 14px;font:500 17px/1.4 Barlow,system-ui,sans-serif;color:var(--charcoal);background:#fff;box-shadow:none}
.ec-home .fluentform .ff-el-form-control:focus{border-color:var(--brass);box-shadow:0 0 0 3px rgba(201,160,79,.28);outline:0}
.ec-home .fluentform textarea.ff-el-form-control{min-height:130px}
.ec-home .fluentform .ff-el-help-message{color:var(--text2);font-size:15px}
.ec-home .fluentform .ff-el-is-error .ff-el-form-control{border-color:#B3261E}
.ec-home .fluentform .error.text-danger{color:#B3261E;font-size:15px;font-weight:600}
.ec-home .fluentform .ff_submit_btn_wrapper{margin-top:6px}
.ec-home .fluentform .ff-btn-submit,.ec-home .fluentform .ff-btn-submit:focus{width:100%;background:var(--brass)!important;color:var(--forge)!important;border:0;border-radius:4px;padding:18px 26px;font:800 16px/1 Barlow,system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;box-shadow:none}
.ec-home .fluentform .ff-btn-submit:hover{background:var(--brass-hi)!important;opacity:1}
.ec-home .ff-message-success{border:0;border-left:4px solid var(--brass);background:var(--paper);color:var(--charcoal);box-shadow:none;padding:20px 22px;font-size:18px;border-radius:4px}

.ec-home .dark .form-card h2{color:var(--forge)}
.ec-home .fluentform .ff-el-help-message{margin-top:6px;font-style:normal}

/* Industries head stacks to a column at 1024 and below: don't let the 400px basis become a height */
@media(max-width:1024px){.ec-home .ind .head .lede{flex:none;max-width:640px}}

/* Tablet: hero photo spans the full content width instead of floating at 560px */
@media(min-width:768px) and (max-width:1024px){.ec-home .hero figure{max-width:none}}

/* About + FAQ (dark interior pages) */
.ec-home .int .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.ec-home .about-grid{grid-template-columns:1.25fr .75fr;align-items:center}
.ec-home .story h2{font-size:28px;color:var(--brass);margin:34px 0 10px}
.ec-home .story p{color:#E8EAEC;max-width:640px}
.ec-home .story .lede{color:var(--steel-hi)}
.ec-home .story .big{font:italic 900 30px/1.15 Saira,sans-serif;color:#F4F2EE;margin:6px 0 4px}
.ec-home .about-side{display:grid;gap:22px;justify-items:center}
.ec-home .about-side .badge{max-width:320px}
.ec-home .about-side .vet{width:100%;max-width:420px}
.ec-home .int .vet{display:flex;align-items:center;gap:14px;padding:16px 18px;border:2px solid var(--brass);border-radius:var(--r);background:rgba(201,160,79,.08)}
.ec-home .int .vet svg{flex:none;color:var(--brass)}
.ec-home .int .vet b{display:block;font:italic 900 22px/1.1 Saira,sans-serif;color:var(--brass);text-transform:uppercase}
.ec-home .int .vet span{display:block;font-size:16px;color:var(--steel-hi);font-weight:600;margin-top:4px}
.ec-home .faq-grid{grid-template-columns:.8fr 1.2fr}
.ec-home .faq-list .faq-group{font-size:22px;color:var(--brass);margin:30px 0 12px}
.ec-home .faq-list .faq-group:first-child{margin-top:0}
.ec-home .faq-list details{background:#16181B;border:1px solid #2a2d32;border-radius:6px;margin-bottom:10px}
.ec-home .faq-list summary{color:#F4F2EE}
.ec-home .faq-list summary::after{color:var(--brass)}
.ec-home .faq-list details p{color:var(--steel-hi)}
.ec-home .faq-list details a{color:var(--brass)}
.ec-home .int .lede a{color:var(--brass)}
@media(max-width:1024px){.ec-home .about-grid,.ec-home .faq-grid{grid-template-columns:1fr}.ec-home .about-side{justify-items:start}.ec-home .about-side .badge{max-width:240px;margin:0}}
@media(max-width:767px){.ec-home .story .big{font-size:24px}.ec-home .story h2{font-size:24px}.ec-home .int .ctas .btn{flex:1 1 100%}}
/* Tablet only: hero uses the landscape three-tools photo (see <picture> in front-page.php) */
@media(min-width:768px) and (max-width:1024px){.ec-home .hero figure img{aspect-ratio:1200/629}}
.ec-home .hero picture{display:block}
