/* Présentation inspirée du site de référence, identité et contenus Tech-Atout. */
:root { --brand-navy:#05234c; --brand-emerald:#007e65; --warm:#fbf8f3; }
.wrap { width:min(1240px,calc(100% - 64px)); }
.header { background:#fff; box-shadow:0 3px 16px #05234c08; border:0; }
.header-inner { min-height:82px; padding-block:10px; }
.header nav { gap:19px; }
.header nav > a, .header nav .button.small { font-size:1rem; }
.header .brand-symbol { width:65px; height:40px; }
.header .logo { font-size:1.4rem; }
.button { border-radius:40px; box-shadow:0 7px 18px #007e651a; }
.button.secondary { box-shadow:none; }
.ref-hero { background:var(--warm); }
.ref-hero-grid { width:100%; max-width:none; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0; align-items:stretch; }
.ref-hero-copy { padding:68px 42px 48px max(32px,calc((100vw - 1240px)/2)); }
.ref-hero h1 { font-size:clamp(2.5rem,4vw,4.2rem); line-height:1.12; letter-spacing:-.035em; }
.ref-hero .lead { font-size:1.125rem; max-width:590px; line-height:1.85; }
.ref-hero .pill { margin-bottom:27px; }
.ref-hero .actions { gap:12px; margin:30px 0; }
.ref-hero .actions .button { padding:16px 23px; min-height:60px; font-size:1rem; }
.ref-hero-picture { min-height:735px; height:auto; }
.ref-hero-picture > img { border-radius:0; object-position:center; }
.ref-hero-picture figcaption { bottom:24px; left:26px; right:26px; }
.photo-card { border-radius:12px; padding:17px 20px; box-shadow:0 10px 28px #05234c15; }
.photo-credit { font-size:.875rem; }
.hero-reperes { display:flex; flex-wrap:wrap; gap:12px 22px; padding:0; margin:0 0 18px; list-style:none; font-size:1rem; }
.hero-reperes li::before { content:'✓'; color:#007e65; margin-right:8px; font-weight:700; }
.hero-location { font-size:1rem; margin:18px 0 8px; }
.hero-small { font-size:1rem; }
.quick-services { padding:44px 0; background:#fff; }
.quick-grid { gap:20px; }
.quick-card { background:var(--warm); border:1px solid #e1e5df; padding:27px 24px; border-radius:14px; }
.quick-card h2 { font-size:1.2rem; }
.quick-card p { font-size:1rem; }
.quick-more { font-size:1rem; }
.soft-icon { background:#e5f4ec; border-radius:12px; }
.seniors-section { padding:68px 0 80px; }
.seniors-title { max-width:760px; margin-bottom:45px; }
.seniors-title h2 { font-size:clamp(2.2rem,3.7vw,3.4rem); }
.seniors-title > p:last-child { max-width:700px; font-size:1.125rem; }
.seniors-grid { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:50px; align-items:start; }
.seniors-visual figure { margin:0; }
.seniors-visual img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:17px; }
.seniors-visual figcaption { margin-top:7px; font-size:.875rem; color:#52677b; }
.seniors-promise { padding:26px; margin-top:22px; background:#edf7f1; border-radius:14px; }
.seniors-promise strong { font-family:Georgia,serif; font-size:1.5rem; }
.seniors-promise p { margin-top:12px; font-size:1.0625rem; }
#appareils > h3 { font-family:Georgia,serif; font-size:1.65rem; }
.everyday-grid { gap:15px; margin-top:24px; }
.everyday-grid article { display:grid; grid-template-columns:32px minmax(0,1fr); column-gap:12px; align-content:start; background:var(--warm); border:0; border-left:3px solid #007e65; padding:19px 16px; border-radius:10px; }
.everyday-grid .soft-icon { width:32px; height:32px; background:transparent; grid-row:1/3; }
.everyday-grid h4 { margin:2px 0 8px; font-size:1.0625rem; }
.everyday-grid p { grid-column:2; font-size:1rem; }
.process-section { background:#f4f8f6; }
.center-title h2 { font-size:clamp(2.1rem,3.6vw,3.1rem); }
.ref-steps { grid-template-columns:repeat(4,minmax(0,1fr)); gap:23px; }
.ref-steps li { padding:28px 22px; border:1px solid #d4e0d8; box-shadow:0 6px 18px #05234c04; }
.ref-steps li > span { background:#007e65; color:#fff; }
.ref-steps h3 { font-size:1.2rem; }
.ref-steps p { font-size:1rem; }
.fact-strip { background:#05234c; padding:38px 0; }
.facts strong { font-size:2.2rem; }
.facts span { font-size:1rem; }
.confidence-section { background:#fff; }
.confidence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:27px; }
.confidence-grid article { padding:30px; border:1px solid #d4e0d8; border-radius:15px; background:#fff; }
.confidence-icon { width:47px; height:47px; border-radius:12px; display:grid; place-items:center; background:#e5f4ec; color:#00634e; font-weight:700; margin-bottom:21px; }
.confidence-grid h3 { font-size:1.3rem; }
.confidence-grid p { font-size:1.0625rem; }
.confidence-grid a { font-size:1rem; color:#00634e; font-weight:650; }
.audience-section { background:var(--warm); padding:48px 0; }
.audience-section h2 { text-align:center; margin-bottom:28px; }
.audience-card { border-color:#d4e0d8; padding:28px; }
.price-section { background:#fff; }
.price-list li > strong { max-width:none; }
.ref-price { padding:34px; }
.payment-required { font-size:1.0625rem; }
.meeting-section { background:#05234c; color:#d8e3ed; }
.meeting-inner { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:48px; align-items:center; }
.meeting-inner h2 { color:#fff; font-size:clamp(2rem,3.4vw,3rem); }
.meeting-inner h2 em { color:#80e8c4; }
.meeting-inner .eyebrow { color:#80e8c4; }
.meeting-inner p { font-size:1.125rem; margin-bottom:0; }
.meeting-actions { display:flex; flex-direction:column; gap:14px; }
.meeting-actions .button { background:#80e8c4; color:#05234c; border-color:#80e8c4; }
.meeting-actions .button.secondary { background:transparent; color:#fff; border-color:#fff; }
.meeting-actions a:focus-visible { outline-color:#fff; }
.service-mode-heading { grid-template-columns:minmax(0,1fr) auto; }
.mode-badge { white-space:nowrap; max-width:none; border-radius:30px; }
.service-option .service-option-price { width:auto; }
@media(min-width:1401px) { .header-inner { flex-direction:row; flex-wrap:nowrap; } .header .logo { margin:0; } .header nav { width:auto; flex-wrap:nowrap; } }
@media(max-width:1100px) {
 .ref-hero-copy { padding:45px 28px 40px 32px; }
 .ref-hero h1 { font-size:3rem; }
 .ref-hero-picture { min-height:780px; }
 .seniors-grid { gap:30px; }
 .everyday-grid { grid-template-columns:minmax(0,1fr); }
 .ref-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
 .header-inner { min-height:76px; }
 .ref-hero-grid { grid-template-columns:minmax(0,1fr); }
 .ref-hero-copy { padding:40px 24px; }
 .ref-hero h1 { font-size:clamp(2.3rem,7vw,3.5rem); }
 .ref-hero-picture { min-height:0; height:500px; margin:0; }
 .seniors-grid { grid-template-columns:minmax(0,1fr); }
 .seniors-visual { max-width:650px; }
 .everyday-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .confidence-grid,.meeting-inner { grid-template-columns:minmax(0,1fr); }
 .meeting-inner { gap:28px; }
}
@media(max-width:650px) {
 .wrap { width:calc(100% - 36px); }
 .ref-hero-grid.wrap { width:100%; }
 .ref-hero-copy { padding:32px 18px 38px; }
 .ref-hero h1 { font-size:2.5rem; }
 .ref-hero .actions .button { width:100%; font-size:1rem; }
 .ref-hero-picture { height:450px; }
 .ref-hero-picture figcaption { left:18px; right:18px; }
 .photo-credit { font-size:.8125rem; }
 .hero-reperes { gap:10px 16px; }
 .quick-grid { grid-template-columns:minmax(0,1fr); }
 .quick-card { padding:25px; }
 .quick-card h2 { margin-top:15px; }
 .everyday-grid { grid-template-columns:minmax(0,1fr); }
 .ref-steps { grid-template-columns:minmax(0,1fr); }
 .seniors-section { padding:48px 0; }
 .seniors-title { margin-bottom:30px; }
 .seniors-title h2 { font-size:2.25rem; }
 .seniors-promise { padding:24px; }
 .ref-price { padding:26px; }
 .confidence-grid article { padding:26px; }
 .service-mode-heading { grid-template-columns:minmax(0,1fr) auto; }
 .mode-badge { text-align:right; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }

@media(min-width:1151px) { .header-inner { flex-direction:row; flex-wrap:nowrap; gap:20px; } .header .logo { margin:0; } .header nav { width:auto; flex-wrap:nowrap; gap:16px; } }

/* Le choix de rendez-vous prolonge directement la carte du service. */
.service-option #etape-agenda { width:100%; max-width:none; margin:22px 0 0; padding:20px 0 0; border:0; border-top:1px solid #a8cabe; border-radius:0; background:transparent; }
.service-option #agenda-title { font-family:inherit; font-size:1.25rem; line-height:1.4; margin:0 0 14px; }
.service-option #selection-summary { padding:12px; font-size:1rem; margin-bottom:16px; }
.service-option #selection-payment { padding:12px; font-size:1rem; }
.service-option .availability-details { padding:12px; }
.service-option .availability-details summary { font-size:1rem; }
.service-option #change-choice { width:100%; }
