/* V13 — refined feature numbering and project contact experience */
.benefit-cards{display:grid;gap:14px}
.benefit{
  position:relative;
  min-height:230px;
  padding:34px 34px 36px 92px;
  display:block;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  transition:transform .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease;
}
.benefit:last-child{border-bottom:1px solid var(--line)}
.benefit:hover{transform:translateY(-5px);border-color:rgba(216,255,79,.35);background:linear-gradient(145deg,rgba(216,255,79,.055),rgba(255,255,255,.014));box-shadow:0 24px 60px rgba(0,0,0,.16)}
.benefit>span{
  position:absolute;
  left:26px;
  top:30px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(216,255,79,.35);
  border-radius:50%;
  background:rgba(216,255,79,.08);
  color:var(--accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.benefit h3{font-size:clamp(28px,3vw,44px);line-height:1.04;letter-spacing:-.045em;max-width:650px}
.benefit p{grid-column:auto;max-width:570px;color:var(--muted);line-height:1.7;margin-top:30px;font-size:15px}
.benefit:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-95px;bottom:-105px;background:radial-gradient(circle,rgba(216,255,79,.12),transparent 68%);opacity:0;transition:.35s}
.benefit:hover:after{opacity:1}

.contact-modal{padding:28px;background:rgba(4,4,5,.82);backdrop-filter:blur(26px)}
.contact-modal.open{display:grid;place-items:start center}
.form-wrap{
  width:min(1080px,100%);
  max-width:none;
  margin:46px auto 30px;
  padding:48px;
  border:1px solid var(--line);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(20,20,23,.98),rgba(10,10,12,.98));
  box-shadow:0 38px 110px rgba(0,0,0,.48);
}
.form-wrap>span{display:inline-flex;align-items:center;gap:10px}
.form-wrap>span:before{content:"";width:30px;height:1px;background:var(--accent)}
.form-wrap h2{max-width:820px;font-size:clamp(40px,5vw,68px);margin:16px 0 14px;line-height:.98}
.contact-choice-intro{max-width:690px;margin:0 0 28px;font-size:15px}
.contact-choice-grid{gap:16px;margin-bottom:30px}
.contact-choice{min-height:112px;padding:20px 22px;border-radius:20px;background:rgba(255,255,255,.035)}
.contact-choice .choice-icon{flex-basis:54px;height:54px;font-size:12px}
.contact-choice strong{font-size:16px;letter-spacing:-.02em}
.contact-choice em{font-size:11px}
.contact-divider{margin:4px 0 25px}
.form-wrap form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.form-wrap label{
  gap:9px;
  padding:15px 16px 13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  color:#95959c;
  transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;
}
.form-wrap label:focus-within{border-color:rgba(216,255,79,.6);background:rgba(216,255,79,.035);box-shadow:0 0 0 3px rgba(216,255,79,.055)}
.form-wrap label:nth-child(4){grid-column:auto}
.form-wrap label:nth-child(5){grid-column:1/-1}
.form-wrap input,.form-wrap select,.form-wrap textarea{width:100%;border:0;padding:4px 0 1px;background:transparent;font-size:14px}
.form-wrap textarea{min-height:110px}
.form-wrap form>button{border-radius:14px;padding:21px 24px;font-size:15px;transition:transform .25s ease,box-shadow .25s ease}
.form-wrap form>button:hover{transform:translateY(-2px);box-shadow:0 15px 38px rgba(216,255,79,.16)}
.form-note{margin:0;padding:0 3px;line-height:1.55}
.form-close{right:max(22px,calc((100vw - 1080px)/2 + 18px));top:58px;background:rgba(18,18,21,.92);box-shadow:0 12px 35px rgba(0,0,0,.25)}

html[data-theme="light"] .benefit{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,247,241,.82));box-shadow:0 16px 50px rgba(42,48,31,.06)}
html[data-theme="light"] .benefit:hover{background:#fff;box-shadow:0 24px 65px rgba(42,48,31,.12)}
html[data-theme="light"] .benefit>span{background:rgba(112,172,0,.08);border-color:rgba(112,172,0,.28)}
html[data-theme="light"] .contact-modal{background:rgba(232,231,223,.74)}
html[data-theme="light"] .form-wrap{background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(245,244,237,.99));box-shadow:0 38px 100px rgba(43,48,32,.18)}
html[data-theme="light"] .form-wrap label{background:rgba(255,255,255,.82);border-color:#d9d7ce;color:#777a73}
html[data-theme="light"] .form-wrap label:focus-within{background:#fff;border-color:#83b900;box-shadow:0 0 0 3px rgba(126,184,0,.09)}
html[data-theme="light"] .contact-choice{background:rgba(255,255,255,.86)}
html[data-theme="light"] .form-close{background:#fff;color:#111;border-color:#d9d7ce}

@media(max-width:900px){
  .benefit{padding:30px 28px 32px 84px}
  .form-wrap{padding:42px 30px;margin-top:36px}
  .form-close{right:22px;top:46px}
}
@media(max-width:700px){
  .contact-modal{padding:10px}
  .form-wrap{margin:18px auto 12px;padding:68px 18px 24px;border-radius:22px}
  .form-wrap h2{font-size:clamp(36px,11vw,54px)}
  .form-wrap form{grid-template-columns:1fr}
  .form-wrap label:nth-child(4),.form-wrap label:nth-child(5),.form-wrap form>button,.form-note{grid-column:1}
  .form-close{right:22px;top:28px;width:43px;height:43px}
  .benefit{min-height:0;padding:80px 24px 30px}
  .benefit>span{left:24px;top:24px}
  .benefit p{margin-top:20px}
}


/* Netlify enquiry form states */
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-wrap form>button:disabled{opacity:.68;cursor:wait;transform:none;box-shadow:none}
.form-note.form-error{color:#ff9b8f}
.success-message .send-another{margin-top:22px;border:1px solid rgba(255,255,255,.18);background:transparent;color:inherit;padding:13px 18px;border-radius:100px;cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.success-message .send-another:hover{background:var(--accent);border-color:var(--accent);color:#090909}
html[data-theme="light"] .success-message .send-another{border-color:rgba(0,0,0,.18)}
