@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Manrope:wght@300;400;500;600&display=swap');
:root{--ink:#171614;--black:#0e0e0d;--paper:#f5f2ec;--white:#fffdf9;--gold:#c8a66a;--muted:#77736b;--line:#ded8cc;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--gold);font-weight:500}.gold{color:var(--gold)}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;line-height:1.12;font-weight:300;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,7vw,6.3rem);margin:.25em 0}h2{font-size:clamp(2.1rem,4vw,3.7rem);margin:.25em 0 .55em}h3{font-size:1.45rem;margin:.2em 0 .6em}p{max-width:68ch}.button{display:inline-flex;align-items:center;gap:16px;padding:14px 21px;border:1px solid var(--gold);font-size:.82rem;letter-spacing:.04em;transition:.25s}.button:hover{background:var(--gold);color:var(--black)}.button.dark{color:var(--white)}.site-header{position:absolute;top:0;left:0;width:100%;z-index:10;color:#f8f5ee;padding:23px 0}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:.94rem;letter-spacing:.17em;text-transform:uppercase}.brand img{width:42px;height:42px}.nav-links{display:flex;gap:27px;align-items:center;font-size:.78rem;letter-spacing:.05em}.nav-links a{opacity:.84}.nav-links a:hover,.nav-links a.active{color:var(--gold);opacity:1}.menu-toggle{display:none;background:none;border:1px solid #777;color:#fff;padding:8px 12px}.hero{min-height:92vh;background:var(--black);color:#f8f5ee;display:flex;align-items:center;position:relative;overflow:hidden;padding:130px 0 80px}.hero:before{content:'';position:absolute;right:-8%;top:12%;width:58%;height:70%;background:radial-gradient(ellipse at 50% 25%,rgba(200,166,106,.18),transparent 58%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:7%;align-items:center;position:relative}.hero-copy{padding:30px 0}.wordmark{font-size:clamp(2.4rem,6vw,5.7rem);letter-spacing:.12em;font-weight:300;line-height:1.15;margin:26px 0 14px}.wordmark span{color:#e5c47f}.hero-subtitle{letter-spacing:.24em;text-transform:uppercase;font-size:.78rem;color:#d8d3ca}.hero-text{font-size:1.08rem;color:#c6c1b8;max-width:520px;margin:30px 0}.hero-mark{width:min(100%,390px);margin:auto;filter:drop-shadow(0 0 30px rgba(200,166,106,.1))}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;color:#827d73;font-size:.67rem;letter-spacing:.2em;text-transform:uppercase}.section{padding:100px 0}.section-head{max-width:760px;margin-bottom:48px}.intro-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:12%;align-items:start}.intro-grid .lead{font-size:1.4rem;line-height:1.5}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{background:var(--paper);padding:34px;min-height:220px}.service-card .number{color:var(--gold);font-size:.8rem;letter-spacing:.15em}.service-card p{color:#69655e}.dark-band{background:var(--black);color:var(--white)}.dark-band p{color:#c7c2b8}.projects-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}.project-tile{min-height:360px;background:#292722;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:28px;color:white}.project-tile:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 65%),radial-gradient(ellipse at 58% 25%,rgba(236,187,102,.3),transparent 42%),linear-gradient(125deg,#25231f,#514638 52%,#161615);transition:transform .5s}.project-tile:nth-child(2):before{background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 65%),radial-gradient(ellipse at 60% 35%,rgba(244,209,146,.45),transparent 30%),linear-gradient(120deg,#3b3932,#191816)}.project-tile:nth-child(3):before{background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 65%),radial-gradient(ellipse at 30% 30%,rgba(244,209,146,.32),transparent 34%),linear-gradient(120deg,#171716,#4a4030)}.project-tile>*{position:relative}.project-tile h3{margin-bottom:5px}.project-tile p{margin:0;color:#ddd5c8;font-size:.85rem}.project-tile.large{min-height:500px}.project-list{display:grid;gap:24px}.quote{font-family:Manrope,sans-serif;font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.35;max-width:900px}.cta{display:flex;align-items:center;justify-content:space-between;gap:30px}.page-hero{background:var(--black);color:var(--white);padding:170px 0 80px}.page-hero p{color:#c6c1b8;font-size:1.1rem;max-width:720px}.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:54px}.content-block{padding:28px 0;border-top:1px solid var(--line)}.content-block .num{color:var(--gold);letter-spacing:.14em;font-size:.75rem}.project-placeholder{min-height:300px;background:radial-gradient(ellipse at 50% 25%,rgba(236,187,102,.4),transparent 30%),linear-gradient(130deg,#26241f,#4b4233 55%,#171716);display:flex;align-items:flex-end;padding:25px;color:white}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-visual{min-height:440px;background:radial-gradient(ellipse at 50% 24%,rgba(236,187,102,.38),transparent 25%),linear-gradient(120deg,#2b2924,#65523a 50%,#161615)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-form{display:grid;gap:16px}.contact-form label{font-size:.8rem;letter-spacing:.06em}.contact-form input,.contact-form textarea{width:100%;padding:13px;border:1px solid #cfc8bb;background:var(--white);font:inherit;margin-top:6px}.contact-form textarea{min-height:140px;resize:vertical}.notice{font-size:.8rem;color:var(--muted)}.site-footer{background:var(--black);color:#c8c2b7;padding:45px 0}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-brand{letter-spacing:.15em;text-transform:uppercase}.footer-small{font-size:.75rem;color:#928b80}.footer-links{display:flex;gap:20px;font-size:.8rem}.mobile-only{display:none}
@media(max-width:760px){.container{width:min(var(--max),calc(100% - 32px))}.site-header{padding:16px 0}.nav-links{display:none;position:absolute;top:70px;left:16px;right:16px;background:#171614;padding:22px;flex-direction:column;align-items:flex-start;gap:18px;border:1px solid #38352f}.nav-links.open{display:flex}.menu-toggle{display:block}.hero{min-height:auto;padding:125px 0 80px}.hero-grid,.intro-grid,.projects-grid,.content-grid,.about-split,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:25px}.hero-mark{width:180px;grid-row:1}.hero-copy{padding:0}.wordmark{font-size:clamp(2.1rem,10vw,3.7rem)}.hero-bottom{display:none}.section{padding:68px 0}.service-grid{grid-template-columns:1fr}.service-card{padding:25px}.project-tile.large{min-height:340px}.project-tile{min-height:280px}.page-hero{padding:130px 0 60px}.about-visual{min-height:300px}.cta,.footer-row{align-items:flex-start;flex-direction:column}.footer-links{flex-wrap:wrap}.brand{font-size:.78rem}.brand img{width:34px;height:34px}}

/* Version 2 — logo original et priorité Casambi */
.brand img.brand-primary{width:195px;height:60px;object-fit:contain;object-position:left center}.hero-v2{padding-top:118px;min-height:95vh}.hero-logo-wrap{display:flex;justify-content:center;margin:5px auto 24px}.hero-logo-wrap img{width:min(740px,100%);height:auto;mix-blend-mode:lighten}.hero-v2-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:center}.hero-v2 h1{font-size:clamp(2.5rem,5.1vw,5.2rem);margin:20px 0}.hero-v2 .hero-text{margin:18px 0 26px}.actions{display:flex;gap:12px;flex-wrap:wrap}.casambi-callout{border:1px solid #685a42;padding:35px;background:rgba(255,255,255,.025)}.casambi-callout p{color:#e2dbce}.casambi-callout small{display:block;color:#9d9689;font-size:.7rem;line-height:1.5}.casambi-type{font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-.07em;font-weight:600;color:#fff;line-height:1.3}.casambi-dot{font-size:.32em;vertical-align:top;margin-left:5px;color:#d7b376}.casambi-inline{color:#171614;font-size:2rem}.footer-emblem{width:76px;height:76px;margin-bottom:12px}.dark-band .service-card{background:#1c1b19;color:#fff;border:1px solid #3c3730}.dark-band .service-card p{color:#c4bfb5}.content-block[id]{scroll-margin-top:30px}@media(max-width:760px){.brand img.brand-primary{width:140px;height:48px}.hero-v2{padding-top:110px}.hero-v2-grid{grid-template-columns:1fr;gap:28px}.hero-logo-wrap{margin:0 auto 20px}.hero-v2 h1{font-size:clamp(2.3rem,10vw,3.7rem)}.casambi-callout{padding:24px}.footer-emblem{width:65px;height:65px}}

/* Version 3 : identité de navigation simplifiée et portrait à venir */
.brand img.brand-symbol{width:40px;height:40px;object-fit:contain;flex-shrink:0}
.brand-name{font-size:.88rem;letter-spacing:.15em;white-space:nowrap}
.hero-logo-wrap img{display:block;max-width:100%;height:auto}
.portrait-placeholder{min-height:450px;background:linear-gradient(145deg,#27241f,#4b4031 50%,#171615);color:#e8ddc9;border:1px solid #8a7453;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:36px;text-align:center}
.portrait-placeholder .portrait-outline{font-size:7rem;font-weight:100;color:#d5b77f;line-height:1}
.portrait-placeholder span{font-size:1.05rem;letter-spacing:.06em}
.portrait-placeholder small{color:#c8bcaa;font-size:.78rem}
.lead-person{font-size:1.2rem;color:#776041}
@media(max-width:760px){.brand img.brand-symbol{width:32px;height:32px}.brand-name{font-size:.7rem}.portrait-placeholder{min-height:320px}}

/* À propos — portrait et parcours */
.about-split{align-items:start;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:7%}
.about-copy p{max-width:74ch}.about-copy h3{margin-top:2.1rem}.expertise-list{padding-left:1.25rem;line-height:1.8}.expertise-list li{margin-bottom:1rem}.expertise-list strong{font-weight:600}
.about-signature{border-left:2px solid var(--gold);padding:12px 0 12px 22px;font-size:1.2rem;font-style:italic;margin-top:2rem}
.portrait-card{position:sticky;top:28px;background:#1b1b1b;color:#f8f5ee;padding:16px;box-shadow:0 16px 48px rgba(0,0,0,.09)}
.portrait-card img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block}.portrait-card>span{display:block;padding:15px 5px 5px;font-size:1.15rem}.portrait-card small{display:block;font-size:.75rem;color:#c7b99f;letter-spacing:.07em;margin-top:3px}
@media(max-width:760px){.about-split{grid-template-columns:1fr}.portrait-card{position:static;grid-row:1;max-width:450px}}

/* V5 — header consistent across pages, clean hero, restrained animations */
.hero-v2{min-height:auto;padding:138px 0 88px;background:#0e0e0d}
.hero-v2:before{opacity:.42}
.hero-logo-wrap{margin:0 auto 36px;max-width:740px;position:relative}
.hero-logo-wrap img{width:100%;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 72% 75% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 72% 75% at 50% 50%,#000 55%,transparent 100%)}
.hero-v2-grid{grid-template-columns:minmax(0,1.7fr) minmax(225px,.72fr);gap:7%;align-items:end}
.hero-v2 h1{font-size:clamp(2.65rem,5.3vw,5.3rem)}
.casambi-callout{padding:22px 23px;background:rgba(255,255,255,.018);border:1px solid rgba(200,166,106,.3);max-width:315px;justify-self:end}
.casambi-callout h2{font-size:clamp(1.45rem,2.3vw,2.05rem);margin:13px 0;letter-spacing:-.03em}
.casambi-callout p{font-size:.85rem;margin:0 0 18px;color:#c5c0b7}
.callout-link{color:var(--gold);font-size:.77rem;border-bottom:1px solid rgba(200,166,106,.4);padding-bottom:5px}
.js-ready .reveal-on-scroll{opacity:0;transform:translateY(16px);transition:opacity .85s ease,transform .85s ease}
.js-ready .reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}
.hero-v2-grid .casambi-callout{transition-delay:.18s}
/* About: black top with luminous architecture, soft white portrait panel */
.about-banner{position:relative;isolation:isolate;background:linear-gradient(100deg,#111110 0%,#1c1916 50%,#3e2e1d 100%);color:#f7f3ea;padding:162px 0 102px;overflow:hidden}
.about-banner:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(114deg,transparent 51%,rgba(234,177,91,.24) 62%,rgba(246,205,137,.02) 78%);clip-path:polygon(62% 0,100% 0,100% 100%,40% 100%)}
.about-banner h1{font-size:clamp(2.3rem,4vw,3.7rem);font-weight:300;letter-spacing:.18em;margin:13px 0 12px}
.gold-rule{display:block;width:55px;height:2px;background:var(--gold)}
.about-white{position:relative;margin:-8px 20px 0;background:#fffdfb;border-radius:11px 11px 0 0;padding:68px 0 96px;box-shadow:0 -8px 34px rgba(0,0,0,.055)}
.about-editorial{display:grid;grid-template-columns:minmax(260px,.74fr) minmax(0,1.26fr);gap:6%;align-items:start}
.about-white .portrait-card{position:static;background:none;padding:0;border-radius:10px;box-shadow:0 12px 35px rgba(0,0,0,.10);overflow:hidden}
.about-white .portrait-card img{aspect-ratio:4/4.65;object-fit:cover}
.about-person-name{font-size:clamp(1.4rem,2.3vw,2rem);letter-spacing:.015em;margin:8px 0 24px;font-weight:400}
.about-copy .lead-person{font-size:1.07rem;color:#48443d}
.about-copy p{line-height:1.78}
.interventions-heading{font-size:1.22rem;letter-spacing:0;margin:34px 0 15px}
.interventions{border-top:1px solid #e1dcd2;margin:12px 0 30px}
.intervention{border-bottom:1px solid #e1dcd2}
.intervention summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:15px;list-style:none;padding:16px 5px;font-weight:500;transition:color .2s}
.intervention summary::-webkit-details-marker{display:none}
.intervention summary:hover,.intervention[open] summary{color:#9c7540}
.intervention-plus{font-size:1.45rem;line-height:1;color:var(--gold);transition:transform .2s}
.intervention[open] .intervention-plus{transform:rotate(45deg)}
.intervention-description{padding:0 34px 18px 5px;color:#605b52;font-size:.94rem;animation:descReveal .28s ease both}
@keyframes descReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.about-signature{font-weight:300}
@media(max-width:760px){.hero-v2{padding:115px 0 65px}.hero-logo-wrap{margin-bottom:16px}.hero-v2-grid{grid-template-columns:1fr;gap:25px}.casambi-callout{justify-self:start;max-width:100%}.about-banner{padding:135px 0 75px}.about-white{margin:0 8px;padding:36px 0 65px}.about-editorial{grid-template-columns:1fr;gap:35px}.about-white .portrait-card{max-width:410px}.about-white .portrait-card img{aspect-ratio:1/1}}
@media(prefers-reduced-motion:reduce){.js-ready .reveal-on-scroll{opacity:1;transform:none;transition:none}.intervention-description{animation:none}}

/* V6: genuine transparent logo asset, no rectangular JPG background */
.hero-logo-wrap img{mix-blend-mode:normal!important;-webkit-mask-image:none!important;mask-image:none!important;filter:none!important}
.hero-logo-wrap{isolation:isolate}
/* Contact form */
.contact-form select{width:100%;padding:13px;border:1px solid #cfc8bb;background:var(--white);font:inherit;margin-top:6px}
.captcha-row{border:1px solid #cfc8bb;padding:15px 18px;background:#faf8f4}
.captcha-row input{max-width:145px}
.form-feedback{border-left:3px solid #bb8c39;padding:12px 16px;background:#f6f1e8}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* V7 : original logo glow preserved; simplified Casambi expertise block */
.hero-logo-wrap img{mix-blend-mode:normal;filter:none;}
.casambi-feature-section{padding:88px 0 94px;}
.casambi-feature{max-width:860px;text-align:left;}
.casambi-feature h2{margin:14px 0 22px;}
.casambi-feature p{max-width:710px;color:#c7c2b8;font-size:1.04rem;}
.casambi-feature .casambi-feature-lead{font-size:1.24rem;color:#f3eee4;margin-bottom:16px;}
.casambi-feature .button{margin-top:24px;}
@media(max-width:760px){.casambi-feature-section{padding:66px 0 72px;}}

/* V9 — uniformiser les titres des pages intérieures, sans modifier l'accueil */
.page-hero h1,
.about-banner h1 {
  font-family: Manrope, 'DM Sans', sans-serif;
  font-size: clamp(1.75rem, 3.05vw, 2.75rem);
  line-height: 1.23;
  font-weight: 300;
  letter-spacing: .035em;
  margin: 12px 0 18px;
  max-width: 850px;
}
@media (max-width: 760px) {
  .page-hero h1,
  .about-banner h1 {
    font-size: clamp(1.65rem, 6vw, 2.1rem);
    line-height: 1.28;
    letter-spacing: .015em;
  }
}

/* V10 — accueil volontairement minimaliste; les autres pages restent inchangées */
.hero.hero-v2{min-height:100svh;padding:145px 0 95px;background:#0e0e0d;display:flex;align-items:center;}
.hero.hero-v2:before{opacity:.18;}
.v10-hero-content{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;}
.v10-hero-logo{width:min(760px,90%);margin:0 auto;}
.v10-hero-logo img{display:block;width:100%;height:auto;mix-blend-mode:normal!important;mask-image:none!important;-webkit-mask-image:none!important;filter:none!important;}
.v10-hero-intro{display:flex;align-items:center;flex-direction:column;gap:12px;}
.v10-hero-intro .eyebrow{margin:0;color:#c6ad79;letter-spacing:.22em;font-size:.72rem;}
.v10-hero-intro h1{font-size:clamp(2rem,3.8vw,3.6rem);font-weight:300;line-height:1.25;letter-spacing:-.025em;max-width:850px;margin:2px 0 14px;}
.v10-actions{justify-content:center;gap:16px;}
.v10-actions .button{font-size:.78rem;padding:13px 19px;}
.v10-understated{padding:34px 0;background:#f9f7f2;}
.v10-understated-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;}
.v10-understated p{margin:0;color:#66615a;font-size:.83rem;letter-spacing:.025em;max-width:none;}
.v10-understated a{white-space:nowrap;font-size:.8rem;border-bottom:1px solid #b78a3e;padding-bottom:4px;}
@media(max-width:760px){.hero.hero-v2{min-height:90svh;padding:120px 0 65px}.v10-hero-content{gap:30px}.v10-hero-logo{width:100%}.v10-hero-intro h1{font-size:clamp(2rem,8vw,2.9rem)}.v10-hero-intro .eyebrow{font-size:.63rem;letter-spacing:.12em}.v10-actions{flex-direction:column;align-items:center}.v10-actions .button{justify-content:center;width:min(100%,300px)}.v10-understated-inner{flex-direction:column;align-items:flex-start;gap:16px}}

/* V13 — accueil intégralement noir, signature discrète en pied d’écran */
body:has(.hero-bottomline){background:#0e0e0d;}
.hero.hero-v2{min-height:100svh;padding-bottom:118px;}
.hero-bottomline{position:absolute;left:50%;transform:translateX(-50%);bottom:32px;display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:2;}
.hero-bottomline p{margin:0;color:#c6ad79;font-size:.68rem;letter-spacing:.10em;line-height:1.6;}
.hero-bottomline a{white-space:nowrap;color:#c6ad79;font-size:.75rem;border-bottom:1px solid #a98545;padding-bottom:4px;}
.hero-bottomline a:hover{color:#fff;}
@media(max-width:760px){.hero.hero-v2{min-height:100svh;padding-bottom:135px}.hero-bottomline{bottom:25px;flex-direction:column;align-items:flex-start;gap:10px}.hero-bottomline p{font-size:.62rem;letter-spacing:.055em}}

/* V14 — titre tournant, sobre, et lien prestations légèrement relevé */
.v10-hero-intro .rotating-headline{display:grid;place-items:center;width:min(920px,92vw);min-height:clamp(100px,13vw,160px);margin:0 0 8px;}
.rotating-phrase{grid-area:1/1;display:block;opacity:0;transform:translateY(12px);transition:opacity .65s ease,transform .65s ease;pointer-events:none;}
.rotating-phrase.is-active{opacity:1;transform:translateY(0);pointer-events:auto;}
.hero-bottomline{bottom:68px;justify-content:flex-end;}
@media(max-width:760px){.v10-hero-intro .rotating-headline{min-height:130px;width:100%;}.hero-bottomline{bottom:50px;align-items:flex-end;}}
@media(prefers-reduced-motion:reduce){.rotating-phrase{transition:none;transform:none;}.rotating-phrase:not(.is-active){display:none;}}

/* Portfolio réalisations v17 */
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.portfolio-card{background:#fff;border:1px solid #e6e0d7;overflow:hidden}.portfolio-card.featured{grid-column:1/-1}.portfolio-photo{height:310px;background:linear-gradient(140deg,#1b1a19,#484039 60%,#191817);display:flex;align-items:center;justify-content:center}.portfolio-card.featured .portfolio-photo{height:460px}.photo-note{color:#d8cbb5;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid #8e7e65;padding:12px 18px;text-align:center}.photo-macadam{background:linear-gradient(135deg,#252320,#5b5042,#211e1b)}.photo-mumaps{background:linear-gradient(125deg,#171b1e,#3b464b,#1c1b1a)}.portfolio-caption{padding:28px 30px 34px}.portfolio-caption h3{margin:12px 0 18px}.portfolio-caption p{margin:5px 0;color:#514d47}.portfolio-caption strong{font-weight:600}.portfolio-footnote{font-size:.78rem;color:#79736b;margin-top:22px}@media(max-width:760px){.portfolio-grid{grid-template-columns:1fr}.portfolio-card.featured{grid-column:auto}.portfolio-card.featured .portfolio-photo,.portfolio-photo{height:270px}.portfolio-caption{padding:23px}}

/* Galerie THE KID — version 18 */
.kid-cover{display:block;width:100%;height:clamp(280px,52vw,610px);object-fit:cover;object-position:center center;background:#26221e}.kid-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 18px 20px}.kid-gallery a{display:block;overflow:hidden;background:#24221f}.kid-gallery img{display:block;width:100%;height:230px;object-fit:cover;transition:transform .3s}.kid-gallery a:hover img{transform:scale(1.035)}@media(max-width:760px){.kid-cover{height:270px}.kid-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 10px 12px}.kid-gallery img{height:145px}}

/* V19 — portfolio galleries */
.v19-grid{align-items:start}.v19-grid .portfolio-card{min-width:0}.v19-grid .kid-cover{display:block;width:100%;height:auto;max-height:540px;object-fit:cover}.v19-grid .kid-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;padding:12px}.v19-grid .kid-gallery img{width:100%;height:145px;object-fit:cover;display:block}.v19-grid .portfolio-card>a{display:block}.v19-grid .portfolio-caption{padding-top:20px}

/* V20: navigation dans les photographies d’une même réalisation */
.lightbox{position:fixed;inset:0;z-index:10000;background:rgba(9,9,9,.96);display:none;align-items:center;justify-content:center;padding:70px 72px 65px;box-sizing:border-box}
.lightbox.is-open{display:flex}.lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 145px);object-fit:contain;box-shadow:0 10px 45px #0008}
.lightbox button{position:absolute;background:#202020cc;color:white;border:1px solid #ffffff55;border-radius:50%;width:48px;height:48px;cursor:pointer;font-size:29px;line-height:1;display:grid;place-items:center}
.lightbox button:hover,.lightbox button:focus-visible{background:#aa8446;outline:2px solid white;outline-offset:2px}
.lightbox-close{top:16px;right:18px}.lightbox-prev{left:12px;top:50%;transform:translateY(-50%)}.lightbox-next{right:12px;top:50%;transform:translateY(-50%)}
.lightbox-info{position:absolute;bottom:20px;left:20px;right:20px;text-align:center;color:#f4f4f4;font-size:14px;letter-spacing:.03em}
@media(max-width:600px){.lightbox{padding:70px 48px 70px}.lightbox button{width:39px;height:39px;font-size:24px}.lightbox-prev{left:4px}.lightbox-next{right:4px}.lightbox img{max-height:calc(100dvh - 155px)}}

/* V21 — atmospheric animated homepage, only homepage affected */
.hero.hero-v2.hero-v21{isolation:isolate;background:#050505;min-height:100svh;overflow:hidden}
.hero-v21 .v21-visual{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hero-v21 .v21-art{position:absolute;inset:-7%;background-image:url('accueil-ambiance-v21.webp');background-position:center 44%;background-size:cover;opacity:.72;animation:v21-drift 28s ease-in-out infinite alternate;will-change:transform}
.hero-v21 .v21-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.20) 30%,rgba(0,0,0,.80) 75%,#050505 100%),radial-gradient(ellipse at 50% 65%,rgba(0,0,0,.75),transparent 60%)}
.hero-v21 .v21-glow{position:absolute;top:35%;left:-35%;height:1px;width:40%;background:linear-gradient(90deg,transparent,#d4a95f,transparent);box-shadow:0 0 17px 2px rgba(228,176,93,.45);transform:rotate(-8deg);animation:v21-light 19s linear infinite;opacity:.6}
.hero-v21 .v10-hero-content{z-index:1;text-shadow:0 2px 18px #000;}
.hero-v21 .v10-hero-logo{width:min(570px,75%)}
.hero-v21 .v10-hero-logo img{filter:drop-shadow(0 3px 20px #000)!important}
.hero-v21 .rotating-headline{background:rgba(0,0,0,.20);border-radius:8px;padding:12px 20px}
.hero-v21 .button.dark{background:rgba(0,0,0,.45);backdrop-filter:blur(5px)}
@keyframes v21-drift{from{transform:scale(1.02) translate3d(-1%,0,0)}to{transform:scale(1.12) translate3d(1.5%,-1%,0)}}
@keyframes v21-light{0%{transform:translateX(-30vw) rotate(-8deg);opacity:0}20%{opacity:.65}80%{opacity:.65}100%{transform:translateX(170vw) rotate(-8deg);opacity:0}}
@media(max-width:760px){.hero-v21 .v21-art{background-position:49% center;opacity:.55}.hero-v21 .v21-shade{background:linear-gradient(180deg,rgba(0,0,0,.65),rgba(0,0,0,.65) 48%,#050505)}.hero-v21 .v10-hero-logo{width:90%}.hero-v21 .rotating-headline{padding:8px}}
@media(prefers-reduced-motion:reduce){.hero-v21 .v21-art,.hero-v21 .v21-glow{animation:none}}
