.featured-reel { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:32px; margin-bottom:36px; background:#f8d9e7; border-radius:8px; }
.featured-reel h3 { font:normal 48px/1.1 Georgia,serif; margin:12px 0; }
.featured-reel p { margin:0 0 8px; }
.result-date { font-size:12px; color:var(--muted); }
@media(max-width:700px) { .featured-reel { flex-direction:column; align-items:flex-start; padding:24px; } }
.social-work { padding-top:16px; padding-bottom:72px; }
.video-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 26px;
}

.video-card {
  grid-column: span 2;
  min-width: 0;
}

.video-card:nth-child(4) {
  grid-column: 2 / span 2;
}

.video-card video {
  display: block;
  width: 100%;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  background: #1e1721;
  border-radius: 4px;
}

.video-meta {
  padding: 16px 2px 24px;
}

.video-meta span {
  color: #a72e69;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 1.4px;
}

.video-meta h3 {
  margin: 8px 0 7px;
  font: normal 26px/1.2 Georgia, serif;
}

.video-meta p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.video-grid + .formats {
  border-top: 1px solid var(--line);
}

.about-grid {
  grid-template-columns: .9fr .72fr 1fr;
  gap: 55px;
  align-items: center;
}

.portrait {
  margin: 0;
  align-self: stretch;
}

.portrait img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 470px;
  object-fit: cover;
  border-radius: 160px 160px 10px 10px;
}

.contact-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.text-link {
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.contact-email {
  display: block;
  margin-top: 18px;
  font: normal 20px Georgia, serif;
}

@media (max-width: 1000px) {
  .video-card,
  .video-card:nth-child(4) { grid-column: span 3; }
  .about-grid { grid-template-columns: 1fr 1fr; }
  .about-copy { grid-column: 1 / -1; max-width: 720px; }
  .portrait img { min-height: 420px; }
}

@media (max-width: 700px) {
  .video-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
  .video-card,
  .video-card:nth-child(4) { grid-column: span 1; }
  .video-meta h3 { font-size: 21px; }
  .video-meta p { font-size: 13px; }
  .video-meta span { font-size: 10px; letter-spacing: 1px; }
  .about-grid { grid-template-columns: 1fr; }
  .about-copy { grid-column: auto; }
  .portrait { max-width: 310px; }
  .portrait img { min-height: 0; }
  .contact-actions { gap: 18px; }
  .contact-email { font-size: 18px; }
}

@media (max-width: 440px) {
  .video-grid { grid-template-columns: 1fr; }
  .video-card,
  .video-card:nth-child(4) { grid-column: 1; }
  .video-meta { padding-bottom: 28px; }
  .formats { margin-top: 4px; }
}

/* Locally hosted calligraphic brand signature. */
@font-face{font-family:'Kelsey Script';src:url('assets/kelsey-script.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
.logo{font-family:'Kelsey Script',cursive;font-size:40px;font-weight:400;letter-spacing:0;line-height:1.15}
.logo span{font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:4px;margin-top:5px}
.signature{font-family:'Kelsey Script',cursive;font-size:42px;font-style:normal;line-height:1.2}
@media(max-width:700px){.logo{font-size:34px}.logo span{font-size:9px;letter-spacing:3px}}
@media(max-width:380px){.header{gap:10px}.header .logo{font-size:30px}}

.snap-feature{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:48px;align-items:center;padding:36px;margin:0 0 42px;background:#f8d9e7;border:1px solid #e6b7cc;border-radius:12px}
.snap-feature video{display:block;width:100%;aspect-ratio:512/910;background:#1e1721;object-fit:contain;border-radius:6px}
.snap-feature h3{font:normal clamp(32px,3.4vw,48px)/1.12 Georgia,serif;letter-spacing:-1.5px;margin:18px 0}
.snap-feature-copy>p{max-width:540px;color:var(--muted)}
.snap-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}
.snap-results div{display:flex;flex-direction:column-reverse;gap:3px}
.snap-results dt{font-size:12px;color:var(--muted)}
.snap-results dd{margin:0;font:normal 28px/1.1 Georgia,serif}
.snap-results .snap-views{grid-column:1/-1;border-bottom:1px solid #d6b4c6;padding-bottom:18px}
.snap-views dd{font-size:clamp(48px,6vw,72px);letter-spacing:-2px}
.snap-feature-copy .snap-date{font-size:12px;line-height:1.5;margin-bottom:22px}
@media(max-width:800px){.snap-feature{gap:28px;padding:24px;grid-template-columns:minmax(0,240px) minmax(0,1fr)}}
@media(max-width:600px){.snap-feature{grid-template-columns:1fr;padding:22px;gap:24px}.snap-feature video{max-width:300px;justify-self:center}.snap-feature .eyebrow{font-size:10px;letter-spacing:1px}.snap-feature h3{font-size:34px}.snap-results{gap:12px}}

.campaign-work{padding-top:16px;padding-bottom:44px}

.cantina-results{margin:16px 0 12px;padding-top:14px;border-top:1px solid var(--line)}
.cantina-results div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:7px 0}
.cantina-results dt{font-size:11px;color:var(--muted)}
.cantina-results dd{margin:0;font-size:15px;font-weight:bold;white-space:nowrap}
.cantina-results div:first-child{display:flex;flex-direction:column-reverse;gap:3px;margin-bottom:12px}
.cantina-results div:first-child dd{font:normal 34px/1.15 Georgia,serif;color:var(--ink)}
.video-meta .cantina-result-date{font-size:11px;line-height:1.5}

.bloom-topics{padding:36px 0 40px;background:linear-gradient(120deg,#fce9f0 0%,#fae0ed 55%,#f3e7ef 100%);border-block:1px solid #edd4df}
.bloom-topics-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
.bloom-topics-heading .eyebrow{color:#8b496a;font-size:10px;letter-spacing:2px}
.bloom-topics-heading h2{font:normal clamp(25px,2.6vw,36px)/1.25 Georgia,serif;letter-spacing:-.7px;margin:9px 0 0}
.bloom-topics-heading h2 em{white-space:nowrap}
.bloom-flower{width:65px;height:65px;flex-shrink:0;color:#d583a9;transform:rotate(15deg)}
.bloom-topic-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0;margin:0}
.bloom-topic{display:flex;align-items:center;gap:13px;padding:20px 16px;background:#fffafcdb;border:1px solid #efdae4;border-radius:16px;box-shadow:0 4px 12px #61304405;transition:transform .2s ease,box-shadow .2s ease}
.bloom-topic:hover{transform:translateY(-3px);box-shadow:0 8px 18px #6130440a}
.bloom-topic>svg{width:29px;height:29px;flex-shrink:0;fill:none;stroke:#a34c77;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.bloom-topic h3{font:normal 21px/1.2 Georgia,serif;margin:0 0 5px}
.bloom-topic p{font-size:11px;line-height:1.4;color:var(--muted);margin:0}
@media(max-width:1000px){.bloom-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bloom-topics{padding:28px 0 30px}.bloom-flower{width:43px;height:43px}.bloom-topics-heading{gap:10px;margin-bottom:20px}.bloom-topics-heading h2{font-size:27px;max-width:270px}.bloom-topics-heading h2 em{display:block}.bloom-topic-grid{gap:10px}.bloom-topic{padding:16px 12px;gap:9px;align-items:flex-start}.bloom-topic>svg{width:23px;height:23px}.bloom-topic h3{font-size:18px}.bloom-topic p{font-size:10px}}
@media(max-width:360px){.bloom-topic{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){.bloom-topic{transition:none}.bloom-topic:hover{transform:none}}

.sideshift-proof{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px 30px;margin:-12px 0 36px;border:1px solid var(--line);border-radius:12px;background:#fffafc}
.sideshift-proof .eyebrow{font-size:10px;color:#8b496a}
.sideshift-proof h3{font:normal 28px/1.2 Georgia,serif;margin:8px 0}
.sideshift-proof p{font-size:14px;color:var(--muted);margin:0}
@media(max-width:700px){.sideshift-proof{padding:24px;align-items:flex-start;flex-direction:column;gap:18px}.sideshift-proof h3{font-size:26px}.sideshift-proof .button{font-size:12px;padding:15px 20px;gap:15px;white-space:normal}}

#work .video-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#work .video-card,#work .video-card:nth-child(4){grid-column:auto}
@media(max-width:1000px){#work .video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){#work .video-grid{grid-template-columns:1fr}}
