.concept-home{background:#050505;color:#f4f1eb}
.concept-home main{background:#050505}
.concept-home .site-header{position:absolute;background:linear-gradient(180deg,rgba(0,0,0,.55),transparent);color:#fff}
.concept-hero{width:100vw;height:100svh;min-height:0}
.concept-hero .hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.18) 52%,rgba(0,0,0,.18)),linear-gradient(0deg,rgba(0,0,0,.72),transparent 42%)}
.concept-hero .hero-copy{left:auto;right:4vw;top:52%;width:min(560px,38vw)}
.concept-home .concept-hero .hero-copy>.concept-kicker{margin:0;font:400 clamp(8px,.65vw,11px)/1.4 "Montserrat",sans-serif!important;letter-spacing:.38em!important}
.concept-home .concept-hero .hero-copy h1{margin:15px 0 12px;font:300 clamp(36px,3.25vw,54px)/.94 "Montserrat",sans-serif!important;letter-spacing:.055em!important;color:#fff}
.concept-home .concept-hero .hero-copy>.concept-signature{font:400 clamp(7px,.52vw,9px)/1.4 "Montserrat",sans-serif!important;letter-spacing:.38em!important}
.concept-signature{margin:0 0 34px!important;color:rgba(255,255,255,.78)}
.concept-button{display:flex;align-items:center;justify-content:space-between;gap:34px;width:max-content;min-width:220px;padding:16px 18px;border:1px solid currentColor;color:#fff;font:400 9px/1 "Montserrat",sans-serif;letter-spacing:.2em}
.concept-worlds{background:#f0ece6;color:#171717}
.concept-worlds>header{text-align:center;padding:24px 20px 20px}
.concept-worlds>header p,.feature-copy>p:first-child,.prints-copy>p:first-child,.concept-latest header{font-size:9px;letter-spacing:.4em}
.concept-worlds>header p{margin:0 0 5px;color:#777}
.concept-worlds>header h2{margin:0;font:400 clamp(28px,3vw,43px)/1 "Cormorant Garamond",serif}
.concept-worlds>header i,.concept-quote>i,.concept-footer>i{display:block;width:32px;margin:10px auto 0;border-top:1px solid currentColor}
.concept-world-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-bottom:18px;background:#080808}
.concept-world-card{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;height:clamp(430px,44vw,650px);overflow:hidden;color:#fff;background:#080808}
.concept-world-card:not(:first-child){border-left:1px solid rgba(255,255,255,.42)}
.concept-world-card img{grid-row:1;width:100%;height:100%;min-height:0;object-fit:cover;transition:transform .9s ease}
.concept-world-card:nth-child(1) img{object-position:48% center}.concept-world-card:nth-child(2) img{object-position:58% center}.concept-world-card:nth-child(3) img{object-position:center}.concept-world-card:nth-child(4) img{object-position:center}
.concept-world-card:hover img{transform:scale(1.035)}
.concept-world-card .veil{display:none}
.concept-world-card .copy{position:static;grid-row:2;display:flex;min-height:132px;padding:22px 9% 20px;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;background:#080808;font-family:"Montserrat",sans-serif}
.concept-world-card strong{font:400 clamp(24px,2.2vw,38px)/1 "Montserrat",sans-serif;letter-spacing:.03em}
.concept-world-card small{max-width:210px;font-size:11px;line-height:1.7}.concept-world-card .copy i{font-style:normal;font-size:20px}
.concept-feature{position:relative;display:grid;grid-template-columns:minmax(360px,39%) 1fr;min-height:560px;overflow:hidden;background:#080808}
.concept-feature>img{position:relative;grid-column:2;grid-row:1;width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center}
.feature-shade{display:none}
.feature-copy{position:relative;z-index:1;grid-column:1;grid-row:1;display:flex;width:auto;min-width:0;padding:70px clamp(42px,6vw,110px);flex-direction:column;justify-content:center;overflow:hidden;background:#080808}
.feature-copy>p:first-child{margin:0 0 10px}.feature-copy h2{width:100%;max-width:100%;margin:0;font:400 clamp(38px,4vw,66px)/.92 "Cormorant Garamond",serif;overflow-wrap:break-word}.feature-copy h3{max-width:100%;margin:14px 0 24px;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.3em;overflow-wrap:break-word}.feature-copy>p:not(:first-child){max-width:100%;margin:0 0 28px;font-size:13px;line-height:1.75;color:#ddd}
.concept-feature>img,.concept-feature .feature-copy,.concept-prints>img,.concept-prints .prints-copy{transition:opacity .42s ease}
.concept-feature.is-changing>img,.concept-feature.is-changing .feature-copy,.concept-prints.is-changing>img,.concept-prints.is-changing .prints-copy{opacity:.18}
.concept-rotation-controls{display:flex;align-items:center;gap:15px;margin-top:28px;color:#aaa;font-size:8px;letter-spacing:.18em}
.concept-rotation-controls span{margin-right:auto}.concept-rotation-controls button{width:30px;height:30px;border:0;background:transparent;color:inherit;font-size:17px;cursor:pointer}.concept-rotation-controls.dark{width:100%;color:#625e58}
.concept-quote{min-height:190px;padding:38px 20px;text-align:center;color:#2b2926;background:#e8e1d8 url("assets/images/Landscape/landscape-19.jpg") center 58%/cover no-repeat;background-blend-mode:screen}
.concept-quote blockquote{margin:0;font:italic 400 clamp(22px,2.6vw,38px)/1.1 "Cormorant Garamond",serif}.concept-quote small{display:block;margin-top:14px;font-size:8px;letter-spacing:.4em}
.concept-prints{display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,22vw,420px) minmax(0,1fr);min-height:430px;background:#eae5de;color:#181715}
.concept-prints>img{width:100%;height:100%;min-height:430px;object-fit:cover}.prints-wild{object-position:center 38%}.prints-room{object-position:center}
.prints-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px clamp(28px,4vw,65px);text-align:center}.prints-copy>p:first-child{margin:0;color:#777}.prints-copy h2{margin:10px 0 12px;font:400 clamp(45px,4.5vw,72px)/1 "Cormorant Garamond",serif}.prints-copy>p:not(:first-child){margin:0 0 26px;font-size:12px;line-height:1.7}.concept-button.dark{color:#171717;min-width:210px}
.concept-latest{padding:35px 5vw 42px;background:#080808}.concept-latest header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;color:#ddd}.concept-latest header p{margin:0}.concept-latest header a{letter-spacing:.2em}
.latest-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.latest-strip a{height:clamp(120px,13vw,210px);overflow:hidden}.latest-strip img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.latest-strip a:hover img{transform:scale(1.04)}
.concept-footer{position:relative;min-height:430px;padding:65px 5vw 38px;text-align:center;background:url("assets/images/Accueil/footer-okavango-buffalo.jpg") center/cover no-repeat;display:flex;flex-direction:column;align-items:center}
.footer-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.15) 75%)}.concept-footer>p,.concept-footer>i,.footer-bottom{position:relative;z-index:1}.concept-footer>p{margin:0;font-size:10px;letter-spacing:.42em}.footer-bottom{display:flex;width:100%;margin-top:auto;align-items:flex-end;justify-content:space-between;text-align:left}.footer-brand{display:flex;flex-direction:column;gap:7px;font-family:"Cormorant Garamond",serif;font-size:18px;letter-spacing:.08em}.footer-brand small{font-family:"Montserrat",sans-serif;font-size:7px;letter-spacing:.3em}.footer-bottom nav{display:flex;gap:28px;font-size:8px;letter-spacing:.18em}
.concept-back-to-top{position:relative;z-index:2;display:inline-flex;align-items:center;gap:17px;margin-top:18px;padding:10px 16px;border:1px solid rgba(255,255,255,.55);color:#fff;font:400 8px/1 "Montserrat",sans-serif;letter-spacing:.22em;transition:background .25s ease,border-color .25s ease}.concept-back-to-top b{font-size:18px;font-weight:300;line-height:1}.concept-back-to-top:hover{border-color:#fff;background:rgba(0,0,0,.35)}
@media(max-width:1600px){.concept-world-grid{grid-template-columns:repeat(2,1fr)}.concept-world-card{height:clamp(500px,54vw,760px);border-left:0}.concept-world-card:nth-child(even){border-left:1px solid rgba(255,255,255,.42)}.concept-world-card img{object-fit:cover;background:#080808}.concept-world-card:nth-child(1) img{object-position:center 54%}.concept-world-card:nth-child(2) img{object-position:38% 70%}}
@media(max-width:900px){.concept-hero .hero-copy{left:auto;right:7vw;bottom:15vh;top:auto;width:80vw}.concept-world-card{height:76vw}.concept-feature{grid-template-columns:42% 58%}.concept-feature>img{min-height:570px}.feature-copy{padding:55px 7vw}.concept-prints{grid-template-columns:1fr 1fr}.prints-wild{grid-row:span 2}.prints-room{display:none}.latest-strip{grid-template-columns:repeat(3,1fr)}.latest-strip a{height:28vw}}
@media(max-width:600px){.concept-hero{min-height:720px}.concept-hero .hero-copy{left:auto;right:22px;width:calc(100vw - 44px);bottom:17vh}.concept-home .concept-hero .hero-copy h1{font-size:clamp(30px,9vw,38px)!important}.concept-home .concept-hero .hero-copy>.concept-kicker{font-size:7px!important}.concept-home .concept-hero .hero-copy>.concept-signature{font-size:7px!important}.concept-button{min-width:205px}.concept-worlds>header{padding:30px 16px 24px}.concept-worlds>header h2{font-size:30px}.concept-world-grid{grid-template-columns:1fr}.concept-world-card{height:auto;border-left:0!important}.concept-world-card img{height:auto;max-height:none;object-fit:contain}.concept-world-card .copy{min-height:128px;padding:20px 22px}.concept-world-card strong{font-size:34px}.concept-world-card small{font-size:11px}.concept-feature{display:flex;min-height:0;flex-direction:column}.concept-feature>img{order:1;width:100%;height:auto;min-height:0;object-fit:contain;object-position:center}.feature-copy{order:2;width:auto;min-height:0;padding:48px 22px 58px}.feature-copy h2{font-size:clamp(38px,12vw,52px)}.concept-quote{padding:50px 22px}.concept-quote blockquote{font-size:25px}.concept-prints{grid-template-columns:1fr}.concept-prints>img{height:auto;min-height:0;object-fit:contain}.prints-wild{grid-row:auto}.prints-copy{padding:52px 24px}.latest-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.latest-strip a{flex:0 0 62vw;height:55vw;scroll-snap-align:start}.concept-footer{min-height:520px;padding:55px 24px 28px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:30px}.footer-bottom nav{flex-wrap:wrap;gap:18px 24px}}
@media(max-width:600px){.concept-hero{min-height:0}}
.prints-copy h3{margin:0 0 18px;font:400 10px/1.3 "Montserrat",sans-serif;letter-spacing:.3em;color:#5d5852}
@media(max-width:600px){.concept-home .concept-hero .hero-copy{bottom:25svh}}

/* Horizontal gallery rail */
.concept-worlds>header{position:relative}
.concept-world-controls{position:absolute;right:5vw;bottom:20px;display:flex;gap:8px}
.concept-world-controls button{width:36px;height:36px;border:1px solid #8b8781;background:transparent;color:#24211e;font-size:17px;cursor:pointer;transition:background .2s ease,color .2s ease}
.concept-world-controls button:hover{background:#24211e;color:#fff}
.concept-world-grid{display:flex;align-items:stretch;gap:1px;padding:0 0 18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:grab}
.concept-world-grid::-webkit-scrollbar{display:none}
.concept-world-grid.is-dragging{cursor:grabbing;scroll-behavior:auto}
.concept-world-grid .concept-world-card{flex:0 0 clamp(330px,30vw,540px);height:auto;grid-template-rows:auto 1fr;border-left:1px solid rgba(255,255,255,.42);scroll-snap-align:start}
.concept-world-grid .concept-world-card:first-child{border-left:0}
.concept-world-grid .concept-world-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;background:#080808}
@media(max-width:900px){.concept-world-grid .concept-world-card{flex-basis:44vw}.concept-world-controls{right:24px}}
@media(max-width:600px){.concept-worlds>header{padding-bottom:72px}.concept-world-controls{right:50%;bottom:20px;transform:translateX(50%)}.concept-world-grid .concept-world-card{flex-basis:84vw}.concept-world-grid .concept-world-card img{height:auto;aspect-ratio:4/3;object-fit:contain}}

/* Carousel arrows sit on the photographs, one on each side. */
.concept-world-rail{position:relative;background:#080808}
.concept-worlds>header{position:static}
.concept-worlds .concept-world-controls{position:absolute;z-index:5;top:calc((100% - 150px)/2);right:18px;bottom:auto;left:18px;display:flex;justify-content:space-between;gap:0;transform:translateY(-50%);pointer-events:none}
.concept-worlds .concept-world-controls button{width:44px;height:44px;border-color:rgba(255,255,255,.7);background:rgba(0,0,0,.48);color:#fff;pointer-events:auto;backdrop-filter:blur(5px)}
.concept-worlds .concept-world-controls button:hover{background:rgba(0,0,0,.82)}
@media(max-width:600px){.concept-worlds>header{padding-bottom:24px}.concept-worlds .concept-world-controls{top:calc((100% - 128px)/2);right:10px;bottom:auto;left:10px;transform:translateY(-50%)}.concept-worlds .concept-world-controls button{width:38px;height:38px}}

/* Keep every gallery caption on the same horizontal lines. */
.concept-world-grid .concept-world-card .copy{min-height:170px;justify-content:flex-start;padding-top:30px;padding-bottom:22px}
.concept-world-grid .concept-world-card .copy strong{min-height:2em}
.concept-world-grid .concept-world-card .copy small{min-height:3.4em}
.concept-world-grid .concept-world-card .copy i{margin-top:auto}
@media(max-width:600px){.concept-world-grid .concept-world-card .copy{min-height:158px;padding-top:24px;padding-bottom:20px}.concept-world-grid .concept-world-card .copy small{min-height:3.4em}}

/* Tablet landscape: reserve the right-hand space for copy, clear of the animals. */
@media (min-width:768px) and (max-width:1400px) and (min-height:521px) and (orientation:landscape){
  .concept-home .concept-hero .hero-copy{
    left:66vw;
    right:4vw;
    top:52%;
    bottom:auto;
    width:auto;
    max-width:none;
    transform:translateY(-50%);
  }
  .concept-home .concept-hero .hero-copy h1{
    font-size:clamp(24px,2.65vw,38px)!important;
    line-height:1.06!important;
  }
  .concept-home .concept-hero .hero-copy>.concept-kicker{
    letter-spacing:.26em!important;
  }
  .concept-home .concept-hero .concept-button{
    min-width:0;
    max-width:100%;
    gap:18px;
    padding:16px 14px;
    line-height:1.4;
  }
  .concept-home .concept-hero .concept-button>span:last-child{flex-shrink:0}
}

/* iPad portrait: keep the subject in frame and the copy above the animals. */
@media (min-width:601px) and (max-width:1100px) and (orientation:portrait){
  .concept-home .concept-hero .hero-copy{
    left:60vw;
    right:4vw;
    top:max(110px,10svh);
    bottom:auto;
    width:auto;
    max-width:none;
    transform:none;
  }
  .concept-home .concept-hero .hero-copy h1{
    margin:10px 0;
    font-size:clamp(18px,2.45vw,27px)!important;
    line-height:1.08!important;
    letter-spacing:.04em!important;
  }
  .concept-home .concept-hero .hero-copy>.concept-kicker,
  .concept-home .concept-hero .hero-copy>.concept-signature{
    font-size:clamp(7px,.85vw,9px)!important;
    line-height:1.5!important;
    letter-spacing:.2em!important;
  }
  .concept-home .concept-hero .hero-copy>.concept-signature{margin:0 0 16px!important}
  .concept-home .concept-hero .concept-button{
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
    min-height:44px;
    padding:12px;
    gap:12px;
    font-size:8px;
    line-height:1.4;
    letter-spacing:.14em;
  }
  .concept-home .concept-hero .concept-button>span:last-child{flex-shrink:0}
  /* Avoid the zoom trimming extremities during slide transitions. */
  .concept-home .concept-hero .slide{transform:none;background-repeat:no-repeat}
  .concept-home .concept-hero .slide:nth-child(1){background-position:28% center}
  .concept-home .concept-hero .slide:nth-child(2){background-position:32% center}
  .concept-home .concept-hero .slide:nth-child(3){background-position:68% center}
  /* Fit the group into the width; the dark sky continues into the header. */
  .concept-home .concept-hero .slide:nth-child(4){
    background-size:175% auto;
    background-position:60% bottom;
    background-color:#201e20;
  }
  .concept-home .concept-hero .slide:nth-child(5){background-position:38% center}
  .concept-home .concept-hero .slide:nth-child(6){background-position:36% center}
}
