@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400&family=Italiana&display=swap');
:root{--paper:#6B303B;--ink:#FFF3E7;--soft:#F4DFD5;--line:#DDBFB8;--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:'Courier New',Courier,monospace;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;
  }
}

.form-status{
  margin-top:16px;
  max-width:680px;
  font-size:12px;
  line-height:1.7;
  letter-spacing:.04em;
}
.form-status p{margin:0;}
.form-status a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}
.submit:disabled{
  opacity:.55;
  cursor:wait;
}

/* Bright cherry red palette: readable controls and overlays */
input,textarea,select{color:var(--ink);border-color:var(--ink)}input::placeholder,textarea::placeholder{color:#333;opacity:.8}select option{background:#6B303B;color:#111111}.portfolio-carousel-arrow,.carousel-arrow{color:#161616 !important} .reference-footer{background:var(--paper)}

/* Global cherry-red background override */

:root{--paper:#6B303B;--ink:#FFF3E7;--soft:#F4DFD5;--line:#DDBFB8}

/* Burgundy / cream theme — all native site sections */
:root{--paper:#6B303B!important;--ink:#FFF3E7!important;--soft:#F4DFD5!important;--line:#DDBFB8!important}
html,body{background:#6B303B!important;color:#FFF3E7!important}
body .black,body .music-section,body .reference-footer,body .process-artwork-section{background:#6B303B!important;color:#FFF3E7!important}
input,textarea,select{color:#FFF3E7!important;border-color:#FFF3E7!important}input::placeholder,textarea::placeholder{color:#F4DFD5!important;opacity:.8}select option{background:#6B303B!important;color:#FFF3E7!important}
.portfolio-carousel-arrow,.carousel-arrow{color:#FFF3E7!important}
.home-process-link{background:transparent!important;color:#FFF3E7!important;border-color:#FFF3E7!important}
.process-text-section{padding:85px 0 100px;border-top:1px solid #DDBFB8;border-bottom:1px solid #DDBFB8}
.process-text-header{display:flex;justify-content:space-between;gap:40px;align-items:start;margin-bottom:75px}
.process-text-header h2{font:400 clamp(22px,3vw,34px) 'DM Mono',monospace;letter-spacing:.25em;text-transform:uppercase;margin:0}
.process-text-header p{max-width:230px;text-align:right;line-height:1.7;letter-spacing:.16em;font-size:12px;text-transform:uppercase;margin:0}
.process-text-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px}
.process-text-step .num{font-size:20px;letter-spacing:.14em;margin-bottom:20px}.process-text-step h3{font:400 13px 'DM Mono',monospace;letter-spacing:.16em;text-transform:uppercase;line-height:1.5;min-height:45px;margin:0 0 18px}.process-text-step p{font-family:'Italiana',Georgia,serif;font-size:clamp(18px,1.55vw,23px);line-height:1.55;margin:0}
@media(max-width:850px){.process-text-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.process-text-header{margin-bottom:45px}}
@media(max-width:520px){.process-text-grid{grid-template-columns:1fr}.process-text-header{flex-direction:column;gap:22px}.process-text-header p{text-align:left}}

/* Burgundy and cream final consistency pass */
html,body,body#top,main,.page-intro,.collection,.portfolio-grid,.portfolio-carousel-shell,.portfolio-carousel-track,.reference-footer,.editorial-site-footer,footer{background-color:#6B303B!important;color:#FFF3E7!important}
body,body *:not(img):not(iframe){--ink:#FFF3E7;--paper:#6B303B}
.reference-footer,.reference-footer *,.editorial-site-footer,.editorial-site-footer *{color:#FFF3E7!important;border-color:#FFF3E7!important}
.reference-footer-column a,.reference-footer-column span,.reference-footer-column h3,.reference-footer-about p,.reference-footer-about h2{color:#FFF3E7!important}
a.home-process-link,a.home-process-link:link,a.home-process-link:visited,a.home-process-link:hover{color:#FFF3E7!important;border:1px solid #FFF3E7!important;background:transparent!important}
.portfolio-jump{border-color:#FFF3E7!important}.portfolio-jump a,.collection-head,.page-intro{color:#FFF3E7!important}
.portfolio-carousel-track>.ph,.portfolio-carousel-track>.ph img{background-color:transparent!important}

/* Homepage refinements: raise introduction and enlarge Process button */
@media (min-width: 851px) {
  .hero > div:first-child { transform: translateY(-52px); }
}
a.home-process-link, a.home-process-link:link, a.home-process-link:visited {
  display: inline-flex !important; align-items: center; justify-content: center;
  min-width: 205px !important; min-height: 55px !important;
  padding: 17px 30px !important; box-sizing: border-box;
}
@media (max-width: 850px) {
  .hero > div:first-child { transform: none; }
  a.home-process-link { min-width: 190px !important; }
}

/* Clean header dividers: retain site navigation border, remove unwanted section rules */
body.portfolio-page .portfolio-jump{border-bottom:0!important;}
body.offerings-page .page-intro{border-bottom:0!important;}
body.faq-page .faq-section{border-top:0!important;margin-top:0!important;}

/* FAQ: one divider only, beneath navigation */
body.faq-page main .faq-section {border-top:0!important; margin-top:0!important; padding-top:55px!important;}

/* Process editorial typography — aligned with the fall album copy */
.process-text-section .process-text-header h2{font-family:'DM Mono',monospace;font-size:clamp(19px,2.1vw,29px);letter-spacing:.22em;font-weight:400;color:#FFF3E7}
.process-text-section .process-text-header p{font-family:'DM Mono',monospace;font-size:clamp(14px,1.15vw,18px);line-height:1.7;letter-spacing:.09em;text-transform:none;max-width:380px;color:#FFF3E7}
.process-text-section .process-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(42px,6vw,95px) clamp(35px,6vw,105px)}
.process-text-section .process-text-step .num{font-family:'DM Mono',monospace;font-size:14px;letter-spacing:.18em;color:#FFF3E7;opacity:.75;margin-bottom:16px}
.process-text-section .process-text-step h3{font-family:'DM Mono',monospace;font-size:clamp(17px,1.5vw,23px);font-weight:400;letter-spacing:.19em;line-height:1.5;min-height:0;margin:0 0 24px;color:#FFF3E7}
.process-text-section .process-text-step p{font-family:'DM Mono',monospace;font-size:clamp(17px,1.75vw,25px);font-weight:400;letter-spacing:.09em;line-height:1.8;color:#FFF3E7;overflow-wrap:break-word}
@media(max-width:720px){.process-text-section .process-text-grid{grid-template-columns:1fr;gap:50px}.process-text-section .process-text-header{flex-direction:column;gap:18px}.process-text-section .process-text-header p{text-align:left}.process-text-section .process-text-step p{font-size:clamp(16px,4vw,20px);letter-spacing:.055em}}

/* Mobile navigation icon: cream on burgundy, including Instagram in-app Safari */
button.menu, .nav button.menu, button.menu:hover, button.menu:focus-visible {color:#FFF3E7 !important;-webkit-text-fill-color:#FFF3E7 !important; opacity:1; cursor:pointer;}
button.menu {appearance:none;-webkit-appearance:none; background:transparent !important;}

/* Refined six-step consultation journey */
.process-text-section .process-text-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(36px,7vw,110px);row-gap:clamp(48px,5vw,78px)}
.process-text-section .process-text-step{max-width:560px;min-width:0}
.process-text-section .process-text-step .num{margin-bottom:10px;opacity:.68}
.process-text-section .process-text-step h3{margin-bottom:15px;line-height:1.35}
.process-text-section .process-text-step p{font-size:clamp(15px,1.3vw,18px);line-height:1.75;letter-spacing:.025em;max-width:53ch}
@media(max-width:720px){.process-text-section .process-text-grid{grid-template-columns:1fr;row-gap:44px}.process-text-section .process-text-step p{font-size:16px;line-height:1.7;letter-spacing:.015em}}

/* Process: same calm, readable scale and spacing as the homepage introduction */
.process-text-section{padding:clamp(65px,7vw,110px) 0!important}
.process-text-section .process-text-header{margin-bottom:clamp(45px,5vw,78px)!important;align-items:start}
.process-text-section .process-text-header h2{font-family:'DM Mono',monospace!important;font-size:clamp(17px,1.45vw,22px)!important;letter-spacing:.2em!important;line-height:1.45!important}
.process-text-section .process-text-header p{font-family:'Italiana',Georgia,serif!important;font-size:clamp(19px,1.65vw,25px)!important;letter-spacing:0!important;line-height:1.55!important;text-transform:none!important;max-width:370px!important}
.process-text-section .process-text-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:clamp(50px,8vw,140px)!important;row-gap:clamp(55px,6vw,95px)!important}
.process-text-section .process-text-step .num{font-family:'DM Mono',monospace!important;font-size:13px!important;letter-spacing:.12em!important;margin-bottom:14px!important}
.process-text-section .process-text-step h3{font-family:'DM Mono',monospace!important;font-size:clamp(15px,1.35vw,19px)!important;letter-spacing:.15em!important;line-height:1.5!important;margin-bottom:16px!important}
.process-text-section .process-text-step p{font-family:'Italiana',Georgia,serif!important;font-size:clamp(20px,1.65vw,25px)!important;letter-spacing:0!important;line-height:1.6!important;max-width:43ch!important;font-weight:400!important}
@media(max-width:720px){.process-text-section .process-text-grid{grid-template-columns:1fr!important;row-gap:42px!important}.process-text-section .process-text-header p{text-align:left!important}.process-text-section .process-text-step p{font-size:21px!important}}

/* 2026-10-19: Process typography tuned to match homepage hero */
.process-text-section .process-text-step p {font-family:'Italiana',Georgia,serif!important;font-size:clamp(17px,1.35vw,21px)!important;line-height:1.65!important;letter-spacing:0!important;max-width:48ch!important;}
.process-text-section .process-text-step h3 {font-size:clamp(14px,1.15vw,17px)!important;margin-bottom:12px!important;}
.process-text-section .process-text-step .num {font-size:12px!important;margin-bottom:10px!important;}
.process-text-section .process-text-grid {row-gap:clamp(38px,4.2vw,68px)!important;}
@media(max-width:700px){.process-text-section .process-text-step p{font-size:18px!important;line-height:1.6!important}.process-text-section .process-text-grid{row-gap:36px!important}}

/* Explicit, visible copyright notice on all pages */
.copyright-notice{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;text-align:center!important;color:#FFF3E7!important;background:#6B303B!important;font-family:"Courier New",Courier,monospace!important;font-size:13px!important;letter-spacing:.045em!important;line-height:1.7!important;padding:22px 20px 10px!important;margin:0 auto!important;}
@media(max-width:760px){.copyright-notice{font-size:12px!important;padding:20px 18px 12px!important;}}

/* Footer cleanup: no horizontal rules in the bottom-of-page footer on any page. */
html body .reference-footer, html body .editorial-site-footer,
html body .back-to-top-wrap, html body footer.footer, html body .footer,
html body .copyright-notice {
  border-top: 0 none !important;
  border-bottom: 0 none !important;
  box-shadow: none !important;
}
html body .reference-footer::before, html body .reference-footer::after,
html body .back-to-top-wrap::before, html body .back-to-top-wrap::after {
  border: 0 none !important;
  box-shadow: none !important;
}

/* 2026-10-19 verified: remove BOTH footer horizontal rules, including nested wrappers. */
html body .reference-footer, html body .reference-footer > *, html body .reference-footer .wrap,
html body .footer, html body .footer > *, html body .footer .wrap,
html body .copyright-notice, html body .back-to-top-wrap,
html body .footer-bottom, html body .footer-top, html body .footer-meta,
html body .footer-utility, html body .footer-utilities {
  border-top:0!important;border-bottom:0!important;outline:0!important;box-shadow:none!important;
}
html body .reference-footer::before,html body .reference-footer::after,
html body .footer::before,html body .footer::after,
html body .footer .wrap::before,html body .footer .wrap::after,
html body .copyright-notice::before,html body .copyright-notice::after {
  border:0!important;box-shadow:none!important;background-image:none!important;
}

/* Single subtle cream divider above the footer utilities on every page. */
html body .back-to-top-wrap {border-top:1px solid rgba(255,243,231,.75)!important;border-bottom:0!important;box-shadow:none!important;}

/* Final footer divider: replace the dark line at the actual section boundary. */
html body section.reference-footer {border-bottom:1px solid #FFF3E7!important;border-top:0!important;box-shadow:none!important;}
html body div.back-to-top-wrap {border:0!important;box-shadow:none!important;}

/* ONE cream footer rule on every page; remove every competing footer border. */
html body section.reference-footer,html body .reference-footer,html body .reference-footer > *,html body .footer,html body .footer > *,html body .footer .wrap,html body .copyright-notice{border-top:0!important;border-bottom:0!important;box-shadow:none!important;outline:0!important}
html body .reference-footer::before,html body .reference-footer::after,html body .footer::before,html body .footer::after{content:none!important;border:0!important}
html body div.back-to-top-wrap,html body .back-to-top-wrap{border:0!important;border-top:1px solid #FFF3E7!important;border-bottom:0!important;box-shadow:none!important;outline:0!important}

/* Definitive footer reset: one independent cream divider, no CSS borders. */
html body > section.reference-footer,html body > div.back-to-top-wrap,html body > footer.footer,
html body > div.copyright-notice {border:0 none!important;border-top:0 none!important;border-bottom:0 none!important;outline:0!important;box-shadow:none!important}
html body > section.reference-footer::before,html body > section.reference-footer::after,
html body > div.back-to-top-wrap::before,html body > div.back-to-top-wrap::after {content:none!important;display:none!important}
html body > .anf-single-cream-divider {display:block!important;position:relative!important;clear:both!important;height:1px!important;min-height:1px!important;background:#FFF3E7!important;border:0!important;box-shadow:none!important;width:calc(100% - 96px)!important;margin:0 48px!important;padding:0!important;opacity:1!important}
html body > div.back-to-top-wrap{margin-top:0!important;padding-top:24px!important}
@media(max-width:760px){html body > .anf-single-cream-divider{width:calc(100% - 44px)!important;margin:0 22px!important}}

/* Film session title: explicit responsive final override */
html body main .limited-page h1.film-session-title {font-size:clamp(32px,4vw,52px)!important;line-height:1.18!important;letter-spacing:-.025em!important;}
@media(max-width:600px){html body main .limited-page h1.film-session-title{font-size:clamp(30px,7.5vw,38px)!important;}}

/* 2026-10-20: Match The Process to Film Sessions editorial monospaced typography. */
.process-text-section .process-text-header h2,
.process-text-section .process-text-step h3 {font-family:'DM Mono',monospace !important;font-weight:400 !important;letter-spacing:.045em !important;text-transform:none !important;}
.process-text-section .process-text-header h2 {font-size:clamp(29px,3.1vw,46px) !important;line-height:1.2 !important;}
.process-text-section .process-text-header p,
.process-text-section .process-text-step p {font-family:'DM Mono',monospace !important;font-size:clamp(15px,1.25vw,19px) !important;line-height:1.8 !important;letter-spacing:.015em !important;font-weight:400 !important;max-width:58ch !important;}
.process-text-section .process-text-step h3 {font-size:clamp(18px,1.6vw,24px) !important;line-height:1.45 !important;margin-bottom:16px !important;}
.process-text-section .process-text-step .num {font-family:'DM Mono',monospace !important;}
@media(max-width:700px){
.process-text-section .process-text-header h2 {font-size:clamp(29px,8vw,38px) !important;}
.process-text-section .process-text-header p,
.process-text-section .process-text-step p {font-size:15px !important;line-height:1.8 !important;}
.process-text-section .process-text-step h3 {font-size:19px !important;}
}


/* Process typography: matches the typewriter text of the Film Sessions page. */
html body #process.process-text-section .process-text-header h2,
html body #process.process-text-section .process-text-step h3,
html body #process.process-text-section .process-text-header p,
html body #process.process-text-section .process-text-step p,
html body #process.process-text-section .process-text-step .num {
  font-family: "Courier New", Courier, monospace !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: #FFF3E7 !important;
}
html body #process.process-text-section .process-text-header h2 {font-size:clamp(28px,3.6vw,48px)!important;line-height:1.2!important;letter-spacing:.01em!important;text-transform:none!important}
html body #process.process-text-section .process-text-step h3 {font-size:clamp(19px,1.7vw,25px)!important;letter-spacing:.02em!important;line-height:1.4!important;text-transform:none!important}
html body #process.process-text-section .process-text-header p,
html body #process.process-text-section .process-text-step p {font-size:clamp(17px,1.45vw,21px)!important;line-height:1.75!important;letter-spacing:.01em!important}
html body #process.process-text-section .process-text-step .num {font-size:14px!important;letter-spacing:.08em!important}
@media(max-width:700px){html body #process.process-text-section .process-text-header h2{font-size:34px!important}html body #process.process-text-section .process-text-step h3{font-size:21px!important}html body #process.process-text-section .process-text-header p,html body #process.process-text-section .process-text-step p{font-size:17px!important;line-height:1.7!important}}

/* Homepage lead: typewriter font consistent with Film Sessions */
.hero .lead{font-family:"Courier New",Courier,monospace !important;font-size:clamp(17px,1.5vw,21px);line-height:1.7;letter-spacing:.015em;max-width:600px;}

/* SITE-WIDE TYPEWRITER TYPOGRAPHY — October 20 2026. Keep at end to override legacy serif rules. */
html body, html body h1, html body h2, html body h3, html body h4, html body h5, html body h6, html body p, html body span, html body li, html body a, html body label, html body button, html body input, html body select, html body textarea, html body blockquote, html body small, html body strong, html body em, html body div {font-family:'DM Mono','Courier New',monospace!important;}
/* Preserve signature logo branding. */
html body .brand, html body .brand *, html body .signature, html body .signature * {font-family:'Snell Roundhand','Apple Chancery','URW Chancery L','Segoe Script',cursive!important;}
/* Gentle hierarchy for readable typewriter headings, without the old oversized serif display type. */
html body h1,html body h2,html body h3 {font-weight:400;}
html body .hero p,html body .hero .hero-lead {font-family:'DM Mono','Courier New',monospace!important;font-weight:300;line-height:1.75;letter-spacing:.01em;}

/* Verified minimalist headings — targeted at real markup */
html body .page-intro h1.page-title,html body main h1.page-title,html body main.consult h1,html body .thank-you-inner h1 {font-family:"Courier New",Courier,monospace!important;font-size:clamp(30px,3.6vw,49px)!important;font-weight:400!important;line-height:1.24!important;letter-spacing:-.035em!important;text-transform:none!important;}
@media(max-width:700px){html body .page-intro h1.page-title,html body main h1.page-title,html body main.consult h1,html body .thank-you-inner h1{font-size:clamp(29px,8vw,39px)!important;}}

/* Consistent understated section subtitles — Oct 20, 2026 */
html body main .offerings-clean-list .offering-copy h2,
html body main .booking-section .editorial-heading h2,
html body main .about-copy h2,
html body main .faq-section h2,
html body main .faq-list h2,
html body main .limited-page h2,
html body main .editorial-heading h2,
html body main .section-heading h2 {
  font-family: "Courier New", Courier, monospace !important;
  font-size: clamp(25px, 2.8vw, 38px) !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  letter-spacing: -.025em !important;
  text-transform: none !important;
}
html body main .offerings-clean-list .offering-copy h2 {margin-bottom:20px !important;}
@media(max-width:700px){
 html body main .offerings-clean-list .offering-copy h2,
 html body main .booking-section .editorial-heading h2,
 html body main .about-copy h2,
 html body main .faq-section h2,
 html body main .faq-list h2,
 html body main .limited-page h2,
 html body main .editorial-heading h2,
 html body main .section-heading h2 {font-size:clamp(24px,6.5vw,31px)!important;}
}

/* FINAL: small, understated headings across ALL content pages */
html body main h2:not(.page-title),html body main h3:not(.page-title),html body section h2:not(.page-title),html body section h3:not(.page-title){font-family:"Courier New",Courier,monospace!important;font-weight:400!important;letter-spacing:-.025em!important;line-height:1.35!important;}
html body main h2:not(.page-title),html body section h2:not(.page-title){font-size:clamp(23px,2.25vw,30px)!important;}
html body main h3:not(.page-title),html body section h3:not(.page-title){font-size:clamp(18px,1.65vw,23px)!important;}
@media(max-width:700px){html body main h2:not(.page-title),html body section h2:not(.page-title){font-size:clamp(22px,5.7vw,27px)!important;}html body main h3:not(.page-title),html body section h3:not(.page-title){font-size:clamp(18px,4.8vw,22px)!important;}}

/* ANF verified compact subheadings v3: direct consistent sizing */
html body main h2,html body main h3,html body section h2,html body section h3,html body .offering-copy h2,html body .editorial-heading h2,html body .process-section h2,html body .process-section h3 {font-family:"Courier New",Courier,monospace!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;line-height:1.4!important;}
html body main h2,html body section h2,html body .offering-copy h2,html body .editorial-heading h2 {font-size:22px!important;}
html body main h3,html body section h3 {font-size:17px!important;}
@media(max-width:700px){html body main h2,html body section h2,html body .offering-copy h2,html body .editorial-heading h2{font-size:20px!important;}html body main h3,html body section h3{font-size:16px!important;}}

/* Subtitle hierarchy: visibly larger than paragraphs, still minimal */
html body main h2,html body section h2,html body .offering-copy h2,html body .editorial-heading h2{font-size:clamp(26px,2.5vw,33px)!important;font-weight:400!important;}
html body main h3,html body section h3{font-size:clamp(23px,2.2vw,29px)!important;font-weight:400!important;}
@media(max-width:700px){html body main h2,html body section h2{font-size:26px!important;}html body main h3,html body section h3{font-size:23px!important;}}

/* FINAL VERIFIED TYPOGRAPHY HIERARCHY: section headings visibly larger than body */
html body main h2:not(.page-title),html body main section h2:not(.page-title){font-family:"Courier New",Courier,monospace!important;font-size:clamp(30px,2.8vw,37px)!important;font-weight:400!important;line-height:1.25!important;letter-spacing:0!important;}
html body main h3:not(.page-title),html body main section h3:not(.page-title){font-family:"Courier New",Courier,monospace!important;font-size:clamp(25px,2.15vw,30px)!important;font-weight:400!important;line-height:1.3!important;letter-spacing:0!important;}
/* Process copy was visually as large as its headings: restore clear distinction */
html body main .process-grid p,html body main .process-step p,html body main .process-section p{font-size:clamp(17px,1.35vw,21px)!important;line-height:1.65!important;}
@media(max-width:700px){html body main h2:not(.page-title),html body main section h2:not(.page-title){font-size:29px!important;}html body main h3:not(.page-title),html body main section h3:not(.page-title){font-size:25px!important;}html body main .process-grid p,html body main .process-step p,html body main .process-section p{font-size:17px!important;}}


/* ANF definitive subtitle hierarchy: headings must exceed their nearby body text */
#process .process-text-step h3, #process .process-text-header h2 {font-family:"Courier New",Courier,monospace!important;font-size:clamp(26px,2.25vw,32px)!important;font-weight:400!important;line-height:1.3!important;letter-spacing:.035em!important;}
#process .process-text-step p, #process .process-text-header p {font-size:clamp(17px,1.4vw,20px)!important;line-height:1.65!important;}
.offering-copy h2,.editorial-heading h2,.booking-section h2,.timeline-grid h3,.faq-item h2,.faq-item h3,.section h2,.limited-page h2 {font-family:"Courier New",Courier,monospace!important;font-size:clamp(26px,2.25vw,32px)!important;font-weight:400!important;line-height:1.3!important;letter-spacing:0!important;}
.offering-copy p,.timeline-grid p {font-size:clamp(17px,1.4vw,20px)!important;line-height:1.6!important;}
@media(max-width:700px){#process .process-text-step h3,#process .process-text-header h2,.offering-copy h2,.editorial-heading h2,.booking-section h2,.timeline-grid h3,.faq-item h2,.faq-item h3,.section h2,.limited-page h2{font-size:25px!important}#process .process-text-step p,#process .process-text-header p,.offering-copy p,.timeline-grid p{font-size:17px!important}}

/* Keep image dragging disabled without affecting carousel swipes. */
img { -webkit-user-drag: none; user-drag: none; }

/* Desktop browser image dragging deterrent */
img, picture img { -webkit-user-drag: none !important; user-drag: none !important; }

/* Portfolio image interaction guard: image pixels never become native drag targets. */
img:not(.allow-image-interaction) {
  -webkit-user-drag: none !important;
  user-drag: none !important;
  -webkit-user-select: none !important;
  user-select: none !important;
  pointer-events: none !important;
}
