/* ============================================================
   COMPONENTS — Tous les composants UI (Redesign v3)
   ============================================================ */

/* ── CHATBOT ── */
.chatbot-widget{position:fixed;bottom:var(--s5);right:var(--s5);z-index:999}
.chatbot-toggle{
  width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;
  background:var(--g-blue);color:#fff;
  box-shadow:var(--sh-glow);
  display:flex;align-items:center;justify-content:center;
  transition:transform var(--t2),box-shadow var(--t2);
}
.chatbot-toggle:hover{transform:scale(1.1);box-shadow:0 0 50px rgba(26,107,255,.6)}
.chatbot-toggle-icon--close{display:none}
.chatbot-widget.is-open .chatbot-toggle-icon--open{display:none}
.chatbot-widget.is-open .chatbot-toggle-icon--close{display:block}
.chatbot-panel{
  position:absolute;bottom:70px;right:0;width:340px;
  background:var(--card);border-radius:var(--r-xl);
  box-shadow:var(--sh-lg);border:1px solid var(--border);
  display:none;flex-direction:column;overflow:hidden;
}
.chatbot-widget.is-open .chatbot-panel{display:flex}
.chatbot-header{
  background:var(--g-hero);padding:var(--s4) var(--s5);
  display:flex;align-items:center;gap:var(--s3);
}
.chatbot-header-avatar{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.chatbot-header strong{display:block;color:#fff;font-family:var(--font-h);font-size:var(--fs-sm)}
.chatbot-status{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:rgba(255,255,255,.65)}
.chatbot-status-dot{width:7px;height:7px;background:var(--green);border-radius:50%;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}
.chatbot-messages{flex:1;min-height:200px;max-height:320px;overflow-y:auto;padding:var(--s4)}
.chatbot-message{margin-bottom:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:1.5}
.chatbot-message--bot{background:var(--bg-2);color:var(--ink);border-radius:0 var(--r-md) var(--r-md) var(--r-md)}
.chatbot-message--user{background:var(--g-blue);color:#fff;text-align:right;border-radius:var(--r-md) 0 var(--r-md) var(--r-md);margin-left:auto;max-width:80%}
.chatbot-input-row{display:flex;border-top:1px solid var(--border);background:var(--card)}
.chatbot-input-row input{flex:1;padding:var(--s3) var(--s4);border:none;outline:none;font-family:var(--font-b);font-size:var(--fs-sm);color:var(--ink);background:transparent}
.chatbot-input-row button{background:none;border:none;padding:var(--s3);color:var(--blue);cursor:pointer;transition:color var(--t1);display:flex;align-items:center}
.chatbot-input-row button:hover{color:var(--blue-2)}

/* ── FAQ ── */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{
  width:100%;background:none;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--s4);padding:var(--s5) 0;
  font-family:var(--font-h);font-size:var(--fs-md);font-weight:700;
  color:var(--ink);text-align:left;transition:color var(--t1);
}
.faq-question:hover{color:var(--blue)}
.faq-question svg{flex-shrink:0;transition:transform var(--t2);color:var(--ink-3);width:20px;height:20px}
.faq-item.is-open .faq-question{color:var(--blue)}
.faq-item.is-open .faq-question svg{transform:rotate(180deg);color:var(--blue)}
.faq-answer{height:0;overflow:hidden;transition:height var(--t2)}
.faq-answer-inner{padding-bottom:var(--s5);color:var(--ink-2);line-height:1.7}

/* ── UPLOAD ZONES ── */
.upload-zone{
  display:flex;align-items:center;gap:var(--s4);
  padding:var(--s5);
  border:2px dashed var(--border);border-radius:var(--r-lg);
  cursor:pointer;transition:all var(--t2);background:var(--bg);
}
.upload-zone:hover{border-color:var(--blue);background:rgba(26,107,255,.04)}
.upload-hint{display:block;font-size:var(--fs-xs);color:var(--ink-3);margin-top:4px}

/* ── CONTRACT PREVIEW ── */
.contract-preview-frame{
  border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;
  background:#fff;height:380px;position:relative;
}
.contract-preview-scroll{height:100%;overflow-y:auto;padding:var(--s6)}

/* ── DOCS PROGRESS ── */
.docs-progress{position:relative}
.docs-progress-bar{
  height:6px;background:var(--border);border-radius:var(--r-pill);overflow:hidden;
}
.docs-progress-fill{
  height:100%;background:var(--g-blue);border-radius:var(--r-pill);
  width:0;transition:width .4s var(--ease);
}
.docs-progress-text{font-size:var(--fs-xs);color:var(--ink-3);margin-top:var(--s2);display:block}

/* ── TUNNEL SIMULATION ── */
.sim-field{margin-bottom:var(--s5)}
.sim-range-labels{display:flex;justify-content:space-between;margin-top:var(--s2);font-size:var(--fs-xs);color:var(--ink-3)}
.sim-field-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s3)}
.sim-display{font-family:var(--font-h);font-weight:900;color:var(--navy);font-size:var(--fs-xl)}

/* ── Champ de saisie précise du montant (à côté du curseur) ── */
.sim-amount-input-wrap{
  display:flex;align-items:baseline;gap:6px;
}
.sim-amount-input{
  width:130px;max-width:40vw;
  border:none;background:transparent;outline:none;
  font-family:var(--font-h);font-weight:900;color:var(--navy);
  font-size:var(--fs-xl);text-align:right;
  padding:2px 4px;border-radius:var(--r-sm);
  transition:background var(--t1);
}
.sim-amount-input:focus{background:var(--bg-2)}
.sim-amount-input-suffix{font-family:var(--font-h);font-weight:900;color:var(--navy);font-size:var(--fs-xl)}

/* ── SIM RESULT BOX ── */
.sim-result-box{
  background:var(--navy-2);border-radius:var(--r-lg);
  padding:var(--s6);border:1px solid rgba(255,255,255,.07);
}
.sim-result-main{text-align:center;margin-bottom:var(--s5)}
.sim-result-value{font-family:var(--font-h);font-size:2rem;font-weight:900;color:#fff;line-height:1.15}
.sim-result-label{font-size:var(--fs-sm);color:rgba(255,255,255,.5)}
.sim-result-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);border-top:1px solid rgba(255,255,255,.08);padding-top:var(--s5)}
.sim-detail-item{text-align:center}
.sim-detail-label{display:block;font-size:var(--fs-xs);color:rgba(255,255,255,.5);margin-bottom:4px}
.sim-detail-value{display:block;font-family:var(--font-h);font-weight:700;color:#fff;font-size:var(--fs-md)}

/* ── PURPOSE GRID ── */
.purpose-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.purpose-option input{display:none}
.purpose-card{
  display:flex;flex-direction:column;align-items:center;gap:var(--s2);
  padding:var(--s4) var(--s3);
  border:2px solid var(--border);border-radius:var(--r-md);
  cursor:pointer;font-size:var(--fs-xs);font-family:var(--font-h);font-weight:600;
  color:var(--ink-2);transition:all var(--t2);text-align:center;
}
.purpose-card:hover,.purpose-option input:checked+.purpose-card{
  border-color:var(--blue);background:rgba(26,107,255,.07);color:var(--blue);
}

/* ── SIM RECAP BAR ── */
.sim-recap-bar{
  display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;
  background:rgba(26,107,255,.07);border:1px solid rgba(26,107,255,.2);
  border-radius:var(--r-md);padding:var(--s3) var(--s5);font-size:var(--fs-sm);color:var(--ink);
}
.sim-recap-bar svg{color:var(--blue);flex-shrink:0}
.sim-recap-bar span{min-width:0}

/* ── ACCEPTANCE ── */
.acceptance-header{display:flex;align-items:flex-start;gap:var(--s5);margin-bottom:var(--s6);padding-bottom:var(--s6);border-bottom:1px solid var(--border)}
.acceptance-header svg{color:var(--blue);width:40px;height:40px;flex-shrink:0}
.acceptance-monthly-box{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s2);
  background:rgba(26,107,255,.06);border:2px solid rgba(26,107,255,.2);
  border-radius:var(--r-lg);padding:var(--s5) var(--s6);margin-bottom:var(--s6);
}
.acceptance-monthly-label{font-family:var(--font-h);font-weight:700;color:var(--ink);min-width:0}
.acceptance-monthly-value{font-family:var(--font-h);font-weight:900;font-size:1.75rem;color:var(--blue);min-width:0}
.acceptance-checkbox{background:var(--bg);border-radius:var(--r-md);padding:var(--s5);margin-bottom:var(--s5)}

/* ── DOC UPLOAD ITEMS ── */
.docs-grid{display:flex;flex-direction:column;gap:var(--s3)}
.doc-upload-item{position:relative}
.doc-upload-zone{
  display:flex;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);
  border:2px dashed var(--border);border-radius:var(--r-md);
  cursor:pointer;transition:all var(--t2);position:relative;
}
.doc-upload-zone:hover{border-color:var(--blue);background:rgba(26,107,255,.04)}
.doc-upload-icon{width:44px;height:44px;background:rgba(26,107,255,.1);color:var(--blue);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.doc-upload-body{flex:1;display:flex;flex-direction:column;gap:2px}
.doc-upload-body strong{font-family:var(--font-h);color:var(--ink);font-size:var(--fs-sm)}
.doc-upload-sub{font-size:var(--fs-xs);color:var(--ink-2)}
.doc-upload-hint{font-size:var(--fs-2xs);color:var(--ink-3)}
.doc-upload-status{color:var(--ink-3);flex-shrink:0}

/* ── CONTRACT ACTION BAR ── */
.contract-action-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s6)}
@media(max-width:640px){.contract-action-bar{flex-direction:column}}

/* ── SUCCESS / TRACKING ── */
.success-icon-wrap{
  display:inline-flex;align-items:center;justify-content:center;
  width:80px;height:80px;
  background:rgba(255,255,255,.12);border-radius:50%;
  margin-bottom:var(--s4);color:#fff;
}
.tracking-card{}
.tracking-header{display:flex;align-items:center;gap:var(--s4);padding-bottom:var(--s5);border-bottom:1px solid var(--border);margin-bottom:var(--s6)}
.tracking-ref{font-family:monospace;font-size:var(--fs-lg);color:var(--ink)}
.tracking-code-box{background:rgba(26,107,255,.06);border:2px solid rgba(26,107,255,.2);border-radius:var(--r-lg);padding:var(--s5);text-align:center}
.tracking-code{font-family:'Courier New',monospace;font-size:var(--fs-2xl);font-weight:900;color:var(--blue);letter-spacing:6px}
.tracking-status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s3)}
.status-badge{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);border-radius:var(--r-pill);font-size:var(--fs-xs);font-family:var(--font-h);font-weight:700}
.status-badge--pending{background:var(--amber-bg);color:#92400E}
.tracking-pct{font-family:var(--font-h);font-weight:800;font-size:var(--fs-lg);color:var(--blue)}
.tracking-progress-bar{height:10px;background:var(--border);border-radius:var(--r-pill);overflow:hidden}
.tracking-progress-fill{height:100%;background:var(--g-blue);border-radius:var(--r-pill);transition:width 1.2s var(--ease)}
.tracking-steps{display:flex;flex-direction:column;gap:var(--s4)}
.tracking-step{display:flex;align-items:flex-start;gap:var(--s4);padding:var(--s4);border-radius:var(--r-md);opacity:.5}
.tracking-step.is-done,.tracking-step.is-current{opacity:1}
.tracking-step.is-current{background:rgba(26,107,255,.07);border:1px solid rgba(26,107,255,.2)}
.tracking-step.is-done{background:var(--bg)}
.tracking-step svg{flex-shrink:0;width:22px;height:22px}
.tracking-step.is-done svg{color:var(--green)}.tracking-step.is-current svg{color:var(--blue)}
.tracking-step strong{display:block;font-family:var(--font-h);font-size:var(--fs-sm);color:var(--ink)}
.tracking-step span{font-size:var(--fs-xs);color:var(--ink-3)}

/* ── PROCEDURE TIMELINE ── */
.procedure-timeline{display:flex;flex-direction:column;gap:0;max-width:860px;margin:0 auto}
.proc-step{display:flex;gap:var(--s5);align-items:flex-start;margin-bottom:var(--s6)}
.proc-step-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:56px}
.proc-step-number{
  width:56px;height:56px;border-radius:50%;
  background:var(--g-blue);color:#fff;
  font-family:var(--font-h);font-weight:900;font-size:var(--fs-lg);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;box-shadow:0 4px 20px rgba(26,107,255,.35);position:relative;z-index:1;
}
.proc-step-connector{width:3px;flex:1;min-height:40px;background:linear-gradient(to bottom,var(--blue),rgba(26,107,255,.2));border-radius:2px;margin-top:4px}
.proc-step:last-child .proc-step-connector{display:none}
.proc-step-content{flex:1;min-width:0;padding:var(--s6);margin-bottom:var(--s4)}
.proc-step-header{display:flex;align-items:flex-start;gap:var(--s4);margin-bottom:var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--border)}
.proc-step-header > div{min-width:0}
.proc-step-header h3{margin:0 0 var(--s2);min-width:0}
.proc-badge{display:inline-block;background:rgba(26,107,255,.1);color:var(--blue);font-family:var(--font-h);font-weight:700;font-size:var(--fs-2xs);padding:3px 10px;border-radius:var(--r-pill);letter-spacing:.04em}
.proc-badge--orange{background:var(--amber-bg);color:#92400E}
.proc-badge--green{background:var(--green-bg);color:#065F46}
.proc-checklist{list-style:none;padding:0;margin:var(--s4) 0 0;display:flex;flex-direction:column;gap:var(--s3)}
.proc-checklist li{display:flex;align-items:flex-start;gap:var(--s3);font-size:var(--fs-sm);color:var(--ink);line-height:1.5}
.proc-checklist li svg{color:var(--blue);flex-shrink:0;margin-top:2px}
.proc-checklist--large li{font-size:var(--fs-md);gap:var(--s4)}
.proc-checklist--large li svg{width:22px;height:22px;color:var(--blue)}
.proc-examples{margin-top:var(--s4);padding:var(--s3) var(--s4);background:var(--bg);border-radius:var(--r-sm);font-size:var(--fs-xs)}
.proc-examples strong{display:block;color:var(--ink);font-family:var(--font-h);margin-bottom:var(--s1)}
.proc-examples span{color:var(--ink-3);line-height:1.5}
.delays-list{display:flex;flex-direction:column;gap:var(--s4)}
.delay-item{display:flex;align-items:flex-start;gap:var(--s4);padding:var(--s4) var(--s5);background:var(--bg);border-radius:var(--r-md);border-left:3px solid var(--blue)}
.delay-icon{width:40px;height:40px;background:rgba(26,107,255,.1);color:var(--blue);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.delay-item strong{display:block;font-family:var(--font-h);color:var(--ink)}
.delay-item span{font-size:var(--fs-sm);color:var(--ink-3)}
.guarantees-box{padding:var(--s7)}
.guarantees-box h3{margin-bottom:var(--s6)}

/* ── INPUT LARGE ── */
.input-lg{font-size:var(--fs-md)!important;padding:.875rem 1.125rem!important}

/* ── MISC RESPONSIVE ── */
@media(max-width:720px){
  .proc-step{grid-template-columns:44px 1fr;gap:var(--s3)}
  .proc-step-number{width:44px;height:44px;font-size:var(--fs-md)}
}
@media(max-width:540px){
  .purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sim-result-details{grid-template-columns:minmax(0,1fr)}
  .acceptance-header{flex-direction:column}
  .sim-result-value{font-size:1.6rem}
  .acceptance-monthly-value{font-size:1.4rem}
}

/* ── ADMIN CSS (conservé) ── */

/* ══════════════════════════════════════════════════════════
   PHOTO COMPONENTS & ANIMATIONS — v4
   ══════════════════════════════════════════════════════════ */

/* ── ANIMATIONS data-anim ── */
[data-anim]{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease)}
[data-anim="fade-up"]{transform:translateY(40px)}
[data-anim="fade-left"]{transform:translateX(40px)}
[data-anim="fade-right"]{transform:translateX(-40px)}
[data-anim].anim-done{opacity:1;transform:none}

/* ── SERVICES PHOTO GRID (home) ── */
.services-photo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:auto auto;
  gap:var(--s4);
}
.svc-photo-card{
  display:flex;flex-direction:column;
  border-radius:var(--r-lg);overflow:hidden;
  background:var(--card);border:1px solid var(--border);
  box-shadow:var(--sh-sm);
  text-decoration:none;color:inherit;
  transition:transform var(--t2),box-shadow var(--t2);
}
.svc-photo-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.svc-photo-card--wide{grid-column:span 2}
.svc-photo-wrap{position:relative;overflow:hidden;aspect-ratio:4/3}
.svc-photo-card--wide .svc-photo-wrap{aspect-ratio:16/7}
.svc-photo-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.svc-photo-card:hover .svc-photo-wrap img{transform:scale(1.06)}
.svc-photo-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(6,35,64,.7) 0%,transparent 60%);
  display:flex;align-items:flex-end;padding:var(--s4);
  opacity:0;transition:opacity var(--t2);
}
.svc-photo-card:hover .svc-photo-overlay{opacity:1}
.svc-photo-icon{
  width:44px;height:44px;border-radius:var(--r-md);
  background:var(--g-orange);color:var(--navy);
  display:flex;align-items:center;justify-content:center;
}
.svc-photo-body{padding:var(--s4) var(--s5) var(--s5)}
.svc-photo-body h3{font-size:var(--fs-base);margin-bottom:var(--s2);color:var(--ink)}
.svc-photo-body p{font-size:var(--fs-sm);color:var(--ink-3);margin:0}
/* Carte featured — Prêt personnel */
.svc-photo-card--featured {
  grid-column: 1 / -1;
  flex-direction: row;
  max-height: 280px;
}
.svc-photo-card--featured .svc-photo-wrap {
  width: 45%;
  min-width: 45%;
  max-height: 280px;
  flex-shrink: 0;
}
.svc-photo-card--featured .svc-photo-wrap img {
  height: 100%;
  max-height: 280px;
}
.svc-photo-card--featured .svc-photo-body {
  flex: 1;
  padding: var(--s6) var(--s7);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.svc-photo-card--featured .svc-photo-body h3 {
  font-size: var(--fs-xl);
}

/* Badge "offre phare" */
.svc-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(245,165,0,.12);
  border: 1px solid rgba(245,165,0,.35);
  color: var(--orange);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--r-pill);
  margin-bottom: var(--s3);
  width: fit-content;
}
.svc-badge svg { width: 11px; height: 11px; }

@media (max-width: 768px) {
  .svc-photo-card--featured {
    flex-direction: column;
    max-height: none;
  }
  .svc-photo-card--featured .svc-photo-wrap {
    width: 100%;
    min-width: 100%;
    max-height: 220px;
  }
}


/* ── PHOTO MOSAIC (about, home) ── */
.photo-mosaic{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--s3);border-radius:var(--r-lg);overflow:hidden}
.photo-mosaic-main{border-radius:var(--r-md);overflow:hidden}
.photo-mosaic-main img{width:100%;height:100%;object-fit:cover;display:block}
.photo-mosaic-side{display:flex;flex-direction:column;gap:var(--s3)}
.photo-mosaic-side img{width:100%;flex:1;min-width:0;object-fit:cover;border-radius:var(--r-md);display:block}

/* ── SERVICE SPLIT (services page) ── */
.service-split{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:var(--s10);align-items:center;
  padding:var(--s8) 0;
}
.service-split--reverse .service-split-img{order:2}
.service-split--reverse .service-split-body{order:1}
.service-split-img{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/3}
.service-split-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.service-split:hover .service-split-img img{transform:scale(1.04)}
.service-split-badge{
  position:absolute;bottom:var(--s4);right:var(--s4);
  width:52px;height:52px;border-radius:50%;
  background:var(--g-orange);color:var(--navy);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(245,165,0,.5);
}
.service-split-body h2{font-size:clamp(var(--fs-xl),3vw,var(--fs-2xl));margin-bottom:var(--s4)}
.service-divider{height:1px;background:var(--border);margin:0}

/* ── EXPERTS STRIP (about) ── */
.experts-strip{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--s5);
}
.expert-card{border-radius:var(--r-lg);overflow:hidden;background:var(--card);border:1px solid var(--border);box-shadow:var(--sh-sm);transition:transform var(--t2),box-shadow var(--t2)}
.expert-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md)}
.expert-img-wrap{aspect-ratio:3/4;overflow:hidden}
.expert-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s var(--ease)}
.expert-card:hover .expert-img-wrap img{transform:scale(1.05)}
.expert-body{padding:var(--s4) var(--s5)}
.expert-body strong{display:block;font-family:var(--font-h);font-weight:700;color:var(--ink);font-size:var(--fs-sm)}
.expert-body span{font-size:var(--fs-xs);color:var(--orange);font-weight:600}

/* ── PROC PHOTO STACK (procedures) ── */
.proc-photo-stack{position:relative;padding-bottom:var(--s10)}
.proc-photo-main{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg)}
.proc-photo-main img{width:100%;display:block;object-fit:cover}
.proc-photo-secondary{
  position:absolute;bottom:0;right:-var(--s8);
  width:48%;border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--sh-md);
  border:4px solid var(--card);
}
.proc-photo-secondary img{width:100%;display:block;object-fit:cover}

/* ── CONTACT PHOTO (contact) ── */
.contact-photo-wrap{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:16/9}
.contact-photo-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.contact-photo-badge{
  position:absolute;bottom:var(--s4);left:var(--s4);
  background:rgba(255,255,255,.95);backdrop-filter:blur(8px);
  border-radius:var(--r-pill);
  padding:8px 16px;
  display:flex;align-items:center;gap:var(--s2);
  font-family:var(--font-h);font-size:var(--fs-sm);font-weight:700;
  color:var(--green);
  box-shadow:var(--sh-md);
}

/* ── TRUST CARDS hover (home) ── */
.trust-card{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
  transition:transform var(--t2),background var(--t2),border-color var(--t2);
}
.trust-card:hover{
  background:rgba(245,165,0,.08);
  border-color:rgba(245,165,0,.2);
  transform:translateY(-6px);
}

/* ── FEATURE LIST (home) ── */
.feature-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s3)}
.feature-list li{display:flex;align-items:center;gap:var(--s3);font-size:var(--fs-sm);font-weight:600;color:var(--ink)}
.feature-list li svg{color:var(--green);flex-shrink:0}

/* ── RESPONSIVE ── */
@media(max-width:1060px){
  .services-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-photo-card--wide{grid-column:span 2}
  .experts-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
  .service-split{grid-template-columns:minmax(0,1fr)}
  .service-split--reverse .service-split-img{order:0}
  .service-split--reverse .service-split-body{order:0}
  .proc-photo-stack{padding-bottom:0}
  .proc-photo-secondary{display:none}
  .photo-mosaic{grid-template-columns:minmax(0,1fr)}
  .photo-mosaic-side{flex-direction:row}
}
@media(max-width:640px){
  .services-photo-grid{grid-template-columns:minmax(0,1fr)}
  .svc-photo-card--wide{grid-column:span 1}
  .experts-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
