.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-grid img{height:340px}.journal-featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:24px}.feature-tile{position:relative;overflow:hidden;border-radius:5px;min-height:340px;background:var(--navy);color:white}.feature-tile img{position:absolute;inset:0;height:100%;transition:transform .45s}.feature-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 10%,rgba(1,0,5,.88))}.feature-tile>div{position:absolute;bottom:25px;left:25px;right:25px;z-index:1}.feature-tile h2{font-size:1.8rem;line-height:1.15;margin:12px 0}.feature-tile p{font-size:.9rem;line-height:1.4;margin:0}.feature-tile:hover img{transform:scale(1.04)}.journal-list{padding-bottom:85px}.journal-list .section-top{align-items:center}.journal-list .section-top>div:last-child{width:min(420px,100%)}.editorial-card{background:white;border:1px solid var(--line);padding:26px;border-radius:5px;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}.editorial-card:hover{border-color:#78a34f;box-shadow:0 10px 30px #0100050a}.card-top{display:flex;align-items:start;justify-content:space-between;gap:16px}.editorial-card .eyebrow{margin:0;line-height:1.5;font-size:.75rem}.article-number{color:#647653;font-size:.85rem;font-variant-numeric:tabular-nums}.editorial-card h3{margin:22px 0 18px;font-size:1.4rem;line-height:1.3}.editorial-card p{font-size:1rem;line-height:1.65;flex:1}.editorial-card .textlink{align-self:start;border:0;margin-top:10px;font-weight:600}.pagination{display:flex;justify-content:center;align-items:center;gap:25px;margin:40px 0 0}.pagination button:disabled{opacity:.4;cursor:default;transform:none}.category-visual{margin-bottom:45px}.category-visual img{height:350px;border-radius:5px}.reading-layout{border-top:1px solid var(--line);margin-top:35px}.reading-layout .prose>h2:first-child{margin-top:0}.reading-layout aside hr{border:0;border-top:1px solid #c8d2bd;margin:25px 0}.contact-details{margin:30px 0}.contact-details dt{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:22px}.contact-details dd{margin:5px 0;font-size:1.25rem;font-weight:600;overflow-wrap:anywhere}.legal-details{display:grid;grid-template-columns:170px 1fr;gap:16px;margin:30px 0}.legal-details dt{font-weight:600}.legal-details dd{margin:0;overflow-wrap:anywhere}.contact-box pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.9rem;padding:20px;background:white;border:1px solid var(--line);border-radius:4px;max-height:400px;overflow:auto}.contact-box #brief-result a{margin:12px 8px 0 0}.contact-box #brief-email{margin-top:14px}.navlinks{gap:18px}.navlinks .button{padding:12px 16px}.navlinks a{white-space:nowrap}.notice{line-height:1.65}.prose p{font-size:1.0625rem}a[href],button,summary,input,select,textarea{-webkit-tap-highlight-color:#84cc4666}@media(max-width:1279px){.nav{min-height:80px}.menu{display:block;background:transparent;border:1px solid #c6cebd;border-radius:3px;padding:8px 14px}.navlinks{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:25px 5%;border-bottom:1px solid var(--line);max-height:calc(100dvh - 100px);overflow:auto}.navlinks.open{display:flex;align-items:stretch;flex-direction:column;gap:8px}.navlinks a{padding:8px 0}.navlinks .button{display:inline-flex;align-self:start;padding:12px 18px}}@media(max-width:760px){.journal-featured{gap:14px;margin-bottom:20px}.feature-tile{min-height:280px}.feature-tile>div{bottom:18px;left:16px;right:16px}.feature-tile h2{font-size:1.4rem}.feature-tile p{display:none}.journal-list .section-top>div:last-child{margin-top:25px}.services-grid img{height:260px}.category-visual img{height:260px}.pagination{gap:12px;flex-wrap:wrap}.pagination button{padding:12px 18px}.legal-details{grid-template-columns:1fr;gap:5px}.legal-details dd{margin-bottom:15px}}@media(max-width:560px){.journal-featured{grid-template-columns:1fr}.feature-tile{min-height:200px}.feature-tile h2{font-size:1.8rem}.feature-tile p{display:block}.services-grid{grid-template-columns:1fr}.topline{font-size:.75rem;letter-spacing:.08em}.hero-foot{line-height:1.5}.editorial-card{padding:24px}.contact-box{padding:25px}.brand img{width:150px}.hero-copy .eyebrow{font-size:.75rem}.photo-label{padding:14px;left:12px;right:12px}.reading-layout{margin-top:25px}.article-layout aside{padding:22px}.article-layout aside a{line-height:2}.footer-grid{gap:25px}}@media(prefers-reduced-motion:reduce){.feature-tile img,.editorial-card{transition:none}}

.journal-image-note{margin-bottom:50px}

.realisations-intro{padding-top:42px;padding-bottom:65px}.realisations-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:center;margin-top:35px}.realisations-hero h1{font-size:clamp(2.8rem,4.5vw,4.8rem);line-height:1.08;letter-spacing:-.055em;margin:25px 0}.realisations-hero p:not(.eyebrow){color:var(--muted);line-height:1.75;max-width:620px}.realisations-hero figure{margin:0;position:relative}.realisations-hero img{width:100%;height:440px;object-fit:cover;border-radius:5px}.realisations-hero figcaption{position:absolute;bottom:20px;left:20px;right:20px;background:#010005e8;color:white;padding:16px 20px;border-radius:3px;font-size:.9rem}.illustrated-card{overflow:hidden}.editorial-card .guide-thumbnail{width:calc(100% + 52px);max-width:none;height:auto;aspect-ratio:3/2;object-fit:cover;margin:-26px -26px 25px;border-radius:0}.article-cover{margin-top:0;margin-bottom:30px}.article-cover img{width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:5px}.article-cover figcaption{color:var(--muted);font-size:.85rem;margin-top:12px}.journal-image-note{margin-top:-20px}@media(max-width:900px){.realisations-hero{grid-template-columns:1fr;gap:25px}.realisations-hero img{height:360px}}@media(max-width:560px){.editorial-card .guide-thumbnail{width:calc(100% + 48px);margin:-24px -24px 22px}.realisations-intro{padding-top:28px;padding-bottom:40px}.realisations-hero{margin-top:25px}.realisations-hero img{height:280px}.realisations-hero h1{font-size:2.9rem}.article-cover img{aspect-ratio:3/2}.journal-image-note{margin-top:-10px}}
.journal-head{padding:36px 0 25px;max-width:1100px}.journal-head h1{margin:20px 0;font-size:clamp(2.5rem,3.6vw,3.5rem)}.journal-head .eyebrow{margin-top:22px!important}.journal-head p:last-child{max-width:920px}.journal-list .section-top{margin-bottom:25px}.journal-image-note{margin-top:0;margin-bottom:28px}
/* Navigation et pictogrammes de la marque */
.arrow-mark{display:inline-block;width:1em;height:1em;vertical-align:-.13em;margin-left:.18em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
@media(max-width:1279px){.menu{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:44px;padding:9px 14px;border:1px solid var(--navy);border-radius:4px;background:var(--navy);color:#fff;font-weight:700;line-height:1;box-shadow:0 4px 12px #01000520;transition:background .2s,color .2s}.menu:hover,.menu:focus-visible{background:#2b3327;color:#fff}.menu-bars{position:relative;display:block;width:18px;height:2px;background:var(--aqua);border-radius:2px;transition:background .2s}.menu-bars:before,.menu-bars:after{content:'';position:absolute;left:0;width:18px;height:2px;background:var(--aqua);border-radius:2px;transition:transform .2s,top .2s}.menu-bars:before{top:-6px}.menu-bars:after{top:6px}.menu[aria-expanded=true] .menu-bars{background:transparent}.menu[aria-expanded=true] .menu-bars:before{top:0;transform:rotate(45deg)}.menu[aria-expanded=true] .menu-bars:after{top:0;transform:rotate(-45deg)}}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:0;line-height:1.45}.faq summary::-webkit-details-marker{display:none}.faq summary::marker{content:''}.faq summary:after{content:'';display:block;flex:none;width:11px;height:11px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg);margin-right:5px;margin-top:-5px;transition:transform .2s}.faq details[open] summary:after{transform:rotate(225deg);margin-top:5px}.faq details[open] summary{color:#3f721d}
@media(prefers-reduced-motion:reduce){.menu,.menu-bars,.menu-bars:before,.menu-bars:after,.faq summary:after{transition:none}}
.before-after-service{padding-top:15px}.before-after-service .compare{height:clamp(310px,42vw,520px)}.before-after-service .compare img{object-fit:cover;object-position:center}.before-after-service .compare input{accent-color:var(--aqua);cursor:ew-resize}.before-after-service .inspiration{margin-top:14px;line-height:1.5}@media(max-width:560px){.before-after-service .compare{height:310px}.before-after-service .compare .tag{top:12px;padding:5px 9px;font-size:.72rem}.before-after-service .compare .beforetag{left:10px}.before-after-service .compare .aftertag{right:10px}}
.faq summary{display:list-item;position:relative;padding-right:38px}.faq summary:after{position:absolute;right:7px;top:50%;margin:0;transform:translateY(-70%) rotate(45deg)}.faq details[open] summary:after{margin:0;transform:translateY(-25%) rotate(225deg)}

/* Approved DT SERVICES logo: retain its white lettering on a dark header. */
.header{background:#010005;color:#fff;border-bottom-color:#394130;backdrop-filter:none}
.topline{background:#edf0e9;color:#010005}
.header .nav{min-height:112px}
.header .brand{position:relative;display:block;flex:0 0 260px;width:260px;height:92px;overflow:hidden}
.header .brand img{position:absolute;width:295px;max-width:none;height:auto;left:-18px;top:-29px;object-fit:contain}
.header .navlinks a[aria-current=page],.header .navlinks a:not(.button):hover{color:#a8e078}
.header .navlinks .button{background:#84cc46;border-color:#84cc46;color:#010005}
.header .navlinks .button:hover{background:#a8e078;border-color:#a8e078}
.header a:focus-visible,.header button:focus-visible{outline-color:#a8e078}
@media(max-width:1279px){
 .header .nav{min-height:96px}
 .header .navlinks{top:100%;background:#010005;border-bottom-color:#394130;max-height:calc(100dvh - 140px)}
 .header .menu{border-color:#7e956a;background:transparent;color:#fff;box-shadow:none}
 .header .menu:hover{background:#27301e}
 .header .menu-bars,.header .menu-bars:before,.header .menu-bars:after{background:#84cc46}
 .header .menu[aria-expanded=true] .menu-bars{background:transparent}
}
@media(max-width:560px){
 .header .nav{min-height:88px;gap:12px}
 .header .brand{flex-basis:205px;width:205px;height:73px}
 .header .brand img{width:233px;left:-14px;top:-23px}
 .header .menu{padding:10px;gap:9px;font-size:14px}
}
@media(max-width:359px){.header .brand{flex-basis:180px;width:180px;height:64px}.header .brand img{width:205px;left:-13px;top:-20px}}

/* New service, partner attribution, and machine image credit. */
.equipment-visual{display:block;position:relative;width:100%;overflow:hidden;border-radius:5px}
.equipment-visual img{display:block;width:100%;max-height:inherit}
.equipment-credit{position:absolute;right:10px;bottom:10px;z-index:2;max-width:calc(100% - 20px);padding:5px 9px;background:#010005d9;color:#fff;border:1px solid #ffffff55;border-radius:3px;font:700 11px/1.2 'DM Sans',sans-serif;letter-spacing:.02em;text-align:right;pointer-events:none}
.editorial-card>.equipment-visual{width:calc(100% + 52px);margin:-26px -26px 25px;border-radius:5px 5px 0 0}
.editorial-card .equipment-visual .guide-thumbnail{width:100%;max-width:none;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0;border-radius:0}
.article-cover .equipment-visual img{width:100%;height:auto;max-height:620px;object-fit:cover}
.partner-strip{background:#eef2e9;border-top:1px solid var(--line);padding:56px 0}
.partner-strip .wrap{display:block}
.partner-strip .eyebrow{color:#4b7c26}
.partner-heading h2{font-size:clamp(1.7rem,2.6vw,2.5rem);margin:10px 0 28px}
.partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.partner-card{display:flex;flex-direction:column;align-items:flex-start;padding:32px;background:#fff;border:1px solid #d4ddca;border-top:4px solid var(--aqua);border-radius:5px;box-shadow:0 6px 22px #01000505}
.partner-role{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4b7c26;line-height:1.5}
.partner-card h3{font-size:clamp(1.65rem,2.2vw,2rem);margin:16px 0}
.partner-strip .partner-card p{margin:0 0 24px;max-width:540px;font-size:.95rem;line-height:1.65;color:var(--muted)}
.partner-strip .partner-link{display:inline-flex;align-items:center;gap:14px;margin-top:auto;min-height:44px;font-size:.9rem;font-weight:800;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#84cc46;text-decoration-thickness:2px;line-height:1.4}
.partner-link .arrow-mark{flex-shrink:0}
.partner-link:hover{color:#4b7c26}
@media(max-width:650px){.partner-grid{grid-template-columns:1fr;gap:18px}.partner-card{padding:24px}.partner-heading h2{margin-bottom:22px}.partner-role{font-size:.7rem}}
.home-partner{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:0;margin-bottom:90px;padding:35px 40px;background:#e9f3df;border-left:4px solid var(--aqua);border-radius:4px}
.home-partner h2{font-size:clamp(1.6rem,2.4vw,2.5rem);margin:6px 0 12px}
.home-partner p{max-width:750px;margin:0;color:var(--muted);font-size:.98rem}
.home-partner .textlink{flex:none;font-weight:700}
.launch-section{padding:32px 0 0}
.launch-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:500px;background:#010005;color:#fff;overflow:hidden;border-radius:5px}
.launch-image{position:relative;min-height:500px}
.launch-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.concept-label{position:absolute;bottom:16px;left:16px;padding:6px 10px;background:#010005c9;color:#fff;border-radius:3px;font-size:.72rem}
.launch-copy{display:flex;flex-direction:column;align-items:start;justify-content:center;padding:clamp(30px,5vw,76px)}
.launch-kicker{display:inline-flex;background:var(--aqua);color:var(--navy);padding:8px 12px;border-radius:2px;font-size:.77rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.launch-copy h2{font-size:clamp(2.3rem,3.8vw,4.2rem);line-height:1.12;margin:27px 0 23px}
.launch-copy p{color:#dce4d8;line-height:1.7;max-width:480px}
.launch-copy .button{background:var(--aqua);color:var(--navy);border-color:var(--aqua);margin-top:10px}
.launch-copy .button:hover{background:#a8e078}
.bunker-hero{padding:45px 0 80px}
.bunker-hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:center;margin-top:42px}
.bunker-hero h1{font-size:clamp(2.7rem,5vw,5.6rem);line-height:1.08}
.bunker-hero p{color:var(--muted);max-width:620px;font-size:1.1rem}
.bunker-hero figure,.bunker-options figure,.bunker-living figure{margin:0}
.bunker-hero figure img{height:540px;border-radius:5px;object-fit:cover}
.bunker-hero figcaption,.bunker-options figcaption,.bunker-living figcaption{color:var(--muted);font-size:.78rem;padding-top:10px}
.bunker-intro{padding-top:35px}
.bunker-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.bunker-values>div{border-top:2px solid var(--aqua);padding-top:22px}
.bunker-values b{color:#4b7c26;font-size:.83rem;letter-spacing:.06em}
.bunker-values h3{font-size:1.4rem;margin:15px 0}
.bunker-values p{color:var(--muted);font-size:.94rem}
.bunker-method{background:#010005;color:#fff;padding:90px 0}
.bunker-options{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.bunker-options article{background:#18191a;border:1px solid #3b4236;border-radius:5px;overflow:hidden}
.bunker-options img{width:100%;height:315px;object-fit:cover}
.bunker-options figcaption{color:#d1d7ca;padding:8px 25px 0}
.bunker-options article>div{padding:26px 30px 36px}
.bunker-options h3{font-size:1.9rem;margin:17px 0}
.bunker-options p{color:#dce4d8;line-height:1.65}
.bunker-living-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:65px;align-items:center}
.bunker-living p{color:var(--muted)}
.bunker-living ul{padding-left:20px;margin:25px 0;line-height:1.7}
.bunker-living li{margin-bottom:10px}
.bunker-living figure img{height:550px;object-fit:cover;border-radius:5px}
.bunker-living .bunker-partner{background:#eef2e9;padding:20px;border-left:3px solid var(--aqua);font-size:.94rem;color:var(--ink)}
.bunker-partner a{text-decoration:underline;text-underline-offset:3px;font-weight:700}
.bunker-next{margin-bottom:90px;padding:60px;background:#e9f3df;border-radius:5px}
.bunker-next h2{max-width:800px}
.bunker-next p{max-width:780px;color:var(--muted)}
@media(max-width:900px){.launch-grid,.bunker-hero-grid,.bunker-living-grid{grid-template-columns:1fr}.launch-grid{min-height:0}.launch-image{min-height:360px}.bunker-hero-grid{gap:30px}.bunker-hero figure img{height:440px}.bunker-living figure img{height:430px}.bunker-options img{height:250px}}
@media(max-width:650px){.launch-section{padding-top:18px}.launch-image{min-height:240px}.launch-copy{padding:30px 24px 34px}.launch-copy h2{font-size:2.35rem}.home-partner{display:block;padding:28px 24px;margin-bottom:65px}.home-partner .textlink{display:inline-block;margin-top:20px}.bunker-hero{padding:28px 0 55px}.bunker-hero-grid{margin-top:26px}.bunker-hero figure img{height:280px}.bunker-values,.bunker-options{grid-template-columns:1fr}.bunker-method{padding:65px 0}.bunker-living-grid{gap:30px}.bunker-living figure img{height:300px}.bunker-next{padding:34px 24px;margin-bottom:65px}.editorial-card>.equipment-visual{width:calc(100% + 48px);margin:-24px -24px 22px}.partner-strip{padding:23px 0}.equipment-credit{font-size:10px}}

.before-after-service .compare-stairs img{object-position:center 68%}
.before-after-service .compare-stairs>img.before{width:var(--cut,50%);right:auto;clip-path:none}
.before-after-service .compare-stairs>img:not(.before){left:var(--cut,50%);right:auto;width:calc(100% - var(--cut,50%))}

.contact-box .form-honeypot{display:none}
.contact-box .form-privacy{font-size:.85rem;line-height:1.65;color:var(--muted);margin-top:16px}
.contact-box .form-privacy a,.contact-details a{overflow-wrap:anywhere}
.contact-box button:disabled{cursor:wait;opacity:.7}
.footer-bottom{flex-wrap:wrap;gap:12px 24px}
.footer-bottom a{overflow-wrap:anywhere}
