/* Ajustements réservés aux téléphones ; la composition ordinateur est conservée. */
.compact-menu,.report-swipe-hint{display:none}
@media(max-width:720px){
 body.home-warm,body.analyse,body.architecture,body.project-warm{font-size:16px;line-height:1.6}
 .home-warm .wrap,.analyse .wrap,.architecture .wrap,.project-warm .wrap{width:calc(100% - 32px)}
 .home-warm header nav,.analyse header nav,.architecture header nav,.project-warm header nav{min-height:64px;padding:7px 0;gap:12px;flex-wrap:nowrap}
 .home-warm header .brand img,.analyse header .brand img,.architecture header .brand img,.project-warm header .brand img{width:124px;height:42px}
 .home-warm header .navlinks,.project-warm header .navlinks{display:none}
 .compact-menu{display:block;position:relative;margin-left:auto;border:0}
 .compact-menu summary,.warm .mobile-menu summary,.architecture .arch-menu summary{min-height:44px;display:flex;align-items:center;padding:10px 28px 10px 12px;font:400 1rem/1.4 Arial;list-style:none;cursor:pointer}
 .compact-menu summary::-webkit-details-marker{display:none}
 .compact-menu summary:after{content:'+';position:absolute;right:6px;top:10px;font-size:1.2rem}
 .compact-menu[open] summary:after{content:'−'}
 .compact-menu>div,.warm .mobile-menu>div,.architecture .arch-menu>div{position:absolute;right:0;top:48px;width:min(290px,calc(100vw - 32px));background:var(--paper);border:1px solid var(--line);padding:10px;border-radius:12px;box-shadow:var(--shadow);z-index:30}
 .compact-menu a{display:block;padding:12px;text-decoration:none;font-size:1rem;min-height:44px}
 .compact-menu a.button{margin:5px 0;white-space:normal;text-align:center}
 .home-warm .welcome,.warm .page-hero,.architecture .arch-hero{padding:14px 0 28px}
 .welcome-grid,.warm .hero-grid,.arch-hero-grid{border-radius:16px;grid-template-columns:minmax(0,1fr)}
 .welcome-copy,.warm .hero-copy,.architecture .arch-copy{padding:24px 20px;min-width:0}
 .welcome h1,.warm .hero-copy h1,.architecture .arch-copy h1{font-size:clamp(1.8rem,7.4vw,2.3rem);line-height:1.12;letter-spacing:-.025em;margin:14px 0 18px}
 .welcome .lead,.warm .hero-copy .lead,.architecture .arch-copy .lead{font-size:1rem;line-height:1.55;margin:0 0 18px}
 .welcome .eyebrow,.warm .hero-copy .eyebrow,.architecture .arch-copy .eyebrow{font-size:.72rem;letter-spacing:.075em;line-height:1.5}
 .warm .hero-facts{margin:16px 0;font-size:.95rem;line-height:1.55}
 .warm .hero-copy .actions{gap:12px}
 .warm .hero-copy .quiet{font-size:.78rem;margin-top:12px}
 .welcome .button,.warm .hero-copy .button,.arch-actions .button,.warm .express .button,.arch-contact .button{width:100%;min-height:48px;padding:12px 16px;font-size:.95rem;line-height:1.4;white-space:normal}
 .arch-actions{margin:20px 0 16px;gap:14px}
 .welcome figure,.warm .hero-visual,.arch-hero-image{min-height:0;aspect-ratio:16/10;border-radius:0}
 .welcome figcaption,.warm .hero-visual figcaption{font-size:.68rem;padding:5px 8px;bottom:10px;right:10px}
 .arch-hero-image figcaption{font-size:.72rem;left:12px;right:12px;bottom:12px;padding:8px 10px}
 .arch-hero-image figcaption span{font-size:1rem}
 .warm .content,.architecture .arch-section{padding:36px 0}
 .warm h2,.architecture h2,.home-note h2,.project-warm .project-intro h2{font-size:clamp(1.65rem,6.8vw,2rem);line-height:1.18;letter-spacing:-.02em}
 .warm .section-head,.architecture .arch-heading{gap:16px;margin-bottom:24px}
 .warm .section-head .lead,.arch-heading p{font-size:1rem;line-height:1.6}
 .personal,.arch-intro{padding:28px 0}
 .warm .personal-grid.with-portrait,.architecture .arch-intro-grid.with-portrait{grid-template-columns:100px minmax(0,1fr);gap:20px 18px;align-items:center}
 .with-portrait .cassy-portrait{grid-column:1;grid-row:1;max-width:100px}
 .with-portrait .cassy-portrait img{border-radius:10px}
 .with-portrait>div:first-of-type{grid-column:2;grid-row:1;min-width:0}
 .with-portrait>div:last-of-type{grid-column:1/-1;grid-row:2;min-width:0}
 .with-portrait h2{font-size:1.55rem;margin:8px 0}
 .with-portrait .eyebrow{font-size:.68rem;letter-spacing:.055em}
 .with-portrait .signature{font-size:1.4rem;margin:10px 0 4px}
 .with-portrait .quiet{font-size:.8rem;line-height:1.5;margin-top:8px}
 .with-portrait .lead{font-size:1.05rem;line-height:1.6}
 .warm .benefit-grid,.warm .simple-steps{grid-template-columns:1fr;gap:22px}
 .warm .benefit-grid article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px 12px;padding-top:16px}
 .warm .benefit-grid h3{font-size:1.35rem;margin:0}
 .warm .benefit-grid p{grid-column:2;margin:0;font-size:.95rem}
 .warm .benefit-grid .number{font-size:1.25rem}
 .warm .report-intro{padding:22px 18px;margin-top:30px;border-radius:14px}
 .real-example h3{font-size:1.55rem;line-height:1.25}
 .real-example .case-answers{gap:16px;margin:22px 0}
 .case-answers h4{font-size:1.25rem;margin-bottom:8px}
 .case-answers p{font-size:.95rem}
 .real-example .verdict{margin:22px 0;padding-left:14px;font-size:.95rem}
 .report-swipe-hint{display:block;font-size:.8rem;color:#59625b;margin:24px 0 10px}
 .report-previews{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;margin:0 -8px 20px;padding:4px 8px 14px;scrollbar-width:thin}
 .report-preview{flex:0 0 83%;scroll-snap-align:start}
 .report-preview img{width:100%;height:auto;box-shadow:0 4px 14px #26302810}
 .report-preview span{font-size:.9rem;margin-top:10px}
 .example-actions{flex-direction:column;align-items:stretch;gap:16px;margin-top:18px}
 .example-actions .button{min-height:48px;white-space:normal;padding:12px 16px;line-height:1.4}
 .example-actions .text-link{text-align:center;font-size:.95rem}
 .warm .express{grid-template-columns:minmax(0,1fr);padding:26px 22px;gap:24px;border-radius:16px}
 .warm .express h2{font-size:1.85rem}.warm .offer-price{font-size:2.8rem;margin:10px 0}
 .warm .express h3{font-size:1.35rem;line-height:1.3}
 .warm .express .lead{font-size:1rem;margin-bottom:22px}
 .warm .checks li{padding-top:7px;padding-bottom:7px;font-size:.95rem}
 .warm .faq-layout{grid-template-columns:minmax(0,1fr);gap:12px}
 .warm summary{padding-top:18px;padding-bottom:18px;font-size:.95rem;line-height:1.5}
 .warm details p{font-size:.95rem;margin-right:0}
 .warm .simple-steps h3{font-size:1.35rem;margin:10px 0}
 .warm .simple-steps li{min-width:0}
 .warm .final-cta .actions{flex-direction:column;align-items:stretch}
 .warm .final-cta .button{min-height:48px;white-space:normal;padding:12px 16px}
 .warm{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 .warm .mobile-cta{display:block;padding:8px 16px calc(8px + env(safe-area-inset-bottom));z-index:20}
 .warm .mobile-cta[hidden]{display:none!important}
 .warm .mobile-cta .button{min-height:46px;line-height:1.4;padding:10px 16px}
 .architecture .project-card div{padding:16px 2px 2px}
 .architecture .project-card h3{font-size:1.5rem}.architecture .project-card .project-discover{margin-top:8px}
 .arch-contact aside{padding:24px 20px}.arch-contact aside h3{font-size:1.55rem}
 .project-warm .project-hero h1{font-size:2.25rem;line-height:1.12}
 .project-warm .project-intro{grid-template-columns:minmax(0,1fr)}
 .home-choices{padding:12px 0 32px}.home-choices h2{font-size:1.55rem}
 .home-note{padding:32px 0}
 .home-warm .footer-row,.analyse .footer-row,.architecture .footer-row,.project-warm .footer-row{flex-direction:column;align-items:flex-start;gap:12px}
 .footer-row a,.arch-contact .quiet a{overflow-wrap:anywhere}
 .warm .real-example,.arch-contact-grid>*,.section-head>*{min-width:0}
 section[id],.report-intro[id]{scroll-margin-top:82px}
}
@media(max-width:360px){.warm .personal-grid.with-portrait,.architecture .arch-intro-grid.with-portrait{grid-template-columns:84px minmax(0,1fr);gap:18px 14px}.with-portrait .cassy-portrait{max-width:84px}.with-portrait h2{font-size:1.35rem}.welcome-copy,.warm .hero-copy,.architecture .arch-copy{padding:22px 18px}}

/* Cadrage du moodboard : garder plans et matières au premier plan. */
.home-warm .welcome img[src$="moodboard-cassy.webp"],.warm .hero-visual img[src$="moodboard-cassy.webp"]{object-position:80% center}
@media(max-width:850px){.home-warm .welcome img[src$="moodboard-cassy.webp"],.warm .hero-visual img[src$="moodboard-cassy.webp"]{object-position:center}}
