.tunnel { background:var(--cream); }
.tunnel-header { border-bottom:1px solid var(--line); background:var(--paper); }
.tunnel-header .shell { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.tunnel-header .brand { letter-spacing:.025em; }
.tunnel-header-note { font-size:.78rem; color:#52665a; text-align:right; }
.tunnel h1 { max-width:19ch; font-size:clamp(2.6rem,4.5vw,4rem); line-height:1.08; overflow-wrap:anywhere; }
.tunnel h2 { max-width:none; font-size:clamp(1.8rem,2.7vw,2.6rem); line-height:1.15; }
.tunnel h3 { line-height:1.2; }
.tunnel-hero { padding:72px 0 64px; background:linear-gradient(125deg,#e8efea,var(--cream) 75%); }
.tunnel-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:clamp(36px,5vw,72px); }
.tunnel-hero .lead { max-width:47ch; margin:24px 0; font-size:1.1rem; line-height:1.7; }
.tunnel-photo { min-width:0; margin:0; }
.tunnel-photo img { width:100%; height:auto; border-radius:36px 36px 36px 12px; box-shadow:var(--soft-shadow); }
.tunnel-cta-note { margin:12px 0 0; font-size:.82rem; color:#4d6357; }
.tunnel-section { padding:60px 0; }
.tunnel-context-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 64px; }
.tunnel-context-grid article { min-width:0; }
.tunnel-context-grid article+article { padding-left:38px; border-left:1px solid var(--line); }
.tunnel-context-grid p,.tunnel-context-grid li { font-size:1rem; line-height:1.8; }
.tunnel-context-grid ul { padding-left:22px; margin:24px 0 0; }
.tunnel-context-grid li { margin-bottom:12px; padding-left:5px; }
.tunnel-context-grid li::marker { color:var(--terra-deep); }
.tunnel-about { padding:60px 0; background:#e8ede5; }
.tunnel-about-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:clamp(36px,6vw,84px); }
.tunnel-about .tunnel-photo { max-width:440px; }
.tunnel-about-copy { max-width:60ch; }
.tunnel-role { color:#52665a; font-size:.9rem; margin:18px 0 0; }
#premier-echange { scroll-margin-top:24px; }
.tunnel-contact-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:clamp(36px,6vw,80px); }
.tunnel-steps { list-style:none; padding:0; margin:30px 0 0; counter-reset:steps; }
.tunnel-steps li { position:relative; padding:0 0 22px 43px; counter-increment:steps; }
.tunnel-steps li::before { position:absolute; left:0; top:2px; display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--terra-deep); border-radius:50%; color:var(--terra-deep); content:counter(steps); font-size:.8rem; }
.tunnel-steps strong { display:block; font-size:.97rem; margin-bottom:5px; }
.tunnel-steps p { font-size:.9rem; line-height:1.65; margin:0; }
.tunnel-form { background:var(--paper); padding:34px; }
.tunnel-form h2 { font-size:1.8rem; }
.tunnel-form > label:not(.consent) { margin:20px 0 8px; }
.tunnel-form > input { margin:0; }
.tunnel-form > .consent { margin:24px 0 20px; }
.tunnel-form .button { width:100%; }
.tunnel-form .consent { font-size:.81rem; line-height:1.6; }
.tunnel-form .form-note { font-size:.8rem; line-height:1.6; }
.tunnel-form .form-feedback { overflow-wrap:anywhere; }
.tunnel-offers { padding:48px 0; border-block:1px solid var(--line); }
.tunnel-offers h2 { font-size:2rem; }
.tunnel-offers-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:30px 0 24px; }
.tunnel-offer { padding:24px 0 0; border-top:2px solid var(--terra); }
.tunnel-offer h3 { font-size:1.4rem; }
.tunnel-offer-price { display:block; font-size:1.1rem; font-weight:750; margin:12px 0; }
.tunnel-offer p { font-size:.9rem; line-height:1.7; }
.tunnel-offers-note { font-size:.84rem; }
.tunnel-faq { max-width:820px; margin-inline:auto; }
.tunnel-faq details { border-bottom:1px solid var(--line); padding:16px 0; }
.tunnel-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; cursor:pointer; font-weight:700; line-height:1.5; list-style:none; }
.tunnel-faq summary::-webkit-details-marker { display:none; }
.tunnel-faq summary::after { content:'+'; color:var(--terra-deep); font-size:1.3rem; }
.tunnel-faq details[open] summary::after { content:'−'; }
.tunnel-faq details p { padding-top:18px; font-size:.95rem; }
.tunnel-faq summary:focus-visible { outline:3px solid var(--terra-deep); outline-offset:4px; }
.tunnel-scope { padding:28px; border-radius:20px; background:#e8ede5; margin-top:40px; }
.tunnel-scope h2 { font-size:1.4rem; }
.tunnel-scope p { max-width:none; font-size:.87rem; line-height:1.7; margin:0; }
.tunnel-footer { background:var(--forest-deep); color:#fffdf8; padding:38px 0; }
.tunnel-footer .shell { display:flex; justify-content:space-between; gap:32px; }
.tunnel-footer .brand { font-size:1rem; }
.tunnel-footer p { font-size:.82rem; margin:8px 0 0; }
.tunnel-footer nav { display:flex; flex-wrap:wrap; gap:4px 24px; align-items:center; justify-content:flex-end; max-width:580px; }
.tunnel-footer nav a { display:flex; align-items:center; min-height:44px; font-size:.81rem; }
.tunnel-footer a:focus-visible { outline:3px solid #f0b7a2; outline-offset:4px; }
.tunnel-confirmation { min-height:62vh; display:grid; align-items:center; padding:70px 0; }
.tunnel-confirmation .shell { max-width:850px; }
.tunnel-confirmation h1 { max-width:20ch; }
.tunnel-confirmation .lead { max-width:50ch; margin:26px 0; }
.tunnel-confirmation .button { margin-top:16px; }
.tunnel [hidden] { display:none!important; }
@media(max-width:850px) { .tunnel-hero-grid,.tunnel-context-grid,.tunnel-about-grid,.tunnel-contact-grid { grid-template-columns:1fr; } .tunnel-context-grid article+article { padding-left:0; border-left:0; padding-top:30px; border-top:1px solid var(--line); } .tunnel-hero { padding:44px 0; } .tunnel-photo { width:100%; max-width:620px; margin-inline:auto; } .tunnel-about-copy { grid-row:1; } .tunnel-about .tunnel-photo { max-width:540px; } .tunnel h1 { max-width:22ch; } .tunnel-offers-grid { gap:20px; } .tunnel-footer .shell { flex-direction:column; gap:18px; } .tunnel-footer nav { justify-content:flex-start; } }
@media(max-width:520px) { .tunnel-header .shell { min-height:68px; } .tunnel-header .brand { font-size:.95rem; } .tunnel-header-note { max-width:90px; font-size:.7rem; } .tunnel h1 { font-size:2.5rem; } .tunnel .lead { font-size:1.02rem; } .tunnel-section,.tunnel-about { padding:44px 0; } .tunnel-hero .button { width:100%; } .tunnel-photo img { border-radius:26px 26px 26px 10px; } .tunnel-form { padding:26px 22px; } .tunnel-offers-grid { grid-template-columns:1fr; gap:12px; } .tunnel-offer { padding-top:20px; } .tunnel-scope { padding:24px 20px; } .tunnel-confirmation { padding:48px 0; } .tunnel-confirmation .button { width:100%; } }

.tunnel-offer .booking-offer-link{display:inline-block;margin-top:12px;color:var(--forest-deep,#203c32);font-weight:700;text-decoration:underline;text-underline-offset:4px;}
.tunnel-offer .booking-offer-link:focus-visible{outline:3px solid var(--terra-deep);outline-offset:4px;}
