*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#fbf5ef;--color-bg-alt:#f4ebdd;--color-text:#2e2a24;--color-text-muted:#6b6258;--color-border:#e3d8c8;--color-primary:#c1502e;--color-primary-hover:#a8421f;--color-secondary:#5f7a5e;--color-secondary-hover:#4c6450;--radius:.6rem}html,body{height:100%}body{background:var(--color-bg);min-height:100%;color:var(--color-text);flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6;display:flex}a{color:var(--color-primary)}h1,h2,h3{font-weight:700;line-height:1.25}h1{margin-bottom:1rem;font-size:clamp(1.9rem,4vw,2.6rem)}h2{margin:1.75rem 0 .75rem;font-size:1.35rem}h3{margin-bottom:.4rem;font-size:1.1rem}p{margin-bottom:1rem}ul,ol{margin-bottom:1rem;padding-left:1.25rem}li{margin-bottom:.4rem}.container{flex:1;width:100%;max-width:760px;margin:0 auto;padding:2.5rem 1.25rem}.site-header{background:var(--color-bg-alt);border-bottom:2px solid var(--color-primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1.1rem 1.5rem;display:flex}.site-logo{color:var(--color-text);font-size:1.1rem;font-weight:800;text-decoration:none}.site-nav{flex-wrap:wrap;gap:1.25rem;display:flex}.site-nav a{color:var(--color-text);font-weight:500;text-decoration:none;transition:color .15s;position:relative}.site-nav a:hover{color:var(--color-primary)}.site-nav a:after{content:"";background:var(--color-primary);width:0;height:2px;transition:width .15s;position:absolute;bottom:-3px;left:0}.site-nav a:hover:after{width:100%}.site-footer{text-align:center;color:var(--color-text-muted);border-top:1px solid var(--color-border);padding:1.75rem 1.25rem;font-size:.85rem}.section{padding:3rem 1.25rem}.section-alt{background:var(--color-bg-alt)}.section-inner{width:100%;max-width:960px;margin:0 auto}.hero-grid{flex-direction:column;align-items:center;gap:2.5rem;display:flex}.hero-content{flex-direction:column;gap:1rem;display:flex}.hero-content p{color:var(--color-text-muted);font-size:1.1rem}.hero-visual{width:100%;max-width:360px}.hero-illustration{width:100%;height:auto}@media (min-width:800px){.hero-grid{flex-direction:row;align-items:center}.hero-content{flex:1}.hero-visual{flex:1;max-width:420px}}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.btn{border-radius:var(--radius);background:var(--color-primary);color:#fff;cursor:pointer;border:none;padding:.65rem 1.25rem;font-weight:600;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s;display:inline-block}.btn:hover{background:var(--color-primary-hover);color:#fff;transform:translateY(-2px);box-shadow:0 6px 14px #c1502e40}.btn:active{box-shadow:none;transform:translateY(0)}.btn-secondary{color:var(--color-secondary);border:1px solid var(--color-secondary);background:0 0}.btn-secondary:hover{background:var(--color-secondary);color:#fff;box-shadow:0 6px 14px #5f7a5e40}.btn-link{color:var(--color-text-muted);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.faq-list{flex-direction:column;gap:1.25rem;display:flex}.faq-item{background:var(--color-bg-alt);border-radius:var(--radius);border-left:3px solid var(--color-secondary);padding:1rem 1.25rem;transition:border-color .15s,transform .15s}.faq-item:hover{border-left-color:var(--color-primary);transform:translate(2px)}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;font-weight:700;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--color-secondary);flex-shrink:0;font-size:1.4rem;line-height:1}.faq-item[open] summary:after{content:"−"}.faq-item p{color:var(--color-text-muted);margin:.6rem 0 0}.message-banner{background:var(--color-secondary);color:#fff;border-radius:var(--radius);margin:.5rem 0 1.5rem;padding:1.25rem 1.5rem;font-size:1.05rem;font-weight:600}.cards-grid{flex-direction:column;gap:1rem;margin:1rem 0 1.5rem;display:flex}@media (min-width:640px){.cards-grid{flex-direction:row}.cards-grid .card{flex:1}}.card{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;padding:1.25rem;transition:transform .15s,box-shadow .15s}.card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #2e2a2414}.card h3{color:var(--color-primary)}.icon-circle{background:var(--color-bg-alt);width:48px;height:48px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.75rem;display:flex}.icon-circle svg{width:24px;height:24px}.realisations-list{flex-direction:column;gap:1.25rem;list-style:none;display:flex}.realisation-card{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;transition:transform .15s,box-shadow .15s;overflow:hidden}.realisation-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #2e2a241a}.realisation-card:hover .realisation-image{transform:scale(1.05)}.realisation-card-body{padding:1.25rem}.realisation-image{object-fit:cover;width:100%;height:200px;transition:transform .25s;display:block}.realisation-image-placeholder{background:var(--color-bg-alt);width:100%;height:200px;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}.kanban-board{flex-direction:column;gap:1.5rem;display:flex}.kanban-column h2{color:var(--color-secondary);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .75rem;font-size:1rem}.kanban-move{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.kanban-move label{font-size:.85rem}@media (min-width:768px){.kanban-board{flex-direction:row;align-items:flex-start}.kanban-column{flex:1;min-width:0}}.contact-form{flex-direction:column;gap:.5rem;margin-top:1.5rem;display:flex}.contact-form label{margin-top:.5rem;font-weight:600}.contact-form input,.contact-form textarea{border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;color:var(--color-text);background:#fff;padding:.65rem .75rem}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--color-secondary);outline-offset:1px}.contact-form button{align-self:flex-start;margin-top:.5rem}.form-success{color:var(--color-secondary)}.form-error{color:var(--color-primary)}
