/* Passe 6 : ajustements demandés de la home, sans modification des galeries. */
.home-clean .hero-primary{width:100%;aspect-ratio:4/3;height:auto}
.home-clean .hero-primary img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center}
.home-clean .portfolio-composition .category-table figure img{object-position:76% 50%}
.home-clean #craft-title em{font-family:inherit;font-weight:inherit;color:var(--accent);font-style:italic}
.home-clean .home-craft-lines .video-link{margin-top:1rem}
/* Size the title against its own available column, including intermediate widths. */
.home-clean .carnet-trigger{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);min-width:0}
.home-clean .carnet-trigger-copy{min-width:0;container-type:inline-size;padding:clamp(1.5rem,3vw,3rem)}
.home-clean .carnet-trigger-copy strong{display:block;max-width:100%;width:100%;font-size:clamp(1.6rem,4vw,4.6rem);font-size:clamp(1.6rem,16.2cqi,4.6rem);line-height:.96;letter-spacing:-.045em;overflow-wrap:normal}
.home-clean .carnet-trigger-copy>span{max-width:100%}
.home-clean .eco-note{transform:rotate(1.6deg)}
.eco-pin{position:absolute;top:-7px;left:50%;width:15px;height:15px;border:1px solid #836575;border-radius:50%;background:radial-gradient(circle at 34% 28%,#d8b4cb 0 17%,#ad4f91 40%,#744361 100%);box-shadow:1px 3px 3px #0003;transform:translateX(-50%);z-index:2}
.eco-pin:after{content:'';position:absolute;width:2px;height:9px;left:8px;top:10px;background:#756d68;transform:rotate(22deg);transform-origin:top;z-index:-1}
.home-clean .nadia-shooting{align-self:end}
.home-clean .nadia-shooting figcaption{left:50%;right:auto;width:max-content;max-width:90%;padding:.32rem .65rem;background:rgba(251,250,247,.9);color:var(--ink);text-shadow:none;transform:translateX(-50%);border-radius:3px;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.2}
.nadia-name .name-swap>span,.simple-name>span{transition:opacity .12s linear,transform .12s linear}
.nadia-name .name-swap .name-before,.nadia-name.is-final .name-swap .name-before,.nadia-name .simple-before{opacity:calc(1 - var(--name-progress,0));transform:translateY(calc(var(--name-progress,0) * -.12em))}
.nadia-name .name-swap .name-after,.nadia-name.is-final .name-swap .name-after,.nadia-name .simple-after{opacity:var(--name-progress,0);transform:translateY(calc((1 - var(--name-progress,0)) * .12em))}
.home-clean .home-signatures{margin-top:clamp(2rem,4vw,4rem);padding-top:clamp(2rem,4vw,4rem);border-top:1px solid var(--rule);gap:1.5rem 3vw;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch}
.home-clean .home-signatures>.index{font-weight:600;letter-spacing:.16em;margin-bottom:.5rem}
.home-clean .home-signatures .author-image{display:block;position:relative;aspect-ratio:1/1;height:auto;margin-bottom:1rem}
.home-clean .home-signatures .author-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;aspect-ratio:auto;margin:0}
.home-clean #references .reference-entry figure{position:relative;aspect-ratio:1/1;margin:0 0 1.2rem}
.home-clean #references .reference-entry figure img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none}
.home-clean #references .reference-entry:nth-child(1) figure img{object-position:50% 50%}
.home-clean #references .reference-entry:nth-child(2) figure img{object-position:50% 50%}
.home-clean #references .reference-entry:nth-child(3) figure img{object-position:50% 44%}
.home-clean #references .reference-entry:nth-child(4) figure img{object-fit:cover;object-position:54% 50%}
.home-clean #references .reference-name{min-height:2.16em}
#portfolio-produit .dossier-cover .studio-postal-note{max-width:38rem;margin:1.25rem 0 0;font:400 .9rem/1.6 var(--sans);color:var(--ink);letter-spacing:normal;text-transform:none}
/* Expandable restaurant receipt: content remains in the HTML. */
.home-tariffs{padding:1rem var(--pad) 3rem;max-width:1400px;margin:auto}
.tariff-toggle{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;padding:1.35rem 0;border:0;border-block:1px solid var(--rule);background:transparent;text-align:left;color:var(--ink);font:600 .78rem/1.5 var(--sans);letter-spacing:.12em;cursor:pointer}
.tariff-toggle>span{font:400 1.6rem/1 var(--sans);color:var(--accent);transition:transform .3s}
.tariff-toggle[aria-expanded=true]>span:last-child{transform:rotate(45deg)}
.tariff-panel{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .35s ease,opacity .3s ease,visibility .35s}
.tariff-panel.is-open{grid-template-rows:1fr;opacity:1;visibility:visible}
.tariff-panel-inner{min-height:0;overflow:hidden}
.home-tariffs .price-ticket{width:min(800px,100%);margin:2rem auto 0;padding:clamp(1.5rem,4vw,3rem);font-family:var(--sans);color:var(--ink)}
.home-tariffs .ticket-head{padding:0 0 1.7rem}
.home-tariffs .ticket-brand,.home-tariffs .ticket-price-label{font:500 .75rem/1.6 var(--sans);letter-spacing:.1em;text-transform:uppercase;margin:.4rem 0}
.home-tariffs .ticket-head>strong{font:500 clamp(2.8rem,6vw,4.5rem)/1 var(--serif);color:var(--ink)}
.home-tariffs .ticket-group{padding:0}
.home-tariffs .ticket-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;padding:1.5rem 0;border-top:1px dashed var(--rule)}
.home-tariffs .ticket-row>div{display:block}
.home-tariffs .ticket-row h3{margin:0 0 .6rem;font:500 1.55rem/1.15 var(--serif);color:var(--ink)}
.home-tariffs .ticket-row p,.home-tariffs .ticket-row small{font:400 .86rem/1.65 var(--sans);letter-spacing:normal;color:var(--ink);opacity:1;margin:.4rem 0}
.home-tariffs .ticket-row>strong{font:600 .95rem/1.4 var(--sans);padding:0;white-space:nowrap;color:var(--accent);letter-spacing:normal;text-transform:none}
.home-tariffs .ticket-special{padding:1.6rem 0;margin:0;border-block:1px dashed var(--rule)}
.home-tariffs .ticket-special-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}
.home-tariffs .ticket-special-head h3{font:500 1.5rem/1.2 var(--serif);margin:.6rem 0}
.home-tariffs .ticket-special-head>strong{font:600 .9rem/1.5 var(--sans);color:var(--accent);white-space:nowrap}
.home-tariffs .ticket-kicker{font:600 .75rem/1.5 var(--sans);letter-spacing:.1em;margin:0 0 .5rem;color:var(--ink)}
.home-tariffs .ticket-special-copy p,.home-tariffs .ticket-notes p{font:400 .86rem/1.65 var(--sans);letter-spacing:normal;margin:.5rem 0;color:var(--ink)}
.home-tariffs .ticket-notes{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem 0}
.home-tariffs .ticket-notes .ticket-emphasis{font-weight:600}
.home-tariffs .ticket-foot{padding:1.5rem 0 0;margin:0;border-top:1px dashed var(--rule)}
.home-tariffs .ticket-foot>p:first-child{font:500 1.6rem/1.2 var(--serif);margin:0 0 1rem;color:var(--ink)}
.home-tariffs .ticket-base{margin:0;font:400 .8rem/1.6 var(--sans)}
.home-tariffs .ticket-base span,.home-tariffs .ticket-base strong{display:block}
.tariff-brief{text-align:center;margin:1.5rem auto 1rem;max-width:32rem}
.tariff-brief button{font:600 .72rem/1.65 var(--sans);letter-spacing:.06em;color:var(--ink);cursor:pointer}
/* A reusable two-up / one-up horizontal review carousel. */
.home-clean .home-reviews{padding-top:2rem}
.home-clean .home-reviews h2{font-size:clamp(1.65rem,2.4vw,2.4rem);line-height:1.15;margin-bottom:1.5rem}
.reviews-carousel{min-width:0}
.reviews-carousel .reviews-track{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 1.5rem)/2);gap:1.5rem;align-items:stretch;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;scroll-padding:0;padding:0 0 .5rem}
.reviews-track::-webkit-scrollbar{display:none}
.reviews-carousel .review-card{display:flex;flex-direction:column;margin:0;padding:1.5rem;background:#fff;border:1px solid #e7e5df;border-radius:3px;scroll-snap-align:start;scroll-snap-stop:always;color:var(--deep)}
.reviews-carousel .review-card blockquote{margin:0;padding:1.25rem 0 2rem;font:400 .85rem/1.7 var(--sans);color:var(--deep)}
.reviews-carousel .review-card blockquote p{font:inherit;color:var(--deep)}
.reviews-carousel .review-card blockquote:before,.reviews-carousel .review-card blockquote:after{color:var(--accent);font-size:2.4rem}
.reviews-carousel .review-card figcaption{margin:auto 0 0;padding-top:1rem;border-top:1px solid #e7e5df;font:400 .75rem/1.6 var(--sans);color:var(--deep)}
.reviews-controls{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem}
.reviews-controls>button{display:inline-flex;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:.3rem .5rem;border:1px solid var(--rule);border-radius:50%;background:transparent;color:var(--deep);font:400 1.05rem/1 var(--sans);cursor:pointer}
.reviews-controls .review-pause{border:0;border-radius:0;min-width:auto;font:500 .65rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.06em}
.review-dots{display:flex;gap:.5rem;align-items:center}
.review-dots button{width:12px;height:12px;padding:0;border:1px solid var(--accent);border-radius:50%;background:transparent;cursor:pointer}
.review-dots button[aria-pressed=true]{background:var(--accent)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
:is(.tariff-toggle,.reviews-controls button,.reviews-track,.video-load,.video-external):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
/* Dedicated video page. */
.videos-page .site-header{position:relative;height:86px;background:var(--paper)}
.videos-page .wordmark{display:flex;align-items:center;gap:.7rem}
.videos-page .wordmark img{width:23px;height:auto}
.video-back{font-size:.78rem}
.video-page-main{max-width:1280px;margin:auto;padding:clamp(3rem,7vw,6rem) var(--pad)}
.video-page-main h1{margin:0;font:500 clamp(3rem,7vw,6.5rem)/.95 var(--serif);letter-spacing:-.04em}
.video-page-intro{max-width:38rem;margin:2rem 0 1rem;font-size:1rem;line-height:1.7}
.video-privacy{font-size:.75rem;color:#56534c;margin:0 0 3rem}
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem 2rem}
.video-card{min-width:0}
.video-card h2{font:500 clamp(1.5rem,2.4vw,2rem)/1.2 var(--serif);margin:0 0 .5rem;color:var(--ink)}
.video-card>p{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;margin:0 0 1rem;color:#56534c}
.video-player{aspect-ratio:16/9;position:relative;background:#244333}
.video-load{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;width:100%;height:100%;position:absolute;inset:0;border:0;background:transparent;color:#fff;font:500 .75rem var(--sans);letter-spacing:.1em;cursor:pointer}
.video-play-icon{width:0;height:0;border-block:13px solid transparent;border-left:21px solid #fbfaf7}
.video-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-external{display:inline-block;font-size:.75rem;margin-top:.8rem;border-bottom:1px solid var(--rule)}
.video-page-bottom{margin-top:3rem;font-size:.8rem}
@media(max-width:1000px){}
@media(max-width:800px){.home-clean .carnet-trigger{grid-template-columns:minmax(0,1fr)}.home-clean .carnet-trigger-copy{width:100%;padding:2rem 1.5rem;min-height:340px}.home-clean .carnet-trigger-copy strong{font-size:clamp(2rem,16.2cqi,4.8rem)}.home-clean .nadia-shooting{align-self:start}.home-clean .nadia-shooting figcaption{font-size:1.15rem}.home-clean .eco-note{width:calc(100% - .5rem);margin-inline:auto;transform:rotate(1.5deg)}.home-clean .home-signatures{margin-top:2rem;padding-top:2.5rem}}
@media(max-width:680px){.home-clean .home-signatures{grid-template-columns:1fr;gap:2rem}.home-clean .home-signatures .author-image{aspect-ratio:1/1}.home-clean .home-signatures .author-image img{position:absolute;height:100%;width:100%}.home-tariffs{padding-bottom:2rem}.home-tariffs .ticket-row{grid-template-columns:1fr;gap:.5rem}.home-tariffs .ticket-row>strong{padding:0}.home-tariffs .ticket-special-head{display:block}.home-tariffs .ticket-notes{grid-template-columns:1fr;gap:1.5rem}.home-tariffs .ticket-foot>p:first-child{font-size:1.4rem}.reviews-carousel .reviews-track{grid-auto-columns:100%;gap:1rem}.reviews-carousel .review-clone{display:none}.reviews-carousel .review-card{padding:1.25rem}.video-grid{grid-template-columns:1fr;gap:2.5rem}.video-card>p{min-height:0}}
@media(prefers-reduced-motion:reduce){.nadia-name .name-swap>span,.simple-name>span{transition:none!important}.nadia-name .name-swap .name-before,.nadia-name .simple-before{opacity:0;transform:none}.nadia-name .name-swap .name-after,.nadia-name .simple-after{opacity:1;transform:none}.tariff-panel,.tariff-toggle>span{transition:none}.reviews-carousel .reviews-track{scroll-behavior:auto}}

.video-load[hidden]{display:none}.video-load>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.video-load:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#0008)}.video-load>span{position:relative;z-index:1}.video-load>span:last-child{background:#142016b3;padding:.5rem .7rem;border-radius:3px}.video-card h2{min-height:2.4em}@media(max-width:680px){.video-card h2{min-height:0}}

/* Essai validable : titres et retours des pages dédiées. */
.home-clean .home-signatures>.index{font:500 clamp(1.5rem,2.4vw,2rem)/1.25 var(--serif);letter-spacing:normal;text-transform:none}
.home-clean .home-signatures>.index em,.tariff-toggle .tariff-label em,.video-page-main>h1 em{color:var(--accent);font-family:var(--serif);font-style:italic;font-weight:500}
.home-clean .home-signatures .author-image{aspect-ratio:4/3}
.tariff-toggle .tariff-label{font:500 clamp(1.65rem,2.4vw,2.4rem)/1.15 var(--serif);letter-spacing:normal;text-transform:none;color:var(--ink)}
.tariff-toggle .tariff-label em{font-size:1em;text-transform:none}
.page-close{display:inline-flex;align-items:center;gap:.75rem;padding:.6rem .85rem;border:1px solid var(--green);background:#f3eee5;color:var(--green);font:500 .72rem/1 var(--sans);letter-spacing:.1em;text-decoration:none;white-space:nowrap}
.page-close span{color:var(--accent);font-size:1.5rem;line-height:.6}
.page-close:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.formation-page .site-header .page-close{margin-left:auto}
.formation-page .site-header nav{display:none}
.formation-page .site-header .menu-toggle{display:none}
@media(max-width:680px){.home-clean .home-signatures .author-image{aspect-ratio:4/3}}
