/* DT Rénovation — identité fournie par le client. */
:root {
  --wine: #141611;
  --paper: #f6f6f0;
  --ink: #151613;
  --clay: #e6e7dd;
  --muted: #5b5e54;
  --line: #d3d5c9;
  --light: #fff;
  --yellow: #f4ff00;
  --black: #000;
}
::selection { background: var(--yellow); color: #000; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline: 3px solid #777e00; outline-offset: 5px; }
.local-bar { background: #171914; color: #efefe8; border-bottom: 1px solid #303229; }
.local-bar i,.local-dot { background: var(--yellow); }
.site-header { height: 108px; background: var(--black); color: #fff; border-bottom: 1px solid #262822; }
.site-header.scrolled { border-color: #45483b; }
.brand { display: block; width: 211px; }
.brand img { width: 100%; height: auto; object-fit: contain; }
.desktop-nav { gap: clamp(16px,1.7vw,30px); font-size: 13px; }
.desktop-nav a:after { background: var(--yellow); }
.desktop-nav a[aria-current="page"] { color: var(--yellow); }
.button,.site-header>.button { background: var(--yellow); color: #111; border: 1px solid var(--yellow); font-weight: 700; border-radius: 0; }
.button:hover,.button-light:hover { background: #fff; color: #111; border-color: #111; }
.site-header>.button { font-size: 13px; min-height: 46px; padding: 13px 19px; }
.site-header>.button:hover { border-color: #fff; }
.button-light { background: var(--yellow); color: #111; }
.text-link { color: var(--ink); border-color: var(--ink); }
.hero { grid-template-columns: 1.02fr 1fr; min-height: 660px; }
.hero-copy { background: #0a0b09; color: #fff; padding-top: 32px; position: relative; }
.hero-top { color: #d4d6ca; font-size: 10px; letter-spacing: .15em; }
.outline-mark { color: var(--yellow); border: 1px solid #5d632e; border-radius: 0; }
.hero h1 { text-transform: uppercase; font-size: clamp(45px,4.6vw,76px); font-weight: 700; line-height: .99; letter-spacing: -.045em; margin: 42px 0 25px; }
.hero h1 span { color: var(--yellow); }
.hero h1 .keep-word { white-space:nowrap; }
.hero p { color: #d4d6cc; max-width: 39ch; }
.hero-actions { margin: 30px 0; gap: 19px; }
.hero-actions .text-link { color: #fff; border-color: #686e51; }
.hero-actions .text-link span { color: var(--yellow); }
.hero-foot { color: #c9ccbc; border-color: #414635; }
.photo-caption { background: var(--yellow); color: #111; font-weight: 600; }
.photo-caption>span:last-child { font-size: 24px; }
.promise-strip { background: var(--yellow); color: #111; border: 0; }
.promise-strip>span:before { color: #111; font-weight: 700; }
.promise-strip a { color: #111; }
.eyebrow { font-weight: 700; letter-spacing: .16em; }
h1,h2,h3 { font-weight: 700; }
.home-proof { padding-top: 86px; }
.work-open,.round-arrow { color: #111; background: var(--yellow); border: 1px solid var(--yellow); border-radius: 0; }
.work-open { border-radius: 0; }
.work-image { background: #dedfd5; }
.work-proof { background: var(--yellow); color: #111; border-radius: 0; }
.work-card h3 { font-weight: 600; }
.service-row:hover,.service-row:hover .round-arrow { color: #111; }
.service-row:hover .round-arrow { background: #111; border-color: #111; color: var(--yellow); }
.page-hero-copy { background: #10120e; color: #fff; }
.page-hero-copy .text-link { color: #fff; border-color: #848b6f; }
.page-hero-copy .eyebrow { color: var(--yellow); }
.page-hero h1 { font-weight: 700; }
.image-credit { background: #000; color: #fff; }
.answer-band { background: #e9ebdf; }
.answer-band>span { border-left: 4px solid #858c00; padding-left: 16px; }
.closing-cta,.project-takeaway { background: #10120e; color: #fff; }
.closing-cta h2 { max-width: 20ch; }
.closing-cta p,.project-takeaway p { color: #c9cebb; }
.project-takeaway .button { background: var(--yellow); color: #111; }
.filter-list button[aria-pressed="true"] { background: var(--yellow); color: #111; border-color: #111; }
.portfolio-heading h1>span { color: #676b5c; }
.case-labels>span { background: #e8ebda; color: #272b1c; }
.case-subnav { top: 108px; background: #f6f6f0f5; border-bottom: 1px solid var(--line); }
.case-subnav>a:last-child { background: var(--yellow); color: #111; padding: 9px 14px; }
.case-cover-action { background: var(--yellow); color: #111; }
.contact { background: #e8ebdf; }
.contact-local .local-dot { background: #697100; }
.form-progress { border-color: #b9beaa; }
.form-progress i.active { background: #30371c; }
input,select,textarea { border-color: #b6bdaa; border-radius: 0; }
input:focus,select:focus,textarea:focus { outline-color: #687000; }
.form-disclosure,.contact-copy .contact-note { color: #525a44; }
.form-result pre { border-color: #b9beaa; }
.table-scroll thead { background: #141611; color: #fff; }
.table-scroll tbody tr:nth-child(even) { background: #e9ebdf; }
.footer { background: #000; color: #f4f5ec; }
.footer .brand { width: 270px; }
.footer-top>p { color: #edf0de; font-weight: 600; }
.footer-directory { grid-template-columns:1.15fr 1.3fr 1fr 1fr 1.25fr; gap:26px; border-color: #32362a; }
.footer-directory strong { color: var(--yellow); }
.footer-directory span { color: #b9c0aa; }
.footer-directory .footer-phone { color:var(--yellow); }
.footer-bottom { color: #bfc4b1; border-color: #34382c; }
.creation-credit strong { color: var(--yellow); }
.footer .back-top { border-color: #555e3c; color: var(--yellow); border-radius: 0; }
.mobile-nav { background: #080a06; color: #fff; border-color: #41482e; }
.mobile-subnav { color: #bdc3ae; }
.mobile-nav>a:last-child { color: var(--yellow); }
.menu-lines { border-color: var(--yellow); }
.menu-toggle { color: #fff; }
.mobile-contact { background: #000; border-top: 1px solid #485033; color: #fff; }
.mobile-contact>a:first-child { background: var(--yellow); color: #111; }
.mobile-contact>a:last-child { background: #111; color: #fff; }
.lightbox { background: #090b07; color: #fff; }
.lightbox::backdrop { background: #000e; }
.lightbox-image-wrap>button { background: var(--yellow); color: #111; }
.not-found { background: #0a0b09; color: #fff; }
.not-found .brand { width: 260px; }
.not-found .text-link { color: #fff; border-color: #fff; }
.brand-project-note { padding: 0; }
.trade-jump { display:flex; flex-wrap:wrap; gap:12px 26px; padding-top:25px; padding-bottom:25px; border-bottom:1px solid var(--line); }
.trade-jump a { font-size:13px; font-weight:600; padding:9px 0; }
.trade-jump a span { margin-left:12px; }
.trade-details>section { grid-template-columns:110px 1fr; scroll-margin-top:125px; }
.trade-details .reading-number { display:block; width:95px; padding:8px; background:#000; align-self:start; }
.trade-details .reading-number img { width:79px; height:79px; object-fit:contain; }
.trade-details .eyebrow { margin-bottom:17px; color:var(--muted); }
.trade-details .text-link { margin-top:23px; }
@media(min-width:1600px) { .site-header { height: 116px; }.case-subnav { top: 116px; }.hero h1 { font-size: 82px; } }
@media(max-width:1100px) { .brand { width: 180px; }.site-header { gap: 18px; }.desktop-nav { font-size: 12px; gap: 17px; }.site-header>.button { font-size: 11px; padding: 12px 14px; }.hero h1 { font-size: 52px; }}
@media(max-width:950px) { .desktop-nav { display:none; }.menu-toggle { display:flex; align-items:center; gap:13px; background:transparent; min-height:44px; padding:0; }.site-header>.button { margin-left:auto; }.hero h1 { font-size:46px; }}
@media(max-width:760px) {
  :root { scroll-padding-top:94px; }
  .local-bar { font-size:9px; }
  .site-header { height:94px; padding:0 22px; gap:18px; }
  .brand { width:174px; }
  .site-header>.button { display:none; }
  .menu-toggle { margin-left:auto; }
  .hero { grid-template-columns:1fr; min-height:0; }
  .hero-copy { padding:29px 24px 25px; min-height:520px; }
  .hero-top { font-size:8px; letter-spacing:.13em; }
  .hero h1 { font-size:clamp(44px,11.7vw,68px); margin:32px 0 25px; line-height:1.02; max-width:12ch; }
  .hero h1 br:first-child,.hero h1 br:first-of-type { display:block; }
  .hero p { font-size:16px; max-width:35ch; }
  .hero-actions { margin:29px 0; align-items:flex-start; flex-direction:column; gap:16px; }
  .hero .button { font-size:14px; }
  .hero .text-link { font-size:13px; }
  .hero-foot { font-size:9px; gap:15px; }
  .hero-photo { height:440px; }
  .photo-caption { font-size:11px; }
  .promise-strip { gap:12px; flex-wrap:wrap; font-size:11px; }
  .promise-strip>span:before { font-size:17px; }
  .home-proof { padding-top:60px; }
  .case-subnav { top:94px; }
  .footer .brand { width:220px; }
  .footer-directory { grid-template-columns:1fr 1fr; gap:32px 23px; }
  .footer-top { gap:25px; flex-wrap:wrap; }
  .footer-top>p { font-size:24px; }
  .footer-bottom { white-space:normal; }
  .trade-details>section { grid-template-columns:1fr; gap:20px; scroll-margin-top:110px; }
  .trade-details .reading-number { width:80px; }
  .trade-details .reading-number img { width:64px; height:64px; }
  .trade-jump { gap:8px 20px; }
  .trade-jump a { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; }.hero-photo>img { animation:none; } }

/* Attribution visible et descriptive du créateur du site. */
.footer .creation-credit{display:grid;gap:5px;max-width:270px;line-height:1.5}
.footer .creation-credit small{display:block;font-size:10px;font-weight:400;color:#bfc4b1;letter-spacing:normal}
.footer .creator-link{text-underline-offset:3px}
.footer .creator-link:hover,.footer .creator-link:focus-visible{text-decoration:underline}
