/* cmsms stylesheet: dy2026 Main modified: Saturday, November 7, 2026 10:23:44 PM */
/* dy2026 — styles d'origine de la maquette D&Y Services (minifiés). Ajouts CMSMS : voir « dy2026 Custom ». */
:root{--lime:#c1ef00;--ink:#181b18;--paper:#f6f7f2;--muted:#62685e;--line:#dce0d5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #708600;outline-offset:5px}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.topline{background:var(--ink);color:#fff;font-size:12px;letter-spacing:.06em}.topline .wrap{display:flex;justify-content:space-between;padding:8px 0}.topline span:before{content:'●';color:var(--lime);margin-right:10px}header{position:sticky;top:0;z-index:20;background:rgba(246,247,242,.97);border-bottom:1px solid var(--line)}nav{height:96px;display:flex;align-items:center;gap:32px}.logo{width:178px;height:76px;overflow:hidden;position:relative;flex-shrink:0}.logo img{position:absolute;width:195px;height:auto;top:-12px;left:-8px;mix-blend-mode:multiply}.navlinks{display:flex;gap:29px;margin-left:auto;font-size:14px;font-weight:600}.navlinks a:hover{text-decoration:underline;text-decoration-color:#8aab00;text-underline-offset:7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--lime);color:#171b0a;padding:15px 22px;font-size:14px;font-weight:700;border:1px solid transparent;transition:background .2s,transform .2s;cursor:pointer}.btn:hover{background:#b1db00;transform:translateY(-2px)}.btn.dark{background:var(--ink);color:white}.btn.outline{background:transparent;border-color:#b9bfb1}.arrow{font-size:20px;line-height:1}.menu{display:none;border:0;background:transparent;padding:12px;font-weight:bold}.hero{padding:64px 0 54px;position:relative}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:68px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;display:flex;align-items:center;gap:12px;margin:0 0 24px}.eyebrow:before{content:'';display:block;width:25px;height:2px;background:#8da900}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.4vw,76px);line-height:1.02;letter-spacing:-.065em;margin-bottom:28px;font-weight:800}h1 em{font-style:normal;position:relative;display:inline-block}h1 em:after{content:'';position:absolute;height:11px;left:0;right:0;bottom:1px;background:var(--lime);z-index:-1}.hero-copy{max-width:460px;color:var(--muted);font-size:17px;line-height:1.8}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:29px 0 28px}.smallnote{font-size:12px;color:var(--muted)}.hero-art{position:relative;padding:0 18px 18px 0}.hero-art:before{content:'';position:absolute;inset:25px 0 0 25px;background:var(--lime)}.hero-art img{position:relative;display:block;width:100%;height:auto;box-shadow:0 15px 40px #11111112}.marquee{border-block:1px solid var(--line);padding:22px 0}.marquee .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;font-weight:600}.spark{font-size:23px;color:#8ba800}.section{padding:100px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:48px}h2{font-size:clamp(32px,3.5vw,48px);line-height:1.12;letter-spacing:-.045em;margin-bottom:0}.section-head>p{margin:0;color:var(--muted);max-width:470px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{background:white;border:1px solid var(--line);padding:32px;display:flex;flex-direction:column}.service:nth-child(2){background:#edf1e5}.service-num{font-size:12px;letter-spacing:.12em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:25px;display:flex;justify-content:space-between}.service-num b{font-size:24px;color:var(--ink)}h3{font-size:25px;line-height:1.2;letter-spacing:-.03em;margin-bottom:15px}.service>p{font-size:14px;color:var(--muted);min-height:46px}.service ul{list-style:none;padding:0;margin:7px 0 25px;font-size:14px}.service li{border-bottom:1px solid var(--line);padding:13px 0 13px 19px;position:relative}.service li:before{content:'↗';position:absolute;left:0;color:#738b00}.service>a{font-size:13px;font-weight:700;margin-top:auto;display:flex;justify-content:space-between;padding-top:8px}.request-note{margin-top:24px;font-size:14px;color:var(--muted);border-left:3px solid var(--lime);padding-left:18px}.story{background:var(--ink);color:white;overflow:hidden}.story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.brand-block{aspect-ratio:1;background:var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.brand-block .initials{font-size:clamp(85px,10vw,150px);letter-spacing:-.09em;font-weight:800;line-height:1;color:var(--ink)}.brand-block .names{font-size:14px;letter-spacing:.24em;color:var(--ink);margin-top:27px}.brand-block .corner{position:absolute;top:18px;right:25px;font-size:45px;color:var(--ink)}.story h2{margin-bottom:28px}.story p{color:#c3c8be;font-size:16px}.story .eyebrow{color:#d4d8cf}.signature{color:var(--lime)!important;font-weight:700;margin-top:30px;margin-bottom:0}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.step{border-top:1px solid #c9cebf;padding-top:25px}.step span{font-size:12px;color:#657250}.step h3{font-size:21px;margin:15px 0 12px}.step p{font-size:15px;color:var(--muted);margin-bottom:0}.coming{margin-top:50px;background:#e9edde;padding:25px 30px;display:grid;grid-template-columns:170px 1fr;gap:30px;font-size:14px}.coming b{font-size:11px;letter-spacing:.13em;text-transform:uppercase}.coming p{margin-bottom:0;color:var(--muted)}.contact{background:#e9eddf;padding:90px 0}.contact-top{display:flex;justify-content:space-between;gap:35px;align-items:end;padding-bottom:50px;border-bottom:1px solid #c9cebf}.contact-top .actions{margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:48px;padding-top:50px}.label{font-size:11px;letter-spacing:.13em;font-weight:700;text-transform:uppercase;margin-bottom:18px}.contact h3{font-size:23px}.contact p{font-size:14px;color:#535c48}.contact-link{display:block;font-size:17px;font-weight:700;margin:8px 0;word-break:break-word}.text-link{font-size:13px;font-weight:700;display:inline-block;border-bottom:1px solid #798564;margin-top:10px}.hours{font-size:12px;width:100%;border-collapse:collapse}.hours td{padding:9px 0;border-bottom:1px solid #ccd3bf;vertical-align:top}.hours td:first-child{font-weight:700;padding-right:15px}.hours td:last-child{text-align:right}.hours small{font-size:11px;color:#58634a}.office-note{font-size:11px!important;margin:16px 0 0}.faq{padding:65px 0}.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.faq h2{font-size:32px}details{border-bottom:1px solid var(--line);padding:19px 0}summary{font-size:15px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+'}details[open] summary:after{content:'−'}details p{font-size:14px;color:var(--muted);margin:14px 0 0;max-width:650px}footer{border-top:1px solid var(--line);padding:30px 0}footer .wrap{display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:11px;color:var(--muted)}footer strong{color:var(--ink);font-size:15px}.mobile-call{display:none}::selection{background:var(--lime);color:#111}@media(min-width:1500px){.hero-art{max-width:530px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero-grid{gap:35px}.navlinks{gap:18px}.service{padding:23px}.story-grid{gap:50px}.contact-grid{gap:24px}.contact-top{align-items:start}.contact-top .actions{max-width:215px}.hero{padding-top:40px}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.topline .wrap{justify-content:center}.topline a{display:none}nav{height:78px;gap:12px}.logo{width:145px;height:65px}.logo img{width:164px;top:-8px}nav>.btn{margin-left:auto;padding:11px 13px;font-size:12px}.menu{display:block}.navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px;box-shadow:0 12px 15px #0001}.navlinks.open{display:flex;flex-direction:column}.hero-grid{grid-template-columns:1fr;gap:30px}.hero{padding:38px 0}.eyebrow{font-size:10px;margin-bottom:20px}h1{font-size:54px;max-width:480px}.hero-copy{font-size:16px}.hero-art{max-width:470px;width:100%;margin:5px auto 0;padding-right:12px;padding-bottom:12px}.marquee .wrap{flex-wrap:wrap;justify-content:center;gap:10px 16px;font-size:10px}.marquee .spark:last-of-type{display:none}.section{padding:65px 0}.section-head{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.service-grid{grid-template-columns:1fr;gap:16px}.service{padding:28px}.service>p{min-height:0}.service-num{padding-bottom:15px;margin-bottom:20px}.service li{padding-block:11px}.story-grid{grid-template-columns:1fr;gap:35px}.brand-block{max-width:360px;width:100%;aspect-ratio:1.3}.brand-block .initials{font-size:110px}.process{grid-template-columns:1fr;gap:30px;margin-top:30px}.coming{grid-template-columns:1fr;gap:12px;padding:24px}.contact{padding:60px 0}.contact-top{flex-direction:column;align-items:start;padding-bottom:30px}.contact-top .actions{max-width:none}.contact-grid{grid-template-columns:1fr;gap:35px;padding-top:35px}.hours{font-size:13px}.faq-grid{grid-template-columns:1fr;gap:25px}.faq{padding:50px 0}footer .wrap{flex-direction:column;align-items:start;gap:10px}footer{padding-bottom:85px}.mobile-call{display:flex;position:fixed;bottom:14px;left:18px;right:18px;z-index:30;box-shadow:0 5px 25px #0002;justify-content:space-between;padding:14px 22px}.hero-art img{box-shadow:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* cmsms stylesheet: dy2026 Custom modified: Saturday, November 7, 2026 10:23:44 PM */
/* ==========================================================
   dy2026 — ajouts CMSMS (chargée après « dy2026 Main »)
   ========================================================== */

/* Accessibilité */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:10px 16px}
.skip-link:focus{left:16px;top:16px}
section[id],main[id]{scroll-margin-top:110px}
.hero-copy p{margin-bottom:0}
.section-head>p:empty{display:none}

/* Pied de page : fond noir + logo */
.site-footer{background:var(--ink);color:#c3c8be;border-top:0;padding:70px 0 0}
.site-footer a{color:#fff}
.site-footer .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:48px;align-items:start;font-size:14px;color:#c3c8be}
.site-footer .label{color:var(--lime);font-size:11px;letter-spacing:.13em;font-weight:700;text-transform:uppercase;margin-bottom:16px}
.site-footer p{margin-bottom:10px}
.footer-logo{display:block;width:220px;height:110px;overflow:hidden;position:relative}
.footer-logo img{position:absolute;width:240px;height:auto;top:-12px;left:-10px}
.footer-slogan{margin-top:14px;font-size:15px;color:#fff}
.footer-link{display:block;font-weight:700;margin-bottom:8px;word-break:break-word}
.footer-link:hover,.footer-legal a:hover,.link-button:hover{color:var(--lime)}
.footer-tva{font-size:12px;color:#9aa094}
.footer-legal{list-style:none;padding:0;margin:0}
.footer-legal li{margin-bottom:8px}
.link-button{background:none;border:0;padding:0;color:#fff;cursor:pointer;font-size:14px;text-align:left}
.site-footer .footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:50px;padding:22px 0;border-top:1px solid #333833;font-size:12px;color:#9aa094}

/* Pages intérieures (légales) */
.page-hero{padding:70px 0 30px;border-bottom:1px solid var(--line)}
.page-hero .eyebrow a:hover{text-decoration:underline}
.page-hero h1{font-size:clamp(38px,4.5vw,58px);margin-bottom:0}
.page-body{padding:50px 0 90px}
.prose{max-width:780px}
.prose h2{font-size:26px;letter-spacing:-.03em;margin:40px 0 14px}
.prose h3{font-size:19px;margin:28px 0 10px}
.prose p,.prose li{color:#3c4239}
.prose a{text-decoration:underline;text-decoration-color:#8aab00;text-underline-offset:4px}
.prose table{width:100%;border-collapse:collapse;font-size:14px;margin:16px 0}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}
.prose .todo{background:#fff6c2;padding:2px 6px}

/* Bandeau cookies */
.cookie-consent{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ink);color:#e7eae2;box-shadow:0 -8px 30px #0003;padding:20px 0}
.cookie-consent[hidden]{display:none}
.cookie-consent-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.cookie-consent p{margin:0;font-size:14px;max-width:760px}
.cookie-consent a{color:var(--lime);text-decoration:underline}
.cookie-consent-actions{display:flex;gap:10px;flex-shrink:0}
.cookie-consent .btn{padding:11px 20px}
.cookie-consent .btn.outline{color:#fff;border-color:#62685e}

@media(max-width:1000px){
  .site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media(max-width:760px){
  .site-footer{padding-top:50px}
  .site-footer .footer-grid{grid-template-columns:1fr;gap:28px}
  .site-footer .footer-bottom{flex-direction:column;align-items:start;padding-bottom:95px}
  .cookie-consent-inner{flex-direction:column;align-items:stretch;gap:14px}
  .cookie-consent-actions .btn{flex:1}
  .cookie-consent{padding-bottom:20px}
}

/* Pages légales (template « dy2026 Legal ») */
.legal-updated{margin:16px 0 0;font-size:13px;color:var(--muted)}
.legal-grid{display:grid;grid-template-columns:240px 1fr;gap:70px;align-items:start}
.legal-nav{display:block;height:auto;gap:0;position:sticky;top:130px;border-left:3px solid var(--lime);padding-left:20px}
.legal-nav .label{font-size:11px;letter-spacing:.13em;font-weight:700;text-transform:uppercase;margin-bottom:14px}
.legal-nav ul{list-style:none;padding:0;margin:0 0 24px}
.legal-nav li{margin-bottom:10px;font-size:14px}
.legal-nav a.active{font-weight:700}
.legal-nav a.active:before{content:'↗ ';color:#738b00}
.legal-nav a:not(.active):hover{text-decoration:underline;text-decoration-color:#8aab00;text-underline-offset:5px}
.legal-page .prose{max-width:760px}
.legal-page .prose h2:first-child{margin-top:0}
@media(max-width:760px){
  .legal-grid{grid-template-columns:1fr;gap:30px}
  .legal-nav{position:static}
}
