/* Tilff Nettoyage v16 — service-led arrival from sofa advertisements. */
.conversion-site{background:#f7f8f5;font-size:16px;line-height:1.55;overflow-x:clip}
.conversion-site main,.conversion-site section,.conversion-site figure{min-width:0}
.conversion-site .container{width:min(calc(100% - 40px),1180px)}
.conversion-site [id]{scroll-margin-top:100px}
.conversion-site .reveal{opacity:1;transform:none;visibility:visible}
.conversion-site .nav-wrap{position:fixed!important;padding:10px 0;background:rgba(247,248,245,.95)}
.conversion-site .nav{height:64px;gap:18px;border-radius:18px;background:#fff;padding:9px 12px 9px 18px}
.conversion-site .tilff-brand .tilff-logo{width:185px;height:auto;max-height:48px;object-fit:contain}
.conversion-site .nav-links{gap:22px;font-size:14px}
.conversion-site .sofa-nav-cta{white-space:nowrap;margin-left:auto;min-height:44px;font-size:14px;padding:10px 15px}
.conversion-site .btn{font-size:15px;line-height:1.3;min-height:48px}
.conversion-site .menu-btn{flex-shrink:0}
.sofa-skip-link{position:fixed;left:12px;top:-100px;background:#0b1820;color:white;padding:12px;z-index:200}
.sofa-skip-link:focus{top:10px}
.sofa-hero{padding:122px 0 32px}
.sofa-hero-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:30px 50px;align-items:center}
.sofa-eyebrow{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#48604c;margin:0 0 16px}
.sofa-intro h1{font-size:clamp(42px,4.8vw,66px);line-height:1.045;letter-spacing:-.055em;font-weight:750;margin:0 0 22px}
.sofa-intro h1 em{font-style:normal;background:linear-gradient(transparent 66%,#bdf45c 66%,#bdf45c 92%,transparent 92%)}
.sofa-lead{font-size:18px;line-height:1.65;color:#526066;max-width:470px;margin:0 0 21px}
.sofa-start-price{display:flex;align-items:center;gap:13px;margin-bottom:20px;flex-wrap:wrap}
.sofa-start-price strong{font-size:26px;letter-spacing:-.04em}
.sofa-start-price span{font-size:14px;color:#536169}
.sofa-main-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.conversion-site .sofa-primary{font-size:16px;min-height:55px;padding:15px 20px;border-radius:14px}
.sofa-phone{font-size:14px;color:#536169;text-align:center}
.sofa-phone strong{color:#0b1820;text-decoration:underline;text-underline-offset:3px}
.sofa-reassurance{font-size:13px;margin:14px 0 0;color:#506149}
.sofa-hero-photo{margin:0;border-radius:22px;overflow:hidden;background:#fff;border:1px solid #dde4df;box-shadow:0 18px 55px #0b18200d}
.sofa-comparison-labels{display:grid;grid-template-columns:1fr 1fr;background:#0b1820;color:white;font-size:13px;font-weight:800;line-height:1.3;text-align:center}
.sofa-comparison-labels span{padding:10px}
.sofa-comparison-labels span:last-child{background:#bdf45c;color:#0b1820}
.sofa-hero-photo img,.sofa-secondary-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#eee}
.sofa-hero-photo figcaption{display:grid;gap:4px;padding:16px 20px}
.sofa-hero-photo figcaption strong{font-size:16px}
.sofa-hero-photo figcaption span{font-size:13px;line-height:1.5;color:#59676c}
.sofa-assurances{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0 0;border-top:1px solid #dce3dd;gap:24px}
.sofa-assurances span{font-size:14px;color:#59676c}
.sofa-assurances b{display:block;color:#0b1820;font-size:16px;margin-bottom:3px}
.sofa-section{padding:58px 0}
.sofa-section h2{font-size:clamp(32px,3.7vw,47px);line-height:1.12;letter-spacing:-.045em;font-weight:750;margin:0 0 18px}
.sofa-section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:26px}
.sofa-section-heading h2{margin:0}
.sofa-section-heading>p{color:#59676c;max-width:375px;margin:0;font-size:16px;line-height:1.65}
.sofa-pricing{background:#fff;border-top:1px solid #e4e9e2;border-bottom:1px solid #e4e9e2}
.sofa-rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sofa-rate{border:1px solid #dce4dc;background:#f7f8f5;border-radius:19px;padding:24px;display:flex;flex-direction:column;align-items:stretch}
.sofa-rate h3{font-size:21px;line-height:1.3;margin:0;letter-spacing:-.025em}
.sofa-rate div>p{font-size:14px;color:#607064;margin:4px 0 0}
.sofa-rate-price{font-size:48px;letter-spacing:-.045em;font-weight:800;line-height:1.1;margin:23px 0}
.sofa-rate-price span{font-size:24px;font-weight:600}
.sofa-other-sizes{display:flex;align-items:center;gap:24px;justify-content:space-between;margin:19px 0 25px}
.sofa-other-sizes p{font-size:14px;line-height:1.7;color:#59676c;margin:0;max-width:680px}
.sofa-other-sizes strong{color:#0b1820}
.sofa-text-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.sofa-price-conditions{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px 0 0;border-top:1px solid #e1e7df}
.sofa-price-conditions h3{font-size:16px;margin:0 0 5px}
.sofa-price-conditions p{font-size:14px;color:#59676c;margin:0;line-height:1.7}
.sofa-price-note{font-size:13px;color:#59676c;line-height:1.7;margin:18px 0 0}
.sofa-price-note a{text-decoration:underline}
.sofa-proof-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:58px}
.sofa-secondary-photo{margin:0;border:1px solid #dce4dc;border-radius:20px;overflow:hidden;background:#fff}
.sofa-secondary-photo figcaption{font-size:13px;color:#59676c;padding:12px 16px}
.sofa-proof-copy>p:not(.sofa-eyebrow){font-size:16px;color:#59676c;margin:0 0 20px;line-height:1.75}
.sofa-proof-copy>p.sofa-muted{font-size:14px}
.sofa-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:30px}
.sofa-steps li{border-top:2px solid #dce5d8;padding-top:20px}
.sofa-steps li>span{font-size:14px;font-weight:800;color:#537135;display:block;margin-bottom:12px}
.sofa-steps h3{font-size:20px;line-height:1.35;margin:0 0 12px;letter-spacing:-.025em}
.sofa-steps p{font-size:16px;color:#59676c;margin:0;line-height:1.75}
.conversion-site #equipe{padding:45px 0 58px}
.conversion-site #equipe .team-card{display:grid;grid-template-columns:310px minmax(0,1fr);gap:0;border-radius:24px}
.conversion-site #equipe .team-photo{min-height:0;height:auto;background:#172321}
.conversion-site #equipe .team-photo img{position:static;width:100%;height:auto;min-height:0;aspect-ratio:1023/1537;object-fit:contain;display:block}
.conversion-site #equipe .team-copy{padding:34px 42px;align-self:center}
.conversion-site #equipe .team-names{font-size:32px;margin:9px 0 14px}
.conversion-site #equipe h2{font-size:32px;line-height:1.15;margin-bottom:16px}
.conversion-site #equipe p{font-size:16px;line-height:1.75}
.conversion-site #equipe .team-list{font-size:14px;margin:19px 0}
.sofa-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.sofa-faq-grid>div>p:not(.sofa-eyebrow){font-size:16px;color:#59676c;line-height:1.8}
.sofa-question{border-bottom:1px solid #dce4dc}
.sofa-question summary{cursor:pointer;font-size:16px;font-weight:750;padding:20px 28px 20px 0;list-style:none;position:relative}
.sofa-question summary::-webkit-details-marker{display:none}
.sofa-question summary::after{content:'+';position:absolute;right:1px;top:18px;font-size:22px;font-weight:500;color:#4c6740}
.sofa-question[open] summary::after{content:'−'}
.sofa-question p{font-size:15px;color:#59676c;line-height:1.8;margin:0 0 21px}
.sofa-contact-section{padding-top:32px}
.sofa-contact-panel{padding:42px;display:grid;grid-template-columns:1fr .85fr;gap:35px;align-items:center;border-radius:25px;background:#0b1820;color:white}
.sofa-contact-panel .sofa-eyebrow{color:#bdf45c}
.sofa-contact-panel h2{font-size:40px}
.sofa-contact-panel p:not(.sofa-eyebrow){color:#c5d0d0;font-size:16px;line-height:1.7;max-width:470px;margin:0}
.sofa-contact-actions{display:grid;gap:15px}
.sofa-contact-actions .sofa-phone,.sofa-contact-actions .sofa-phone strong{color:#dce6e3}
.conversion-site #services{border-top:1px solid #dde4df;padding-top:65px}
.conversion-site #services .section-head h2,.conversion-site #autres-tarifs .section-head h2{font-size:clamp(30px,3.5vw,43px)}
.conversion-site .sofa-service-contact{margin-top:18px;width:100%}
.sofa-video-detail{width:min(calc(100% - 40px),1180px);margin:24px auto 0;padding:15px 20px;border:1px solid #dce4dc;border-radius:16px;background:#fff;font-size:15px}
.sofa-video-detail summary{cursor:pointer;font-weight:750}
.sofa-video-detail video{display:block;width:min(100%,600px);max-height:65vh;margin:18px auto 0;background:#0b1820}
.conversion-site #autres-tarifs .tariff-card .tariff-row dt,.conversion-site #autres-tarifs .tariff-card-note{font-size:14px}
.conversion-site .section-head p,.conversion-site .service-card p{font-size:16px}
.conversion-site .footer-meta span,.conversion-site .footer-meta a,.conversion-site .footer-links{font-size:14px}
.conversion-site .cookie-banner{bottom:12px;left:12px;width:min(390px,calc(100% - 24px));padding:14px 16px;border-radius:16px}
.conversion-site .cookie-banner strong{font-size:14px;margin:0 0 3px}
.conversion-site .cookie-banner p{font-size:13px;line-height:1.45}
.conversion-site .cookie-actions{display:flex;flex-direction:row;gap:9px;margin-top:10px}
.conversion-site .cookie-actions .btn{font-size:14px;min-height:38px;padding:8px 12px;flex:1}
.sofa-mobile-menu{position:absolute;top:72px;left:20px;right:20px;display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:10px;background:white;border:1px solid #dce4dc;border-radius:16px;box-shadow:0 18px 35px #0b182020;max-height:calc(100dvh - 95px);overflow-y:auto}
.sofa-mobile-menu a,.sofa-mobile-menu button{padding:12px;font-size:14px;font-weight:700;text-align:left;background:none;border:0;border-radius:8px;cursor:pointer}
.sofa-mobile-menu a:hover,.sofa-mobile-menu button:hover{background:#f1f5ed}
@media(min-width:1001px){.conversion-site .menu-btn{display:none}}
@media(max-width:1000px){
 .conversion-site .nav-links{display:none}.conversion-site .menu-btn{display:inline-flex}
 .sofa-hero-grid{gap:26px}.sofa-intro h1{font-size:46px}.sofa-lead{font-size:16px}.sofa-start-price{gap:6px 12px}.sofa-start-price span{font-size:13px}
 .sofa-proof-grid{gap:30px}.sofa-faq-grid{gap:32px}.conversion-site #equipe .team-card{grid-template-columns:270px minmax(0,1fr)}.conversion-site #equipe .team-copy{padding:27px}.conversion-site #equipe h2{font-size:27px}
 .sofa-contact-panel{padding:30px;grid-template-columns:1fr 1fr}.sofa-contact-panel h2{font-size:34px}
}
@media(max-width:700px){
 .conversion-site .container{width:calc(100% - 32px)}.conversion-site [id]{scroll-margin-top:83px}
 .conversion-site .nav-wrap{padding:7px 0}.conversion-site .nav{height:58px;padding:7px 8px 7px 11px;gap:9px;border-radius:15px}
 .conversion-site .tilff-brand .tilff-logo{width:149px;max-height:43px}.conversion-site .sofa-nav-cta{padding:9px 11px;min-height:42px;font-size:13px}.sofa-nav-cta svg{display:none}.conversion-site .menu-btn{width:39px;min-height:42px;height:42px;padding:0}
 .sofa-hero{padding:96px 0 28px}.sofa-hero-grid{grid-template-columns:1fr;gap:24px}
 .sofa-eyebrow{font-size:12px;margin-bottom:12px;letter-spacing:.08em}.sofa-intro h1{font-size:44px;margin:0 0 16px;max-width:500px;line-height:1.05;letter-spacing:-.047em}
 .sofa-lead{font-size:16px;line-height:1.6;margin-bottom:16px;max-width:500px}.sofa-start-price{margin-bottom:15px;gap:10px}.sofa-start-price strong{font-size:24px}.sofa-start-price span{font-size:13px}
 .sofa-main-actions{align-items:stretch;gap:11px}.conversion-site .sofa-primary{padding:15px 12px;font-size:15px;min-height:53px}.sofa-primary svg{flex:0 0 17px}.sofa-reassurance{text-align:center;font-size:12px;margin-top:10px}
 .sofa-hero-photo{border-radius:17px}.sofa-comparison-labels span{padding:8px}.sofa-hero-photo figcaption{padding:12px 15px}.sofa-hero-photo figcaption strong{font-size:14px}.sofa-hero-photo figcaption span{font-size:12px}
 .sofa-assurances{gap:12px;padding-top:20px}.sofa-assurances b{font-size:14px;line-height:1.3;margin-bottom:7px}.sofa-assurances span{font-size:12px;line-height:1.5}
 .sofa-section{padding:39px 0}.sofa-section h2{font-size:33px}.sofa-section-heading{display:block;margin-bottom:22px}.sofa-section-heading>p{margin-top:14px;max-width:none;font-size:15px}
 .sofa-rates{grid-template-columns:1fr;gap:11px}.sofa-rate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:19px 20px;align-items:center;border-radius:16px}.sofa-rate h3{font-size:20px}.sofa-rate-price{font-size:37px;margin:0;text-align:right}.sofa-rate-price span{font-size:20px}.sofa-rate .btn{grid-column:1/-1;min-height:44px;font-size:14px}
 .sofa-other-sizes{display:block;margin:18px 0 21px}.sofa-other-sizes .sofa-text-link{margin-top:10px}.sofa-price-conditions{grid-template-columns:1fr;gap:17px;padding-top:18px}
 .sofa-proof-grid{grid-template-columns:1fr;gap:25px}.sofa-proof-copy .btn{width:100%}.sofa-secondary-photo{border-radius:17px}.sofa-steps{grid-template-columns:1fr;gap:25px}.sofa-steps li{display:grid;grid-template-columns:34px 1fr;gap:0 12px;padding-top:20px}.sofa-steps li>span{grid-row:1/3;padding-top:2px}.sofa-steps h3{font-size:19px;margin-bottom:9px}.sofa-steps p{font-size:15px;grid-column:2}
 .conversion-site #equipe{padding:25px 0 39px}.conversion-site #equipe .team-card{grid-template-columns:1fr;border-radius:20px}.conversion-site #equipe .team-photo{height:auto;background:#e8ebe6;display:flex;justify-content:center}.conversion-site #equipe .team-photo img{width:auto;max-width:100%;height:340px;aspect-ratio:1023/1537;object-fit:contain}.conversion-site #equipe .team-photo-badge{font-size:12px}.conversion-site #equipe .team-copy{padding:25px 23px}.conversion-site #equipe h2{font-size:28px}.conversion-site #equipe .team-names{font-size:30px}.conversion-site #equipe .team-list{font-size:14px}.conversion-site #equipe .team-copy .btn{width:100%}
 .sofa-faq-grid{grid-template-columns:1fr;gap:14px}.sofa-question summary{font-size:15px;padding:19px 25px 19px 0}.sofa-question p{font-size:15px}
 .sofa-contact-section{padding-top:16px}.sofa-contact-panel{grid-template-columns:1fr;gap:24px;border-radius:21px;padding:27px 21px}.sofa-contact-panel h2{font-size:32px}.sofa-contact-panel p:not(.sofa-eyebrow){font-size:15px}.sofa-contact-panel .sofa-primary{font-size:14px}
 .conversion-site #services{padding-top:42px}.sofa-video-detail{width:calc(100% - 32px);padding:15px;font-size:14px}
 .sofa-mobile-menu{left:16px;right:16px;top:65px}
}
@media(max-width:360px){.conversion-site .tilff-brand .tilff-logo{width:125px}.conversion-site .nav{gap:6px}.conversion-site .sofa-nav-cta{padding:9px;font-size:12px}.sofa-intro h1{font-size:39px}.sofa-start-price{gap:4px 9px}.sofa-start-price span{font-size:12px}.conversion-site .sofa-primary{font-size:14px}.sofa-contact-panel .sofa-primary{font-size:13px}}
@media(prefers-reduced-motion:reduce){.conversion-site *,html{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* The supplied portrait video opens the page; every frame remains uncropped. */
.sofa-hero-grid>.sofa-intro{grid-column:1;grid-row:1}
.sofa-hero-video{grid-column:2;grid-row:1;justify-self:center;align-self:center;width:min(100%,370px);margin:0;border:1px solid #dde4df;border-radius:22px;overflow:hidden;background:#0b1820;box-shadow:0 18px 55px #0b182015}
.sofa-hero-video video{display:block;width:100%;height:510px;object-fit:contain;background:#0b1820}
.sofa-hero-video figcaption{display:grid;gap:3px;padding:13px 17px;background:#fff}
.sofa-hero-video figcaption strong{font-size:15px}
.sofa-hero-video figcaption span{font-size:12px;line-height:1.5;color:#59676c}
.sofa-examples-heading{max-width:720px;margin:0 0 25px}
.sofa-examples-heading>p:last-child{font-size:16px;color:#59676c;line-height:1.7;margin:0}
.sofa-examples-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.sofa-examples-grid figcaption{display:grid;gap:4px;padding:16px 18px}
.sofa-examples-grid figcaption strong{font-size:16px;color:#0b1820}
.sofa-examples-grid figcaption span{font-size:13px;line-height:1.5}
.sofa-examples-footer{display:flex;gap:28px;align-items:center;justify-content:space-between;margin-top:22px}
.sofa-examples-footer p{font-size:14px;line-height:1.75;color:#59676c;max-width:730px;margin:0}
.sofa-examples-footer .btn{flex-shrink:0}
@media(max-width:1000px){.sofa-hero-video video{height:450px}.sofa-examples-footer{align-items:flex-start;flex-direction:column;gap:17px}}
@media(max-width:700px){
 .sofa-hero{padding-top:84px}
 .sofa-hero-grid{gap:21px}
 .sofa-hero-video{grid-column:1;grid-row:1;width:100%;max-width:440px;border-radius:17px}
 .sofa-hero-video video{height:360px;height:clamp(280px,44svh,400px);width:100%;object-fit:contain}
 .sofa-hero-video figcaption{padding:10px 14px;gap:2px}
 .sofa-hero-video figcaption strong{font-size:14px}
 .sofa-hero-video figcaption span{font-size:12px}
 .sofa-hero-grid>.sofa-intro{grid-column:1;grid-row:2}
 .sofa-examples-grid{grid-template-columns:1fr;gap:18px}
 .sofa-examples-grid figcaption{padding:12px 15px}
 .sofa-examples-footer .btn{width:100%}
}

/* Portrait video, original proportions and compact heading. */
.sofa-hero-grid{grid-template-columns:minmax(0,1fr) minmax(230px,330px);grid-template-rows:auto auto auto;gap:0 65px;align-items:center}
.sofa-heading{grid-column:1;grid-row:1;align-self:end}
.sofa-heading h1{font-size:clamp(42px,4.8vw,66px);line-height:1.045;letter-spacing:-.055em;font-weight:750;margin:0 0 22px}
.sofa-heading h1 em{font-style:normal;background:linear-gradient(transparent 66%,#bdf45c 66%,#bdf45c 92%,transparent 92%)}
.sofa-details{grid-column:1;grid-row:2;align-self:start}
.sofa-hero-video{grid-column:2;grid-row:1/3;width:min(100%,300px);max-width:300px;border:0;border-radius:19px;background:transparent;overflow:visible;box-shadow:none;justify-self:center}
.sofa-video-frame{position:relative;width:100%;aspect-ratio:512/910;overflow:hidden;border-radius:19px;background:#e1ded6;box-shadow:0 14px 40px #0b182012;isolation:isolate}
.sofa-hero-video .sofa-video-frame video{display:block;width:100%;height:auto;max-height:none;aspect-ratio:512/910;object-fit:contain;background:transparent;border-radius:0}
.sofa-video-error[hidden]{display:none!important}
.sofa-hero-video .sofa-visually-hidden{position:absolute!important;display:block!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sofa-video-error{font-size:13px;line-height:1.5;color:#59676c;margin:12px 0}
.sofa-video-error a{text-decoration:underline}
.sofa-hero-grid>.sofa-assurances{grid-row:3;margin-top:30px}
@media(max-width:1000px){.sofa-hero-grid{gap:0 30px}.sofa-heading h1{font-size:46px}.sofa-hero-video{max-width:270px}}
@media(max-width:700px){
 .sofa-hero{padding-top:90px}
 .sofa-hero-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:20px}
 .sofa-heading{grid-column:1;grid-row:1;align-self:auto;text-align:center}
 .sofa-heading .sofa-eyebrow{margin-bottom:9px}
 .sofa-heading h1{font-size:35px;line-height:1.06;letter-spacing:-.045em;margin:0}
 .sofa-hero-video{grid-column:1;grid-row:2;width:min(100%,270px);max-width:270px;justify-self:center}
 .sofa-details{grid-column:1;grid-row:3}
 .sofa-details .sofa-lead{font-size:15px;text-align:center;margin:0 auto 15px;max-width:450px}
 .sofa-details .sofa-start-price{justify-content:center}
 .sofa-hero-grid>.sofa-assurances{grid-row:4;margin-top:1px}
}
@media(max-width:360px){.sofa-heading h1{font-size:31px}.sofa-hero-video{width:min(100%,245px)}}
@media(max-width:700px) and (max-height:760px){.sofa-hero-video{width:min(100%,230px)}}
