/*
Theme Name: Clair Ressenti
Description: Accueil et guide de Roch Chevalier
Template: kadence
Version: 1.1.19
Text Domain: clair-ressenti
*/
/* Design scoped for later WordPress integration. */
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: #f7f4ed; }
.cr-site { --cream: #f7f4ed; --paper: #fffdf8; --green: #263e32; --sage: #65735b; --muted: #5e665b; --line: #d8ddcf; --pale: #e9ecdf; font: 400 15px/1.8 Manrope, Arial, sans-serif; color: var(--green); background: var(--cream); overflow: clip; }
.cr-site *, .cr-site *::before, .cr-site *::after { box-sizing: border-box; }
.cr-site a { color: inherit; text-decoration: none; }
.cr-site button, .cr-site input, .cr-site textarea { font: inherit; }
.cr-site button { cursor: pointer; }
.cr-site img { display: block; width: 100%; height: auto; }
.cr-site h1, .cr-site h2, .cr-site h3, .cr-site p, .cr-site figure { margin: 0; }
.cr-site h1, .cr-site h2, .cr-site h3 { font-family: Fraunces, Georgia, serif; font-weight: 400; }
.cr-site h2 { font-size: clamp(42px, 4.4vw, 64px); line-height: 1.12; letter-spacing: -.045em; }
.cr-site h2 em, .cr-site h1 em { font-weight: 400; color: var(--sage); }
.cr-site h3 { font-size: 31px; line-height: 1.25; letter-spacing: -.025em; }
.cr-site p + p { margin-top: 19px; }
.cr-site :focus-visible, .cr-skip:focus-visible { outline: 3px solid #a3693e; outline-offset: 5px; }
.cr-site [hidden] { display: none !important; }
.cr-shell { width: min(1240px, calc(100% - 112px)); margin-inline: auto; }
.cr-section { padding-block: 112px; }
.cr-eyebrow { font-size: 10px; line-height: 1.6; font-weight: 600; letter-spacing: .17em; }
.cr-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--sage); flex: 0 0 auto; }
.cr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 25px; min-height: 54px; padding: 15px 23px; border: 1px solid var(--green); border-radius: 5px; color: var(--paper) !important; background: var(--green); font: 500 12px/1.5 Manrope, Arial, sans-serif; letter-spacing: .015em; transition: background .2s, transform .2s, box-shadow .2s; }
.cr-btn:hover { background: #3d5545; border-color: #3d5545; box-shadow: 0 6px 20px #263e3210; transform: translateY(-2px); }
.cr-btn > span { font-size: 21px; line-height: .8; font-weight: 400; }
.cr-btn-small { min-height: 44px; padding: 11px 16px; font-size: 11px; gap: 19px; }
.cr-btn-light { background: var(--cream); color: var(--green) !important; border-color: var(--cream); }
.cr-btn-light:hover { background: #e8ebdc; border-color: #e8ebdc; }
.cr-text-link { display: inline-flex; align-items: center; gap: 23px; font-size: 12px; line-height: 2.2; border-bottom: 1px solid #7a897260; padding-bottom: 3px; }
.cr-text-link span { font-size: 20px; }
.cr-text-link:hover { border-color: currentColor; }
.cr-large-copy { font-size: 21px; line-height: 1.6; font-weight: 400; letter-spacing: -.025em; }
.cr-skip { position: fixed; z-index: 100; top: 12px; left: 16px; background: #263e32; color: white; padding: 12px 20px; transform: translateY(-200%); font-family: Manrope, sans-serif; }
.cr-skip:focus { transform: translateY(0); }

/* Navigation */
.cr-header { position: sticky; top: 0; z-index: 20; background: #f7f4edf7; border-bottom: 1px solid #263e3214; backdrop-filter: blur(14px); }
.cr-header-inner { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.cr-brand { display: inline-flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.cr-symbol { width: 44px; height: 50px; }
.cr-brand > span { font-family: Fraunces, Georgia, serif; font-size: 28px; line-height: 1.05; letter-spacing: -.045em; }
.cr-brand-sub { display: block; margin-top: 8px; font: 400 9px/1.4 Manrope, Arial, sans-serif; letter-spacing: .12em; }
.cr-nav { display: flex; align-items: center; gap: 30px; font-size: 11px; font-weight: 500; }
.cr-nav > a:not(.cr-btn) { position: relative; padding-block: 9px; }
.cr-nav > a:not(.cr-btn)::after { position: absolute; content: ''; height: 1px; left: 0; right: 100%; bottom: 3px; background: var(--green); transition: right .2s; }
.cr-nav > a:hover::after { right: 0; }
.cr-menu-toggle { display: none; }

/* Opening composition */
.cr-hero { display: grid; grid-template-columns: 1.08fr 1fr; gap: 66px; align-items: center; padding-block: 56px 74px; }
.cr-hero-copy { padding-top: 12px; }
.cr-hero .cr-eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; font-size: 9px; }
.cr-hero h1 { font-size: clamp(57px, 5.6vw, 83px); line-height: 1.055; letter-spacing: -.055em; }
.cr-hero-intro { margin-top: 26px !important; max-width: 415px; font-size: 14px; line-height: 1.9; color: #586253; }
.cr-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; margin-top: 29px; }
.cr-video-link { display: inline-flex; align-items: center; gap: 9px; font-size: 11px; }
.cr-small-play { display: grid; place-items: center; border: 1px solid #89977b80; border-radius: 50%; width: 29px; height: 29px; padding-left: 2px; font-size: 8px; }
.cr-video-link:hover .cr-small-play { background: var(--pale); }
.cr-local { display: flex; align-items: center; gap: 7px; margin-top: 27px !important; font-size: 10px; color: #677260; }
.cr-local svg { width: 16px; height: 16px; }
.cr-hero-visual { position: relative; width: 100%; padding-right: 24px; isolation: isolate; }
.cr-hero-portrait { position: relative; height: 586px; border-radius: 240px 240px 9px 9px; overflow: hidden; background: #cbd4bd; }
.cr-hero-portrait::after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, #10211699); pointer-events: none; }
.cr-hero-portrait img { height: 100%; object-fit: cover; object-position: 50% 15%; }
.cr-hero-portrait figcaption { display: flex; align-items: center; gap: 8px; position: absolute; z-index: 1; left: 31px; bottom: 23px; color: white; font-size: 8px; letter-spacing: .15em; }
.cr-caption-dot { width: 5px; height: 5px; background: #e7ecca; border-radius: 50%; }
.cr-caption-role { margin-left: 5px; color: #e1e7da; letter-spacing: .02em; font-size: 8px; }
.cr-orbits { position: absolute; z-index: -1; width: 116%; height: 118%; max-width: none; top: -8%; left: -8%; opacity: .85; }
.cr-quote-note { position: absolute; z-index: 2; left: -45px; bottom: 69px; background: #faf9f0; width: 203px; padding: 22px 25px 21px; box-shadow: 0 12px 48px #1a30221c; border: 1px solid #e7e9da; transform: rotate(-4deg); }
.cr-note-mark { font-family: Fraunces, serif; font-size: 42px; height: 28px; display: block; color: #86936f; line-height: 1; }
.cr-quote-note p { font-family: Fraunces, Georgia, serif; font-size: 26px; letter-spacing: -.04em; line-height: 1.2; }
.cr-note-line { display: block; width: 27px; height: 1px; background: #a2ae90; margin-block: 19px 11px; }
.cr-note-author { font-size: 7px; letter-spacing: .13em; }
.cr-vertical-note { position: absolute; top: 220px; right: -23px; font-size: 7px; writing-mode: vertical-rl; letter-spacing: .23em; }

/* Alternating editorial sections */
.cr-intention-bar { background: var(--pale); border-block: 1px solid #d6ddcc; }
.cr-intentions { display: flex; justify-content: space-between; align-items: center; gap: 30px; min-height: 100px; }
.cr-intentions p { font-family: Fraunces, Georgia, serif; font-size: 19px; letter-spacing: -.02em; margin: 0 !important; }
.cr-intentions p span { font: 400 9px/1 Manrope, sans-serif; color: #6c775e; margin-right: 13px; }
.cr-intentions svg { width: 16px; height: 16px; stroke: #82926f; stroke-width: .8; }
.cr-approche { display: grid; grid-template-columns: 1fr 3.2fr; gap: 45px; }
.cr-section-aside { position: relative; }
.cr-branch { display: block; width: 124px; height: 172px; margin-top: 58px; margin-left: -10px; color: #a3ac91; }
.cr-approche h2 { margin-bottom: 34px; }
.cr-approche-columns { display: grid; grid-template-columns: 1fr 1.2fr; gap: 54px; }
.cr-approche-columns > div { color: var(--muted); font-size: 13px; line-height: 1.9; }
.cr-approche .cr-text-link { margin-top: 28px; }
.cr-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 60px; margin-bottom: 48px; }
.cr-section-heading .cr-eyebrow { margin-bottom: 20px; }
.cr-section-heading > p { max-width: 345px; color: var(--muted); font-size: 14px; padding-bottom: 7px; }

/* Video */
.cr-rencontre { padding-block: 89px 44px; background: var(--green); color: var(--cream); }
.cr-rencontre h2 em, .cr-closing h2 em { color: #c1ccaa; }
.cr-video-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 80px; margin-bottom: 42px; }
.cr-video-heading .cr-eyebrow { color: #bec9ad; margin-bottom: 20px; }
.cr-video-heading > p { max-width: 330px; color: #d4dccd; font-size: 13px; line-height: 1.9; margin: 0; padding-bottom: 4px; }
.cr-video-frame { position: relative; overflow: hidden; border-radius: 7px; background: #101b14; aspect-ratio: 2.05; }
.cr-video-frame video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 39%; }
.cr-play-overlay { position: absolute; inset: 0; border: 0; color: white; background: linear-gradient(transparent 35%, #102519aa); width: 100%; display: flex; align-items: flex-end; justify-content: flex-start; gap: 24px; padding: 38px; text-align: left; }
.cr-play-disc { display: grid; place-items: center; width: 68px; height: 68px; flex: 0 0 auto; border: 1px solid #ffffffe0; border-radius: 50%; font-size: 15px; padding-left: 4px; background: #ffffff14; backdrop-filter: blur(6px); transition: transform .25s, background .25s; }
.cr-play-overlay:hover .cr-play-disc { transform: scale(1.08); background: #ffffff35; }
.cr-play-text { padding-bottom: 5px; font-size: 10px; letter-spacing: .15em; }
.cr-play-text small { display: block; margin-top: 9px; font-size: 11px; font-weight: 400; letter-spacing: .01em; color: #edf0e8; }
.cr-video-bottom { display: flex; justify-content: space-between; margin-top: 24px; font-size: 8px; letter-spacing: .12em; color: #c9d0bf; }
.cr-video-bottom > span:last-child { font-size: 10px; letter-spacing: 0; color: #e6e9de; }
.cr-video-bottom > span:last-child span { margin-left: 12px; }

/* Workshop */
.cr-workshop { border: 1px solid #c9d0be; border-radius: 8px; overflow: hidden; display: grid; grid-template-columns: 1.65fr 1fr; }
.cr-workshop-main { padding: 39px 43px 37px; background: #eef0e6; }
.cr-workshop-top { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 30px; }
.cr-workshop-kicker { font-size: 9px; letter-spacing: .12em; }
.cr-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid #aeb99d; border-radius: 20px; font-size: 8px; line-height: 1.3; }
.cr-pill::before { content: ''; width: 4px; height: 4px; background: #6c805f; border-radius: 50%; }
.cr-workshop h3 { font-size: 40px; margin-bottom: 20px; }
.cr-workshop-main > p { max-width: 450px; font-size: 13px; color: #5d6854; }
.cr-workshop-details { display: flex; flex-direction: column; gap: 12px; margin-top: 30px; font-size: 11px; }
.cr-workshop-details > span { display: flex; gap: 12px; align-items: center; }
.cr-workshop-details svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1; }
.cr-workshop-booking { display: flex; flex-direction: column; align-items: stretch; padding: 46px 35px 30px; background: #fbfaf3; border-left: 1px solid #c9d0be; }
.cr-price { font: 400 30px/1.1 Fraunces, Georgia, serif; letter-spacing: -.04em; }
.cr-price > span { font-size: 72px; }
.cr-price small { display: block; font: 400 9px/1.5 Manrope, sans-serif; letter-spacing: 0; margin-top: 10px; color: var(--muted); }
.cr-workshop-place { font-size: 11px; margin-top: 24px; padding-top: 25px; border-top: 1px solid var(--line); }
.cr-workshop-place .cr-dot { width: 5px; height: 5px; margin-right: 5px; }
.cr-workshop-place small { display: block; color: #65705d; font-size: 10px; margin-top: 9px; max-width: 260px; }
.cr-workshop-booking .cr-btn { margin-top: 26px; font-size: 10px; padding-inline: 17px; gap: 18px; justify-content: space-between; }
.cr-booking-note { text-align: center; font-size: 9px; line-height: 1.9; margin-top: 17px !important; color: #65705d; }
.cr-booking-note a { border-bottom: 1px solid #bcc5af; }
.cr-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; margin-top: 51px; }
.cr-steps > div { position: relative; padding-left: 44px; }
.cr-step-number { position: absolute; left: 0; top: 7px; font-family: Fraunces, serif; font-size: 18px; color: #89977c; }
.cr-steps h3 { font-size: 25px; margin-bottom: 11px; }
.cr-steps p { font-size: 11px; color: var(--muted); max-width: 245px; }

/* About */
.cr-roch-section { background: #e9ebdf; padding-block: 90px; }
.cr-roch-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.cr-about-visual { position: relative; margin-right: 30px; }
.cr-about-visual img { height: 550px; object-fit: cover; object-position: 50% 25%; border-radius: 5px 180px 5px 5px; }
.cr-about-signature { position: absolute; right: -47px; bottom: 45px; background: #faf8f0; padding: 26px 32px; font: italic 400 28px/1.25 Fraunces, Georgia, serif; letter-spacing: -.04em; box-shadow: 0 10px 35px #263e3210; transform: rotate(3deg); }
.cr-about-copy .cr-eyebrow { margin-bottom: 23px; }
.cr-about-copy h2 { font-size: 72px; margin-bottom: 27px; }
.cr-about-copy > p:not(.cr-eyebrow):not(.cr-large-copy) { font-size: 13px; line-height: 1.95; color: #5e6856; }
.cr-about-copy .cr-large-copy { font-size: 21px; max-width: 350px; }
.cr-about-copy .cr-text-link { margin-top: 25px; }

/* Guide */
.cr-guide-section { display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: 110px; padding-block: 114px; }
.cr-guide-visual { position: relative; min-height: 440px; display: flex; align-items: center; justify-content: center; isolation: isolate; }
.cr-guide-circle { position: absolute; width: 365px; height: 365px; border-radius: 50%; background: #e8e7d9; z-index: -1; top: 37px; left: calc(50% - 182px); }
.cr-book { width: 252px; height: 355px; background: #3c5140; color: #e3e7cc; position: relative; transform: perspective(1400px) rotateY(-15deg) rotateZ(-9deg); padding: 25px 28px; box-shadow: 22px 24px 40px #23302622; border-left: 8px solid #2a3a2c; border-radius: 2px 4px 4px 2px; }
.cr-book::after { content: ''; position: absolute; top: 6px; bottom: 3px; right: -7px; width: 7px; background: repeating-linear-gradient(#e3e1d0 0 1px, #f7f4e8 1px 3px); transform: skewY(-28deg); transform-origin: left; }
.cr-book-top { font-size: 8px; line-height: 1.6; letter-spacing: .2em; }
.cr-book-top span { display: block; font-size: 6px; letter-spacing: .12em; margin-top: 4px; opacity: .8; }
.cr-book-title { font: 400 43px/1.04 Fraunces, Georgia, serif; letter-spacing: -.04em; margin-top: 30px; }
.cr-book svg { position: absolute; width: 90px; height: 97px; right: 22px; bottom: 42px; color: #bac6a0; }
.cr-book-footer { position: absolute; left: 27px; bottom: 26px; font-size: 5px; line-height: 1.9; letter-spacing: .1em; }
.cr-guide-label { position: absolute; bottom: 5px; right: -1px; font: italic 400 21px/1.25 Fraunces, Georgia, serif; color: #778368; transform: rotate(-4deg); }
.cr-guide-copy .cr-eyebrow { margin-bottom: 20px; }
.cr-guide-copy > p:not(.cr-eyebrow):not(.cr-guide-note) { max-width: 420px; font-size: 13px; color: #626b5c; margin-top: 25px; }
.cr-guide-list { list-style: none; margin: 24px 0 29px; padding: 0; font-size: 11px; }
.cr-guide-list li { margin-top: 9px; padding-left: 21px; position: relative; }
.cr-guide-list li::before { content: '✓'; position: absolute; left: 0; color: #718064; font-size: 12px; }
.cr-guide-note { margin-top: 12px !important; font-size: 9px; color: #697560; }

/* Questions */
.cr-faq-section { padding-block: 90px 105px; border-top: 1px solid #dde0d2; }
.cr-faq-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 100px; }
.cr-faq-grid .cr-eyebrow { margin-bottom: 21px; }
.cr-faq-grid h2 { margin-bottom: 30px; }
.cr-faq-grid > div > p:last-child { font-size: 12px; color: var(--muted); }
.cr-faq-grid > div > p .cr-text-link { font-size: 11px; }
.cr-faq-list { border-top: 1px solid #c9d0be; }
.cr-faq-list details { border-bottom: 1px solid #c9d0be; }
.cr-faq-list summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; font-size: 13px; font-weight: 500; list-style: none; }
.cr-faq-list summary::-webkit-details-marker { display: none; }
.cr-faq-list summary > span { font-family: Manrope, sans-serif; font-size: 21px; font-weight: 400; color: #748468; transition: transform .2s; }
.cr-faq-list details[open] summary > span { transform: rotate(45deg); }
.cr-faq-list details > div { font-size: 12px; line-height: 1.9; color: #616c58; padding: 0 33px 25px 0; max-width: 590px; }

/* Closing and footer */
.cr-closing { background: var(--green); color: var(--cream); overflow: hidden; }
.cr-closing-inner { position: relative; padding-block: 83px 88px; text-align: center; isolation: isolate; }
.cr-closing .cr-eyebrow { color: #c3cdb4; font-size: 8px; }
.cr-closing h2 { margin-block: 24px; font-size: 72px; }
.cr-closing p:not(.cr-eyebrow) { font-size: 12px; color: #d2dac7; line-height: 1.9; }
.cr-closing .cr-btn { margin-top: 28px; }
.cr-closing-leaf { position: absolute; width: 248px; height: 355px; right: -4%; top: 65px; color: #728562; opacity: .7; transform: rotate(16deg); z-index: -1; }
.cr-footer { padding-block: 38px 24px; }
.cr-footer-top { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding-bottom: 32px; border-bottom: 1px solid #d8ddcf; }
.cr-footer .cr-brand > span { font-size: 24px; }
.cr-footer .cr-symbol { width: 35px; height: 43px; }
.cr-footer .cr-brand-sub { font-size: 7px; }
.cr-footer-top > a:not(.cr-brand) { font-size: 11px; }
.cr-footer-top > a:not(.cr-brand) span { margin-left: 13px; }
.cr-footer-top > p { font-size: 9px; color: #66735c; }
.cr-footer-bottom { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; padding-top: 22px; color: #6b7463; font-size: 8px; line-height: 1.8; }
.cr-footer-bottom > p { margin: 0 !important; }
.cr-footer-bottom > p:last-child { text-align: right; }

/* Accessible dialogs and forms */
.cr-modal-open { overflow: hidden; }
.cr-dialog { color: #263e32; border: 1px solid #d8ddcf; border-radius: 9px; width: min(560px, calc(100% - 30px)); max-height: 90dvh; padding: 42px; background: #f7f4ed; font: 400 13px/1.8 Manrope, sans-serif; box-shadow: 0 15px 90px #0b170b50; }
.cr-dialog::backdrop { background: #15281bd1; backdrop-filter: blur(5px); }
.cr-dialog h2 { font-size: 47px; margin: 20px 0; }
.cr-dialog > p:not(.cr-eyebrow) { color: #636e59; }
.cr-dialog label { display: block; font-size: 10px; margin-top: 17px; }
.cr-dialog input, .cr-dialog textarea { display: block; width: 100%; border: 1px solid #bac4ab; padding: 11px 12px; color: #263e32; background: #fffdf7; border-radius: 3px; font-size: 12px; margin-top: 5px; resize: vertical; }
.cr-dialog .cr-btn { width: 100%; margin-top: 24px; }
.cr-dialog .cr-form-note { font-size: 9px; margin-top: 12px; line-height: 1.8; color: #65705b; }
.cr-dialog-guide ol { padding-left: 20px; margin-top: 24px; font-size: 12px; }
.cr-dialog-guide li { padding-left: 4px; margin-bottom: 11px; }
.cr-status { font-size: 10px; color: #3c5a34; margin-top: 12px !important; }

/* Reader */
.cr-reader { max-width: 760px; margin-inline: auto; padding: 75px 30px 100px; }
.cr-reader h1 { font-size: clamp(48px, 7vw, 80px); line-height: 1.1; letter-spacing: -.045em; margin-block: 25px; }
.cr-reader h2 { font-size: 37px; margin-block: 55px 25px; }
.cr-reader h3 { font-size: 25px; margin-block: 30px 17px; }
.cr-reader > p { color: #5d6855; font-size: 14px; }
.cr-reader ul, .cr-reader ol { padding-left: 22px; font-size: 14px; color: #5d6855; }
.cr-reader li { margin-bottom: 10px; }
.cr-reader-note { border-left: 2px solid #a8b392; padding: 17px 23px; background: #edf0e3; margin-block: 25px; color: #47563d; font-size: 13px; }
.cr-reader table { width: 100%; border-collapse: collapse; margin-block: 25px; font-size: 12px; }
.cr-reader td, .cr-reader th { text-align: left; border: 1px solid #cbd3be; padding: 13px; vertical-align: top; }
.cr-reader th { background: #e8ecdd; font-weight: 500; }

@media (min-width: 1600px) { .cr-shell { width: min(1320px, calc(100% - 140px)); } .cr-hero-portrait { height: 640px; } .cr-hero { padding-block: 65px 85px; } }
@media (max-width: 1100px) { .cr-shell { width: calc(100% - 70px); } .cr-nav { gap: 19px; font-size: 10px; } .cr-hero { gap: 38px; } .cr-hero-portrait { height: 535px; } .cr-hero h1 { font-size: 66px; } .cr-hero-actions { gap: 17px; } .cr-hero-actions .cr-btn { font-size: 11px; padding-inline: 16px; gap: 16px; } .cr-quote-note { left: -28px; width: 180px; padding: 19px 20px; } .cr-quote-note p { font-size: 24px; } .cr-intentions { gap: 15px; } .cr-intentions p { font-size: 16px; } .cr-intentions p span { margin-right: 8px; } .cr-approche { grid-template-columns: 1fr 3.5fr; gap: 35px; } .cr-approche-columns { gap: 35px; } .cr-workshop-main { padding: 32px; } .cr-workshop-booking { padding: 38px 26px 28px; } .cr-roch-grid { gap: 68px; } .cr-about-visual { margin-right: 15px; } .cr-guide-section { gap: 65px; } .cr-faq-grid { gap: 60px; } }
@media (max-width: 900px) { .cr-header-inner { min-height: 82px; } .cr-brand > span { font-size: 25px; } .cr-brand-sub { font-size: 8px; } .cr-nav > a:not(.cr-btn) { display: none; } .cr-hero { gap: 28px; padding-block: 48px 62px; } .cr-hero h1 { font-size: 58px; } .cr-hero-intro { font-size: 12px; max-width: 330px; } .cr-hero .cr-eyebrow { font-size: 8px; letter-spacing: .1em; } .cr-hero-portrait { height: 490px; } .cr-caption-role { display: none; } .cr-quote-note { bottom: 50px; width: 156px; padding: 16px; left: -22px; } .cr-quote-note p { font-size: 21px; } .cr-note-line { margin-block: 14px 10px; } .cr-note-author { font-size: 6px; } .cr-vertical-note { right: -16px; font-size: 6px; } .cr-section { padding-block: 80px; } .cr-approche-columns { grid-template-columns: 1fr; gap: 24px; } .cr-approche .cr-large-copy { max-width: 480px; } .cr-branch { width: 90px; } .cr-video-heading { gap: 35px; } .cr-video-heading > p { max-width: 265px; font-size: 12px; } .cr-workshop { grid-template-columns: 1.3fr 1fr; } .cr-workshop h3 { font-size: 33px; } .cr-workshop-kicker { font-size: 8px; } .cr-steps { gap: 25px; } .cr-roch-grid { gap: 55px; } .cr-about-visual img { height: 500px; } .cr-about-copy h2 { font-size: 60px; } .cr-about-signature { font-size: 24px; padding: 23px; right: -30px; } .cr-guide-section { gap: 40px; padding-block: 85px; } .cr-book { width: 224px; height: 325px; padding-inline: 22px; } .cr-book-title { font-size: 39px; } .cr-guide-circle { width: 310px; height: 310px; left: calc(50% - 155px); top: 58px; } .cr-guide-label { font-size: 18px; right: -7px; } .cr-faq-grid { grid-template-columns: 1fr 1.3fr; gap: 45px; } .cr-closing-leaf { right: -12%; opacity: .5; } }
@media (max-width: 680px) {
  html { scroll-padding-top: 80px; }
  .cr-shell { width: calc(100% - 44px); }
  .cr-header-inner { min-height: 77px; gap: 15px; }
  .cr-symbol { width: 34px; height: 40px; }
  .cr-brand { gap: 9px; }
  .cr-brand > span { font-size: 24px; }
  .cr-brand-sub { margin-top: 6px; font-size: 7px; }
  .cr-menu-toggle { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; width: 43px; height: 43px; border: 1px solid #c9d0be; background: transparent; border-radius: 50%; padding: 10px; }
  .cr-menu-toggle span { height: 1px; width: 18px; background: #263e32; transition: transform .2s; }
  .cr-menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .cr-menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .cr-nav { display: none; position: absolute; top: 77px; left: 0; right: 0; background: #f7f4ed; border-bottom: 1px solid #c9d0be; padding: 20px 22px 26px; box-shadow: 0 12px 20px #263e3210; }
  .cr-nav-open { display: flex; flex-direction: column; gap: 9px; align-items: stretch; }
  .cr-nav > a:not(.cr-btn) { display: block; padding: 9px 0; font-size: 14px; }
  .cr-nav > .cr-btn { margin-top: 9px; }
  .cr-hero { grid-template-columns: 1fr; gap: 40px; padding-block: 40px 51px; }
  .cr-hero-copy { padding-top: 0; }
  .cr-hero h1 { font-size: clamp(51px, 13vw, 76px); line-height: 1.08; }
  .cr-hero .cr-eyebrow { margin-bottom: 24px; font-size: 7px; letter-spacing: .14em; }
  .cr-hero-intro { margin-top: 24px !important; max-width: 410px; font-size: 13px; line-height: 1.9; }
  .cr-hero-actions { gap: 21px; margin-top: 26px; }
  .cr-hero-actions .cr-btn { min-height: 50px; font-size: 10px; padding-inline: 17px; gap: 15px; }
  .cr-video-link { font-size: 10px; gap: 7px; }
  .cr-small-play { width: 25px; height: 25px; font-size: 7px; }
  .cr-local { font-size: 8px; margin-top: 22px !important; }
  .cr-hero-visual { width: calc(100% - 20px); max-width: 430px; justify-self: center; padding: 0 10px 0 12px; }
  .cr-hero-portrait { height: 425px; border-radius: 200px 200px 6px 6px; }
  .cr-hero-portrait figcaption { left: 25px; bottom: 21px; }
  .cr-orbits { width: 110%; left: -4%; }
  .cr-quote-note { width: 175px; left: -9px; bottom: 46px; padding: 16px 18px; }
  .cr-quote-note p { font-size: 21px; }
  .cr-vertical-note { right: -14px; top: 170px; font-size: 5px; }
  .cr-intentions { display: grid; grid-template-columns: 1fr; gap: 15px; padding-block: 25px; }
  .cr-intentions p { font-size: 18px; }
  .cr-intentions p span { display: inline-block; width: 18px; font-size: 8px; margin-right: 9px; }
  .cr-intentions svg { display: none; }
  .cr-section { padding-block: 65px; }
  .cr-site h2 { font-size: 44px; }
  .cr-eyebrow { font-size: 8px; }
  .cr-approche { grid-template-columns: 1fr; gap: 25px; }
  .cr-branch { display: none; }
  .cr-approche h2 { margin-bottom: 27px; }
  .cr-approche-columns { gap: 22px; }
  .cr-approche-columns .cr-large-copy { font-size: 21px; }
  .cr-approche-columns > div { font-size: 12px; }
  .cr-rencontre { padding-block: 60px 30px; }
  .cr-video-heading { display: block; margin-bottom: 27px; }
  .cr-video-heading > p { margin-top: 25px; max-width: 410px; }
  .cr-video-heading .cr-eyebrow { margin-bottom: 19px; }
  .cr-video-frame { aspect-ratio: 1.45; margin-inline: -5px; }
  .cr-play-overlay { padding: 21px; gap: 14px; }
  .cr-play-disc { width: 45px; height: 45px; font-size: 10px; }
  .cr-play-text { font-size: 7px; letter-spacing: .11em; padding-bottom: 0; }
  .cr-play-text small { font-size: 8px; margin-top: 5px; }
  .cr-video-bottom { font-size: 6px; line-height: 1.8; margin-top: 17px; }
  .cr-video-bottom > span:last-child { display: none; }
  .cr-section-heading { display: block; margin-bottom: 30px; }
  .cr-section-heading > p { margin-top: 26px; font-size: 12px; max-width: 350px; }
  .cr-workshop { grid-template-columns: 1fr; }
  .cr-workshop-main { padding: 27px 25px 32px; }
  .cr-workshop-top { gap: 10px; margin-bottom: 24px; }
  .cr-workshop-kicker { font-size: 7px; letter-spacing: .1em; }
  .cr-pill { font-size: 7px; padding: 4px 8px; }
  .cr-workshop h3 { font-size: 33px; }
  .cr-workshop-main > p { font-size: 12px; }
  .cr-workshop-details { font-size: 10px; margin-top: 26px; gap: 13px; }
  .cr-workshop-booking { border-left: 0; border-top: 1px solid #c9d0be; padding: 29px 25px; }
  .cr-price > span { font-size: 65px; }
  .cr-workshop-place { margin-top: 22px; padding-top: 21px; }
  .cr-workshop-place small { max-width: none; }
  .cr-workshop-booking .cr-btn { font-size: 11px; min-height: 52px; }
  .cr-steps { grid-template-columns: 1fr; gap: 25px; margin-top: 32px; }
  .cr-steps > div { padding-left: 42px; }
  .cr-steps h3 { font-size: 24px; margin-bottom: 5px; }
  .cr-steps p { max-width: 290px; font-size: 11px; }
  .cr-roch-section { padding-block: 58px 65px; }
  .cr-roch-grid { grid-template-columns: 1fr; gap: 47px; }
  .cr-about-visual { margin-right: 20px; }
  .cr-about-visual img { height: 415px; border-radius: 5px 155px 5px 5px; }
  .cr-about-signature { right: -16px; bottom: 27px; font-size: 24px; padding: 22px; }
  .cr-about-copy h2 { font-size: 58px; }
  .cr-about-copy .cr-large-copy { font-size: 21px; }
  .cr-about-copy > p:not(.cr-eyebrow):not(.cr-large-copy) { font-size: 12px; }
  .cr-guide-section { grid-template-columns: 1fr; gap: 30px; padding-block: 50px 66px; }
  .cr-guide-visual { min-height: 405px; }
  .cr-book { width: 233px; height: 333px; }
  .cr-book-title { font-size: 41px; }
  .cr-guide-circle { top: 30px; width: 320px; height: 320px; left: calc(50% - 160px); }
  .cr-guide-label { font-size: 18px; right: 5px; bottom: 5px; }
  .cr-guide-copy > p:not(.cr-eyebrow):not(.cr-guide-note) { font-size: 12px; margin-top: 23px; }
  .cr-guide-list { font-size: 10px; }
  .cr-guide-note { font-size: 8px; }
  .cr-faq-section { padding-block: 60px 66px; }
  .cr-faq-grid { grid-template-columns: 1fr; gap: 34px; }
  .cr-faq-grid h2 { margin-bottom: 23px; }
  .cr-faq-list summary { font-size: 12px; padding-block: 22px; }
  .cr-faq-list details > div { font-size: 11px; padding-right: 20px; }
  .cr-closing-inner { padding-block: 63px 67px; }
  .cr-closing .cr-eyebrow { font-size: 7px; }
  .cr-site .cr-closing h2 { font-size: 60px; }
  .cr-closing p:not(.cr-eyebrow) { font-size: 11px; }
  .cr-closing-leaf { width: 175px; height: 280px; right: -29%; top: 80px; opacity: .45; }
  .cr-footer { padding-block: 31px 22px; }
  .cr-footer-top { display: grid; grid-template-columns: 1fr; gap: 23px; padding-bottom: 25px; }
  .cr-footer-top > p { margin: 0; font-size: 10px; }
  .cr-footer-bottom { display: block; padding-top: 22px; font-size: 7px; }
  .cr-footer-bottom > p:last-child { text-align: left; margin-top: 13px !important; }
  .cr-dialog { padding: 33px 25px 28px; }
  .cr-dialog h2 { font-size: 43px; }
  .cr-reader { padding: 47px 23px 65px; }
  .cr-reader h1 { font-size: 58px; }
  .cr-reader h2 { font-size: 34px; }
  .cr-reader table { font-size: 10px; }
  .cr-approche-columns > div, .cr-workshop-main > p, .cr-about-copy > p:not(.cr-eyebrow):not(.cr-large-copy), .cr-guide-copy > p:not(.cr-eyebrow):not(.cr-guide-note), .cr-faq-list details > div { font-size: 13px; }
}
@media (max-width: 360px) { .cr-shell { width: calc(100% - 36px); } .cr-hero h1 { font-size: 49px; } .cr-hero-actions { gap: 14px; } .cr-hero-actions .cr-btn { padding-inline: 12px; font-size: 9px; gap: 9px; } .cr-video-link { font-size: 9px; } .cr-hero-portrait { height: 380px; } .cr-guide-circle { width: 285px; height: 285px; left: calc(50% - 142px); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .cr-site *, .cr-site *::before, .cr-site *::after { transition: none !important; animation: none !important; } }
@media print { .cr-header, .cr-footer, .cr-reader .cr-btn { display: none; } .cr-reader { max-width: none; padding: 0; } .cr-reader h2 { break-after: avoid; } .cr-reader table { break-inside: avoid; } }
