/* VAGUE carriages | standalone, isolated from the home gallery */
body.carriages-page{background:#07131b;color:var(--text)}.cc-shell{width:calc(100% - var(--gutter)*2);max-width:1500px;margin:auto}.cc-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 0;border-bottom:1px solid var(--line);z-index:10}.cc-header nav{display:flex;gap:26px;align-items:center;font-size:12px}.cc-header nav a:hover,.cc-header a[aria-current=page]{color:var(--gold)}.cc-lang{letter-spacing:.12em}.cc-hero{padding:70px 0 65px;display:grid;grid-template-columns:.93fr 1.15fr;gap:48px;align-items:center}.cc-hero-copy{max-width:610px}.cc-hero h1{font-size:clamp(53px,5.6vw,90px);letter-spacing:-.032em}.cc-lead{margin-top:23px;font-size:16px;line-height:1.9;color:#d2d8d9}.cc-action{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:34px}.cc-hero-media{position:relative;min-height:460px;overflow:hidden;background:#08151d}.cc-hero-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.cc-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07131b 0%,transparent 18%),linear-gradient(0deg,#07131b 0%,transparent 22%);pointer-events:none}.cc-note{font-size:12px;color:var(--muted);margin-top:20px}.cc-section{padding:65px 0;border-top:1px solid var(--line)}.cc-section-title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.cc-section h2{font-size:clamp(40px,4vw,66px);line-height:1.04}.cc-section-copy{font-size:14px;line-height:1.9;color:var(--muted);max-width:750px;margin-top:18px}.cc-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.cc-photo{border:0;background:#0b1922;padding:0;text-align:left;overflow:hidden;display:block;cursor:zoom-in}.cc-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s ease,filter .3s ease}.cc-photo:hover img{transform:scale(1.025);filter:brightness(1.06)}.cc-photo-caption{display:block;padding:12px 12px 16px;color:#e9e4dc;font-size:12px;line-height:1.5;min-height:62px}.cc-index{display:block;color:var(--gold);font-size:10px;letter-spacing:.18em;margin-bottom:5px}.cc-grid-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.cc-feature{border-left:1px solid var(--gold);padding-left:24px}.cc-feature h3{font-size:31px;margin:12px 0 14px}.cc-feature p{font-size:13px;line-height:1.9;color:var(--muted)}.cc-areas{display:grid;grid-template-columns:1fr 1fr;gap:64px}.cc-area-list{columns:2;column-gap:20px;padding:0;list-style:none;font-size:13px;color:#e5e5e0;line-height:2.2}.cc-area-list li{break-inside:avoid}.cc-area-list li::before{content:"— ";color:var(--gold)}.cc-future{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.cc-future-panel{border:1px solid var(--line);min-height:260px;display:grid;place-content:center;text-align:center;background:radial-gradient(ellipse at center,#12222d,transparent 72%);padding:30px}.cc-future-panel span{font:400 clamp(48px,6vw,80px)/1 var(--serif);color:var(--gold)}.cc-future-panel small{display:block;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:15px;font-size:10px}.cc-contact{background:linear-gradient(130deg,#0e202a,#07131b 72%);padding:50px;border:1px solid var(--line)}.cc-contact h2{font-size:clamp(36px,3.4vw,58px)}.cc-contact p{font-size:14px;color:var(--muted);line-height:1.9;max-width:650px;margin-top:14px}.cc-contact .cc-action a{margin-top:5px}.cc-faq details{border-bottom:1px solid var(--line);padding:17px 0}.cc-faq summary{cursor:pointer;font-size:15px;color:var(--text)}.cc-faq details p{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.9}.cc-footer{padding:38px 0 55px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.cc-footer-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:12px}.cc-footer a:hover{color:var(--gold)}.cc-lightbox{position:fixed;inset:0;z-index:1000;width:100%;height:100%;border:0;padding:22px;background:rgba(1,6,10,.97);color:var(--text);max-width:none;max-height:none}.cc-lightbox:not([open]){display:none}.cc-lightbox-stage{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:12px;max-width:1600px;margin:0 auto;height:calc(100% - 76px)}.cc-lightbox figure{margin:0;height:100%;display:flex;flex-direction:column;justify-content:center;min-height:0}.cc-lightbox img{object-fit:contain;height:calc(100% - 48px);width:100%;min-height:0}.cc-lightbox figcaption{height:38px;text-align:center;color:var(--muted);font-size:13px;padding-top:10px}.cc-lightbox button{background:none;border:1px solid var(--line);padding:12px;min-width:43px;color:var(--text)}.cc-lightbox-close{display:block;margin-left:auto;margin-bottom:12px}.cc-lightbox button:hover{border-color:var(--gold);color:var(--gold)}@media(max-width:1000px){.cc-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.cc-hero-media{min-height:380px}}@media(max-width:760px){.cc-header{flex-wrap:wrap}.cc-header nav{gap:16px;font-size:11px}.cc-hero{grid-template-columns:1fr;padding:36px 0;gap:24px}.cc-hero-media{min-height:300px;order:-1}.cc-grid-three,.cc-future,.cc-areas{grid-template-columns:1fr;gap:28px}.cc-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cc-photo-caption{font-size:11px;padding:10px}.cc-section{padding:42px 0}.cc-contact{padding:26px}.cc-lightbox{padding:8px}.cc-lightbox-stage{grid-template-columns:35px minmax(0,1fr) 35px;gap:4px}.cc-lightbox button{min-width:32px;padding:8px}.cc-hero h1{font-size:clamp(47px,10vw,75px)}}@media(max-width:420px){.cc-header .wordmark>span{font-size:34px}.cc-header nav{width:100%;justify-content:space-between}.cc-hero-media{min-height:250px}.cc-photo img{aspect-ratio:1/1}}
/* Full-bleed carriage hero: soft cinematic fade into VAGUE midnight. */
body.carriages-page .cc-header {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - var(--gutter)*2);
  max-width: 1500px;
  z-index: 40;
  margin: 0;
  min-height: 105px;
  border-bottom: 1px solid rgba(244,240,233,.30);
  background: transparent;
}
body.carriages-page .cc-hero.cc-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  position: relative;
  display: flex;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(780px,96svh,1040px);
  padding: 155px max(var(--gutter),calc((100% - 1500px)/2)) 112px;
  gap: 0;
  background: #07131b;
}
body.carriages-page .cc-hero-copy {
  position: relative;
  z-index: 2;
  max-width: min(660px,51vw);
  margin: 0;
}
body.carriages-page .cc-hero h1 {
  font-size: clamp(55px,5.7vw,94px);
  line-height: .99;
  letter-spacing: -.034em;
  text-shadow: 0 2px 25px rgba(0,0,0,.16);
}
body.carriages-page .cc-hero .cc-lead {
  margin-top: 25px;
  max-width: 535px;
  color: rgba(244,240,233,.94);
  font-size: 15px;
  line-height: 1.86;
  text-shadow: 0 1px 16px rgba(0,0,0,.16);
}
body.carriages-page .cc-hero .cc-note {
  max-width: 510px;
  color: rgba(230,234,234,.78);
}
body.carriages-page .cc-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  background: #07131b;
  overflow: hidden;
}
body.carriages-page .cc-hero-media img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 57% 47%;
  filter: saturate(.95) contrast(.98);
}
body.carriages-page .cc-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(5,16,23,.93) 0%,
      rgba(5,16,23,.82) 20%,
      rgba(5,16,23,.58) 42%,
      rgba(5,16,23,.26) 66%,
      rgba(5,16,23,.09) 100%),
    linear-gradient(180deg,
      rgba(5,16,23,.43) 0%,
      rgba(5,16,23,.16) 20%,
      rgba(5,16,23,0) 40%,
      rgba(7,19,27,.14) 62%,
      rgba(7,19,27,.50) 78%,
      rgba(7,19,27,.86) 92%,
      #07131b 100%);
}
body.carriages-page #gallery {
  scroll-margin-top: 22px;
}
@media (max-width: 1020px) {
  body.carriages-page .cc-hero.cc-shell {
    min-height: clamp(760px,94svh,960px);
    padding-top: 150px;
    padding-bottom: 102px;
  }
  body.carriages-page .cc-hero-copy {
    max-width: 63vw;
  }
  body.carriages-page .cc-hero h1 {
    font-size: clamp(48px,6vw,78px);
  }
}
@media (max-width: 760px) {
  body.carriages-page .cc-header {
    min-height: 120px;
    padding-top: 16px;
    padding-bottom: 15px;
  }
  body.carriages-page .cc-hero.cc-shell {
    min-height: max(850px,100svh);
    display: flex;
    align-items: flex-end;
    padding: 180px var(--gutter) 82px;
  }
  body.carriages-page .cc-hero-copy {
    max-width: 620px;
    width: 100%;
  }
  body.carriages-page .cc-hero h1 {
    font-size: clamp(47px,9.4vw,73px);
    line-height: 1.01;
  }
  body.carriages-page .cc-hero .cc-lead {
    font-size: 14px;
    line-height: 1.75;
    margin-top: 19px;
  }
  body.carriages-page .cc-hero .cc-action {
    margin-top: 22px;
  }
  body.carriages-page .cc-hero .cc-note {
    font-size: 11px;
    margin-top: 17px;
  }
  body.carriages-page .cc-hero-media img {
    object-position: 52% 32%;
  }
  body.carriages-page .cc-hero-media::after {
    background:
      linear-gradient(90deg,
        rgba(5,16,23,.46),
        rgba(5,16,23,.12) 65%,
        rgba(5,16,23,.12)),
      linear-gradient(180deg,
        rgba(5,16,23,.32) 0%,
        rgba(5,16,23,.08) 20%,
        rgba(5,16,23,.25) 39%,
        rgba(7,19,27,.77) 57%,
        rgba(7,19,27,.94) 77%,
        #07131b 100%);
  }
}
@media (max-width: 420px) {
  body.carriages-page .cc-hero.cc-shell {
    min-height: max(900px,100svh);
    padding-top: 165px;
    padding-bottom: 66px;
  }
  body.carriages-page .cc-hero h1 {
    font-size: clamp(43px,10.7vw,54px);
  }
}


/* Carriage hero: reference-matched full-screen editorial composition. */
@media(min-width:761px){
 body.carriages-page .cc-hero.cc-shell{
   height:100svh;
   min-height:780px;
   max-height:1120px;
   padding-top:150px;
   padding-bottom:105px;
   align-items:center;
 }
 body.carriages-page .cc-hero-copy{
   max-width:min(550px,46vw);
 }
 body.carriages-page .cc-hero h1{
   font-size:clamp(60px,4.55vw,75px);
   line-height:1.035;
   letter-spacing:-.029em;
 }
 body.carriages-page .cc-reference-title span{display:block;}
 body.carriages-page .cc-hero .cc-lead{
   max-width:465px;
   margin-top:29px;
   line-height:1.85;
 }
 body.carriages-page .cc-hero .cc-action{margin-top:31px;}
 body.carriages-page .cc-hero-media img{
   inset:auto 0 0 auto;
   width:84%;
   height:100%;
   object-fit:cover;
   object-position:51% 47%;
   filter:saturate(.99) contrast(1.01);
   -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.50) 9%,#000 22%);
   mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.50) 9%,#000 22%);
 }
 body.carriages-page .cc-hero-media::after{
   background:
     linear-gradient(90deg,
       #07131b 0%,
       rgba(7,19,27,.96) 11%,
       rgba(7,19,27,.80) 24%,
       rgba(7,19,27,.42) 40%,
       rgba(7,19,27,.10) 62%,
       rgba(7,19,27,0) 79%),
     linear-gradient(180deg,
       rgba(7,19,27,.23) 0%,
       rgba(7,19,27,0) 23%,
       rgba(7,19,27,0) 65%,
       rgba(7,19,27,.14) 79%,
       rgba(7,19,27,.55) 91%,
       #07131b 100%);
 }
}
@media(min-width:761px) and (max-width:1090px){
 body.carriages-page .cc-hero-copy{max-width:56vw;}
 body.carriages-page .cc-hero h1{font-size:clamp(51px,5.5vw,66px);}
 body.carriages-page .cc-hero-media img{width:87%;}
}
@media(max-width:760px){
 body.carriages-page .cc-reference-title span{display:inline;}
 body.carriages-page .cc-hero-media img{
   inset:0;
   width:100%;
   height:100%;
   object-fit:cover;
   object-position:52% 32%;
   -webkit-mask-image:none;
   mask-image:none;
 }
 body.carriages-page .cc-hero-media::after{
   background:
     linear-gradient(90deg,rgba(5,16,23,.30),rgba(5,16,23,.09) 70%),
     linear-gradient(180deg,
       rgba(5,16,23,.28) 0%,
       rgba(5,16,23,.02) 24%,
       rgba(7,19,27,.21) 41%,
       rgba(7,19,27,.83) 59%,
       rgba(7,19,27,.96) 77%,
       #07131b 100%);
 }
}

/* Carriage hero visibility: show more horse and reduce left-blue overlay. */
@media (min-width: 761px) {
  body.carriages-page .cc-hero-media img {
    width: 94%;
    object-position: 50% 64%;
    -webkit-mask-image: none;
    mask-image: none;
  }
  body.carriages-page .cc-hero-media::after {
    background:
      linear-gradient(90deg,
        rgba(7,19,27,.91) 0%,
        rgba(7,19,27,.76) 9%,
        rgba(7,19,27,.54) 20%,
        rgba(7,19,27,.29) 31%,
        rgba(7,19,27,.08) 45%,
        rgba(7,19,27,0) 60%),
      linear-gradient(180deg,
        rgba(7,19,27,.18) 0%,
        rgba(7,19,27,0) 24%,
        rgba(7,19,27,0) 76%,
        rgba(7,19,27,.06) 86%,
        rgba(7,19,27,.19) 93%,
        rgba(7,19,27,.58) 98%,
        #07131b 100%);
  }
}
@media (max-width: 760px) {
  body.carriages-page .cc-hero-media::after {
    background:
      linear-gradient(90deg,rgba(7,19,27,.24),rgba(7,19,27,.07) 70%),
      linear-gradient(180deg,
        rgba(7,19,27,.26) 0%,
        rgba(7,19,27,0) 24%,
        rgba(7,19,27,.12) 41%,
        rgba(7,19,27,.69) 59%,
        rgba(7,19,27,.93) 79%,
        #07131b 100%);
  }
}

/* VAGUE seamless hero repair: full-width image with true feathered overlay. */
@media (min-width: 761px) {
  body.carriages-page .cc-hero-media {
    inset: 0;
    width: 100%;
    height: 100%;
    background: #07131b;
  }
  body.carriages-page .cc-hero-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 50% 68%;
    filter: none;
    -webkit-mask-image: none;
    mask-image: none;
  }
  body.carriages-page .cc-hero-media::after {
    inset: 0;
    background:
      linear-gradient(90deg,
        rgba(7,19,27,.90) 0%,
        rgba(7,19,27,.79) 10%,
        rgba(7,19,27,.59) 21%,
        rgba(7,19,27,.35) 32%,
        rgba(7,19,27,.13) 44%,
        rgba(7,19,27,0) 62%),
      linear-gradient(180deg,
        rgba(7,19,27,.20) 0%,
        rgba(7,19,27,0) 25%,
        rgba(7,19,27,0) 83%,
        rgba(7,19,27,.10) 91%,
        rgba(7,19,27,.35) 97%,
        #07131b 100%);
  }
  body.carriages-page .cc-hero h1,
  body.carriages-page .cc-hero .cc-lead {
    text-shadow: 0 2px 22px rgba(0,0,0,.36);
  }
}
@media (max-width: 760px) {
  body.carriages-page .cc-hero-media img {
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    -webkit-mask-image: none;
    mask-image: none;
  }
}
