@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400&family=Italiana&display=swap');
:root{--paper:#f7f7f4;--ink:#0b0b0b;--soft:#6d6d68;--line:#c9c9c4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Mono',monospace;font-weight:300}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{width:min(1240px,91%);margin:auto}.nav{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink)}.brand{font-family:'Italiana',serif;font-size:24px;letter-spacing:.07em}.links{display:flex;gap:27px;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.links a{position:relative}.links a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--ink);transition:.25s}.links a:hover:after{width:100%}.menu{display:none;background:none;border:0;font:inherit;font-size:18px}.hero{min-height:calc(100vh - 90px);display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:6vw;padding:48px 0 68px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.23em;margin-bottom:25px}.hero h1,.page-title{font-family:'Italiana',serif;font-weight:400;font-size:clamp(58px,8vw,124px);line-height:.84;letter-spacing:-.035em;margin:0}.hero h1 em{font-weight:400}.lead{font-family:'Italiana',serif;font-size:24px;line-height:1.45;max-width:500px;margin:36px 0}.button{display:inline-block;border:1px solid var(--ink);padding:14px 18px;font-size:11px;text-transform:uppercase;letter-spacing:.18em;transition:.2s}.button:hover{background:var(--ink);color:var(--paper)}.hero-image{height:75vh;min-height:540px;overflow:hidden;background:#ddd}.hero-image img{object-position:center center}.section{padding:125px 0}.black{background:var(--ink);color:var(--paper)}.section-head{display:grid;grid-template-columns:.48fr 1.52fr;gap:5vw;align-items:start;margin-bottom:70px}.section h2{font-family:'Italiana',serif;font-size:clamp(48px,6.5vw,90px);font-weight:400;line-height:.95;margin:0}.section-copy{font-family:'Italiana',serif;font-size:24px;line-height:1.5;max-width:680px}.gallery{display:grid;grid-template-columns:1fr .8fr 1fr;gap:12px;align-items:start}.gallery .ph{height:550px;overflow:hidden}.gallery .ph:nth-child(2){margin-top:95px;height:440px}.gallery .ph:nth-child(3){margin-top:22px}.gallery img{filter:none;transition:transform .7s}.gallery .ph:hover img{filter:none;transform:scale(1.012)}.cta{text-align:center;padding:145px 20px}.cta p{font-size:11px;letter-spacing:.23em;text-transform:uppercase}.cta h2{font-family:'Italiana',serif;font-size:clamp(52px,7.5vw,102px);font-weight:400;line-height:.95;margin:25px auto 45px;max-width:920px}.footer{padding:45px 0;border-top:1px solid var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.footer .wrap{display:flex;justify-content:space-between;gap:20px}.page-intro{padding:105px 0 75px}.page-intro p{font-family:'Italiana',serif;font-size:25px;max-width:650px;line-height:1.5}.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;padding-bottom:120px;align-items:start}.portfolio-grid .ph{grid-column:span 6;overflow:hidden;background:#ddd}.portfolio-grid .portrait-photo{height:760px}.portfolio-grid .landscape-photo{height:500px}.portfolio-grid .detail-photo{height:620px}.portfolio-grid .wide{grid-column:1/-1;height:680px}.portfolio-grid .ph:nth-child(3n+2){margin-top:65px}.portfolio-grid img{filter:none}.portfolio-grid .ph:hover img{filter:none}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:center;padding-bottom:130px}.portrait{height:720px;border:1px solid var(--ink);display:grid;place-items:center;font-family:'Italiana',serif;font-size:28px}.about-copy h2,.offering h2{font-family:'Italiana',serif;font-size:55px;font-weight:400;line-height:1.05;margin:0 0 27px}.about-copy p,.offering p{line-height:1.85;font-size:14px}.offerings{padding-bottom:130px}.offering{display:grid;grid-template-columns:.62fr 1.38fr;gap:6vw;padding:58px 0;border-top:1px solid var(--ink)}.offering:last-child{border-bottom:1px solid var(--ink)}.price{font-size:11px;letter-spacing:.18em;text-transform:uppercase}.form{max-width:800px;margin:0 auto;padding-bottom:130px}.form-note{font-family:'Italiana',serif;font-size:22px;line-height:1.5;margin:-25px 0 45px}.field{margin-bottom:30px}.field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:10px}.field input,.field textarea,.field select{width:100%;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);padding:14px 2px;font:inherit;font-size:14px;border-radius:0;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-bottom-width:2px}.field textarea{height:135px;resize:vertical}.submit{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:17px 23px;text-transform:uppercase;letter-spacing:.17em;font:inherit;font-size:11px;cursor:pointer}.submit:hover{background:transparent;color:var(--ink)}.submit:disabled{opacity:.5;cursor:wait}.form-status{display:none;margin-top:24px;border-top:1px solid var(--ink);padding-top:18px;font-family:'Italiana',serif;font-size:22px;line-height:1.4}.form-status.show{display:block}.form-status.error{font-family:'DM Mono',monospace;font-size:11px}.hp{display:none!important}.film-mark{font-family:'Italiana',serif;font-size:16px;letter-spacing:.08em}.fineprint{font-size:11px;line-height:1.7;color:var(--soft);margin-top:20px}
@media(max-width:760px){.nav{height:74px}.brand{font-size:18px}.menu{display:block}.links{display:none;position:absolute;left:0;right:0;top:74px;background:var(--paper);padding:28px 5%;flex-direction:column;z-index:10;border-bottom:1px solid var(--ink)}.links.open{display:flex}.hero{grid-template-columns:1fr;min-height:auto;padding:65px 0}.hero-image{height:64vh;min-height:430px;order:-1}.section{padding:82px 0}.section-head,.about-grid,.offering{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery .ph,.gallery .ph:nth-child(2),.gallery .ph:nth-child(3){height:auto;aspect-ratio:4/5;margin:0}.portfolio-grid{grid-template-columns:1fr}.portfolio-grid .ph,.portfolio-grid .wide{grid-column:auto;height:auto!important;aspect-ratio:auto;margin:0!important}.portfolio-grid .ph img{height:auto;filter:none}.portrait{height:580px}.footer .wrap{flex-direction:column}.page-intro{padding:72px 0 55px}.page-title{font-size:clamp(55px,19vw,90px)}}


/* iPhone / Safari inquiry-form fix */
.hp,
input.hp,
input[name="_honey"] {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.field input,
.field textarea,
.field select {
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

@media (max-width: 760px) {
  .field input,
  .field textarea,
  .field select {
    background: transparent !important;
    background-color: transparent !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
  }
}




/* FINAL HOMEPAGE FIX — keep The Feeling section light */
.feeling-section {
  background: var(--paper) !important;
  background-color: var(--paper) !important;
  color: var(--ink) !important;
}

/* FINAL HOMEPAGE HERO PHOTO FIX */
.hero {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr) !important;
  align-items: center !important;
  gap: clamp(45px, 6vw, 100px) !important;
}

.hero > div:first-child {
  min-width: 0;
}

.hero-image {
  width: 100% !important;
  height: min(75vh, 820px) !important;
  min-height: 560px !important;
  overflow: hidden !important;
  justify-self: stretch !important;
}

.hero-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 760px) {
  .hero {
    display: flex !important;
    flex-direction: column !important;
    gap: 38px !important;
    padding: 42px 0 65px !important;
  }

  .hero > div:first-child {
    order: 2 !important;
    width: 100% !important;
  }

  .hero-image {
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .hero-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}


/* Homepage title overlap fix */
@media (min-width: 761px) {
  .hero > div:first-child {
    position: relative;
    z-index: 2;
    min-width: 0;
    overflow: visible;
  }

  .hero h1 {
    font-size: clamp(4.6rem, 7vw, 7.7rem) !important;
    line-height: 0.88 !important;
    letter-spacing: -0.055em;
    max-width: 100% !important;
    width: 100% !important;
  }

  .hero h1 em,
  .hero h1 i {
    display: block;
    font-size: 0.88em;
    white-space: nowrap;
    letter-spacing: -0.065em;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .hero h1 {
    font-size: clamp(4rem, 6.4vw, 5.8rem) !important;
  }
}


/* The Process + FAQ */
.process-section,
.faq-section {
  padding: 25px 0 125px;
}
.editorial-heading {
  display: grid;
  grid-template-columns: .62fr 1.38fr;
  gap: 6vw;
  align-items: end;
  padding-bottom: 42px;
  border-bottom: 1px solid var(--ink);
}
.editorial-heading .eyebrow { margin: 0; }
.editorial-heading h2 {
  font-family: 'Italiana', serif;
  font-size: clamp(58px, 7vw, 102px);
  font-weight: 400;
  line-height: .9;
  margin: 0;
}
.process-step {
  display: grid;
  grid-template-columns: .62fr 1.38fr;
  gap: 6vw;
  padding: 38px 0;
  border-bottom: 1px solid var(--line);
}
.process-step span,
.timeline-block > .eyebrow {
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.process-step p,
.timeline-grid p,
.faq-list p {
  margin: 0;
  font-size: 13px;
  line-height: 1.85;
  max-width: 720px;
}
.timeline-block {
  margin-top: 95px;
}
.timeline-block > .eyebrow {
  margin-bottom: 28px;
}
.timeline-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--ink);
}
.timeline-grid article {
  padding: 38px 42px 42px 0;
  border-bottom: 1px solid var(--line);
}
.timeline-grid article:nth-child(even) {
  padding-left: 42px;
  border-left: 1px solid var(--line);
}
.timeline-grid h3,
.faq-list h3 {
  font-family: 'Italiana', serif;
  font-weight: 400;
  font-size: 29px;
  line-height: 1.15;
  margin: 0 0 18px;
}
.faq-section {
  padding-top: 45px;
}
.faq-list article {
  display: grid;
  grid-template-columns: .62fr 1.38fr;
  gap: 6vw;
  padding: 34px 0;
  border-bottom: 1px solid var(--line);
}
.faq-list h3 {
  font-size: 25px;
  margin: 0;
}
.faq-question-link {
  display: inline-block;
  margin-top: 42px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--ink);
  font-size: 11px;
  letter-spacing: .18em;
}
.faq-question-link:hover { opacity: .55; }

@media (max-width: 760px) {
  .process-section,
  .faq-section { padding-bottom: 85px; }
  .editorial-heading,
  .process-step,
  .faq-list article {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .editorial-heading { align-items: start; }
  .editorial-heading h2 { font-size: clamp(54px, 18vw, 82px); }
  .timeline-block { margin-top: 70px; }
  .timeline-grid { grid-template-columns: 1fr; }
  .timeline-grid article,
  .timeline-grid article:nth-child(even) {
    padding: 30px 0;
    border-left: 0;
  }
  .faq-list h3 { font-size: 27px; }
}

/* Dedicated Process page */
.booking-section {
  margin-top: 110px;
  padding: 90px 0 125px;
  border-top: 1px solid var(--ink);
}
.booking-section .timeline-block { margin-top: 55px; }
.faq-section {
  margin-top: 35px;
  padding-top: 95px;
  border-top: 1px solid var(--ink);
}
@media (max-width: 760px) {
  .booking-section { margin-top: 70px; padding: 70px 0 85px; }
  .faq-section { padding-top: 70px; }
}


/* Artistic editorial treatment for The Process */
.process-list {
  position: relative;
  margin-top: 22px;
}
.artistic-step {
  position: relative;
  min-height: 285px;
  padding: 72px 4vw 62px !important;
  overflow: hidden;
  align-items: center;
}
.artistic-step .process-number {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-52%);
  font-family: 'Italiana', serif;
  font-size: clamp(150px, 19vw, 285px);
  line-height: .72;
  letter-spacing: -.07em;
  opacity: .065;
  pointer-events: none;
  user-select: none;
}
.artistic-step span {
  position: relative;
  z-index: 2;
  font-size: 12px;
  letter-spacing: .22em;
}
.artistic-step p {
  position: relative;
  z-index: 2;
  max-width: 600px;
  font-size: 14px;
  line-height: 1.9;
}
.artistic-step:nth-child(even) {
  grid-template-columns: 1.38fr .62fr;
}
.artistic-step:nth-child(even) span {
  grid-column: 2;
  grid-row: 1;
}
.artistic-step:nth-child(even) p {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  padding-right: 4vw;
}
.artistic-step:nth-child(even) .process-number {
  left: auto;
  right: 2vw;
}
.artistic-step:nth-child(3) .process-number,
.artistic-step:nth-child(5) .process-number {
  left: 5vw;
}
.artistic-step::after {
  content: "";
  position: absolute;
  bottom: -1px;
  width: 18%;
  height: 1px;
  background: var(--ink);
}
.artistic-step:nth-child(odd)::after { right: 0; }
.artistic-step:nth-child(even)::after { left: 0; }

@media (max-width: 760px) {
  .artistic-step,
  .artistic-step:nth-child(even) {
    display: block !important;
    min-height: 245px;
    padding: 64px 5px 52px !important;
  }
  .artistic-step .process-number,
  .artistic-step:nth-child(even) .process-number,
  .artistic-step:nth-child(3) .process-number,
  .artistic-step:nth-child(5) .process-number {
    top: 24px;
    left: auto;
    right: 0;
    transform: none;
    font-size: clamp(125px, 42vw, 185px);
    opacity: .055;
  }
  .artistic-step span {
    display: block;
    margin-bottom: 28px;
  }
  .artistic-step p,
  .artistic-step:nth-child(even) p {
    padding-right: 16vw;
    max-width: none;
  }
}

/* FAQ — final homepage section */
.faq-section.homepage-final-faq { padding-bottom: 110px; }
.faq-home-button {
  display: inline-block;
  margin-top: 45px;
}

/* Artistic Process on homepage, directly below The Feeling */
.home-process-spacer {}
@media (min-width: 761px) {
  .process-section { padding-top: 105px; padding-bottom: 125px; }
}

/* Final homepage Process refinements */
.process-artwork-section {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  background: #111;
  overflow: hidden;
}
.process-artwork-section img {
  display: block;
  width: 100%;
  height: auto;
}
.process-step-title {
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
}
@media (max-width: 760px) {
  .process-artwork-section img {
    width: 100%;
    height: auto;
  }
}


/* Portfolio category bar spacing fix */
.portfolio-filters,
.portfolio-tabs,
.filter-tabs {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.portfolio-filters::after,
.portfolio-tabs::after,
.filter-tabs::after {
  display: none !important;
  content: none !important;
}


/* Booking + Timeline — centered readable width on Offerings */
.booking-section {
  width: min(1180px, calc(100% - 80px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
.booking-section .editorial-heading,
.booking-section .timeline-block,
.booking-section .timeline-grid {
  width: 100%;
  box-sizing: border-box;
}
.booking-section .timeline-grid article {
  min-width: 0;
}
.booking-section .timeline-grid p {
  max-width: 520px;
}
@media (max-width: 760px) {
  .booking-section {
    width: calc(100% - 36px) !important;
  }
  .booking-section .timeline-grid p {
    max-width: none;
  }
}


/* Definitive Booking + Timeline layout fix */
body .booking-section {
  display: block !important;
  width: auto !important;
  max-width: 980px !important;
  margin: 110px auto 0 !important;
  padding: 85px 32px 110px !important;
  box-sizing: border-box !important;
}
body .booking-section .editorial-heading {
  display: block !important;
  width: 100% !important;
  padding-bottom: 28px !important;
}
body .booking-section .editorial-heading .eyebrow {
  margin-bottom: 22px !important;
}
body .booking-section .editorial-heading h2 {
  max-width: 100% !important;
}
body .booking-section .timeline-block {
  width: 100% !important;
  margin-top: 48px !important;
}
body .booking-section .timeline-grid {
  display: block !important;
  width: 100% !important;
}
body .booking-section .timeline-grid article,
body .booking-section .timeline-grid article:nth-child(even) {
  display: block !important;
  width: 100% !important;
  padding: 30px 0 !important;
  border-left: 0 !important;
  box-sizing: border-box !important;
}
body .booking-section .timeline-grid p {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 !important;
}
@media (max-width: 760px) {
  body .booking-section {
    max-width: none !important;
    margin-top: 70px !important;
    padding: 60px 22px 80px !important;
  }
}


/* Booking + Timeline readability */
body .booking-section .timeline-grid p {
  font-size: 17px !important;
  line-height: 1.8 !important;
}
@media (max-width: 760px) {
  body .booking-section .timeline-grid p {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }
}


/* Site-wide readability — descriptive text beneath titles/subtitles */
main p,
section p,
.about-copy p,
.offerings-main p,
.offerings-list p,
.faq-list p,
.page-intro p,
.feeling-section p,
.inquiry-copy p {
  font-size: 17px !important;
  line-height: 1.8 !important;
}

/* Preserve small editorial labels/eyebrows as intentional accents */
.eyebrow,
.kicker,
.meta,
.caption,
nav,
footer {
  font-size: inherit;
}

@media (max-width: 760px) {
  main p,
  section p,
  .about-copy p,
  .offerings-main p,
  .offerings-list p,
  .faq-list p,
  .page-intro p,
  .feeling-section p,
  .inquiry-copy p {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }
}


/* The Feeling — portfolio carousel */
.feeling-wrap { overflow: hidden; }
.feeling-carousel {
  position: relative;
  width: 100%;
}
.feeling-track {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 0 0 10px;
}
.feeling-track::-webkit-scrollbar { display: none; }
.feeling-slide {
  flex: 0 0 calc((100% - 36px) / 3);
  scroll-snap-align: start;
  overflow: hidden;
}
.feeling-slide img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  height: auto;
  object-fit: cover;
}
.feeling-arrow {
  position: absolute;
  z-index: 4;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border: 1px solid rgba(0,0,0,.45);
  border-radius: 50%;
  background: rgba(250,249,246,.88);
  color: #111;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.feeling-prev { left: 14px; }
.feeling-next { right: 14px; }

@media (max-width: 760px) {
  .feeling-track { gap: 12px; }
  .feeling-slide { flex-basis: 82%; }
  .feeling-arrow {
    width: 40px;
    height: 40px;
  }
  .feeling-prev { left: 8px; }
  .feeling-next { right: 8px; }
}


/* The Feeling carousel — explicit phone/touch behavior */
@media (max-width: 760px) {
  .feeling-carousel {
    width: 100%;
    overflow: hidden;
    touch-action: pan-y;
  }
  .feeling-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    gap: 12px !important;
  }
  .feeling-slide {
    flex: 0 0 86% !important;
    width: 86% !important;
    min-width: 86% !important;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }
  .feeling-slide img {
    width: 100% !important;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
  }
  .feeling-arrow {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
}


/* Homepage — bring The Feeling closer to the image above */
body.home .feeling-section,
.home .feeling-section,
.feeling-section {
  padding-top: 42px !important;
  margin-top: 0 !important;
}
@media (max-width: 760px) {
  body.home .feeling-section,
  .home .feeling-section,
  .feeling-section {
    padding-top: 28px !important;
    margin-top: 0 !important;
  }
}


/* Process artwork — preserve its wide graphic proportions on phones */
.process-artwork,
.process-artwork-wrap,
.process-image,
.process-image-wrap {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden;
}
img[src*="the-process-artwork.png"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
}
@media (max-width: 760px) {
  .process-artwork,
  .process-artwork-wrap,
  .process-image,
  .process-image-wrap {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
  }
  img[src*="the-process-artwork.png"] {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }
}
\n/* Inquiry budget dropdowns */\n.inquiry-form select, form select {width:100%;box-sizing:border-box;font:inherit;color:inherit;background-color:transparent;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:12px 0;}\n
.handmark{position:relative;display:inline-block;width:82px;height:40px;color:var(--ink)}.handmark-a{position:absolute;left:3px;top:-7px;font-family:"Times New Roman",Georgia,serif;font-size:48px;font-style:italic;font-weight:400;line-height:1;transform:rotate(-11deg) scaleX(.88)}.handmark:after{content:"";position:absolute;left:29px;top:22px;width:46px;height:1px;background:currentColor;transform:rotate(-10deg)}.handmark-loop{position:absolute;right:3px;top:13px;width:18px;height:13px;border:1.4px solid currentColor;border-left-color:transparent;border-radius:50%;transform:rotate(-24deg)}.handmark-loop:after{content:"";position:absolute;right:-8px;top:7px;width:12px;height:1px;background:currentColor;transform:rotate(15deg)}@media(max-width:760px){.handmark{width:72px;height:35px}.handmark-a{font-size:43px}.handmark:after{left:27px;width:39px;top:20px}.handmark-loop{right:2px;top:12px}}


/* Full-name signature-style wordmark */
.signature-wordmark {
  display: inline-block;
  white-space: nowrap;
  font-family: "Snell Roundhand", "Apple Chancery", "URW Chancery L", "Segoe Script", cursive;
  font-size: 25px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.035em;
  text-transform: none;
  color: var(--ink);
  transform: rotate(-1.2deg);
  transform-origin: left center;
}
@media (max-width: 760px) {
  .signature-wordmark {
    font-size: 21px;
    letter-spacing: -0.04em;
  }
}

.signature-about{font-family:"Snell Roundhand","Apple Chancery","URW Chancery L","Segoe Script",cursive!important;font-weight:400!important;font-style:normal!important;text-transform:none!important;letter-spacing:-.035em!important}
.portfolio-special{max-width:980px;margin:85px auto 15px;padding:58px 32px;box-sizing:border-box;text-align:center;border-top:1px solid rgba(23,21,18,.28);border-bottom:1px solid rgba(23,21,18,.28)}
.portfolio-special>p:not(.eyebrow){max-width:680px;margin:18px auto 25px}
.portfolio-special-link{display:inline-block;color:inherit;font-size:12px;letter-spacing:.18em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
@media(max-width:760px){.portfolio-special{margin-top:60px;padding:45px 22px}}

/* Portfolio special — editorial offering row directly beneath Offerings */
.portfolio-special-editorial{
  max-width:none!important;
  width:calc(100% - 64px)!important;
  margin:0 32px!important;
  padding:95px 0 105px!important;
  display:grid!important;
  grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr)!important;
  gap:70px!important;
  text-align:left!important;
  border-top:1px solid var(--ink)!important;
  border-bottom:1px solid var(--ink)!important;
  box-sizing:border-box!important;
}
.portfolio-special-editorial .portfolio-special-label{
  padding-top:10px;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.portfolio-special-editorial .portfolio-special-copy{max-width:760px}
.portfolio-special-editorial h2{
  margin:0 0 38px;
  font-family:var(--serif);
  font-size:clamp(52px,5vw,82px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.035em;
}
.portfolio-special-editorial .portfolio-special-copy p{
  max-width:760px;
  margin:0 0 30px!important;
  font-size:17px!important;
  line-height:1.8!important;
}
.portfolio-special-editorial .portfolio-special-link{
  display:inline-block;
  font-size:12px;
  letter-spacing:.18em;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:4px;
}
@media(max-width:760px){
  .portfolio-special-editorial{
    width:calc(100% - 44px)!important;
    margin:0 22px!important;
    padding:58px 0 65px!important;
    display:block!important;
  }
  .portfolio-special-editorial .portfolio-special-label{margin-bottom:34px}
  .portfolio-special-editorial h2{font-size:48px;margin-bottom:28px}
  .portfolio-special-editorial .portfolio-special-copy p{font-size:16px!important;line-height:1.75!important}
}

/* Optional flexible-budget note on inquiry form */
.inquiry-flex-budget small{
  display:block;
  max-width:680px;
  margin:8px 0 14px;
  font-size:13px;
  line-height:1.6;
  opacity:.72;
  letter-spacing:0;
  text-transform:none;
}
.inquiry-flex-budget em{
  margin-left:8px;
  font-size:10px;
  font-style:normal;
  letter-spacing:.14em;
  opacity:.6;
}
.inquiry-flex-budget textarea{min-height:90px}

.inquiry-budget-range small{display:block;max-width:680px;margin:8px 0 14px;font-size:13px;line-height:1.6;opacity:.72;letter-spacing:0;text-transform:none}

/* Portfolio special now inherits the exact Weddings offering-row markup/styles */
.portfolio-special-link{font-size:12px;letter-spacing:.18em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;justify-self:start}

/* California literary-editorial details — restrained, observational, original */
.editorial-fragment{max-width:1180px;margin:20px auto 38px;padding:22px 32px;border-top:1px solid rgba(23,21,18,.45);display:flex;justify-content:space-between;gap:30px;align-items:baseline}
.editorial-fragment span,.about-field-note span{font-family:monospace;font-size:10px;letter-spacing:.18em}
.editorial-fragment em{font-family:var(--serif);font-size:18px;font-weight:400}
.about-field-note{max-width:760px;margin:90px auto 20px;padding:35px 0;border-top:1px solid rgba(23,21,18,.45)}
.about-field-note p{font-family:var(--serif)!important;font-size:24px!important;line-height:1.55!important;margin-top:24px}
@media(max-width:760px){.editorial-fragment{margin:10px 22px 30px;padding:18px 0;display:block}.editorial-fragment em{display:block;margin-top:12px;font-size:16px}.about-field-note{margin:65px 22px 10px}.about-field-note p{font-size:21px!important}}

/* California literary editorial — stronger visual treatment */
.california-interlude{
  width:calc(100% - 64px);
  margin:110px 32px 65px;
  padding:38px 0 72px;
  border-top:1px solid var(--ink);
}
.california-interlude-meta{
  font-family:"Courier New",Courier,monospace;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:70px;
}
.california-interlude h2{
  max-width:980px;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(58px,8vw,122px);
  font-weight:400;
  line-height:.88;
  letter-spacing:-.055em;
}
.california-interlude p{
  max-width:520px;
  margin:48px 0 0 auto;
  font-family:var(--serif);
  font-size:19px!important;
  font-style:italic;
  line-height:1.6!important;
}
.literary-note span{
  font-family:"Courier New",Courier,monospace!important;
  font-size:10px!important;
  letter-spacing:.16em!important;
}
.literary-note p{
  font-family:var(--serif)!important;
  font-size:clamp(22px,2.4vw,31px)!important;
  line-height:1.5!important;
}

/* Definitive Offerings rebuild: exactly four contiguous rows */
.offerings-clean-list{
  width:calc(100% - 64px);
  margin:0 32px;
  border-top:1px solid var(--ink);
}
.offerings-clean-list .offering-row{
  display:grid;
  grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);
  gap:70px;
  padding:88px 0 96px;
  border-bottom:1px solid var(--ink);
}
.offerings-clean-list .offering-meta{
  padding-top:10px;
  font-family:"Courier New",Courier,monospace;
  font-size:10px;
  line-height:1.5;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.offerings-clean-list .offering-copy{max-width:760px}
.offerings-clean-list .offering-copy h2{
  margin:0 0 34px;
  font-family:var(--serif);
  font-size:clamp(52px,5vw,82px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.035em;
}
.offerings-clean-list .offering-copy p{
  max-width:720px;
  margin:0!important;
  font-size:17px!important;
  line-height:1.8!important;
}
@media(max-width:760px){
  .california-interlude{width:calc(100% - 44px);margin:70px 22px 45px;padding:28px 0 48px}
  .california-interlude-meta{margin-bottom:45px}
  .california-interlude h2{font-size:56px;line-height:.92}
  .california-interlude p{margin:32px 0 0;font-size:17px!important}
  .offerings-clean-list{width:calc(100% - 44px);margin:0 22px}
  .offerings-clean-list .offering-row{display:block;padding:58px 0 64px}
  .offerings-clean-list .offering-meta{margin-bottom:34px}
  .offerings-clean-list .offering-copy h2{font-size:48px;margin-bottom:26px}
  .offerings-clean-list .offering-copy p{font-size:16px!important;line-height:1.75!important}
}

/* Homepage process link */
.home-process-link{
  display:inline-block;
  margin-top:22px;
  font-size:11px;
  letter-spacing:.18em;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:4px;
}

/* Make THE PROCESS more noticeable on mobile */
@media (max-width: 760px) {
  .home-process-link {
    display: inline-block;
    margin-top: 24px;
    padding: 10px 16px;
    border: 1px solid rgba(23,21,18,.65);
    text-decoration: none;
    letter-spacing: .18em;
  }
}

/* Definitive THE PROCESS button styling — mobile + Instagram in-app browser */
a.home-process-link,
a.home-process-link:link,
a.home-process-link:visited {
  display: inline-block !important;
  width: auto !important;
  margin-top: 24px !important;
  padding: 11px 17px !important;
  border: 1px solid #171512 !important;
  border-radius: 0 !important;
  color: #171512 !important;
  background: transparent !important;
  text-decoration: none !important;
  font-size: 11px !important;
  line-height: 1 !important;
  letter-spacing: .18em !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
}

/* Back to top — end of every page */
.back-to-top-wrap{
  width:calc(100% - 64px);
  margin:70px 32px 34px;
  padding-top:24px;
  border-top:1px solid rgba(23,21,18,.45);
  text-align:right;
}
.back-to-top{
  display:inline-block;
  color:var(--ink);
  font-size:10px;
  letter-spacing:.18em;
  text-decoration:none;
  padding-bottom:4px;
  border-bottom:1px solid currentColor;
}
@media(max-width:760px){
  .back-to-top-wrap{
    width:calc(100% - 44px);
    margin:55px 22px 28px;
  }
  .back-to-top{
    font-size:11px;
    padding:10px 0 5px;
  }
}
html{scroll-behavior:smooth}

/* Home Back to Top must match every other page */
body.home .back-to-top-wrap,
body#top .back-to-top-wrap{
  width:calc(100% - 64px) !important;
  margin:70px 32px 34px !important;
  padding-top:24px !important;
  border-top:1px solid rgba(23,21,18,.45) !important;
  text-align:right !important;
}
body.home .back-to-top,
body#top .back-to-top{
  display:inline-block !important;
  color:var(--ink) !important;
  font-size:10px !important;
  letter-spacing:.18em !important;
  text-decoration:none !important;
  padding:0 0 4px !important;
  border:0 !important;
  border-bottom:1px solid currentColor !important;
  background:transparent !important;
}
@media(max-width:760px){
  body.home .back-to-top-wrap,
  body#top .back-to-top-wrap{
    width:calc(100% - 44px) !important;
    margin:55px 22px 28px !important;
  }
  body.home .back-to-top,
  body#top .back-to-top{
    font-size:11px !important;
    padding:10px 0 5px !important;
  }
}

/* Editorial information footer */
.editorial-site-footer{
  width:calc(100% - 64px);
  margin:100px 32px 0;
  padding:55px 0 65px;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  display:grid;
  grid-template-columns:1.5fr .65fr 1fr;
  gap:clamp(50px,8vw,140px);
  box-sizing:border-box;
}
.editorial-site-footer .footer-about{max-width:620px}
.editorial-site-footer h2{
  margin:0 0 30px;
  font-family:"Snell Roundhand","Apple Chancery","URW Chancery L","Segoe Script",cursive;
  font-size:31px;
  font-weight:400;
  letter-spacing:-.035em;
}
.editorial-site-footer h3{
  margin:5px 0 28px;
  font-family:var(--serif);
  font-size:16px;
  font-style:italic;
  font-weight:400;
  letter-spacing:.02em;
}
.editorial-site-footer p{
  margin:0 0 25px!important;
  max-width:570px;
  font-family:var(--serif);
  font-size:16px!important;
  line-height:1.65!important;
}
.editorial-site-footer .footer-location{
  margin-top:34px!important;
  font-family:"Courier New",Courier,monospace;
  font-size:10px!important;
  line-height:1.7!important;
  letter-spacing:.13em;
}
.editorial-site-footer .footer-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.editorial-site-footer .footer-column a,
.editorial-site-footer .footer-column span{
  margin:0 0 17px;
  color:var(--ink);
  font-family:var(--serif);
  font-size:16px;
  line-height:1.45;
  text-decoration:none;
}
.editorial-site-footer .footer-column a{
  border-bottom:1px solid currentColor;
}
@media(max-width:760px){
  .editorial-site-footer{
    width:calc(100% - 44px);
    margin:75px 22px 0;
    padding:45px 0 48px;
    display:block;
  }
  .editorial-site-footer h2{font-size:27px}
  .editorial-site-footer .footer-about{margin-bottom:52px}
  .editorial-site-footer .footer-column{margin-top:42px}
  .editorial-site-footer h3{margin-bottom:22px}
  .editorial-site-footer .footer-column a,
  .editorial-site-footer .footer-column span{font-size:16px;margin-bottom:15px}
}

/* Reference-style footer — mirrors supplied layout */
.reference-footer{
  width:calc(100% - 96px);
  margin:100px 48px 0;
  padding:105px 0 54px;
  border-bottom:1px solid #171512;
  display:grid;
  grid-template-columns:minmax(420px,1.65fr) minmax(180px,.55fr) minmax(280px,.9fr);
  column-gap:clamp(70px,10vw,190px);
  align-items:start;
  box-sizing:border-box;
}
.reference-footer-about{max-width:650px}
.reference-footer-about h2{
  margin:0 0 42px;
  font-family:var(--serif);
  font-size:36px;
  line-height:1.1;
  font-weight:400;
  font-style:italic;
  letter-spacing:-.02em;
}
.reference-footer-about p{
  max-width:625px;
  margin:0 0 34px!important;
  font-family:var(--serif);
  font-size:18px!important;
  line-height:1.55!important;
}
.reference-footer-about .reference-footer-contact{
  margin-top:34px!important;
  font-size:17px!important;
}
.reference-footer-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.reference-footer-column h3{
  margin:0 0 42px;
  font-family:var(--serif);
  font-size:18px;
  line-height:1;
  font-style:italic;
  font-weight:600;
}
.reference-footer-column a,
.reference-footer-column span{
  display:inline-block;
  margin:0 0 24px;
  color:#171512;
  font-family:var(--serif);
  font-size:18px;
  line-height:1.35;
  text-decoration:none;
}
.reference-footer-column a{
  border-bottom:1px solid currentColor;
  padding-bottom:2px;
}
.reference-footer-services span{border:0}
@media(max-width:900px){
  .reference-footer{
    grid-template-columns:1.3fr .7fr;
    row-gap:55px;
  }
  .reference-footer-services{grid-column:2}
}
@media(max-width:760px){
  .reference-footer{
    width:calc(100% - 44px);
    margin:75px 22px 0;
    padding:60px 0 40px;
    display:block;
  }
  .reference-footer-about{max-width:none;margin-bottom:55px}
  .reference-footer-about h2{font-size:31px;margin-bottom:30px}
  .reference-footer-about p{font-size:16px!important;line-height:1.6!important}
  .reference-footer-column{margin-top:45px}
  .reference-footer-column h3{font-size:16px;margin-bottom:28px}
  .reference-footer-column a,
  .reference-footer-column span{font-size:17px;margin-bottom:20px}
}

/* Inquiry confirmation page */
.thank-you-page{
  min-height:72vh;display:flex;align-items:center;padding:90px 32px 120px;box-sizing:border-box;
}
.thank-you-inner{
  width:100%;max-width:980px;margin:0 auto;padding-top:34px;border-top:1px solid var(--ink);
}
.thank-you-inner .eyebrow{margin-bottom:55px;font-size:10px;letter-spacing:.2em}
.thank-you-inner h1{
  max-width:900px;margin:0 0 35px;font-family:var(--serif);font-size:clamp(64px,8vw,120px);
  font-weight:400;line-height:.9;letter-spacing:-.05em;
}
.thank-you-inner p{max-width:620px;margin:0 0 38px;font-size:17px!important;line-height:1.8!important}
.thank-you-home{
  display:inline-block;padding:11px 17px;border:1px solid var(--ink);color:var(--ink);
  text-decoration:none;font-size:10px;letter-spacing:.18em;
}
@media(max-width:760px){
  .thank-you-page{min-height:68vh;padding:70px 22px 90px}
  .thank-you-inner .eyebrow{margin-bottom:40px}
  .thank-you-inner h1{font-size:58px}
  .thank-you-inner p{font-size:16px!important}
  .thank-you-home{font-size:11px}
}

/* Reference footer — small typography to match the site's bottom footer */
.reference-footer-about h2{
  font-size:12px !important;
  line-height:1.5 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  font-style:normal !important;
  font-weight:400 !important;
}
.reference-footer-about p,
.reference-footer-about .reference-footer-contact,
.reference-footer-column h3,
.reference-footer-column a,
.reference-footer-column span{
  font-size:10px !important;
  line-height:1.7 !important;
  letter-spacing:.14em !important;
}
.reference-footer-column h3{
  font-style:normal !important;
  font-weight:400 !important;
}
.reference-footer-column a,
.reference-footer-column span{
  margin-bottom:16px !important;
}
@media(max-width:760px){
  .reference-footer-about h2{font-size:12px !important}
  .reference-footer-about p,
  .reference-footer-about .reference-footer-contact,
  .reference-footer-column h3,
  .reference-footer-column a,
  .reference-footer-column span{
    font-size:10px !important;
  }
}

/* FINAL site-wide reference footer sizing — identical on every page */
html body .reference-footer .reference-footer-about h2{
  font-size:12px !important;
  line-height:1.5 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  font-style:normal !important;
  font-weight:400 !important;
}
html body .reference-footer .reference-footer-about p,
html body .reference-footer .reference-footer-about .reference-footer-contact,
html body .reference-footer .reference-footer-column h3,
html body .reference-footer .reference-footer-column a,
html body .reference-footer .reference-footer-column span{
  font-size:10px !important;
  line-height:1.7 !important;
  letter-spacing:.14em !important;
}
html body .reference-footer .reference-footer-column h3{
  font-style:normal !important;
  font-weight:400 !important;
}
@media(max-width:760px){
  html body .reference-footer .reference-footer-about h2{font-size:12px !important}
  html body .reference-footer .reference-footer-about p,
  html body .reference-footer .reference-footer-about .reference-footer-contact,
  html body .reference-footer .reference-footer-column h3,
  html body .reference-footer .reference-footer-column a,
  html body .reference-footer .reference-footer-column span{
    font-size:10px !important;
  }
}

/* Footer service links — clickable but visually unchanged */
.reference-footer-services a{
  border-bottom:0 !important;
  text-decoration:none !important;
}
.reference-footer-services a:hover,
.reference-footer-services a:focus{
  border-bottom:1px solid currentColor !important;
}

/* Remove accidental doubled horizontal rules on Home + Portfolio only */
body.home .reference-footer,
body.portfolio .reference-footer,
body.home .back-to-top-wrap,
body.portfolio .back-to-top-wrap{
  border-top:0 !important;
}

/* Keep one clean divider above the footer utility area */
body.home .reference-footer,
body.portfolio .reference-footer{
  border-bottom:1px solid #171512 !important;
}

/* FINAL: remove doubled footer divider on EVERY page.
   Keep the reference footer's bottom rule; remove the second rule above Back to Top. */
html body .back-to-top-wrap{
  border-top:0 !important;
}

/* Preserve one clean divider beneath the information footer on every page. */
html body .reference-footer{
  border-bottom:1px solid #171512 !important;
}

/* FINAL FOOTER BORDER RULE — exactly ONE horizontal divider */
html body .reference-footer{
  border-top:0 !important;
  border-bottom:1px solid #171512 !important;
}
html body .back-to-top-wrap{
  border-top:0 !important;
  border-bottom:0 !important;
}
html body footer.footer,
html body .footer{
  border-top:0 !important;
  border-bottom:0 !important;
}

/* Portfolio category carousels */
.portfolio-carousel-shell{
  position:relative;
  width:100%;
}
.portfolio-carousel-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:18px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.portfolio-carousel-track::-webkit-scrollbar{display:none}
.portfolio-carousel-track > *{
  flex:0 0 calc((100% - 36px)/3) !important;
  width:auto !important;
  min-width:0;
  scroll-snap-align:start;
}
.portfolio-carousel-track img{
  display:block;
  width:100% !important;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
}
.portfolio-carousel-arrow{
  position:absolute;
  z-index:8;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #171512;
  border-radius:50%;
  background:rgba(250,249,246,.9);
  color:#171512;
  font-size:18px;
  cursor:pointer;
}
.portfolio-carousel-prev{left:12px}
.portfolio-carousel-next{right:12px}
@media(max-width:760px){
  .portfolio-carousel-track{gap:12px !important;scroll-snap-type:x mandatory !important}
  .portfolio-carousel-track > *{
    flex:0 0 84% !important;
    width:84% !important;
    min-width:84% !important;
    scroll-snap-align:center;
  }
  .portfolio-carousel-arrow{width:38px;height:38px}
  .portfolio-carousel-prev{left:7px}
  .portfolio-carousel-next{right:7px}
}

/* Portfolio carousel — remove gray space beneath images */
.portfolio-carousel-track > *{
  height:auto !important;
  min-height:0 !important;
  background:transparent !important;
  align-self:flex-start !important;
}
.portfolio-carousel-track img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  background:transparent !important;
}
.portfolio-carousel-track,
.portfolio-carousel-shell{
  height:auto !important;
  min-height:0 !important;
  background:transparent !important;
  align-items:flex-start !important;
}


/* FINAL Portfolio carousel sizing — every photograph uses the same 4:5 frame */
.portfolio-carousel-track{
  align-items:stretch !important;
}
.portfolio-carousel-track > .ph{
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 5 !important;
  overflow:hidden !important;
  background:transparent !important;
  margin-top:0 !important;
}
.portfolio-carousel-track > .ph img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Portfolio section rules belong UNDER the title, never above it */
.collection-head{
  border-top:0 !important;
  border-bottom:1px solid rgba(20,20,20,.55) !important;
  padding-top:15px !important;
  padding-bottom:28px !important;
}
@media(max-width:700px){
  .collection-head{
    padding-bottom:20px !important;
  }
}


/* FINAL thank-you page cleanup */
.thank-you-inner{
  border-top:0 !important;
  padding-top:0 !important;
}

/* Portfolio: equal 4:5 slides, but preserve the complete frame for horizontal photographs */
.portfolio-carousel-track > .ph{
  aspect-ratio:4 / 5 !important;
  overflow:hidden !important;
  background:var(--paper) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.portfolio-carousel-track > .ph img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  background:var(--paper) !important;
}
.portfolio-carousel-track > .ph img.portfolio-landscape{
  object-fit:contain !important;
}

/* Offerings — make only the prices a little more prominent */
.offerings-clean-list .offering-meta .offering-price{
  font-size:17px !important;
  letter-spacing:.12em !important;
}

/* Offerings — package names to the left match the price size */
.offerings-clean-list .offering-meta .offering-package-name{
  font-size:17px !important;
  letter-spacing:.12em !important;
}


/* Homepage music — minimal Spotify presentation */
.music-section{
  background:var(--paper);
  color:var(--ink);
  padding:72px 0 68px;
}
.music-section-inner{
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
  border-top:1px solid rgba(20,20,20,.55);
  padding-top:30px;
  display:grid;
  grid-template-columns:minmax(180px,.75fr) minmax(300px,1.25fr);
  gap:64px;
  align-items:center;
}
.music-eyebrow{
  display:block;
  font-size:10px;
  line-height:1.5;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.music-title{
  margin:0 0 5px;
  font-family:inherit;
  font-size:18px;
  line-height:1.35;
}
.music-artist{
  margin:0;
  font-size:11px;
  line-height:1.6;
  letter-spacing:.12em;
}
.music-player{
  width:100%;
  overflow:hidden;
}
.music-player iframe{
  display:block;
  width:100%;
  max-width:100%;
  border:0;
}
@media(max-width:700px){
  .music-section{
    padding:52px 0 48px;
  }
  .music-section-inner{
    width:min(100% - 30px, 1180px);
    grid-template-columns:1fr;
    gap:24px;
    padding-top:24px;
  }
  .music-title{
    font-size:17px;
  }
}
