.ps-home-v1 {
    --ps-bg: #f2f4f7;
    --ps-card: #ffffff;
    --ps-border: #e8eaed;
    --ps-text: #0f172a;
    --ps-muted: #64748b;
    --ps-primary: #f28c00;
    --ps-dark: #0f172a;
    background: radial-gradient(circle at 90% -10%, #fff4de 0, var(--ps-bg) 44%);
    color: var(--ps-text);
    font-family: "Noto Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.ps-home-v1 h1, .ps-home-v1 h2, .ps-home-v1 h3 { font-family:"Noto Sans",system-ui,sans-serif; font-weight:900; letter-spacing:-.035em; }

.ps-home-v1 .ps-home-kicker {
    color: var(--ps-primary);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-size: 11px;
    margin-bottom: 8px;
    font-weight: 700;
}

.ps-home-v1 .ps-home-title {
    font-size: clamp(28px, 4vw, 48px);
    line-height: 1.08;
    margin-bottom: 12px;
}

.ps-home-v1 .ps-home-subtitle {
    max-width: 720px;
    color: rgba(255,255,255,.88);
    font-size: 16px;
}

.ps-home-v1 .ps-btn-home {
    border-radius: 999px;
    font-weight: 700;
    padding: 12px 20px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 12px;
    text-decoration: none;
}

.ps-home-v1 .ps-btn-home--primary {
    background: var(--ps-dark);
    color: #fff;
}

.ps-home-v1 .ps-btn-home--dark {
    background: #fff;
    color: var(--ps-dark);
    border: 1px solid #d9d9d9;
}

.ps-home-v1 .ps-btn-home--outline {
    border: 1px solid var(--ps-dark);
    color: var(--ps-dark);
}

.ps-home-v1 .ps-btn-home--outline:hover {
    background: var(--ps-dark);
    color: #fff;
}

.ps-home-v1 .ps-home-cta {
    position: relative;
    z-index: 2;
}

.ps-home-v1 .ps-home-hero,
.ps-home-v1 .ps-home-section {
    position: relative;
}

.ps-home-v1 .ps-home-hero {
    min-height: clamp(520px, 68vh, 760px);
    display:flex;
    align-items:center;
    isolation:isolate;
    overflow:hidden;
    color:#fff;
    background:#0b1220 var(--ps-home-hero-image) center/cover no-repeat;
}

.ps-home-v1 .ps-home-hero__overlay {
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg,rgba(4,9,18,.94) 0%,rgba(4,9,18,.77) 36%,rgba(4,9,18,.22) 68%,rgba(4,9,18,.08) 100%);
}

.ps-home-v1 .ps-home-hero__content { max-width:720px; padding:clamp(36px,7vw,88px) 0; }
.ps-home-v1 .ps-home-hero .ps-home-title { color:#fff; font-size:clamp(38px,5vw,70px); }
.ps-home-v1 .ps-home-hero .ps-home-kicker { color:#f2a000; }
.ps-home-v1 .ps-home-hero .ps-btn-home--primary { background:#f2a000; color:#101827; }
.ps-home-v1 .ps-home-hero .ps-btn-home--dark { border-color:#fff; background:#fff; color:#101827; }

.ps-home-v1 .ps-home-hero-carousel {
    position:relative;
    width:100%;
    overflow:hidden;
    color:#fff;
    background:#101827;
}

.ps-home-v1 .ps-home-hero-track {
    display:flex;
    width:100%;
    transition:transform .65s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
}

.ps-home-v1 .ps-home-hero-slide {
    position:relative;
    isolation:isolate;
    flex:0 0 100%;
    min-width:100%;
    min-height:clamp(390px,48vh,510px);
    display:flex;
    align-items:center;
    background:#101827;
}

.ps-home-v1 .ps-home-hero-bg {
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.ps-home-v1 .ps-home-hero-slide > .ps-home-hero__overlay { z-index:1; }
.ps-home-v1 .ps-home-hero-slide > .container { position:relative; z-index:2; width:100%; }
.ps-home-v1 .ps-home-hero-slide .ps-home-hero__content { max-width:690px; padding:clamp(56px,7vw,84px) 0 74px; }
.ps-home-v1 .ps-home-hero-slide .ps-home-title { margin:0 0 14px; color:#fff; font-size:clamp(40px,5vw,66px); line-height:1.03; }
.ps-home-v1 .ps-home-hero-slide .ps-home-subtitle { max-width:620px; color:rgba(255,255,255,.9); font-size:clamp(15px,1.25vw,18px); line-height:1.5; }
.ps-home-v1 .ps-home-hero-slide .ps-btn-home--primary { border-color:#f2a000; background:#f2a000; color:#101827; }
.ps-home-v1 .ps-home-hero-slide .ps-btn-home--dark { border-color:#fff; background:#fff; color:#101827; }

.ps-home-v1 .ps-home-hero-nav {
    position:absolute;
    right:0;
    bottom:18px;
    left:0;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:space-between;
    pointer-events:none;
}

.ps-home-v1 .ps-home-hero-dots,.ps-home-v1 .ps-home-hero-arrows { display:flex; align-items:center; gap:8px; pointer-events:auto; }
.ps-home-v1 .ps-home-hero-dots button { width:9px; height:9px; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.48); transition:.25s ease; }
.ps-home-v1 .ps-home-hero-dots button.is-active { width:30px; background:#f2a000; }
.ps-home-v1 .ps-home-hero-arrows button { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(5,10,18,.42); color:#fff; font-size:18px; }
.ps-home-v1 .ps-home-hero-arrows button:hover { border-color:#f2a000; background:#f2a000; color:#101827; }

.ps-home-v1 .ps-home-section-title {
    font-size: clamp(22px, 2.7vw, 34px);
    line-height: 1.1;
}

.ps-home-v1 .ps-home-link {
    color: #0f172a;
    font-weight: 700;
    text-decoration: none;
}

.ps-home-v1 .ps-home-link:hover {
    text-decoration: underline;
}

.ps-home-v1 .ps-home-stat {
    display: grid;
    gap: 14px;
}

.ps-home-v1 .ps-home-stat__item {
    background: rgba(255,255,255,0.75);
    border: 1px solid var(--ps-border);
    padding: 16px;
    border-radius: 12px;
}

.ps-home-v1 .ps-home-stat__value {
    font-weight: 800;
    font-size: 28px;
    color: var(--ps-text);
}

.ps-home-v1 .ps-home-stat__label {
    color: var(--ps-muted);
    font-size: 12px;
    margin-top: 4px;
}

.ps-home-v1 .ps-home-card,
.ps-home-v1 .ps-home-service,
.ps-home-v1 .ps-home-port,
.ps-home-v1 .ps-home-devis {
    background: var(--ps-card);
    border: 1px solid var(--ps-border);
    border-radius: 12px;
    padding: 18px;
    height: 100%;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.ps-home-v1 .ps-home-card--gradient {
    border-left: 6px solid #f28c00;
}

.ps-home-v1 .ps-home-card--media { display:grid; grid-template-columns:minmax(220px,34%) 1fr; padding:0; overflow:hidden; }
.ps-home-v1 .ps-home-card__media { display:block; min-height:280px; background:#dfe5ec; }
.ps-home-v1 .ps-home-card__media img { display:block; width:100%; height:100%; min-height:280px; object-fit:cover; }
.ps-home-v1 .ps-home-card__content { display:flex; align-items:flex-start; flex-direction:column; justify-content:center; padding:28px; }

.ps-home-v1 .ps-home-card-title {
    margin: 0 0 8px;
}

.ps-home-v1 .ps-home-list {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}

.ps-home-v1 .ps-home-list li {
    padding: 5px 0;
    border-bottom: 1px dashed #eaeaea;
}

.ps-home-v1 .ps-home-list a {
    color: #0f172a;
    text-decoration: none;
}

.ps-home-v1 .ps-home-list a:hover {
    text-decoration: underline;
}

.ps-home-v1 .ps-home-service a,
.ps-home-v1 .ps-home-link,
.ps-home-v1 .ps-home-service a:visited {
    color: #0f172a;
}

.ps-home-v1 .ps-home-service h3 {
    margin-bottom: 8px;
}

.ps-home-v1 .ps-home-service p {
    color: var(--ps-muted);
}

.ps-home-v1 .ps-home-service { padding:0; overflow:hidden; }
.ps-home-v1 .ps-home-service--media { display:grid; grid-template-columns:minmax(150px,34%) 1fr; gap:0; }
.ps-home-v1 .ps-home-service__media { display:block; min-height:190px; background:#dfe5ec; }
.ps-home-v1 .ps-home-service__media img { display:block; width:100%; height:100%; min-height:190px; object-fit:cover; }
.ps-home-v1 .ps-home-service__content { display:flex; align-items:flex-start; flex-direction:column; justify-content:center; padding:24px; }
.ps-home-v1 .ps-home-service__content a { margin-top:auto; font-weight:800; text-decoration:none; }

.ps-home-v1 .ps-home-port__media {
    min-height: 150px;
    border-radius: 10px;
    background: linear-gradient(155deg, #dbeafe 0, #fde68a 55%, #fda4af 100%);
    margin-bottom: 10px;
}

.ps-home-v1 .ps-home-port p {
    color: var(--ps-muted);
    margin-bottom: 0;
}

.ps-home-v1 .ps-home-port { padding:0; overflow:hidden; border-radius:16px; }
.ps-home-v1 .ps-home-port__cover { display:block; width:100%; overflow:hidden; background:#dfe5ec; }
.ps-home-v1 .ps-home-port__cover img { display:block; width:100%; height:250px; border-radius:0; object-fit:cover; transition:transform .35s ease; }
.ps-home-v1 .ps-home-port:hover .ps-home-port__cover img { transform:scale(1.025); }
.ps-home-v1 .ps-home-port__content { margin:0; padding:20px 22px 24px; }
.ps-home-v1 .ps-home-portfolio-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.ps-home-v1 .ps-home-portfolio-controls { display:flex; gap:9px; }
.ps-home-v1 .ps-home-portfolio-controls button { width:48px; height:48px; display:grid; place-items:center; border:1px solid #d8dee8; border-radius:50%; background:#fff; color:var(--ps-dark); font-size:20px; transition:.2s ease; }
.ps-home-v1 .ps-home-portfolio-controls button:hover { border-color:var(--ps-primary); background:var(--ps-primary); }
.ps-home-v1 .ps-home-portfolio-track { display:flex; gap:20px; overflow-x:auto; padding:2px 2px 24px; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:#9aa2ad transparent; }
.ps-home-v1 .ps-home-portfolio-slide { flex:0 0 calc((100% - 40px)/3); min-width:0; scroll-snap-align:start; }
.ps-home-v1 .ps-home-portfolio-slide--empty { flex-basis:100%; }

.ps-home-v1 .ps-home-section--services .col-md-6:nth-child(odd) .ps-home-service {
    background: linear-gradient(140deg, #fff, #fffbeb);
}

.ps-home-v1 .ps-home-section--services .col-md-6:nth-child(even) .ps-home-service {
    background: linear-gradient(140deg, #fff, #eff6ff);
}

.ps-home-v1 .ps-home-devis p {
    max-width: 760px;
    color: var(--ps-muted);
}

.ps-home-v1 .ps-home-form .form-control {
    border-radius: 10px;
    border-color: #dce1ea;
}

.ps-home-v1 .ps-home-form .form-control:focus {
    border-color: #f28c00;
    box-shadow: 0 0 0 0.2rem rgba(242, 140, 0, 0.16);
}

@media (max-width: 767px) {
    .ps-home-v1 .ps-home-hero { min-height:620px; align-items:flex-end; background-position:62% center; }
    .ps-home-v1 .ps-home-hero__overlay { background:linear-gradient(0deg,rgba(4,9,18,.97) 0%,rgba(4,9,18,.72) 55%,rgba(4,9,18,.18) 100%); }
    .ps-home-v1 .ps-home-hero .ps-home-title { font-size:clamp(34px,11vw,48px); }
    .ps-home-v1 .ps-home-hero-slide { min-height:500px; align-items:flex-end; background-position:62% center; }
    .ps-home-v1 .ps-home-hero-slide .ps-home-hero__overlay { background:linear-gradient(0deg,rgba(4,9,18,.97) 0%,rgba(4,9,18,.72) 58%,rgba(4,9,18,.18) 100%); }
    .ps-home-v1 .ps-home-hero-slide .ps-home-hero__content { padding:70px 0 90px; }
    .ps-home-v1 .ps-home-hero-slide .ps-home-title { font-size:clamp(35px,10vw,48px); }
    .ps-home-v1 .ps-home-hero-nav { bottom:18px; }
    .ps-home-v1 .ps-home-hero-arrows button { width:38px; height:38px; }
    .ps-home-v1 .ps-home-kicker {
        margin-bottom: 5px;
    }
    .ps-home-v1 .ps-home-service--media { grid-template-columns:112px 1fr; }
    .ps-home-v1 .ps-home-service__media,.ps-home-v1 .ps-home-service__media img { min-height:160px; }
    .ps-home-v1 .ps-home-service__content { padding:18px; }
    .ps-home-v1 .ps-home-card--media { grid-template-columns:1fr; }
    .ps-home-v1 .ps-home-card__media,.ps-home-v1 .ps-home-card__media img { min-height:210px; max-height:240px; }
    .ps-home-v1 .ps-home-portfolio-slide { flex-basis:86%; }
    .ps-home-v1 .ps-home-portfolio-controls button { width:42px; height:42px; }
}

@media (min-width:768px) and (max-width:1100px) {
    .ps-home-v1 .ps-home-portfolio-slide { flex-basis:calc((100% - 20px)/2); }
}

/* Harmonise un peu la hauteur globale si thème Neve ajoute du padding */
.ps-home-v1 .entry-content,
.ps-home-v1 .content-area {
    margin-bottom: 0 !important;
}
