/* === Korvitania — ruel.fr style (French printing, orange #F39300, Nunito Sans + Noto Serif, gallery) === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Nunito Sans',Arial,sans-serif;font-size:16px;line-height:1.7;font-weight:300;color:#131212;background:#fff}
a{color:#F39300;text-decoration:none;transition:color .2s}
a:hover{color:#d17e00}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
h1,h2,h3,h4{line-height:1.2;color:#131212}
h1{font-family:'Nunito Sans',sans-serif;font-size:48px;font-weight:300;text-transform:uppercase;color:#F39300;margin-bottom:18px;letter-spacing:1px}
h2{font-family:'Nunito Sans',sans-serif;font-size:32px;font-weight:300;text-transform:uppercase;color:#F39300;margin-bottom:16px}
h3{font-family:'Noto Serif',Georgia,serif;font-size:22px;font-weight:700;margin-bottom:12px;color:#131212}
p{margin-bottom:16px;color:#41413C}
.container{max-width:1200px;margin:0 auto;padding:0 28px}

/* HEADER — dark bg, logo left, nav right (ruel style) */
.header{background:#131212;padding:16px 0;position:sticky;top:0;z-index:100}
.header .container{display:flex;justify-content:space-between;align-items:center}
.logo img{height:36px;filter:brightness(10)}
.nav-menu{display:flex;gap:24px;align-items:center}
.nav-menu a{font-size:14px;font-weight:400;color:rgba(255,255,255,.8);transition:color .2s}
.nav-menu a:hover{color:#F39300}
.mobile-toggle{display:none;background:none;border:none;color:#fff;font-size:22px;cursor:pointer}

/* HERO — ruel style: large text left, feature image right */
.hero{padding:80px 0;background:#fff}
.hero .container{display:flex;align-items:center;gap:48px}
.hero-content{flex:1}
.hero-content h1{font-size:52px;line-height:1.05}
.hero-content h1 span{display:block;color:#131212;font-family:'Noto Serif',serif;font-weight:700;font-style:italic;text-transform:none;font-size:42px}
.hero-content p{font-size:18px;color:#41413C;margin-top:20px;max-width:500px}
.hero-image{flex:0 0 40%;border-radius:20px;overflow:hidden}
.hero-image img{width:100%;border-radius:20px}

/* GALLERY — ruel réalisations style (masonry-like grid) */
.gallery-section{padding:60px 0;background:#f2f2f2}
.gallery-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.gallery-section .section-header h2{margin:0}
.gallery-section .section-header a{color:#F39300;font-weight:600;font-size:14px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery-grid img{width:100%;border-radius:12px;object-fit:cover;height:280px;transition:transform .3s}
.gallery-grid img:hover{transform:scale(1.03)}

/* ABOUT — ruel "Depuis 1854" style */
.about-section{padding:70px 0;background:#fff}
.about-inner{display:flex;align-items:center;gap:48px}
.about-image{flex:0 0 45%;border-radius:12px;overflow:hidden}
.about-image img{width:100%;border-radius:12px}
.about-content{flex:1}
.about-content h2{margin-bottom:12px}
.about-content p{font-size:17px;color:#41413C}

/* KEY FIGURES — ruel chiffres-clés style */
.figures-row{display:flex;justify-content:center;gap:32px;padding:40px 0;flex-wrap:wrap}
.figure-item{border:1px solid #F39300;border-radius:20px;padding:24px 32px;text-align:center;min-width:180px}
.figure-item h3{font-size:36px;color:#F39300;margin-bottom:4px;font-family:'Nunito Sans',sans-serif;font-weight:700}
.figure-item p{font-size:13px;color:#41413C;text-transform:uppercase;letter-spacing:1px;margin:0}

/* SAVOIR-FAIRE — techniques list */
.techniques-section{padding:48px 0;background:#131212;color:#fff;text-align:center}
.techniques-section h2{color:#F39300}
.techniques-list{font-size:14px;color:rgba(255,255,255,.6);letter-spacing:1px;margin-top:16px}

/* CONTACT FORM — ruel "On s'appelle?" style */
.contact-form-section{padding:60px 0;background:#f2f2f2}
.contact-form-section h2{text-align:center;margin-bottom:8px}
.contact-form-section .sub{text-align:center;color:#41413C;margin-bottom:28px}
.contact-form-section form{max-width:500px;margin:0 auto}

/* BUTTONS */
.btn{display:inline-block;padding:12px 28px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none;text-transform:uppercase;letter-spacing:1px}
.btn-primary{background:#F39300;color:#fff}
.btn-primary:hover{background:#d17e00}
.btn-outline{background:transparent;border:2px solid #F39300;color:#F39300}
.btn-outline:hover{background:#F39300;color:#fff}
.btn-full{width:100%;text-align:center}

/* FORM */
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:12px;font-weight:600;margin-bottom:5px;color:#41413C;text-transform:uppercase;letter-spacing:.5px}
.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:15px;font-family:inherit}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#F39300}
.form-submit{width:100%;padding:14px;background:#F39300;color:#fff;border:none;border-radius:4px;font-size:15px;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:1px}
.form-submit:hover{background:#d17e00}
.form-note{text-align:center;font-size:12px;color:#999;margin-top:10px}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;align-items:center;justify-content:center}
.modal-overlay.active{display:flex}
.modal{background:#fff;border-radius:12px;padding:36px;max-width:440px;width:90%;position:relative}
.modal-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:26px;cursor:pointer;color:#999}
.modal h3{color:#131212;margin-bottom:18px;text-align:center}

/* FOOTER — ruel style: dark, address + social + legal */
.footer{background:#131212;color:rgba(255,255,255,.6);padding:44px 0 20px}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:24px}
.footer h4{color:#F39300;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}
.footer p{font-size:13px}
.footer a{color:rgba(255,255,255,.6);font-size:13px;transition:color .2s}
.footer a:hover{color:#F39300}
.footer-links li{margin-bottom:6px}
.footer-social{display:flex;gap:16px;margin-top:12px}
.footer-social a{color:rgba(255,255,255,.5);font-size:14px}
.footer-social a:hover{color:#F39300}
.footer-eu{padding:16px 0;border-top:1px solid rgba(255,255,255,.1);font-size:11px;color:rgba(255,255,255,.3);text-align:center;line-height:1.6;margin-top:16px}
.footer-eu a{color:rgba(255,255,255,.3)}
.footer-bottom{text-align:center;font-size:12px;color:rgba(255,255,255,.25);padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}

/* PAGE CONTENT */
.breadcrumb{padding:14px 0;font-size:14px;color:#999}
.breadcrumb a{color:#F39300}
.page-content{padding:40px 0 70px}
.page-content h1{margin-bottom:28px;font-size:32px}
.page-content h2{font-size:24px;margin-top:28px}
.page-content p{color:#41413C}
.page-content ul{margin:14px 0 14px 20px}
.page-content ul li{padding:3px 0;list-style:disc;color:#41413C}
.price-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:16px}
.price-table th{background:#f2f2f2;color:#131212;padding:10px 14px;text-align:left}
.price-table td{padding:10px 14px;border-bottom:1px solid #eee;color:#41413C}
.delivery-list li{padding:8px 0;padding-left:28px;position:relative;color:#41413C}
.delivery-list li::before{content:'✓';position:absolute;left:0;color:#F39300;font-weight:700}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.contact-card{background:#f2f2f2;border-radius:8px;padding:24px}
.contact-card h4{color:#F39300;margin-bottom:10px;font-family:'Nunito Sans',sans-serif}
.contact-card p{font-size:14px;color:#41413C;margin-bottom:4px}
.contact-card a{color:#F39300}
.thankyou-section{padding:120px 0;text-align:center}
.thankyou-section .checkmark{width:72px;height:72px;background:#F39300;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.thankyou-section .checkmark svg{width:36px;height:36px;fill:#fff}
.thankyou-section h1{color:#F39300;font-size:28px;text-transform:none}

/* RESPONSIVE */
@media(max-width:999px){.hero .container,.about-inner{flex-direction:column}.hero-image,.about-image{flex:none;width:100%}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid,.contact-grid{grid-template-columns:1fr}.figures-row{gap:16px}}
@media(max-width:690px){
  .nav-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#131212;flex-direction:column;padding:20px;gap:12px}
  .nav-menu.open{display:flex}
  .mobile-toggle{display:block}
  .hero-content h1{font-size:32px}.hero-content h1 span{font-size:28px}
  .gallery-grid{grid-template-columns:1fr}
}
