:root{--ink:#0b0b0b;--paper:#f3efe8;--gold:#c9a85d;--muted:#8c867d;--line:rgba(20,20,20,.16);--dark:#0b0b0b;--dark2:#151515}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;padding:17px 4vw;display:flex;align-items:center;justify-content:space-between;transition:.35s;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent)}.site-header.scrolled{background:rgba(8,8,8,.94);backdrop-filter:blur(12px);padding-block:9px}.brand img{width:104px;height:70px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:25px;color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}.nav-links a{opacity:.84;transition:.2s}.nav-links a:hover{opacity:1;color:var(--gold)}.nav-cta{border:1px solid rgba(255,255,255,.48);padding:12px 16px}.menu-toggle{display:none;background:none;border:0}.hero{height:100svh;min-height:700px;position:relative;color:#fff;display:flex;align-items:center;padding:9rem 8vw 5rem}.hero-image{position:absolute;inset:0;background:url('assets/images/hero.jpg') center 42%/cover no-repeat;animation:heroZoom 15s ease-in-out infinite alternate}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.35) 58%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.48),transparent 60%)}@keyframes heroZoom{to{transform:scale(1.055)}}.hero-content{position:relative;max-width:850px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;font-weight:700;color:var(--gold);margin:0 0 1.35rem}.hero h1,.section h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.92;margin:0;letter-spacing:-.045em}.hero h1{font-size:clamp(4rem,8.8vw,8.5rem)}em{font-weight:400;color:var(--gold)}.hero-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:#e4d8c4;margin:1.8rem 0 0}.hero-copy{font-size:1.03rem;line-height:1.75;max-width:650px;color:rgba(255,255,255,.78);margin:1.25rem 0 2rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700;border:1px solid transparent;transition:.25s;cursor:pointer}.button.gold{background:var(--gold);color:#0a0a0a}.button.gold:hover{background:#dfc57d;transform:translateY(-2px)}.button.ghost{border-color:rgba(255,255,255,.55);color:#fff}.button.ghost:hover,.button.outline:hover{border-color:var(--gold);color:var(--gold)}.button.outline{border-color:#777;color:#fff;margin-top:18px}.scroll-cue{position:absolute;bottom:28px;right:4vw;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.66)}.scroll-cue span{height:1px;width:52px;background:var(--gold)}.section{padding:115px 7vw}.intro{display:grid;grid-template-columns:.35fr 1.4fr 1fr;gap:5vw;align-items:end}.section-number{font-family:Georgia,serif;font-size:4rem;color:var(--gold);opacity:.65}.section h2{font-size:clamp(3rem,5.5vw,6rem)}.intro-detail p,.section-heading>p,.about-copy p,.story-copy p,.contact-copy>p{font-size:1rem;line-height:1.8;color:#59554f;max-width:540px}.text-link{display:inline-block;margin-top:20px;border-bottom:1px solid var(--ink);padding-bottom:5px;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em}.dark-section{background:var(--dark);color:#fff}.feature-story{display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:center}.story-image img{width:100%;height:auto;max-height:820px;object-fit:contain}.story-copy p,.dark-section .section-heading>p{color:#aaa}.section-heading{display:flex;justify-content:space-between;gap:5vw;align-items:end;margin-bottom:45px}.filters{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;margin-bottom:22px}.filters button{background:none;border:0;border-bottom:1px solid transparent;padding:8px 0;margin-right:20px;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;cursor:pointer;color:#777}.filters button.active,.filters button:hover{color:#111;border-color:var(--gold)}.carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-bottom:20px}.carousel-controls>button{width:46px;height:46px;border:1px solid rgba(20,20,20,.25);border-radius:50%;background:transparent;color:#111;font-size:1.8rem;cursor:pointer;transition:.25s}.carousel-controls>button:hover{background:var(--gold);border-color:var(--gold)}.carousel-status{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:7px;min-width:120px;text-align:center;font-size:.82rem;letter-spacing:.08em;color:#777}.carousel-status #currentSlide{color:var(--gold);font-size:1.05rem;font-weight:700}.carousel-progress{grid-column:1/-1;width:100%;height:2px;background:rgba(20,20,20,.14);overflow:hidden}.carousel-progress span{display:block;width:0;height:100%;background:var(--gold);transition:width .25s}.gallery-grid{column-count:3;column-gap:18px}.gallery-card{position:relative;margin:0 0 16px;break-inside:avoid;overflow:hidden;background:#111;cursor:zoom-in;border-radius:13px;box-shadow:0 10px 30px rgba(0,0,0,.12)}.gallery-card img{width:100%;height:auto;transition:transform .55s,opacity .4s}.gallery-card:hover img{transform:scale(1.03);opacity:.88}.gallery-card figcaption{position:absolute;inset:auto 0 0;padding:50px 20px 17px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff;display:flex;justify-content:space-between;align-items:end;opacity:0;transition:.3s}.gallery-card:hover figcaption{opacity:1}.gallery-card figcaption span,.gallery-card figcaption button{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em}.gallery-card figcaption button{background:none;border:0;color:#fff;cursor:pointer}.gallery-card.hidden{display:none}.gallery-grid.all-carousel{display:flex!important;column-count:unset!important;gap:18px;overflow-x:auto;overflow-y:hidden;width:100%;padding:4px 2px 24px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}.gallery-grid.all-carousel::-webkit-scrollbar{display:none}.gallery-grid.all-carousel .gallery-card{display:block;flex:0 0 clamp(265px,30vw,390px);width:clamp(265px,30vw,390px);margin:0;scroll-snap-align:start}.gallery-grid.all-carousel .gallery-card img{height:500px;object-fit:cover}.creative-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--gold);padding:55px 7vw}.creative-strip article{padding:15px 35px;border-right:1px solid rgba(0,0,0,.22)}.creative-strip article:last-child{border:0}.creative-strip span{font-family:Georgia,serif;font-size:2rem}.creative-strip h3{font:400 1.8rem Georgia,serif;margin:15px 0 7px}.creative-strip p{margin:0;line-height:1.6}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.service-card{border:1px solid var(--line);padding:36px 30px;min-height:475px;display:flex;flex-direction:column;position:relative}.service-card.featured{background:#111;color:#fff;border-color:#111}.service-card>span{font-family:Georgia,serif;color:var(--gold);font-size:2.5rem}.service-card h3{font:400 2rem/1.1 Georgia,serif;margin:42px 0 16px}.service-card p,.service-card li{line-height:1.7;color:#777}.service-card.featured p,.service-card.featured li{color:#aaa}.service-card ul{padding-left:17px;margin-bottom:28px}.service-card a{margin-top:auto;text-transform:uppercase;letter-spacing:.13em;font-size:.66rem;color:var(--gold)}.tag{position:absolute;top:20px;right:20px;text-transform:uppercase;letter-spacing:.14em;font-size:.58rem!important}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-visual{position:relative}.about-photo{width:100%;height:auto;max-height:780px;object-fit:contain;border-radius:18px}.about-stamp{position:absolute;left:20px;bottom:20px;background:rgba(11,11,11,.9);border:1px solid rgba(201,168,93,.65);padding:12px 18px;border-radius:999px;color:#fff;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.about-copy p{color:#aaa}.client-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.client-gallery-card{background:#111;overflow:hidden;border:1px solid rgba(20,20,20,.12);transition:.35s}.client-gallery-card:hover{transform:translateY(-6px);border-color:var(--gold)}.client-gallery-image{aspect-ratio:16/10;overflow:hidden}.client-gallery-image img{width:100%;height:100%;object-fit:cover;transition:.55s}.client-gallery-card:hover img{transform:scale(1.04)}.client-gallery-info{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:24px}.client-gallery-info p{margin:0 0 8px;color:var(--gold);font-size:.62rem;text-transform:uppercase;letter-spacing:.14em}.client-gallery-info h3{margin:0;font:400 1.8rem Georgia,serif;color:#fff}.client-gallery-info small{display:block;margin-top:8px;color:#888}.client-gallery-info>span{color:var(--gold);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.15)}.steps article{padding:32px 27px;border-right:1px solid rgba(255,255,255,.15)}.steps b{font-family:Georgia,serif;font-size:2rem;color:var(--gold)}.steps h3{font:400 1.7rem Georgia,serif;margin:38px 0 12px}.steps p{color:#999;line-height:1.65}.contact{background:#161616;color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.contact-copy>p{color:#aaa}.social-links{margin-top:35px}.social-links a{display:block;color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}.inquiry-form{display:grid;gap:22px}.inquiry-form label{display:grid;gap:9px;text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;color:#bbb}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #555;color:#fff;padding:12px 0;font-size:1rem;outline:none}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--gold)}.inquiry-form select option{color:#111}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.checkbox{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:12px!important;line-height:1.55}.checkbox input{width:auto!important;margin-top:2px;accent-color:var(--gold)}.form-note{font-size:.74rem;color:#777;margin:0}.inquiry-form .button{justify-self:start}footer{background:#080808;color:#aaa;padding:52px 7vw;text-align:center}footer img{width:150px;height:105px;object-fit:contain;margin:auto}footer p{font-family:Georgia,serif;color:#ddd}footer div{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;margin:28px 0;font-size:.66rem;text-transform:uppercase;letter-spacing:.13em}footer small{font-size:.63rem}.lightbox{padding:0;border:0;background:rgba(0,0,0,.95);width:100vw;height:100vh;max-width:none;max-height:none}.lightbox::backdrop{background:rgba(0,0,0,.95)}.lightbox img{max-width:88vw;max-height:88vh;object-fit:contain;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.lightbox button{position:absolute;z-index:2;border:0;background:none;color:#fff;font-size:3rem;cursor:pointer}.lightbox-close{top:18px;right:25px}.lightbox-prev{left:20px;top:48%}.lightbox-next{right:20px;top:48%}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}.cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,93,.11),transparent 68%);pointer-events:none;z-index:999;transform:translate(-50%,-50%)}section[id]{scroll-margin-top:95px}@media(max-width:1000px){.nav-links{position:fixed;z-index:1001;inset:0;width:100%;height:100dvh;background:#0b0b0b;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:110px 24px 40px;gap:18px;overflow-y:auto;transform:translateX(100%);transition:transform .35s;font-size:.95rem}.nav-links.open{transform:translateX(0)}.nav-links a{width:100%;max-width:320px;text-align:center;padding:11px}.menu-toggle{display:grid;gap:7px;z-index:1002}.menu-toggle span{display:block;width:28px;height:1px;background:#fff}.intro,.feature-story,.about,.contact{grid-template-columns:1fr}.section-number{display:none}.feature-story{gap:42px}.section-heading{align-items:start;flex-direction:column}.creative-strip{grid-template-columns:1fr}.creative-strip article{border-right:0;border-bottom:1px solid rgba(0,0,0,.22)}.creative-strip article:last-child{border-bottom:0}.steps{grid-template-columns:1fr 1fr}.client-gallery-grid{grid-template-columns:1fr}.contact{gap:50px}.cursor-glow{display:none}.gallery-grid{column-count:2}.gallery-grid.all-carousel .gallery-card{flex-basis:min(76vw,340px);width:min(76vw,340px)}.gallery-grid.all-carousel .gallery-card img{height:450px}}@media(max-width:600px){.site-header{padding:11px 20px}.brand img{width:78px;height:56px}.hero{padding:8rem 22px 5rem;min-height:650px}.hero h1{font-size:3.75rem}.hero-copy{font-size:.94rem}.section{padding:82px 22px}.section h2{font-size:3rem}.gallery-grid{column-count:1}.gallery-grid.all-carousel{gap:13px}.gallery-grid.all-carousel .gallery-card{flex-basis:84vw;width:84vw;border-radius:11px}.gallery-grid.all-carousel .gallery-card img{height:455px}.carousel-controls{justify-content:space-between}.carousel-controls>button{width:42px;height:42px}.creative-strip{padding:45px 22px}.creative-strip article{padding:20px 0}.service-card{min-height:420px}.about-stamp{position:static;display:inline-block;margin-top:15px}.steps{grid-template-columns:1fr}.steps article{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.form-row{grid-template-columns:1fr}.scroll-cue{display:none}.lightbox-prev{left:4px}.lightbox-next{right:4px}}
.video-showcase .section-heading > p {
  color: #aaa;
}

.video-carousel-controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

.video-carousel-controls button {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 1.8rem;
  cursor: pointer;
  transition: .25s;
}

.video-carousel-controls button:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: #111;
}

.video-counter {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 86px;
  justify-content: center;
  color: #888;
  font-size: .82rem;
  letter-spacing: .08em;
}

.video-counter #currentVideo {
  color: var(--gold);
  font-weight: 700;
  font-size: 1.05rem;
}

.video-carousel {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 20px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.video-carousel::-webkit-scrollbar {
  display: none;
}

.video-card {
  flex: 0 0 min(78vw, 720px);
  scroll-snap-align: start;
  background: #151515;
  border: 1px solid rgba(255,255,255,.09);
  overflow: hidden;
}

.video-card video {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  background: #000;
  object-fit: cover;
}

.video-card-copy {
  padding: 22px;
}

.video-card-copy p {
  margin: 0 0 9px;
  color: var(--gold);
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.video-card-copy h3 {
  margin: 0;
  color: #fff;
  font: 400 1.8rem Georgia, serif;
}

@media (max-width: 600px) {
  .video-carousel-controls {
    justify-content: space-between;
  }

  .video-card {
    flex-basis: 88vw;
  }

  .video-card-copy {
    padding: 18px;
  }
}

/* Testimonials */
.testimonials {
  background: #ece6dc;
}

.testimonial-controls {
  margin-bottom: 20px;
}

.testimonial-counter #currentTestimonial {
  color: var(--gold);
  font-size: 1.05rem;
  font-weight: 700;
}

.testimonial-carousel {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  padding: 4px 2px 24px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}

.testimonial-carousel::-webkit-scrollbar {
  display: none;
}

.testimonial-card {
  flex: 0 0 min(720px, calc(100vw - 14vw));
  height: 320px;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  background: #111;
  color: #fff;
  border-radius: 13px;
  overflow: hidden;
  scroll-snap-align: start;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}

.testimonial-photo {
  width: 190px;
  min-width: 190px;
  height: 320px;
  overflow: hidden;
}

.testimonial-photo img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transition: transform .55s, opacity .4s;
}

.testimonial-card:hover .testimonial-photo img {
  transform: scale(1.03);
  opacity: .9;
}

.testimonial-copy {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 25px 32px;
}

.testimonial-stars {
  flex: 0 0 auto;
  margin-bottom: 12px;
  color: var(--gold);
  font-size: .82rem;
  letter-spacing: .18em;
}

.testimonial-copy blockquote {
  display: -webkit-box;
  flex: 0 1 auto;
  margin: 0;
  overflow: hidden;
  color: #f3efe8;
  white-space: pre-line;
  font: 400 1rem/1.48 Georgia, 'Times New Roman', serif;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
  line-clamp: 7;
}

.testimonial-read-more {
  display: none;
  align-self: flex-start;
  flex: 0 0 auto;
  margin-top: 10px;
  padding: 0 0 4px;
  border: 0;
  border-bottom: 1px solid var(--gold);
  background: transparent;
  color: var(--gold);
  cursor: pointer;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.testimonial-read-more.is-visible {
  display: inline-block;
}

.testimonial-read-more:hover,
.testimonial-read-more:focus-visible {
  border-color: #fff;
  color: #fff;
}

.testimonial-client {
  display: grid;
  gap: 5px;
  margin-top: auto;
  padding-top: 13px;
  border-top: 1px solid rgba(255,255,255,.15);
}

.testimonial-client strong {
  color: var(--gold);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .15em;
}

.testimonial-client span {
  color: #888;
  font-size: .72rem;
}

/* Full testimonial popup */
.testimonial-modal {
  width: min(680px, calc(100vw - 36px));
  max-height: min(82vh, 760px);
  padding: 0;
  overflow: auto;
  border: 1px solid rgba(201,168,93,.55);
  border-radius: 14px;
  background: #111;
  color: #fff;
  box-shadow: 0 30px 90px rgba(0,0,0,.5);
}

.testimonial-modal::backdrop {
  background: rgba(0,0,0,.8);
  backdrop-filter: blur(5px);
}

.testimonial-modal-content {
  padding: 52px 48px 42px;
}

.testimonial-modal-close {
  position: absolute;
  top: 12px;
  right: 17px;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  font-size: 2rem;
  line-height: 1;
}

.testimonial-modal-stars {
  margin-bottom: 20px;
  color: var(--gold);
  font-size: .9rem;
  letter-spacing: .18em;
}

.testimonial-modal blockquote {
  margin: 0;
  color: #f3efe8;
  white-space: pre-line;
  font: 400 clamp(1.05rem, 2.2vw, 1.4rem)/1.65 Georgia, 'Times New Roman', serif;
}

.testimonial-modal-client {
  display: grid;
  gap: 6px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.15);
}

.testimonial-modal-client strong {
  color: var(--gold);
  font-size: .72rem;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.testimonial-modal-client span {
  color: #999;
  font-size: .78rem;
}

@media (max-width: 800px) {
  .testimonial-card {
    flex-basis: min(82vw, 620px);
    height: 310px;
    grid-template-columns: 160px minmax(0, 1fr);
  }

  .testimonial-photo {
    width: 160px;
    min-width: 160px;
    height: 310px;
  }

  .testimonial-copy {
    padding: 23px 24px;
  }

  .testimonial-copy blockquote {
    -webkit-line-clamp: 7;
    line-clamp: 7;
  }
}

@media (max-width: 600px) {
  .testimonial-controls {
    justify-content: space-between;
  }

  .testimonial-card {
    flex-basis: 84vw;
    height: 510px;
    grid-template-columns: 1fr;
    grid-template-rows: 180px minmax(0, 1fr);
  }

  .testimonial-photo {
    width: 100%;
    min-width: 0;
    height: 180px;
  }

  .testimonial-copy {
    padding: 21px 21px 24px;
  }

  .testimonial-copy blockquote {
    font-size: .96rem;
    -webkit-line-clamp: 7;
    line-clamp: 7;
  }

  .testimonial-modal-content {
    padding: 48px 25px 32px;
  }
}

