:root{--orange:#ffb82b;--yellow:#ffde87;--pink:#ef77a5;--blue:#3024d9;--ink:#191918;--cream:#fff9ec;--white:#fff;--radius:8px;--line:1px solid var(--ink);--gutter:clamp(24px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--orange);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:800;letter-spacing:-.065em;line-height:.97}h2{font-size:clamp(40px,5.2vw,72px)}h3{font-size:22px;letter-spacing:-.035em;line-height:1.15}p{max-width:65ch}.wrap{max-width:1600px;margin-inline:auto;padding-inline:var(--gutter)}.eyebrow{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;margin-bottom:24px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;border:var(--line);border-radius:var(--radius);font-weight:700;font-size:15px;transition:background .16s,color .16s}.button-dark{background:var(--ink);color:var(--cream)}.button-dark:hover{background:var(--blue);border-color:var(--blue)}.button-light{background:var(--cream);color:var(--ink)}.button-light:hover{background:var(--yellow)}.text-link{font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.text-link:hover{color:var(--blue)}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.skip{position:fixed;top:-80px;left:16px;padding:16px;background:var(--cream);z-index:50}.skip:focus{top:16px}.header{display:flex;align-items:center;gap:32px;height:108px;border-bottom:var(--line)}.brand{margin-right:auto}.brand img{width:135px;height:auto}.header nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700}.header nav a:hover{text-decoration:underline;text-underline-offset:5px}.account{background:none;padding:0 0 0 24px;border:0;border-left:var(--line);font-size:14px}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:6%;padding-top:64px;padding-bottom:72px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.small-cross{font-size:26px;line-height:1}.hero h1{font-size:clamp(66px,7.8vw,116px)}.outline{color:var(--blue)}.intro{font-size:19px;line-height:1.5;margin-top:28px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:28px}.hero-address{margin-top:40px;font-size:14px;font-weight:700}.hero-address span{font-weight:400}.hero-visual{position:relative;padding-top:12px;align-self:center;padding-bottom:16px}.photo-ticket{padding:12px;background:var(--cream);border:var(--line);border-radius:var(--radius);transform:rotate(2deg);width:91%;margin-left:auto}.photo-ticket>img{width:100%;height:470px;object-fit:cover;object-position:50% 45%;border-radius:var(--radius)}.photo-caption{display:flex;justify-content:space-between;gap:16px;font-size:13px;font-weight:700;padding:14px 3px 4px}.seven{position:absolute;left:-30px;top:-26px;background:var(--blue);color:var(--cream);padding:22px 24px;border-radius:var(--radius);transform:rotate(-8deg);display:flex;gap:14px;align-items:center}.seven strong{font-size:76px;line-height:.9;letter-spacing:-.07em}.seven span{font-size:13px;font-weight:700;line-height:1.25}.address-ticket{position:absolute;bottom:-14px;right:-16px;transform:rotate(7deg);padding:16px 24px;background:var(--yellow);border:var(--line);border-radius:var(--radius);text-align:center}.address-ticket span{display:block;font-size:11px;letter-spacing:.08em;font-weight:700}.address-ticket strong{display:block;font-size:70px;letter-spacing:-.07em;line-height:1.1}.ribbon{display:flex;justify-content:space-around;gap:24px;background:var(--ink);color:var(--yellow);padding:22px var(--gutter);font-size:15px;font-weight:700}.ribbon span{white-space:nowrap}.ribbon span[aria-hidden]{font-size:24px;line-height:1}dialog{max-width:520px;width:calc(100% - 32px);background:var(--cream);color:var(--ink);padding:48px 32px 32px;border:var(--line);border-radius:var(--radius)}dialog::backdrop{background:rgb(25 25 24 / .65)}dialog h2{font-size:48px}dialog p:not(.eyebrow){margin:24px 0}.dialog-close{position:absolute;top:8px;right:12px;border:0;background:none;font-size:32px;padding:4px 12px}
@media(min-width:1500px){.photo-ticket>img{height:540px}}@media(max-width:1050px){.header nav{gap:18px}.header .account{display:none}.hero{gap:32px}.hero h1{font-size:76px}.photo-ticket>img{height:430px}.seven{left:-10px}.ribbon{font-size:13px}}
@media(max-width:760px){.header{height:88px;gap:16px}.brand img{width:112px}.header nav{display:none}.nav-visit{min-height:44px;padding:10px 16px;font-size:14px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:56px;gap:52px}.hero h1{font-size:clamp(58px,13vw,92px)}.hero .eyebrow{margin-bottom:20px}.intro{font-size:17px}.hero-address{margin-top:24px}.hero-visual{width:100%;max-width:560px;justify-self:center;padding-left:0;padding-right:12px}.photo-ticket{width:94%}.photo-ticket>img{height:390px}.seven{left:0;top:-16px;padding:18px}.seven strong{font-size:62px}.address-ticket{right:0;bottom:-12px;padding:12px 20px}.address-ticket strong{font-size:60px}.ribbon{flex-wrap:wrap;gap:12px 20px;font-size:13px}.ribbon span:last-child,.ribbon span:nth-child(4){display:none}.hero-actions{gap:20px}}
@media(prefers-reduced-motion:reduce){html:not(.force-motion){scroll-behavior:auto}html:not(.force-motion) *,html:not(.force-motion) *::before,html:not(.force-motion) *::after{transition:none!important;animation:none!important}}
.section{padding-block:96px}.paper{background:var(--cream)}.section-heading{display:grid;grid-template-columns:1fr 3fr;gap:32px;margin-bottom:48px}.section-heading>.eyebrow{padding-top:8px}.section-intro{font-size:19px;line-height:1.55;margin-top:24px;max-width:610px}.place-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:40px;align-items:start}.place-main img{aspect-ratio:1.16;object-fit:cover;border-radius:var(--radius)}figcaption{font-size:13px;line-height:1.4;margin-top:12px}.place-aside img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:var(--radius)}.availability{margin-top:32px;padding-top:24px;border-top:var(--line)}.availability .eyebrow{display:block;margin-bottom:12px}.availability p{font-size:28px;line-height:1.15;letter-spacing:-.04em;font-weight:700;margin-bottom:20px}.calculator{background:var(--yellow);border-block:var(--line)}.calc-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(40px,7vw,112px);align-items:start}.control-title{display:block;font-size:20px;font-weight:700;margin-bottom:32px}.range-current{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.range-current output{font-size:36px;letter-spacing:-.045em;line-height:1.15;font-weight:700}.range-current span{font-size:13px;border:var(--line);padding:5px 9px;border-radius:var(--radius)}input[type=range]{appearance:none;width:100%;height:8px;background:var(--ink);border-radius:var(--radius);cursor:pointer;accent-color:var(--blue);margin:16px 0}input[type=range]::-webkit-slider-thumb{appearance:none;width:32px;height:32px;background:var(--blue);border:3px solid var(--cream);border-radius:var(--radius)}input[type=range]::-moz-range-thumb{width:26px;height:26px;background:var(--blue);border:3px solid var(--cream);border-radius:var(--radius)}.range-labels{display:grid;grid-template-columns:5fr 1fr 1fr;font-size:12px;margin-top:4px}.range-labels span:last-child{text-align:right}.range-labels span:nth-child(2){text-align:center}.plan-choices{display:flex;gap:6px;flex-wrap:wrap;margin-top:28px}.plan-choices button{min-width:42px;min-height:44px;padding:8px 10px;border:var(--line);border-radius:var(--radius);background:transparent;font-weight:700;font-size:14px}.plan-choices button[aria-pressed=true]{background:var(--ink);color:var(--cream)}.rule{font-size:14px;line-height:1.5;margin-top:24px;margin-bottom:32px;min-height:42px}.extra-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:var(--line);padding:24px 0}.extra-row label{font-weight:700}.extra-row p{font-size:13px;margin-top:4px}.stepper{display:flex;align-items:center;flex-shrink:0;border:var(--line);border-radius:var(--radius);overflow:hidden}.stepper button{width:36px;height:44px;background:transparent;border:0;font-size:20px}.stepper button:hover{background:var(--cream)}.stepper input{width:32px;padding:0;text-align:center;background:none;border:0;font-size:16px;appearance:textfield;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.receipt{background:var(--cream);border:var(--line);border-radius:var(--radius);padding:32px;transform:rotate(1deg)}.receipt-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed var(--ink);padding-bottom:24px;margin-bottom:24px}.receipt-top img{width:85px}.receipt-top span{font-size:11px;font-weight:700;letter-spacing:.08em}.receipt-plan{font-size:18px}.price{display:flex;align-items:center;gap:16px;margin-top:8px}.price strong{font-size:100px;letter-spacing:-.07em;line-height:1.1}.price>span{line-height:1.4;font-size:16px}.breakdown{margin:24px 0}.breakdown>div{display:flex;justify-content:space-between;gap:16px;font-size:14px;padding:8px 0}.breakdown dd{margin:0;white-space:nowrap;font-weight:700}.breakdown .budget{border-top:1px dashed var(--ink);margin-top:12px;padding-top:20px;font-size:18px;font-weight:700}.entry-fee{display:flex;flex-direction:column;background:var(--yellow);padding:16px;border-radius:var(--radius);font-size:14px;margin-bottom:24px}.entry-fee span{font-size:13px;margin-top:4px}.receipt .button{width:100%}.receipt-note{font-size:12px;text-align:center;margin-top:12px}.pricing-table{border-top:var(--line);margin-top:48px;padding-top:20px}.pricing-table summary{cursor:pointer;font-weight:700;font-size:15px;min-height:32px}.table-scroll{overflow-x:auto;margin-top:24px}table{width:100%;border-collapse:collapse;font-size:14px}caption{text-align:left;margin-bottom:12px}th,td{padding:14px;text-align:left;border-bottom:var(--line);white-space:nowrap}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 48px}.service-list article{border-top:var(--line);padding-top:16px}.service-number{font-size:13px;display:block;margin-bottom:32px}.service-list h3{font-size:25px;margin-bottom:16px}.service-list p{font-size:16px;max-width:31ch}.team-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px}.team-poster{background:var(--blue);color:var(--cream);padding:40px;display:flex;flex-direction:column;justify-content:space-between;min-height:440px;border-radius:var(--radius);transform:rotate(-2deg)}.team-poster p{font-size:clamp(36px,4.8vw,64px);font-weight:800;line-height:1;letter-spacing:-.06em}.team-poster p span{color:var(--yellow)}.team-poster img{width:108px;filter:invert(1)}.team-roster .eyebrow{margin-bottom:20px}.team-roster ul{padding:0;margin:0;list-style:none}.team-roster li{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:var(--line);padding:13px 0}.team-roster li>span{font-size:25px;font-weight:700;letter-spacing:-.035em}.team-roster small{font-size:13px;text-align:right}.review-strip{margin-top:64px;border-top:var(--line);border-bottom:var(--line);padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.review-strip .eyebrow{margin-bottom:8px}.neighborhood{background:var(--orange)}.location-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:48px}.street-photo{position:relative}.street-photo img{width:100%;height:590px;object-fit:cover;border-radius:var(--radius)}.street-photo figcaption{position:absolute;bottom:24px;left:24px;right:24px;background:var(--cream);border-radius:var(--radius);padding:12px 16px;display:inline-block;font-weight:700}.transport{padding:16px 0 32px}.transport h3{font-size:30px}.transport p{font-size:16px;margin-top:16px}.location-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:24px}.map-box{background:var(--yellow);border:var(--line);border-radius:var(--radius);padding:32px;min-height:300px}.map-box .eyebrow{margin-bottom:16px}.map-box strong{font-size:32px;letter-spacing:-.04em;line-height:1.1;display:block}.map-box p:not(.eyebrow){font-size:13px;margin-top:16px}.map-box button{margin-top:20px}.map-box.is-loaded{padding:0;overflow:hidden}.map-box iframe{border:0;width:100%;height:340px;display:block}.local-explore{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:40px;margin-top:48px;border-top:var(--line);padding-top:32px}.local-explore .eyebrow{margin-bottom:12px}.local-links{display:flex;gap:12px;flex-wrap:wrap}.local-links a{border:var(--line);border-radius:var(--radius);padding:12px 20px;font-size:14px;font-weight:700}.local-links a:hover{background:var(--cream)}.life-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:32px;align-items:start;margin-bottom:32px}.life h2{font-size:clamp(36px,4.4vw,60px)}.life-heading>p:last-child{font-size:17px;padding-top:8px}.life-photos{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:24px}.life-photos img{width:100%;height:340px;object-fit:cover;border-radius:var(--radius)}.life-photos figure:nth-child(2){margin-top:40px}.contact{background:var(--blue);color:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,7vw,100px)}.contact h2{font-size:clamp(48px,5.3vw,76px)}.contact-copy>p:not(.eyebrow){font-size:18px;margin-top:28px}.contact-phone a{display:inline-block;color:var(--yellow);font-size:27px;font-weight:700;margin-top:8px}.founder-note{margin-top:56px;border-top:1px solid var(--cream);padding-top:24px}.founder-note .eyebrow{margin-bottom:16px}.founder-note h3{font-size:23px}.founder-note>p:not(.eyebrow){font-size:16px;margin-top:16px}.visit-form{background:var(--cream);color:var(--ink);padding:32px;border-radius:var(--radius)}.visit-form>label,.form-row label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.visit-form input:not([type=radio]),.visit-form select,.visit-form textarea{width:100%;min-width:0;background:transparent;color:var(--ink);border:var(--line);border-radius:var(--radius);padding:12px;font-size:16px;font-weight:400}.visit-form>label,.visit-form fieldset{margin-top:24px}.visit-form textarea{resize:vertical}.visit-form fieldset{border:0;padding:0;min-width:0}.visit-form legend{padding:0;font-size:14px;font-weight:700;margin-bottom:12px}.drink-choices{display:flex;gap:8px}.drink-choices label{display:flex;align-items:center;gap:6px;border:var(--line);border-radius:var(--radius);padding:9px 12px;cursor:pointer;font-size:14px}.drink-choices input{accent-color:var(--blue);margin:0}.visit-form>button{width:100%;margin-top:24px}.form-note{font-size:12px;line-height:1.5;margin-top:12px}.form-note a{text-decoration:underline}.form-result{border-top:var(--line);margin-top:24px;padding-top:24px}.form-result h3{margin-bottom:12px}.form-result p{font-size:14px}.form-result pre{font:13px/1.5 Arial,Helvetica,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--yellow);padding:16px;border-radius:var(--radius)}.form-result .button{width:100%}.download-message{border:0;background:none;text-decoration:underline;font-size:13px;padding:12px 0}.footer{background:var(--ink);color:var(--cream);padding:56px 0 24px}.footer-top{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:48px;align-items:center;padding-bottom:48px}.footer-logo img{filter:invert(1);width:155px}.footer-top>p{font-size:32px;letter-spacing:-.04em;font-weight:700;line-height:1.05}.footer-top>div{font-size:14px;justify-self:end}.footer-bottom{border-top:1px solid var(--cream);padding-top:24px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12px}.footer-bottom nav{display:flex;gap:18px;flex-wrap:wrap}.footer a:hover{text-decoration:underline}.footer button{border:0;background:none;color:inherit;font-size:12px;padding:0}.legal-page{background:var(--cream)}.legal-content{max-width:850px;margin:64px auto;padding:0 24px 80px}.legal-content h1{font-size:clamp(48px,7vw,80px);margin:32px 0}.legal-content h2{font-size:27px;letter-spacing:-.035em;margin:36px 0 14px}.legal-content p{margin-bottom:16px}.legal-content a{text-decoration:underline}.legal-content ul{padding-left:22px}.draft-notice{padding:16px;background:var(--yellow);border-radius:var(--radius);font-weight:700}.contact :focus-visible{outline-color:var(--yellow)}.visit-form :focus-visible{outline-color:var(--blue)}[hidden]{display:none!important}
@media(max-width:1050px){.section{padding-block:72px}.section-heading{grid-template-columns:1fr 3fr}.calc-grid{gap:40px}.receipt{padding:24px}.service-list{gap:32px}.team-layout{gap:40px}.location-grid{gap:32px}.life-heading{grid-template-columns:1fr 2fr}.life-heading>p:last-child{grid-column:2}.contact-grid{gap:32px}.visit-form{padding:24px}.form-row{grid-template-columns:1fr}.life-photos img{height:280px}}
@media(max-width:760px){.section{padding-block:56px}.section-heading{grid-template-columns:1fr;gap:0;margin-bottom:32px}.section-heading>.eyebrow{padding:0;margin-bottom:24px}.section-intro{font-size:17px;margin-top:20px}.place-grid,.calc-grid,.team-layout,.location-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.place-main img{aspect-ratio:1.2}.place-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.place-aside img{aspect-ratio:1}.availability{margin:0;padding:16px 0 0}.availability p{font-size:22px}.availability .eyebrow{font-size:11px}.control-title{margin-bottom:24px}.range-current output{font-size:31px}.range-current span{font-size:12px}.plan-choices{gap:5px}.plan-choices button{padding:8px;min-width:36px}.receipt{transform:none;padding:24px}.price strong{font-size:88px}.pricing-table{margin-top:32px}.extra-row{gap:12px}.extra-row label{font-size:15px}.extra-row p{font-size:12px}.service-list{grid-template-columns:1fr 1fr;gap:32px 24px}.service-list h3{font-size:22px}.service-list p{font-size:15px}.service-number{margin-bottom:20px}.team-poster{min-height:320px;margin:8px 8px 12px;padding:32px}.team-poster p{font-size:46px}.team-poster img{width:100px}.team-roster li>span{font-size:24px}.review-strip{align-items:flex-start;flex-direction:column;margin-top:40px}.street-photo img{height:400px}.transport{padding:0}.map-box{margin-top:28px;padding:24px}.location-actions{gap:16px}.local-explore{grid-template-columns:1fr;gap:24px;margin-top:32px}.local-links a{padding:12px 16px}.life-heading{grid-template-columns:1fr;gap:0}.life-heading>p:last-child{grid-column:auto;margin-top:20px}.life-photos{grid-template-columns:1fr 1fr;gap:20px}.life-photos figure:last-child{grid-column:1/-1}.life-photos img{height:230px}.life-photos figure:nth-child(2){margin-top:32px}.life-photos figure:last-child img{height:280px}.contact h2{font-size:52px}.contact-copy>p:not(.eyebrow){font-size:17px}.founder-note{margin-top:32px}.visit-form{padding:24px}.form-row{gap:24px}.drink-choices{gap:6px}.drink-choices label{padding:10px;font-size:13px}.footer-top{grid-template-columns:1fr 1fr;gap:32px;padding-bottom:32px}.footer-top>p{font-size:27px}.footer-top>div{justify-self:start;grid-column:1/-1}.footer-bottom{gap:24px}.footer-bottom nav{gap:16px}.footer-logo img{width:125px}}
@media(max-width:380px){.service-list{grid-template-columns:1fr}.place-aside{grid-template-columns:1fr}.visit-form{padding:20px}.hero-actions{gap:16px}.hero-actions .button{padding-inline:18px}.hero-actions .text-link{font-size:14px}.drink-choices{flex-wrap:wrap}}
/* v02 : nouvelle photo d’accueil en paysage, sans recadrage. */
.photo-ticket>img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;object-position:center;background:var(--cream)}
/* Explication claire des bureaux nomades et attitrés. */
.desk-guide{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ink);border:1px solid var(--ink);margin-top:40px}
.desk-guide article{background:var(--yellow);padding:24px}.desk-guide .eyebrow{margin:0 0 12px}.desk-guide h3{font-size:22px;margin-bottom:10px}.desk-guide article p:last-child{font-size:15px;line-height:1.5;max-width:45ch}
/* Team : colonnes stables, ouverture discrète, focus clavier uniquement. */
.team-roster{min-width:0}
.team-card{border-top:var(--line)}.team-card:last-child{border-bottom:var(--line)}
.team-card>summary{list-style:none;display:grid;grid-template-columns:44px minmax(0,1fr) 32px;align-items:center;gap:14px;min-height:76px;cursor:pointer;padding:12px 0}
.team-card>summary::-webkit-details-marker{display:none}.team-card>summary::marker{content:""}
.profile-mark{width:44px;height:44px;display:grid;place-items:center}
.profile-mark img{width:100%;height:100%;object-fit:contain;transform:rotate(-4deg)}
.team-card:nth-of-type(2n) .profile-mark img{transform:rotate(4deg)}
.team-card:nth-of-type(3n) .profile-mark img{transform:rotate(-2deg)}
.person-copy{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;min-width:0}
.person-copy strong{font-size:21px;letter-spacing:-.035em}.team-roster .person-copy small{text-align:left;font-size:13px;line-height:1.4}
.team-plus{width:32px;height:44px;position:relative;display:block}
.team-plus::before,.team-plus::after{content:"";position:absolute;background:var(--ink);width:18px;height:2px;top:21px;left:7px}
.team-plus::after{transform:rotate(90deg);transition:transform .18s}.team-card[open] .team-plus::after{transform:rotate(0)}
.team-card>summary:focus{outline:none}.team-card>summary:focus-visible .team-plus{outline:2px solid var(--ink);outline-offset:2px;border-radius:3px}
.team-card>summary:hover .person-copy strong{text-decoration:underline;text-underline-offset:4px}
.member-panel{padding:0 0 20px 58px;display:grid;gap:8px}.member-panel p{font-size:13px;line-height:1.55;margin:0}
.member-links{display:flex;align-items:center;gap:16px;flex-wrap:nowrap;font-size:12px;line-height:1.5}
.member-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;flex-shrink:0;white-space:nowrap;font-weight:700;text-underline-offset:4px;border-radius:3px}
.member-links img{width:28px;height:28px;flex-shrink:0;transform:rotate(-5deg);transition:transform .16s}
.member-links a:nth-child(even) img{transform:rotate(5deg)}
.member-links a:hover span{text-decoration:underline}.member-links a:hover img,.member-links a:focus-visible img{transform:rotate(0)}
/* Section 06 : composition de Julien, Figma 1:2 (cadre de référence 1280 px).
   Les coordonnées sont proportionnelles au collage, puis réorganisées en grille sur mobile. */
.life-heading{grid-template-columns:.8fr 1.4fr 1.2fr;gap:28px;margin-bottom:0}
.life-heading>div p{font-size:16px;line-height:1.45}.life-heading>div p+p{margin-top:8px}
.life-gallery{position:relative;container-type:inline-size;isolation:isolate;max-width:1152px;aspect-ratio:1152/687.9;margin:84.3px auto 0}
.life-gallery>*{position:absolute;left:calc(var(--x)*100%/1152);top:calc(var(--y)*100%/687.9);width:calc(var(--w)*100%/1152);height:calc(var(--h)*100%/687.9);transform:rotate(var(--angle,0deg))}
.life-photo{margin:0;border-radius:.82cqw}
.life-photo>img{display:block;width:100%;height:auto;border-radius:inherit;box-shadow:0 2px 5px #19191812}
.life-photo--people{--x:138.41;--y:44.67;--w:274.914;--h:366.814;--angle:-3deg;z-index:1}
.life-photo--arch{--x:425.26;--y:24.9;--w:147.732;--h:221.598;border-radius:1.04cqw}
.life-photo--room{--x:590.953;--y:81.194;--w:245.76;--h:161.66;--angle:-3.29deg}
.life-photo--desk{--x:856.38;--y:47.23;--w:181.932;--h:272.898;border-radius:1.04cqw}
.life-photo--window{--x:251.78;--y:438.85;--w:148.707;--h:198.276;border-radius:1.04cqw}
.life-photo--work{--x:422.69;--y:440.48;--w:193.161;--h:247.425}
.life-photo--team{--x:630.52;--y:487.8;--w:169.887;--h:152.148}
.life-card{padding:1.26cqw;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border-radius:.82cqw}
.life-card-label{position:relative;z-index:1;font-size:.786cqw;line-height:1.5;font-weight:700}
.life-card p{position:relative;z-index:1;font-size:2.592cqw;font-weight:700;letter-spacing:-.055em;line-height:1.02}
.life-card--blue{--x:411.726;--y:266.372;--w:406.872;--h:168.09;--angle:1.2deg;z-index:2;background:var(--blue);color:var(--cream)}
.life-card--blue p{max-width:25cqw}
.card-spark{position:absolute;left:77.47%;top:49.84%;width:29.1%;transform:rotate(10deg)}
.life-card--yellow{--x:787.237;--y:320.124;--w:232.666;--h:136.645;--angle:-4.22deg;z-index:3;padding:1.483cqw;background:var(--yellow);color:var(--ink);border-radius:.962cqw}
.life-card--yellow .life-card-label{font-size:.923cqw}
.life-card--yellow p{font-size:2.124cqw;max-width:17.31cqw}
.card-loop{position:absolute;left:39.92%;top:-31.92%;width:80.16%;aspect-ratio:1;border:1.162cqw solid var(--orange);border-radius:50%}
.life-card--coral{--x:815.16;--y:487.8;--w:191.245;--h:112.1;padding:1.214cqw;background:var(--pink);color:var(--cream);border-radius:.79cqw}
.life-card--coral .life-card-label{font-size:.759cqw}
.life-card--coral p{font-size:2.96cqw}
.life-bubble{position:absolute;z-index:4;display:flex;align-items:center;justify-content:center;border-radius:999px;font-weight:700;line-height:1.1;white-space:nowrap}
.life-bubble::after{content:"";position:absolute;top:calc(100% - 2px);left:24%;width:.85em;height:.7em;background:inherit;clip-path:polygon(0 0,100% 0,0 100%);pointer-events:none}
.life-bubble--home{left:55.42%;top:.64%;padding:.746cqw 1.053cqw;font-size:1.141cqw;background:var(--yellow);color:var(--ink);transform:rotate(6.29deg)}
.life-bubble--ideas{left:69.51%;top:5.87%;padding:.668cqw .942cqw;font-size:1.021cqw;background:var(--cream);color:var(--ink)}
.life-bubble--coffee{--x:539.31;--y:486.041;--w:123.57;--h:48.454;--angle:-4deg;font-size:1.587cqw;background:var(--blue);color:var(--cream)}
.life-decoration{pointer-events:none;z-index:5}
.life-decoration--star-coral{--x:157.006;--y:4.846;--w:53.11;--h:53.11;--angle:-11.74deg}
.life-decoration--circle{--x:769.64;--y:6.87;--w:45.517;--h:45.517}
.life-decoration--triangle{--x:153.587;--y:493.727;--w:67.626;--h:67.626;--angle:41.51deg}
.life-decoration--triangle img{position:absolute;left:9.59%;top:3.96%;max-width:80.82%}
.life-decoration--star-blue{--x:968.03;--y:490.38;--w:68.704;--h:68.704;--angle:-11.74deg}
.map-external{display:inline-block;margin-top:14px;font-size:13px}.map-box.is-loading{position:relative}.map-box .map-loading{margin:0;padding:12px 16px;font-size:13px}
@media(max-width:760px){
 .desk-guide{grid-template-columns:1fr}.desk-guide article{padding:20px}
 .team-card>summary{grid-template-columns:40px minmax(0,1fr) 28px;gap:10px;min-height:72px}.profile-mark{width:40px;height:40px;font-size:13px}
 .person-copy{grid-template-columns:78px minmax(0,1fr);gap:8px}.person-copy strong{font-size:18px}.team-roster .person-copy small{font-size:12px}.member-panel{padding-left:50px}

}
@media(prefers-reduced-motion:reduce){html:not(.force-motion) .team-plus::after{transition:none}}
.contact-whatsapp{margin-top:16px}

@media(max-width:1050px){
 .life-heading{grid-template-columns:1fr 2fr}.life-heading>div{grid-column:2}
 .life-gallery{margin-top:56px}
}
@media(max-width:760px){
 .life-heading{grid-template-columns:1fr;gap:0}.life-heading>div{grid-column:auto;margin-top:20px}
 .life-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:start;aspect-ratio:auto;margin-top:48px}
 .life-gallery>.life-photo,.life-gallery>.life-card{position:relative;left:auto;top:auto;width:100%;height:auto;border-radius:9px}
 .life-photo--people{grid-column:1/9;grid-row:1/3;align-self:center}
 .life-photo--arch{grid-column:9/13;grid-row:1}
 .life-photo--desk{grid-column:9/13;grid-row:2}
 .life-photo--room{grid-column:2/12;grid-row:3;margin:4px 0 8px}
 .life-card{padding:16px}
 .life-card-label,.life-card--yellow .life-card-label,.life-card--coral .life-card-label{font-size:10px}
 .life-card--blue{grid-column:1/-1;grid-row:4;min-height:164px}
 .life-card--blue p{font-size:29px;max-width:10em}
 .life-photo--window{grid-column:1/6;grid-row:5}
 .life-photo--work{grid-column:6/-1;grid-row:5}
 .life-card--yellow{grid-column:2/12;grid-row:6;min-height:142px;margin:4px 0 8px}
 .life-card--yellow p{font-size:25px;max-width:none}
 .card-loop{border-width:10px}
 .life-photo--team{grid-column:1/7;grid-row:7}
 .life-card--coral{grid-column:7/-1;grid-row:7;min-height:112px;align-self:center}
 .life-card--coral p{font-size:30px}
 .life-bubble--home{left:-22%;top:6%;padding:7px 10px;font-size:11px}
 .life-bubble--ideas{left:auto;right:12px;top:12px;padding:8px 11px;font-size:11px}
 .life-gallery>.life-bubble--coffee{position:relative;left:auto;top:auto;width:108px;height:42px;grid-column:5/10;grid-row:5;justify-self:center;margin-top:30px;font-size:15px}
 .life-decoration--star-coral{left:3%;top:-22px;width:38px;height:auto}
 .life-decoration--circle{left:auto;right:0;top:auto;bottom:71%;width:28px;height:auto}
 .life-decoration--triangle{left:0;top:auto;bottom:62%;width:40px;height:40px}
 .life-decoration--star-blue{left:auto;right:-7px;top:auto;bottom:85px;width:43px;height:auto}
}

/* v12 — Couleurs et ornements uniquement : aucun changement de dimensions ou de grille. */
.hero{background-image:url("assets/da/fond-accueil.svg");background-repeat:no-repeat;background-size:cover;background-position:center}
#lieu{background-image:url("assets/da/fond-lieu.svg");background-repeat:no-repeat;background-size:cover;background-position:center}
.calculator{background-image:url("assets/da/fond-formules.svg");background-repeat:no-repeat;background-size:cover;background-position:center}
.services{background-color:#F289B1;background-image:url("assets/da/fond-quotidien.svg?v=23");background-repeat:no-repeat;background-size:cover;background-position:center}
.team-poster{background-image:url("assets/da/affiche-team.svg");background-repeat:no-repeat;background-size:cover;background-position:right bottom}
.neighborhood{background-image:url("assets/da/fond-quartier.svg");background-repeat:no-repeat;background-size:cover;background-position:center}
.life{background-image:url("assets/da/fond-vie.svg");background-repeat:no-repeat;background-size:cover;background-position:center}
.contact{background-image:url("assets/da/fond-contact.svg");background-repeat:no-repeat;background-size:cover;background-position:center}
.footer{background-image:url("assets/da/fond-footer.svg");background-repeat:no-repeat;background-size:cover;background-position:right bottom}
.service-list article{position:relative}
.service-number{color:var(--ink)}
.service-list article::after{content:"";position:absolute;right:0;top:4px;width:54px;height:54px;background:center/contain no-repeat var(--service-icon);transform:rotate(var(--icon-angle,0deg));pointer-events:none}
.service-list article:nth-child(1){--service-icon:url("assets/da/illustration-bureau.svg");--icon-angle:-4deg}
.service-list article:nth-child(2){--service-icon:url("assets/da/illustration-fibre.svg");--icon-angle:3deg}
.service-list article:nth-child(3){--service-icon:url("assets/da/illustration-cafe.svg");--icon-angle:-3deg}
.service-list article:nth-child(4){--service-icon:url("assets/da/illustration-callbox.svg");--icon-angle:2deg}
.service-list article:nth-child(5){--service-icon:url("assets/da/illustration-pratique.svg");--icon-angle:-2deg}
.service-list article:nth-child(6){--service-icon:url("assets/da/illustration-entraide.svg");--icon-angle:4deg}
.range-current>span{background:var(--cream)}
.map-box{background-color:var(--cream)}
.life-card--coral{color:var(--ink)}
.local-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;font-size:13px;background-color:#ffcc62}
.local-links a:nth-child(1){transform:rotate(-3deg)}
.local-links a:nth-child(4){transform:rotate(2.5deg)}
.local-links a:nth-child(7){transform:rotate(-2deg)}
.local-links a:hover{background-color:var(--cream)}
.founder-note .contact-illustration{width:240px;max-width:100%;height:auto;margin-top:24px}
@media(max-width:760px){.founder-note .contact-illustration{width:210px;margin-top:20px}}
@media(max-width:760px){
 .hero{background-size:cover;background-position:65% center}
 #lieu{background-size:auto 950px;background-position:75% top}
 .calculator{background-size:auto 1350px;background-position:70% top}
 .services{background-size:auto 740px;background-position:right bottom}
 .neighborhood{background-size:auto 1000px;background-position:70% top}
 .life{background-size:auto 1100px;background-position:center bottom}
 .contact{background-size:auto 1200px;background-position:35% top}
 .footer{background-size:auto 360px}
 .service-list article::after{top:2px;width:42px;height:42px}
}

/* v20 — Forme ticket à coins concaves ; rose, filet et étoiles de v19 conservés. */
.formula-ticket{position:relative;isolation:isolate;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;width:180px;min-height:64px;padding:10px 22px 6px;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-weight:700;text-align:center;text-decoration:none;transform:rotate(-6deg);transition:transform .18s ease}
.formula-ticket::before{content:"";position:absolute;inset:-12px 0 -3px;z-index:-1;background:url("assets/da/badge-formule.svg?v=20") center/100% 100% no-repeat}
.formula-ticket>span{font-size:13px;line-height:1.1}
.formula-ticket>strong{font-size:24px;line-height:1.05;font-weight:800;letter-spacing:-.04em}
.formula-ticket:hover{transform:rotate(-1deg) translateY(-2px)}
.formula-ticket:focus-visible{outline:2px solid var(--ink);outline-offset:5px;border-radius:8px}
@media(max-width:760px){.formula-ticket{width:164px;min-height:60px}.formula-ticket>strong{font-size:23px}.calculator .section-heading h2{font-size:clamp(28px,9vw,40px)}}
@media(max-width:380px){.formula-ticket{width:146px}.formula-ticket>span{font-size:12px}.formula-ticket>strong{font-size:22px}.hero-actions>.button{white-space:nowrap;font-size:14px;padding-inline:14px}}

/* Cartes originales, placées dans les marges sans modifier les grilles ni les textes. */
:is(#lieu,#formules,#collectif,#venir) .section-heading>.eyebrow{position:relative}
:is(#lieu,#formules,#collectif,#venir) .section-heading>.eyebrow::after{content:"";position:absolute;left:var(--card-left,24px);top:var(--card-top,56px);width:var(--card-size,104px);height:var(--card-height,116px);background:var(--heading-card) center/contain no-repeat;transform:rotate(var(--card-angle,-8deg));pointer-events:none}
#lieu{--heading-card:url("assets/da/carte-bureau.svg");--card-size:114px;--card-height:126px;--card-left:36px;--card-top:56px;--card-angle:-10deg}
#formules{--heading-card:url("assets/da/carte-rythme.svg");--card-size:96px;--card-height:96px;--card-left:16px;--card-top:62px;--card-angle:8deg}
#collectif{--heading-card:url("assets/da/carte-cafe.svg");--card-size:104px;--card-height:107px;--card-left:40px;--card-top:58px;--card-angle:9deg}
#venir{--heading-card:url("assets/da/carte-adresse.svg");--card-size:116px;--card-height:102px;--card-left:18px;--card-top:72px;--card-angle:-7deg}
.hero-visual::after{content:"";position:absolute;right:12%;top:-66px;width:80px;height:83px;background:url("assets/da/carte-cafe.svg") center/contain no-repeat;transform:rotate(14deg);pointer-events:none}
@media(max-width:760px){
 :is(#lieu,#formules,#collectif,#venir) .section-heading>.eyebrow::after{left:auto;right:0;top:-12px;width:42px;height:46px}
 :is(#lieu,#formules,#collectif,#venir) .section-heading>.eyebrow{padding-right:52px}
 .hero-visual::after{display:none}
}
@media(max-width:380px){#venir .section-heading>.eyebrow{padding-right:0}#venir .section-heading>.eyebrow::after{display:none}}

/* v16 — Titres alignés à gauche et colonne de départ commune aux sections 01 à 06. */
.home-page :is(h1,h2,h3){text-align:left;text-wrap:balance}
/* v23 — Le titre définit la largeur commune, sans contribution du paragraphe. */
:is(#formules,#venir) .section-heading>div{width:fit-content;max-width:100%;min-width:0}
:is(#formules,#venir) .section-heading .section-intro{contain:inline-size;max-width:none;text-align:left}
.section-heading,.life-heading{column-gap:32px}
.life-heading{grid-template-columns:calc((100% - 32px)/4) minmax(0,1.4fr) minmax(0,1.2fr)}
.life-heading>.eyebrow{padding-top:8px}
@media(max-width:1050px){.life-heading{grid-template-columns:1fr 3fr}}
@media(max-width:760px){
 .section-heading,.life-heading{grid-template-columns:1fr;column-gap:0}
 .life-heading>.eyebrow{padding-top:0}
}

/* Croix de fermeture : repère circulaire discret, sans cadre bleu. */
.dialog-close{display:block;width:44px;height:44px;padding:0;font-size:0;border-radius:50%;color:var(--ink)}
.dialog-close::before,.dialog-close::after{content:"";position:absolute;top:21px;left:12px;width:20px;height:2px;border-radius:1px;background:currentColor;transform:rotate(45deg)}
.dialog-close::after{transform:rotate(-45deg)}
.dialog-close:focus{outline:none}
.dialog-close:hover,.dialog-close:focus-visible{background:var(--yellow)}
.dialog-close:focus-visible{box-shadow:inset 0 0 0 1px var(--ink)}

/* v14 — Fond d’accueil bord à bord et navigation fixe, sans déplacement du contenu. */
:root{--header-height:108px;--header-scrolled-height:calc(var(--header-height) - 35px)}
html:has(.home-page){scroll-padding-top:calc(var(--header-scrolled-height) + 24px)}
.home-page{padding-top:var(--header-height)}
.home-page>.header{position:fixed;inset:0 0 auto;z-index:40;max-width:none;height:var(--header-height);padding-inline:max(var(--gutter),calc(50% - 800px + var(--gutter)));background-color:transparent;transition:height .18s ease,background-color .18s ease}
.home-page>.header.is-scrolled{height:var(--header-scrolled-height);background-color:var(--orange)}
.home-page .hero{position:relative;isolation:isolate;max-width:none;padding-inline:max(var(--gutter),calc(50% - 800px + var(--gutter)));background-image:none}
.home-page .hero::before{content:"";position:absolute;inset:calc(0px - var(--header-height)) 0 0;z-index:-1;pointer-events:none;background:url("assets/da/fond-accueil.svg") center top/cover no-repeat}
@media(max-width:760px){
 :root{--header-height:88px}
 .home-page .hero::before{background-position:65% top}
}

/* v25 : photo principale à 75 %, colonne voisine conservée, ensemble centré. */
@media(min-width:761px){
  .place-grid{
    --place-column:calc((100% - 40px) / 2.45);
    grid-template-columns:calc(var(--place-column) * 1.45 * .75) var(--place-column);
    justify-content:center;
  }
}
@media(max-width:760px){
  .place-main{width:75%;justify-self:center}
}

/* v31 — Identité choisie dans Figma ; tracés originaux et proportions conservés. */
.brand img{width:auto;height:72px;max-width:none;transition:height .18s ease}
.header.is-scrolled .brand img{height:48px}
.receipt-top img{width:auto;height:60px;max-width:none}
.team-poster img{width:72px;height:auto;max-width:none;filter:invert(1);margin-top:24px}
.footer-logo img{width:auto;height:86px;max-width:none;filter:invert(1)}
/* Les masques de luminance gardent les yeux transparents et prennent la couleur de la section. */
.ribbon,#formules,#services,#venir,#contact{position:relative;overflow:visible}
:is(.ribbon,#formules,#services,#venir,#contact)::before,.ribbon::after{
 content:"";position:absolute;bottom:calc(100% - 1px);pointer-events:none;z-index:2;
 background-color:var(--edge-color);width:var(--edge-width);aspect-ratio:var(--edge-ratio);
 -webkit-mask-image:var(--edge-art);mask-image:var(--edge-art);
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
 -webkit-mask-position:center bottom;mask-position:center bottom;
 -webkit-mask-size:contain;mask-size:contain;mask-mode:luminance;
}
.ribbon::before{left:11%;--edge-color:var(--ink);--edge-width:34px;--edge-ratio:268/389;--edge-art:url("assets/identite/bird-petit-gauche-mask.svg")}
.ribbon::after{left:45%;--edge-color:var(--ink);--edge-width:54px;--edge-ratio:376/747;--edge-art:url("assets/identite/birds-duo-haut-mask.svg")}
#formules::before{right:9%;--edge-color:var(--yellow);--edge-width:26px;--edge-ratio:268/389;--edge-art:url("assets/identite/bird-petit-gauche-mask.svg")}
#services::before{right:14%;--edge-color:#F289B1;--edge-width:100px;--edge-ratio:618/493;--edge-art:url("assets/identite/birds-duo-plein-mask.svg")}
#venir::before{left:14%;--edge-color:var(--orange);--edge-width:34px;--edge-ratio:268/605;--edge-art:url("assets/identite/bird-haut-gauche-mask.svg")}
#contact::before{right:17%;--edge-color:var(--blue);--edge-width:96px;--edge-ratio:618/493;--edge-art:url("assets/identite/birds-duo-plein-mask.svg")}
@media(max-width:760px){
 .brand img{height:62px}.header.is-scrolled .brand img{height:38px}
 .receipt-top img{height:52px}.team-poster img{width:60px}.footer-logo img{height:74px}
 .ribbon::before{left:12%;--edge-width:24px}.ribbon::after{left:62%;--edge-width:24px}
 #formules::before{right:12%;--edge-width:22px}
 #services::before{right:12%;--edge-width:68px}
 #venir::before{left:16%;--edge-width:23px}
 #contact::before{right:15%;--edge-width:64px}
}

/* v33 — Logo 04 et signature sur une ligne dans la typographie du titre. */
.brand{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}
.brand img{flex-shrink:0}
.header .nav-visit{white-space:nowrap;flex-shrink:0}
.brand-wordmark{font-family:inherit;font-size:clamp(24px,2.35vw,32px);font-weight:800;letter-spacing:-.05em;line-height:1;white-space:nowrap}
.header.is-scrolled .brand-wordmark{font-size:clamp(22px,2.2vw,28px)}
@media(max-width:760px){
 .brand{gap:10px}
 .brand-wordmark,.header.is-scrolled .brand-wordmark{font-size:clamp(16px,4.6vw,22px)}
}
@media(max-width:380px){
 .header{gap:8px}
 .header .nav-visit{font-size:12px;padding-inline:8px}
 .brand{gap:6px}.brand img{height:44px}
}

/* v33 — Signature du point de rendez-vous et logo Figma 01. */
.map-identity{display:flex;align-items:center;justify-content:space-between;gap:24px}
.map-identity strong{min-width:0}
.map-logo{width:80px;height:auto;flex-shrink:0}
@media(max-width:760px){
 .map-identity{gap:16px}
 .map-identity strong{font-size:clamp(20px,6.2vw,28px)}
 .map-logo{width:clamp(40px,13vw,64px)}
}

/* Alignement de la signature sur le bas du symbole, référence Figma 8:285. */
.brand{--brand-mark-size:72px;align-items:flex-end}
.brand-wordmark{margin-bottom:calc(var(--brand-mark-size) * .11)}
.header.is-scrolled .brand{--brand-mark-size:48px}
@media(max-width:760px){
 .brand{--brand-mark-size:62px}
 .header.is-scrolled .brand{--brand-mark-size:38px}
}
@media(max-width:380px){.brand{--brand-mark-size:44px}}


/* v36 — Repère local sous la signature, discret et lisible. */
.home-page .footer-top{padding-bottom:28px}
.footer-local{max-width:none;margin:0 0 32px;color:#C8C2B7;font-size:14px;font-weight:400;line-height:1.85;text-wrap:pretty}
.footer-local a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#77746C;text-underline-offset:3px}
.footer-local a:hover,.footer-local a:focus-visible{color:var(--cream);text-decoration-color:currentColor}
@media(max-width:760px){.footer-local{max-width:42ch;font-size:13px;line-height:1.9;margin-bottom:28px}}


/* v38 — Animations : clignements, arrivées en battement d’aile, boutons ludiques, header en verre liquide.
   Le HTML n’est pas modifié, site.js ajoute les classes. Les arrivées ne doivent jamais élargir la page sur mobile. */
body,main,.footer{overflow-x:clip}

/* Oiseaux vivants (v40) : SVG en pièces séparées posés sur les logos et les birds, voir site.js. */
.bird-host{position:relative;display:inline-block;line-height:0;vertical-align:top;flex-shrink:0}
.bird-host.is-live>img{opacity:0}
.bird-layer{position:absolute;pointer-events:none;z-index:3}
.bird-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
/* Logos blancs sur l’affiche bleue de la team et dans le pied de page (l’image d’origine y est inversée). */
.team-poster .bird-art,.footer-logo .bird-art{color:#fff!important}
.bird-live-before::before,.bird-live-after::after{visibility:hidden}
.bird-eye,.bird-beak,.bird-flip,.bird-pupil{transform-box:fill-box}
.bird-pupil{transform-origin:center}
.bird-beak,.bird-flip{transform-origin:var(--root) center}
.bird-flip{transform:scaleX(0)}
.bird-pupil.is-blinking{animation:bird-blink .19s ease-in-out}
@keyframes bird-blink{0%,100%{transform:none}45%,60%{transform:scaleY(.08)}}
/* Tête qui tourne : bec replié, puis ressorti de l’autre côté quand il y a la place ; l’œil traverse la tête. */
.bird-eye.is-turning{animation:bird-turn-eye 1.7s both}
.bird-beak.is-turning{animation:bird-turn-beak 1.7s both}
.bird-flip.is-turning{animation:bird-turn-flip 1.7s both}
@keyframes bird-turn-eye{0%{transform:none;animation-timing-function:cubic-bezier(.3,.8,.3,1.1)}16%,80%{transform:translateX(var(--eye-dx));animation-timing-function:cubic-bezier(.5,0,.3,1)}96%,100%{transform:none}}
@keyframes bird-turn-beak{0%{transform:none;animation-timing-function:ease-in}9%,86%{transform:scaleX(0);animation-timing-function:ease-out}96%,100%{transform:none}}
@keyframes bird-turn-flip{0%,9%{transform:scaleX(0);animation-timing-function:cubic-bezier(.2,.9,.3,1.3)}18%,77%{transform:none;animation-timing-function:ease-in}86%,100%{transform:scaleX(0)}}

/* Arrivées : des bords vers le centre, en courbe descendante comme un coup d’aile, depuis la transparence. */
.wing{opacity:0}
.wing.is-in{animation:wing-in var(--wing-duration,1.05s) var(--wing-delay,0ms) both}
.wing.is-done{opacity:1;animation:none}
@keyframes wing-in{
 0%{opacity:0;translate:var(--wing-dx,0px) -58px;rotate:var(--wing-tilt,0deg);animation-timing-function:cubic-bezier(.3,.55,.4,1)}
 58%{opacity:.92;translate:calc(var(--wing-dx,0px) * .18) 16px;rotate:calc(var(--wing-tilt,0deg) * -.4);animation-timing-function:cubic-bezier(.45,0,.25,1)}
 100%{opacity:1;translate:0 0;rotate:0deg}
}

/* Boutons : rebond, reflet qui traverse, enfoncement au clic. */
.button{position:relative;overflow:hidden;isolation:isolate;transition:background .16s,color .16s,border-color .16s,transform .5s cubic-bezier(.34,1.8,.5,1)}
.button::after{content:"";position:absolute;top:-4px;bottom:-4px;left:0;width:45%;z-index:-1;pointer-events:none;background:linear-gradient(100deg,transparent,rgb(255 249 236/.32),transparent);transform:translateX(-130%) skewX(-18deg)}
.button-light::after{background:linear-gradient(100deg,transparent,rgb(255 255 255/.85),transparent)}
.button:hover{transform:translateY(-3px) rotate(-1.6deg)}
.button:hover::after,.button:focus-visible::after{animation:button-shine .75s ease-out}
.button:active{transform:translateY(1px) scale(.95);transition-duration:.08s}
@keyframes button-shine{to{transform:translateX(330%) skewX(-18deg)}}

.plan-choices button{transition:background .16s,color .16s,transform .45s cubic-bezier(.34,1.8,.5,1)}
.plan-choices button:hover{transform:translateY(-3px) rotate(-4deg)}
.plan-choices button:nth-child(even):hover{transform:translateY(-3px) rotate(4deg)}
.plan-choices button:active{transform:scale(.9);transition-duration:.08s}
.plan-choices button[aria-pressed=true]{animation:choice-pop .5s cubic-bezier(.34,1.8,.5,1)}
@keyframes choice-pop{0%{transform:scale(.82)}55%{transform:scale(1.14) rotate(-3deg)}100%{transform:none}}
.stepper button{transition:background .16s,transform .4s cubic-bezier(.34,1.8,.5,1)}
.stepper button:not(:disabled):active{transform:scale(.78)}
.local-links a{transition:background-color .16s,transform .5s cubic-bezier(.34,1.8,.5,1)}
.local-links a:hover,.local-links a:focus-visible{transform:translateY(-4px) rotate(0) scale(1.05)}
.local-links a:active{transform:scale(.94);transition-duration:.08s}
.drink-choices label{transition:background .16s,transform .45s cubic-bezier(.34,1.8,.5,1)}
.drink-choices label:hover{transform:translateY(-2px) rotate(-2deg)}
.drink-choices label:has(input:checked){animation:choice-pop .5s cubic-bezier(.34,1.8,.5,1)}
.team-plus{transition:transform .5s cubic-bezier(.34,1.8,.5,1)}
.team-card>summary:hover .team-plus{transform:rotate(180deg) scale(1.15)}
.account{transition:transform .4s cubic-bezier(.34,1.8,.5,1)}
.account:hover{transform:translateY(-2px) rotate(-2deg)}

/* « Trouve ta formule » : lueur externe qui respire, frétillement au survol. */
.formula-ticket{
 --glow-1:rgb(255 249 236/.9);--glow-2:rgb(255 222 135/.8);--glow-3:rgb(239 119 165/.5);
 filter:drop-shadow(0 0 3px var(--glow-1)) drop-shadow(0 0 12px var(--glow-2)) drop-shadow(0 0 24px var(--glow-3));
 animation:ticket-glow 3.2s ease-in-out infinite;
 transition:transform .55s cubic-bezier(.34,1.7,.5,1)
}
.formula-ticket>strong{display:inline-block;transition:transform .5s cubic-bezier(.34,1.8,.5,1)}
.formula-ticket:hover,.formula-ticket:focus-visible{transform:rotate(-3deg) translateY(-4px) scale(1.06);animation:ticket-wiggle .7s cubic-bezier(.3,.7,.3,1),ticket-glow 1.4s ease-in-out infinite}
.formula-ticket:hover>strong,.formula-ticket:focus-visible>strong{transform:scale(1.08) rotate(2deg)}
.formula-ticket:active{transform:rotate(-5deg) scale(.94);transition-duration:.08s}
@keyframes ticket-glow{
 0%,100%{filter:drop-shadow(0 0 3px var(--glow-1)) drop-shadow(0 0 12px var(--glow-2)) drop-shadow(0 0 24px var(--glow-3))}
 50%{filter:drop-shadow(0 0 5px var(--glow-1)) drop-shadow(0 0 20px var(--glow-2)) drop-shadow(0 0 42px rgb(239 119 165/.72))}
}
@keyframes ticket-wiggle{
 0%{transform:rotate(-6deg)}
 22%{transform:rotate(-12deg) translateY(-5px) scale(1.07)}
 48%{transform:rotate(1deg) translateY(-6px) scale(1.08)}
 74%{transform:rotate(-6deg) translateY(-4px) scale(1.05)}
 100%{transform:rotate(-3deg) translateY(-4px) scale(1.06)}
}

/* Header fixé en verre liquide : flou, saturation, reflet qui suit le pointeur et le défilement. */
.home-page>.header{transition:height .18s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease,-webkit-backdrop-filter .3s ease,backdrop-filter .3s ease}
.home-page>.header::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .3s ease;
 background:
  radial-gradient(280px 150px at var(--glass-x,30%) -30%,rgb(255 255 255/.6),transparent 70%),
  linear-gradient(180deg,rgb(255 255 255/.42) 0,rgb(255 255 255/.08) 45%,rgb(255 255 255/0) 62%,rgb(255 255 255/.14) 100%);
 box-shadow:inset 0 1px 0 rgb(255 255 255/.8),inset 0 -1px 0 rgb(255 255 255/.4)
}
.home-page>.header.is-scrolled{
 background-color:rgb(255 184 43/.58);border-bottom-color:rgb(255 255 255/.55);
 -webkit-backdrop-filter:blur(18px) saturate(1.9) brightness(1.05);backdrop-filter:blur(18px) saturate(1.9) brightness(1.05);
 box-shadow:0 14px 34px -22px rgb(25 25 24/.55)
}
.home-page>.header.is-scrolled::before{opacity:1}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .home-page>.header.is-scrolled{background-color:rgb(255 184 43/.94)}
}

/* Mouvement réduit : les arrivées deviennent de simples fondus, les clignements restent (petits, sans déplacement),
   les têtes ne tournent pas (site.js),
   la lueur reste fixe et les boutons ne bougent plus. ?animations dans l’adresse force la version complète pour la relecture. */
@keyframes wing-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 html:not(.force-motion) .wing.is-in{animation:wing-fade .6s var(--wing-delay,0ms) both!important}
 html:not(.force-motion) .bird-pupil.is-blinking{animation:bird-blink .19s ease-in-out!important}
 html:not(.force-motion) :is(.formula-ticket,.button,.local-links a,.plan-choices button,.drink-choices label,.account):hover{transform:none}
 html:not(.force-motion) .team-card>summary:hover .team-plus{transform:none}
}

/* v39 — Accordéons de la team : hauteur animée par site.js, contenu qui glisse en fondu. */
.team-card.is-animating{overflow:hidden}
.team-plus::after{transition:transform .45s cubic-bezier(.34,1.6,.5,1)}
.team-card.is-closing .team-plus::after{transform:rotate(90deg)}

/* v40 — Plus de filet noir entre les sections : les aplats de couleur se touchent directement. */
.calculator{border-block:0}

/* Arrivée du header : ses éléments glissent depuis les bords sans jamais élargir la page. */
.home-page>.header{overflow-x:clip}

/* Bandeau de mesure d'audience v41 */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;max-width:860px;margin-inline:auto;padding:20px 24px;background:var(--cream);color:var(--ink);border:var(--line);border-radius:var(--radius);box-shadow:6px 6px 0 var(--ink);font-size:15px;line-height:1.45;animation:consent-in .5s cubic-bezier(.22,1,.36,1) both}
.consent p{margin:0;flex:1 1 360px}.consent a{text-decoration:underline;text-underline-offset:3px}
.consent div{display:flex;gap:12px;flex:0 0 auto}.consent .button{min-height:46px;padding:10px 22px}
@keyframes consent-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:560px){.consent{left:10px;right:10px;bottom:10px;padding:16px}.consent div{width:100%}.consent .button{flex:1}}
@media(prefers-reduced-motion:reduce){html:not(.force-motion) .consent{animation:none}}
.link-button{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* v47 — envoi du formulaire : piège à robots caché, message d’erreur */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-error{color:#b00020;font-weight:700;font-size:14px;margin-top:12px}

.footer-faq{margin:0 0 28px;max-width:860px}.footer-faq-title{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#C8C2B7}.footer-faq-list{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;align-items:start}.footer-faq details{border-top:1px solid #4a4741;padding:8px 0;font-size:13px;color:#C8C2B7}.footer-faq summary{cursor:pointer;line-height:1.5}.footer-faq summary:hover,.footer-faq summary:focus-visible{color:var(--cream)}.footer-faq details p{margin:6px 0 4px;line-height:1.65;font-size:13px;max-width:none}.footer-hours{color:#C8C2B7;font-size:13px}@media(max-width:760px){.footer-faq-list{grid-template-columns:1fr}}
