@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fraunces-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/karla-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/karla-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/karla-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   fayeconstant.com  v2
   Type system UNCHANGED (Faye approved): Fraunces display + Karla body.
   v2 shifts everything else warmer, softer, more playful:
   - palette pushed toward sorbet (apricot + wisteria promoted from bit-part)
   - arch-topped imagery (the feminine editorial move that is not pink)
   - blurred gradient blobs + scalloped edges for softness
   - rounder radii, bento layout energy, stagger motion
   Editorial restraint kept: hairline rules, real hierarchy, generous space.
   ========================================================================== */

:root {
  --ink:        #14261C;   /* deepest. footer only */
  --ink-lift:   #0E3A28;   /* lifted plum for booking/studio/cta. 1.33x separation from --ink so two dark sections never merge. cream on it = 11.84 AA */
  --ink-soft:   #55635A;
  --ink-faint:  #55635A;   /* darkened: 2.90 -> 4.54 on cream-deep = AA */
  --cream:      #F8F3E5;   /* warmer butter */
  --cream-deep: #EFE7D4;   /* peach-tinted */
  --blush:      #D6DFCC;   /* soft clay, warmth not pink-candy */
  --persimmon:  #0E3A28;   /* LARGE display type only. 3.63 on cream = AA large, not AA small */
  --persimmon-t: #0E3A28;  /* small text + eyebrows. 4.52 on cream = AA */   /* primary accent */
  --apricot:    #C9A962;   /* sorbet secondary */
  --wisteria:   #A7B89A;   /* the playful note, now actually present */
  --line:       rgba(20, 38, 28, 0.13);

  --font-display: 'Fraunces', Georgia, serif;
  --font-body:    'Karla', system-ui, sans-serif;

  --wrap: 1240px;
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --section: clamp(4rem, 11vw, 9rem);

  --arch: 999px 999px 20px 20px;
  --r-lg: 28px;
  --r-md: 18px;
}

*, *::before, *::after { box-sizing: border-box; }

/* overflow-x: clip (not hidden). The off-canvas mobile nav is position:fixed and
   translated past the right edge, which extends scrollable overflow. `hidden` on
   body does NOT clip fixed elements; `clip` on html does. Without this every page
   has 304px of horizontal scroll at a 390px viewport. Verified. */
html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: clip; }

body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.0625rem);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

/* paper grain */
body::after {
  content: '';
  position: fixed; inset: 0;
  pointer-events: none; z-index: 3;
  opacity: 0.03;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

img { max-width: 100%; height: auto; display: block; }

.wrap { width: min(100% - var(--gutter) * 2, var(--wrap)); margin-inline: auto; }

.skip {
  position: absolute; left: -9999px; top: 0;
  background: var(--ink); color: var(--cream);
  padding: 0.75rem 1.25rem; z-index: 999; text-decoration: none;
}
.skip:focus { left: 1rem; top: 1rem; }

:focus-visible { outline: 2.5px solid var(--persimmon); outline-offset: 3px; border-radius: 4px; }

/* ---------- soft gradient blobs (atmosphere) ---------- */
.blob {
  position: absolute; border-radius: 50%;
  filter: blur(70px); opacity: 0.5;
  pointer-events: none; z-index: 0;
  will-change: transform;
}
.blob--a { width: 46vw; height: 46vw; max-width: 560px; max-height: 560px;
  background: radial-gradient(circle at 30% 30%, var(--apricot), transparent 68%);
  top: -8%; right: -10%; animation: float1 22s ease-in-out infinite; }
.blob--b { width: 38vw; height: 38vw; max-width: 460px; max-height: 460px;
  background: radial-gradient(circle at 60% 40%, var(--wisteria), transparent 68%);
  bottom: -14%; left: -10%; animation: float2 27s ease-in-out infinite; }
@keyframes float1 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-26px, 22px) scale(1.06); } }
@keyframes float2 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(22px, -20px) scale(1.05); } }

/* ---------- Type ---------- */
h1, h2, h3 {
  font-family: var(--font-display);
  font-variation-settings: 'SOFT' 90, 'WONK' 1, 'opsz' 100;
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -0.025em;
  margin: 0;
}

.eyebrow {
  font-family: var(--font-body);
  font-size: 0.7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.18em;
  color: var(--persimmon-t); margin: 0 0 1.25rem;
}
.eyebrow--quiet { color: var(--ink-faint); }

.lede {
  font-size: clamp(1.1rem, 1rem + 0.6vw, 1.4rem);
  line-height: 1.55; color: var(--ink-soft); max-width: 54ch;
}
p { max-width: 62ch; }
a { color: inherit; }

/* ---------- Header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(248, 243, 229, 0.82);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s;
}
.site-header.scrolled { border-bottom-color: var(--line); }

.nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 0; }

.brand {
  font-family: var(--font-display);
  font-variation-settings: 'SOFT' 90, 'WONK' 1, 'opsz' 40;
  font-weight: 600; font-size: 1.2rem;
  letter-spacing: -0.02em; text-decoration: none; white-space: nowrap;
}
.brand em { font-style: normal; color: var(--persimmon); }

.nav-menu { display: flex; align-items: center; gap: 2rem; list-style: none; margin: 0; padding: 0; }
.nav-menu a {
  font-size: 0.82rem; font-weight: 500; letter-spacing: 0.04em;
  text-decoration: none; color: var(--ink-soft);
  position: relative; padding: 0.25rem 0; transition: color 0.2s;
}
.nav-menu a::after {
  content: ''; position: absolute; left: 0; bottom: 0;
  width: 100%; height: 1.5px; background: var(--persimmon);
  transform: scaleX(0); transform-origin: right;
  transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-menu a:hover { color: var(--ink); }
.nav-menu a:hover::after { transform: scaleX(1); transform-origin: left; }
.nav-menu a[aria-current='page'] { color: var(--ink); font-weight: 700; }
.nav-menu a[aria-current='page']::after { transform: scaleX(1); }

.nav-toggle { display: none; background: none; border: 0; cursor: pointer; padding: 0.5rem; color: var(--ink); }
.nav-toggle svg { display: block; }

@media (max-width: 820px) {
 .nav-toggle {display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;position:relative;z-index:70;touch-action:manipulation}
 .nav-menu {position:absolute;inset:100% 0 auto;width:100%;max-height:calc(100dvh - 76px);overflow-y:auto;background:var(--ink);border-radius:0 0 20px 20px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:1rem var(--gutter) 1.5rem;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60;box-shadow:0 15px 30px #14261c25}
 .nav-menu.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
 .nav-menu a{display:block;font-family:var(--font-display);font-size:clamp(1.1rem,4.8vw,1.5rem);line-height:1.25;color:var(--cream-deep);padding:.65rem .5rem;min-height:44px}
 .nav-menu a:hover,.nav-menu a:focus-visible{color:var(--cream);background:#ffffff12;border-radius:6px}
 .nav-menu a[aria-current='page']{color:var(--apricot)}
 .nav-menu a::after{display:none}
 .nav-toggle[aria-expanded='true']{color:var(--ink);background:var(--cream-deep);border-radius:8px}
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 0.6rem;
  font-family: var(--font-body);
  font-size: 0.85rem; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  text-decoration: none; cursor: pointer;
  padding: 1rem 1.75rem;
  border: 1.5px solid var(--ink); border-radius: 999px;
  background: var(--ink); color: var(--cream);
  transition: transform 0.25s cubic-bezier(0.34, 1.3, 0.64, 1), background 0.25s, color 0.25s, border-color 0.25s;
}
.btn:hover { background: var(--persimmon-t); border-color: var(--persimmon-t); transform: translateY(-2px); }
.btn--ghost { background: transparent; color: var(--ink); }
.btn--ghost:hover { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.btn--light { background: var(--cream); border-color: var(--cream); color: var(--ink); }
.btn--light:hover { background: var(--apricot); border-color: var(--apricot); color: var(--ink); }
.btn-row { display: flex; flex-wrap: wrap; gap: 0.85rem; }

/* ---------- Reveal (staggered) ---------- */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal.visible { opacity: 1; transform: none; }
.stagger > * { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.stagger.visible > * { opacity: 1; transform: none; }
.stagger.visible > *:nth-child(1) { transition-delay: 0.05s; }
.stagger.visible > *:nth-child(2) { transition-delay: 0.13s; }
.stagger.visible > *:nth-child(3) { transition-delay: 0.21s; }
.stagger.visible > *:nth-child(4) { transition-delay: 0.29s; }
.stagger.visible > *:nth-child(5) { transition-delay: 0.37s; }
.stagger.visible > *:nth-child(6) { transition-delay: 0.45s; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  .reveal, .stagger > * { opacity: 1; transform: none; }
  html { scroll-behavior: auto; }
  .blob { animation: none; }
}

/* ---------- Photo frames + slots ---------- */
.frame { position: relative; overflow: hidden; background: var(--cream-deep); }
.frame img { width: 100%; height: 100%; object-fit: cover; }
.frame--arch { border-radius: var(--arch); }
.frame--soft { border-radius: var(--r-lg); }

.slot {
  position: relative;
  background:
    repeating-linear-gradient(45deg, transparent, transparent 11px, rgba(14, 58, 40, 0.05) 11px, rgba(14, 58, 40, 0.05) 22px),
    var(--cream-deep);
  border: 1.5px dashed rgba(14, 58, 40, 0.45);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 1.25rem; gap: 0.4rem; overflow: hidden;
}
.slot--arch { border-radius: var(--arch); }
.slot--soft { border-radius: var(--r-lg); }
.slot__label {
  font-family: var(--font-display);
  font-variation-settings: 'SOFT' 90, 'WONK' 1, 'opsz' 40;
  font-size: clamp(0.95rem, 0.9rem + 0.3vw, 1.15rem);
  font-weight: 600; line-height: 1.15;
}
.slot__spec { font-size: 0.66rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--ink-faint); font-weight: 600; line-height: 1.5; }
.slot__file {
  font-family: 'SF Mono', 'Cascadia Code', Consolas, monospace;
  font-size: 0.63rem; color: var(--persimmon-t);
  background: rgba(14, 58, 40, 0.09);
  padding: 0.15rem 0.45rem; border-radius: 4px; word-break: break-all;
}
.ratio-23 { aspect-ratio: 2 / 3; }
.ratio-45 { aspect-ratio: 4 / 5; }
.ratio-916 { aspect-ratio: 9 / 16; }
.ratio-32 { aspect-ratio: 3 / 2; }

/* real stills from the skincare shoot, native 3:2 */
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.8rem; margin-top: 2rem; }
.gallery > * { border-radius: 10px; }
@media (max-width: 860px) { .gallery { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .gallery { grid-template-columns: repeat(2, 1fr); } }
.stills { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: clamp(2.5rem, 6vw, 4rem); }
.stills > * { border-radius: var(--r-md); }
@media (max-width: 760px) { .stills { grid-template-columns: 1fr; } }

/* ---------- Scalloped divider ---------- */
.scallop { display: block; width: 100%; height: 26px; position: relative; z-index: 2; color: var(--ink); }
.scallop svg { display: block; width: 100%; height: 100%; }

/* ---------- Footer ---------- */
.site-footer {
  background: var(--ink); color: var(--cream-deep);
  padding: clamp(3rem, 7vw, 5rem) 0 2.5rem;
  position: relative; z-index: 2; overflow: hidden;
}
.footer-top { display: grid; grid-template-columns: 1.4fr 1fr; gap: 3rem; align-items: start; position: relative; z-index: 2; }
@media (max-width: 760px) { .footer-top { grid-template-columns: 1fr; gap: 2.5rem; } }

.footer-title { font-size: clamp(2rem, 1.4rem + 3vw, 3.6rem); color: var(--cream); margin-bottom: 1.25rem; }
.footer-title em { font-style: normal; color: var(--apricot); }

.footer-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.footer-links a { color: var(--cream-deep); text-decoration: none; font-size: 0.92rem; transition: color 0.2s; }
.footer-links a:hover { color: var(--apricot); }

.footer-bottom {
  margin-top: 4rem; padding-top: 1.75rem;
  border-top: 1px solid rgba(248, 243, 229, 0.15);
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between;
  font-size: 0.75rem; color: var(--ink-faint); position: relative; z-index: 2;
}

/* ---------- Home ---------- */
.hero { padding: clamp(3rem, 8vw, 6rem) 0 var(--section); position: relative; z-index: 2; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: end; position: relative; z-index: 2; }
@media (max-width: 900px) { .hero-grid { grid-template-columns: 1fr; align-items: start; } }

.hero-name { font-size: clamp(3.4rem, 1.5rem + 10vw, 9.5rem); line-height: 0.86; letter-spacing: -0.045em; margin-bottom: 1.5rem; }
.hero-name span { display: block; }
.hero-name .n2 { padding-left: 0.14em; color: var(--persimmon); }

.hero-crafts {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 0.9rem;
  font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em;
  color: var(--ink-soft); margin-bottom: 2rem;
}
.hero-crafts i { font-style: normal; color: var(--wisteria); font-size: 1.2rem; line-height: 0; }

.hero-media { position: relative; max-width: 400px; margin-left: auto; width: 100%; }
@media (max-width: 900px) { .hero-media { margin-left: 0; max-width: 330px; } }

/* rotated sticker badge */
.sticker {
  position: absolute; z-index: 4; right: -14px; top: 18px;
  display: grid; place-items: center; text-align: center;
  width: 96px; height: 96px; border-radius: 50%;
  background: var(--wisteria); color: var(--ink);
  font-family: var(--font-display);
  font-variation-settings: 'SOFT' 90, 'WONK' 1, 'opsz' 20;
  font-size: 0.7rem; font-weight: 600; line-height: 1.2;
  transform: rotate(-11deg);
  box-shadow: 0 10px 26px rgba(20, 38, 28, 0.16);
}
@media (max-width: 900px) { .sticker { width: 80px; height: 80px; font-size: 0.62rem; right: -8px; } }

.rule-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 1.1rem 0; overflow: hidden; position: relative; z-index: 2; background: var(--blush); }
.rule-strip__inner {
  display: flex; gap: 3rem; width: max-content;
  animation: drift 34s linear infinite;
  font-family: var(--font-display);
  font-variation-settings: 'SOFT' 90, 'WONK' 1, 'opsz' 40;
  font-size: 1.05rem; color: var(--ink-soft); white-space: nowrap;
}
.rule-strip__inner b { font-weight: 600; color: var(--ink); }
@keyframes drift { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .rule-strip__inner { animation: none; } }

.about { padding: var(--section) 0; position: relative; z-index: 2; }
.about-grid { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: clamp(2rem, 5vw, 5rem); }
@media (max-width: 860px) { .about-grid { grid-template-columns: 1fr; gap: 1.5rem; } }
.about h2 { font-size: clamp(1.9rem, 1.3rem + 2.6vw, 3.1rem); }
.about-body p + p { margin-top: 1.35rem; }
.about-body p:first-child { margin-top: 0; }

/* bento entry cards */
.entries { padding-bottom: var(--section); position: relative; z-index: 2; }
.entry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; align-items: stretch; }
@media (max-width: 900px) { .entry-grid { grid-template-columns: 1fr; } }

.entry {
  display: block; text-decoration: none;
  border-radius: var(--r-lg);
  padding: 0 0 1.5rem;
  overflow: hidden;
  background: var(--cream-deep);
  border: 1px solid transparent;
  position: relative; overflow: hidden;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s, background 0.35s;
}
.entry:nth-child(2) { background: var(--blush); }
.entry:nth-child(3) { background: color-mix(in srgb, var(--wisteria) 26%, var(--cream)); }
.entry:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(20, 38, 28, 0.13); }
.entry__media { display: block; width: 100%; aspect-ratio: 4/5; overflow: hidden; background: var(--cream-deep); }
.entry__media--wide { aspect-ratio: 3/2; }
.entry__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.16,1,0.3,1); }
.entry:hover .entry__media img { transform: scale(1.045); }
.entry__body { padding: 1.5rem 1.75rem 0.5rem; display: block; }
.entry__head { display: flex; align-items: baseline; gap: 0.7rem; margin: 0.15rem 0 0.55rem; }
.entry__num { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.16em; color: var(--ink-faint); }
.entry__title {
  font-family: var(--font-display);
  font-variation-settings: 'SOFT' 90, 'WONK' 1, 'opsz' 72;
  font-size: clamp(1.6rem, 1.3rem + 1.1vw, 2.05rem);
  font-weight: 600; letter-spacing: -0.025em;
  margin: 0;
  display: flex; align-items: center; gap: 0.5rem;
}
.entry__title .arrow { transition: transform 0.35s cubic-bezier(0.34, 1.3, 0.64, 1); font-size: 0.7em; }
.entry:hover .entry__title .arrow { transform: translateX(7px); }
.entry__desc { font-size: 0.9rem; color: var(--ink-soft); margin: 0 0 1rem; max-width: 34ch; }
.entry__tag {
  display: inline-block; font-size: 0.6rem; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-soft); border: 1px solid rgba(20, 38, 28, 0.2);
  padding: 0.25rem 0.6rem; border-radius: 999px;
}

.studio { background: var(--ink-lift); color: var(--cream-deep); padding: var(--section) 0; position: relative; z-index: 2; }
.studio-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (max-width: 860px) { .studio-grid { grid-template-columns: 1fr; } }
.studio h2 { color: var(--cream); font-size: clamp(2rem, 1.4rem + 3vw, 3.4rem); margin-bottom: 1.25rem; }
.studio h2 em { font-style: normal; color: var(--apricot); }
.studio p { color: var(--cream-deep); opacity: 0.82; }

/* ---------- Modeling ---------- */
.page-head { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(2rem, 5vw, 3.5rem); position: relative; z-index: 2; }
.page-title { font-size: clamp(3rem, 1.6rem + 7vw, 7.5rem); line-height: 0.88; letter-spacing: -0.04em; }
.page-title em { font-style: normal; color: var(--persimmon); }

.compcard { padding-bottom: var(--section); position: relative; z-index: 2; }
.compcard-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
@media (max-width: 900px) { .compcard-grid { grid-template-columns: 1fr; } }

.stats-card { background: var(--cream-deep); border-radius: var(--r-lg); padding: clamp(1.15rem, 2vw, 1.5rem); }
/* two columns halves the height of the sizes chart. one column on narrow screens. */
.stats { border-top: 2px solid var(--ink); margin: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.75rem; padding-top: 0.15rem; }
@media (max-width: 620px) { .stats { grid-template-columns: 1fr; column-gap: 0; } }
.stat { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; padding: 0.42rem 0; border-bottom: 1px solid var(--line); }
.stat dt { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--ink-faint); margin: 0; }
.stat dd {
  font-family: var(--font-display);
  font-variation-settings: 'SOFT' 90, 'WONK' 1, 'opsz' 40;
  font-size: clamp(1.05rem, 1rem + 0.4vw, 1.3rem);
  font-weight: 600; letter-spacing: -0.01em; margin: 0; text-align: right;
}
.stat--wide dd { font-size: 1rem; font-family: var(--font-body); font-weight: 500; }
/* the note spans the whole card, not just the left column */
.stats-note { font-size: 0.74rem; color: var(--ink-faint); margin-top: 1rem; line-height: 1.6; max-width: none; }
.stats-title { font-size: 1.15rem; margin: 0 0 0.65rem; font-variation-settings: 'SOFT' 90, 'WONK' 1, 'opsz' 40; }
.compcard-lead { margin-bottom: 1.4rem; }

.sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 2rem; }
.sec-head h2 { font-size: clamp(1.7rem, 1.3rem + 2vw, 2.7rem); }
.sec-head p { font-size: 0.82rem; color: var(--ink-faint); margin: 0; max-width: 40ch; }

.band { padding: var(--section) 0; border-top: 1px solid var(--line); position: relative; z-index: 2; }

.gal { display: grid; gap: 1.1rem; }
.gal--digitals { grid-template-columns: repeat(5, 1fr); }
.gal--book { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .gal--digitals { grid-template-columns: repeat(3, 1fr); } .gal--book { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .gal--digitals { grid-template-columns: repeat(2, 1fr); } .gal--book { grid-template-columns: 1fr; } }

/* every other select gets an arch, for rhythm */
.gal--book > *:nth-child(odd) { border-radius: var(--arch); }
.gal--book > *:nth-child(even) { border-radius: var(--r-lg); }

.booking { background: var(--ink-lift); color: var(--cream-deep); padding: var(--section) 0; position: relative; z-index: 2; overflow: hidden; }
.booking h2 { color: var(--cream); font-size: clamp(2.2rem, 1.5rem + 3.4vw, 4rem); margin-bottom: 1.25rem; }
.booking h2 em { font-style: normal; color: var(--apricot); }
.booking-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: clamp(2rem, 5vw, 4rem); position: relative; z-index: 2; }
@media (max-width: 860px) { .booking-grid { grid-template-columns: 1fr; } }
.booking p { color: var(--cream-deep); opacity: 0.82; }
.lane-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.lane-list li { font-size: 0.88rem; padding-left: 1.3rem; position: relative; color: var(--cream-deep); opacity: 0.85; }
.lane-list li::before { content: '\25CF'; position: absolute; left: 0; color: var(--apricot); font-size: 0.5rem; top: 0.55em; }

/* ---------- Soon pages ---------- */
.soon { padding: clamp(3rem, 8vw, 6rem) 0 var(--section); position: relative; z-index: 2; overflow: hidden; }
.soon-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; position: relative; z-index: 2; }
/* UGC: give the hero more horizontal room and separate it from the reel */
.soon-grid--ugc { grid-template-columns: 1fr 1.05fr; margin-bottom: clamp(3rem, 7vw, 5rem); }
.soon-grid--ugc .hero-media { max-width: 520px; }
@media (max-width: 900px) { .soon-grid { grid-template-columns: 1fr; } }
.soon-head { max-width: 62ch; margin-bottom: clamp(2.5rem, 6vw, 4rem); position: relative; z-index: 2; }
.soon-title { font-size: clamp(3rem, 1.6rem + 7vw, 7rem); line-height: 0.88; letter-spacing: -0.04em; margin-bottom: 1.5rem; }
.soon-title em { font-style: normal; color: var(--persimmon); }

.badge {
  display: inline-flex; align-items: center; gap: 0.55rem;
  font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em;
  border: 1px solid rgba(20, 38, 28, 0.18); border-radius: 999px;
  background: var(--blush);
  padding: 0.5rem 1rem; margin-bottom: 1.75rem; color: var(--ink-soft);
}
.dot { width: 7px; height: 7px; border-radius: 50%; background: var(--persimmon); animation: pulse 2.4s ease-in-out infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.35; transform: scale(0.78); } }

.what { border-top: 1px solid var(--line); padding-top: 2rem; margin-top: 2.5rem; }
.what h2 { font-size: 1.1rem; margin-bottom: 1rem; }
.what-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.what-list li { font-size: 0.78rem; font-weight: 500; border: 1px solid rgba(20, 38, 28, 0.16); border-radius: 999px; padding: 0.4rem 0.9rem; color: var(--ink-soft); background: var(--cream-deep); }

.stack { display: grid; gap: 1rem; position: relative; z-index: 2; }
.stack > *:nth-child(1) { transform: rotate(-1.6deg); }
.stack > *:nth-child(2) { transform: rotate(1.2deg); }

.reel { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: var(--section); }
@media (max-width: 900px) { .reel { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .reel { grid-template-columns: 1fr; } }

/* real UGC embeds (Instagram + TikTok). Grid of portrait cards that frames the
   heavy third-party iframes so the page reads as designed, not a dump of embeds. */
.reels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem; margin-bottom: var(--section);
  align-items: start;
}
@media (max-width: 900px) { .reels { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .reels { grid-template-columns: 1fr; max-width: 380px; margin-inline: auto; } }

/* two-up curated layout: larger cards, centred, so two never reads as sparse */
.reels--two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; margin-inline: auto; gap: clamp(1.25rem, 4vw, 2.5rem); }
@media (max-width: 560px) { .reels--two { grid-template-columns: 1fr; max-width: 400px; } }
.reels-head { text-align: center; max-width: 40ch; margin: 0 auto clamp(2rem, 5vw, 3rem); }
.reels-head h2 { font-size: clamp(1.9rem, 1.4rem + 2.4vw, 3rem); margin-bottom: 0.5rem; }
.reels-head h2 em { font-style: normal; color: var(--persimmon); }
.reels-head p { color: var(--ink-soft); margin: 0 auto; }

.reelcard {
  margin: 0; display: flex; flex-direction: column;
  background: var(--cream-deep);
  border-radius: var(--r-lg);
  padding: 0.9rem 0.9rem 1rem;
  border: 1px solid var(--line);
  overflow: hidden;
}
.reelcard__head { display: flex; align-items: center; justify-content: space-between; margin: 0 0.2rem 0.7rem; }
.reelcard__tag {
  font-family: var(--font-body); font-size: 0.6rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.14em; color: var(--persimmon-t);
}
.reelcard__plat { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-faint); }
.reelcard__embed {
  border-radius: var(--r-md); overflow: hidden; background: var(--cream);
  min-height: 420px; position: relative;
}
/* neutralise the platform iframes' own chrome so they sit flush in the card */
.reelcard__embed iframe { width: 100% !important; min-width: 0 !important; border-radius: var(--r-md); display: block; }
.reelcard__embed .instagram-media,
.reelcard__embed .tiktok-embed { margin: 0 !important; border: 0 !important; box-shadow: none !important; border-radius: var(--r-md); }
/* self-hosted portrait video card. 9:16 keeps the reel framing; object-fit cover
   fills the frame; ink backdrop hides any letterboxing while it loads. */
.reelcard__embed--video { min-height: 0; aspect-ratio: 9 / 16; background: var(--ink); }
.reelvid { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: var(--r-md); background: var(--ink); }
.reelcard__cap { font-size: 0.82rem; color: var(--ink-soft); margin: 0.85rem 0.2rem 0; line-height: 1.5; }
.reelcard__link { display: inline-block; margin-top: 0.2rem; font-weight: 700; color: var(--persimmon-t); text-decoration: none; white-space: nowrap; }
.reelcard__link:hover { text-decoration: underline; }

.cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); border-top: 1px solid var(--line); padding-top: clamp(2rem, 5vw, 3.5rem); }
@media (max-width: 860px) { .cols { grid-template-columns: 1fr; gap: 2rem; } }
.cols h2 { font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2rem); margin-bottom: 1rem; }

.tick { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.tick li { font-size: 0.92rem; color: var(--ink-soft); padding-left: 1.4rem; position: relative; }
.tick li::before { content: '\2726'; position: absolute; left: 0; color: var(--wisteria); font-size: 0.8rem; top: 0.2em; }

/* ---------- Constant Creates ---------- */
.cc-hero { padding: clamp(3rem, 8vw, 6rem) 0 var(--section); position: relative; z-index: 2; overflow: hidden; }
.cc-title { font-size: clamp(2.6rem, 1.4rem + 6vw, 6rem); line-height: 0.9; letter-spacing: -0.04em; margin-bottom: 1.75rem; }
.cc-title em { font-style: normal; color: var(--persimmon); }
.cc-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; position: relative; z-index: 2; }
@media (max-width: 900px) { .cc-grid { grid-template-columns: 1fr; } }

.role-card { border-radius: var(--r-lg); padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--blush); margin: 0; }
.role-card dt { font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--ink-faint); }
.role-card dd {
  font-family: var(--font-display);
  font-variation-settings: 'SOFT' 90, 'WONK' 1, 'opsz' 40;
  font-size: 1.15rem; font-weight: 600; margin: 0.3rem 0 1.4rem; letter-spacing: -0.01em;
}
.role-card dd:last-child { margin-bottom: 0; }

.svc { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
@media (max-width: 860px) { .svc { grid-template-columns: 1fr; } }
.svc-item { border-radius: var(--r-md); padding: 1.35rem; background: var(--cream-deep); border-top: 3px solid var(--persimmon); }
.svc-item:nth-child(2) { border-top-color: var(--apricot); }
.svc-item:nth-child(3) { border-top-color: var(--wisteria); }
.svc-item:nth-child(4) { border-top-color: var(--apricot); }
.svc-item:nth-child(5) { border-top-color: var(--wisteria); }
.svc-item h3 { font-size: 1.2rem; margin-bottom: 0.5rem; font-variation-settings: 'SOFT' 90, 'WONK' 1, 'opsz' 40; }
.svc-item p { font-size: 0.88rem; color: var(--ink-soft); margin: 0; }

.cta-band { background: var(--ink-lift); color: var(--cream-deep); padding: var(--section) 0; position: relative; z-index: 2; text-align: center; }
.cta-band h2 { color: var(--cream); font-size: clamp(2rem, 1.4rem + 3.4vw, 3.8rem); margin-bottom: 1.25rem; }
.cta-band h2 em { font-style: normal; color: var(--apricot); }
.cta-band p { color: var(--cream-deep); opacity: 0.82; margin-inline: auto; }
.cta-band .btn-row { justify-content: center; margin-top: 2rem; }

/* ---------- Contact form ---------- */
.form { display: grid; gap: 1rem; max-width: 560px; }
.field { display: grid; gap: 0.4rem; }
.field label { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--cream-deep); opacity: 0.75; }
.field input, .field textarea, .field select {
  font-family: var(--font-body); font-size: 0.95rem;
  padding: 0.85rem 1rem;
  border-radius: var(--r-md);
  border: 1.5px solid rgba(248, 243, 229, 0.22);
  background: rgba(248, 243, 229, 0.06);
  color: var(--cream); width: 100%;
  transition: border-color 0.2s, background 0.2s;
}
.field textarea { min-height: 130px; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: rgba(248, 243, 229, 0.4); }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--apricot); background: rgba(248, 243, 229, 0.1); outline: none; }
.field select option { background: var(--ink); color: var(--cream); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 560px) { .form-row { grid-template-columns: 1fr; } }

/* honeypot: must stay reachable to bots but invisible + unfocusable for humans */
.hp { position: absolute !important; left: -9999px !important; opacity: 0 !important; height: 0 !important; width: 0 !important; overflow: hidden !important; pointer-events: none !important; }

.form-status { font-size: 0.9rem; margin: 0; min-height: 1.4em; }
.form-status[data-state='ok'] { color: var(--apricot); }
.form-status[data-state='err'] { color: #D3E3BC; }
.form-note { font-size: 0.75rem; color: var(--cream-deep); opacity: 0.55; margin-top: 0.5rem; }

/* Personal brand additions, October 2026 */
.founder-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}.founder-copy{max-width:36rem;margin:1.5rem 0 2rem}.founder-hero .page-title{font-size:clamp(4rem,9vw,8.5rem)}.challenge-art{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--line);border-radius:36px;background:var(--cream-deep);transform:rotate(2deg);box-shadow:0 24px 70px #14261c0c}.challenge-number{font-family:var(--font-display);font-size:clamp(5rem,10vw,9rem);line-height:1;margin:1.25rem 0 1.75rem}.challenge-number span{display:block;font-family:var(--font-body);font-size:1rem;line-height:1.7;margin-top:.5rem}.challenge-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.challenge-grid span{aspect-ratio:1;border-radius:6px;background:#FFFCF3;border:1px solid var(--line)}.challenge-grid .done{background:var(--ink-lift);border-color:transparent}.challenge-grid .done:nth-child(3n){background:var(--wisteria)}.challenge-grid .done:nth-child(7n){background:var(--apricot)}.challenge-caption{font-size:.88rem;margin-top:1.25rem}.brand-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.brand-pillars article{border-top:1px solid var(--line);padding-top:1.5rem}.brand-pillars h3{font-family:var(--font-display);font-size:1.7rem;margin:1rem 0}.founder-intro .btn-row{margin-top:1.75rem}.portfolio-wide{margin:0;max-width:1000px;margin-inline:auto}.portfolio-wide img{width:100%;height:auto;display:block;border-radius:24px}.portfolio-wide figcaption{margin-top:1rem;color:var(--ink-soft);font-size:.9rem}.photo-card-type{display:flex;align-items:center;padding:2rem;width:100%;height:100%;font-family:var(--font-display);font-size:clamp(2rem,3.2vw,3.3rem);line-height:1.12;background:var(--cream-deep);color:var(--ink-lift)}.nav-menu{gap:clamp(.8rem,1.8vw,1.8rem)}.gal--digitals{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}.gallery:empty,.gal:empty{display:none}@media(max-width:800px){.founder-grid,.brand-pillars{grid-template-columns:1fr}.challenge-art{transform:none}.founder-grid{gap:3rem}.brand-pillars{gap:2.5rem}.founder-hero .page-title{font-size:clamp(4rem,16vw,7rem)}}@media(prefers-reduced-motion:reduce){.challenge-art{transform:none}}
.modeling-intro{max-width:42rem;margin-top:1.5rem}.modeling-crosslink{margin-top:2.5rem}.booking-contact{margin:1.5rem 0}.gal--book img{cursor:zoom-in}.portfolio-dialog{border:0;padding:0;max-width:94vw;max-height:94vh;background:var(--cream);border-radius:16px}.portfolio-dialog::backdrop{background:#14261cdd}.portfolio-dialog img{display:block;max-width:90vw;max-height:82vh;object-fit:contain}.portfolio-dialog button{display:block;margin:.6rem 1rem .6rem auto;padding:.5rem 1rem;border:1px solid var(--line);border-radius:30px;background:var(--cream);cursor:pointer}.gallery-open{display:block;border:0;background:none;padding:0;width:100%;cursor:zoom-in}.gallery-open img{width:100%}.gallery-open:focus-visible{outline:3px solid var(--ink-lift);outline-offset:5px}
/* Lock In 100 palette: forest, sage, parchment and muted gold. */
:root{--brand-forest:#0E3A28;--brand-sage:#A7B89A;--brand-gold:#C9A962;--brand-gold-text:#8A6A1F;--brand-surface:#FFFCF3}
.hero-name .n2{color:var(--brand-forest)}.hero-crafts i{color:var(--brand-gold-text)}.sticker{background:var(--brand-sage);color:var(--ink);border:1px solid var(--line)}.hero .blob--a{opacity:.2}.hero .blob--b{opacity:.22}.btn{box-shadow:0 3px 0 #14261c10}.btn:focus-visible,.gallery-open:focus-visible{outline:3px solid #8A6A1F;outline-offset:5px}.challenge-art{background:linear-gradient(145deg,#FFFCF3,#EFE7D4);box-shadow:0 24px 70px #14261c0c}.challenge-grid .done:nth-child(3n){background:var(--brand-sage)}.challenge-grid .done:nth-child(7n){background:var(--brand-gold)}.challenge-grid span{background:var(--brand-surface)}.stats-card{background:#EFE7D4}.entry{background:var(--brand-surface)}.modeling-intro{max-width:42rem}.page-head:has(.modeling-intro){padding-top:2.5rem;padding-bottom:2.25rem}.page-head:has(.modeling-intro) .page-title{font-size:clamp(3rem,6.5vw,6rem)}.page-head:has(.modeling-intro) .page-title br{display:none}.page-head:has(.modeling-intro) .page-title br::after{content:' '}.modeling-intro{margin-top:1rem}.gal--book .frame img{object-position:center 30%}@media(min-width:901px){.compcard-grid>.frame{align-self:start}.compcard-grid>div:first-child .ratio-23{max-height:740px}}

/* Legible labels on the dark contact and project sections. */
.site-footer .eyebrow,.site-footer .eyebrow--quiet,.studio .eyebrow{color:#A7B89A}.founder-next .studio-grid{grid-template-columns:1fr;gap:1.25rem;max-width:750px}.founder-next .studio-grid p{margin:0}.founder-next .btn-row{margin-top:1.5rem}

/* Faye Constant: editorial layouts, using the Lock In 100 palette. */
[hidden]{display:none!important}html{scroll-padding-top:100px}.editorial-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#F8F3E5 55%,#E8EDDC);padding:1.6rem 0 5rem}.intro-topline{display:flex;justify-content:space-between;gap:1rem;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.intro-topline a{text-decoration:none}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding-top:3rem}.intro-copy h1{font-size:clamp(4.5rem,8.8vw,8rem);line-height:.9;letter-spacing:-.06em;margin:0 0 1.6rem}.intro-copy h1 em{color:var(--brand-forest);font-style:normal}.intro-copy .eyebrow{margin-bottom:1.5rem}.intro-statement{font-family:var(--font-display);font-size:clamp(1.5rem,2.7vw,2.3rem);line-height:1.16;letter-spacing:-.02em;margin:0 0 1rem}.intro-description{color:var(--ink-soft);max-width:34ch;margin-bottom:1.7rem}.intro-signoff{display:flex;align-items:center;gap:.65rem;font-size:.76rem;color:var(--ink-soft);margin-top:2rem;max-width:36ch}.intro-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--brand-forest)}.portrait-collage{position:relative;min-width:0;padding:0 1.5rem 3rem 2rem}.portrait-main{margin:0 0 0 auto;width:91%;position:relative}.portrait-main img{display:block;width:100%;height:clamp(450px,44vw,620px);object-fit:cover;object-position:center 30%;border-radius:180px 180px 12px 12px}.portrait-main figcaption{font-size:.7rem;letter-spacing:.02em;text-align:right;padding-top:.7rem;color:var(--ink-soft)}.portrait-inset{position:absolute;left:-1.7rem;bottom:-.5rem;width:34%;margin:0;transform:rotate(-7deg);background:var(--brand-surface);padding:.5rem .5rem .8rem;border:1px solid var(--line);box-shadow:0 12px 30px #14261c18}.portrait-inset img{width:100%;height:180px;object-fit:cover;object-position:center 20%;display:block}.portrait-inset figcaption{font-family:var(--font-display);font-style:italic;font-size:.9rem;padding:.6rem 0 0;text-align:center}.collage-seal{position:absolute;top:4%;right:-1rem;background:var(--brand-gold);color:var(--ink);width:106px;height:106px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(9deg);text-align:center;font-size:.75rem;line-height:1.25;border:1px solid #8A6A1F33}.collage-seal em{font-family:var(--font-display);font-size:1.05rem}.identity-ribbon{background:var(--brand-forest);color:var(--cream);padding:1.1rem 0}.identity-ribbon .wrap{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.identity-ribbon span[aria-hidden]{color:var(--brand-gold);font-size:1.1rem}.work-section,.projects-section,.collaboration-section{padding:clamp(4rem,7vw,7rem) 0}.section-opening{display:grid;grid-template-columns:1.35fr 1fr;gap:3rem;align-items:end;margin-bottom:2rem}.section-opening h2,.perspective-title h2{font-size:clamp(2.3rem,4.6vw,4rem);line-height:1.04}.section-opening>p{margin:0;color:var(--ink-soft);max-width:38ch}.work-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0 2rem}.work-filters button{font:inherit;font-size:.82rem;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:99px;padding:.7rem 1.2rem;cursor:pointer;min-height:44px;transition:background .18s,color .18s}.work-filters button[aria-pressed=true]{background:var(--brand-forest);color:var(--cream);border-color:var(--brand-forest)}.work-filters button:focus-visible{outline:3px solid #8A6A1F;outline-offset:3px}.work-mosaic{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:1.4rem;align-items:start}.work-tile{background:var(--brand-surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;min-width:0}.work-tile--portrait{margin-top:2rem}.work-mosaic.is-filtered{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}.work-mosaic.is-filtered .work-tile--portrait{margin-top:0;max-width:540px}.work-image-link{display:block;position:relative;overflow:hidden}.work-image-link img{display:block;width:100%;height:365px;object-fit:cover;object-position:48% center;transition:transform .5s}.work-image-link:hover img{transform:scale(1.035)}.image-link-arrow{position:absolute;bottom:1rem;right:1rem;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--cream);font-size:1.5rem}.work-video{background:#14261C;aspect-ratio:4/5;max-height:365px;overflow:hidden}.work-video video{display:block;width:100%;height:100%;object-fit:contain}.work-caption{padding:1.5rem}.work-caption .eyebrow{font-size:.6rem;letter-spacing:.1em}.work-caption h3{font-size:1.65rem;margin:.7rem 0}.work-caption p{font-size:.95rem;color:var(--ink-soft)}.work-caption>a,.text-link{font-size:.85rem;text-underline-offset:5px;font-weight:700}.filter-status{font-size:.75rem;color:var(--ink-soft);min-height:1.2em;margin:.8rem 0 0}.perspective-section{padding:4.5rem 0;background:#D6DFCC}.perspective-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:center}.perspective-title h2 em{color:var(--brand-forest)}.perspective-title .text-link{display:inline-block;margin-top:2rem}.perspective-copy p:last-child{margin-bottom:0}.projects-section{background:var(--cream)}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem}.project-card{position:relative;overflow:hidden;border-radius:24px;padding:2.25rem;min-height:465px;display:flex;align-items:flex-start;flex-direction:column;border:1px solid var(--line)}.project-card--studio{background:var(--brand-forest);color:var(--cream)}.project-card--lockin{background:#EFE7D4}.project-card-top{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;position:relative;z-index:1}.project-label{padding:.4rem .65rem;border:1px solid currentColor;border-radius:20px}.project-card h3{font-size:clamp(2.8rem,5vw,4.8rem);margin:2rem 0 1.2rem;z-index:1}.project-card h3 em{font-style:italic;color:var(--brand-sage)}.project-card--lockin h3 em{color:var(--brand-forest)}.project-card>p{max-width:35ch;position:relative;z-index:1;margin:0 0 1.8rem}.project-card .btn{margin-top:auto;position:relative;z-index:1}.project-decoration{position:absolute;right:-.5rem;bottom:-3rem;font-family:var(--font-display);font-size:19rem;line-height:1;opacity:.08;pointer-events:none}.mini-day-grid{position:absolute;top:5rem;right:-1rem;width:180px;display:grid;grid-template-columns:repeat(5,1fr);gap:7px;transform:rotate(10deg);opacity:.25;pointer-events:none}.mini-day-grid span{aspect-ratio:1;border-radius:5px;background:var(--brand-sage)}.mini-day-grid span:nth-child(3n){background:var(--brand-forest)}.mini-day-grid span:nth-child(5n){background:var(--brand-gold)}.collaboration-section{padding-top:1rem}.collaboration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.collaboration-grid>a{display:block;position:relative;border-top:1px solid var(--line);padding:1.5rem 2rem 2rem 0;text-decoration:none;transition:background .2s}.collaboration-grid>a>span:first-child{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.collaboration-grid h3{font-size:1.5rem;margin:1rem 0}.collaboration-grid p{font-size:.95rem;color:var(--ink-soft);max-width:26ch}.collaboration-grid>a:hover h3{text-decoration:underline;text-underline-offset:5px}.collab-arrow{position:absolute;right:0;top:1.5rem;font-size:1.5rem}.home-editorial .site-footer{border-top:1px solid #C9A96255}.home-editorial .site-footer>.blob{display:none}.home-editorial .site-footer{padding-top:4rem}.home-editorial .footer-title{font-size:clamp(2.8rem,5vw,4.5rem)}
@media(max-width:1050px){.intro-grid{gap:2rem}.portrait-collage{padding-left:1rem}.portrait-inset{left:-.5rem}.portrait-main img{height:560px}.collage-seal{right:-.5rem}.work-mosaic{gap:1rem}.work-caption{padding:1.15rem}.work-caption h3{font-size:1.4rem}.project-card{padding:1.8rem}}
@media(max-width:820px){.editorial-hero{padding-bottom:3rem}.intro-grid{grid-template-columns:1fr;padding-top:2rem;gap:2.5rem}.intro-copy h1{font-size:clamp(4.7rem,16vw,7.4rem)}.intro-statement br{display:none}.intro-statement{max-width:26ch}.intro-description{max-width:46ch}.portrait-collage{max-width:570px;width:100%;justify-self:center;padding:0 1.5rem 3rem 2rem}.portrait-main img{height:540px}.portrait-inset{left:0;bottom:0;width:31%}.collage-seal{right:0}.identity-ribbon .wrap{flex-wrap:wrap;justify-content:center;gap:.6rem 1rem;text-align:center;font-size:.6rem}.identity-ribbon span[aria-hidden]{font-size:.9rem}.section-opening,.perspective-grid{grid-template-columns:1fr;gap:1.4rem}.section-opening>p{max-width:50ch}.work-mosaic{grid-template-columns:1fr 1fr}.work-tile--portrait{grid-column:1/-1;margin-top:0;display:grid;grid-template-columns:1.1fr 1fr;align-items:center}.work-image-link img{height:310px}.work-video{aspect-ratio:4/5}.work-mosaic.is-filtered{grid-template-columns:1fr 1fr}.work-mosaic.is-filtered .work-tile--portrait{display:block;max-width:none}.project-pair{grid-template-columns:1fr}.project-card{min-height:420px}.project-card>p{max-width:48ch}.collaboration-grid{grid-template-columns:1fr}.collaboration-grid>a{padding-bottom:1.5rem}.collaboration-grid p{max-width:50ch}.perspective-grid{gap:2rem}}
@media(max-width:480px){.intro-topline{font-size:.57rem;letter-spacing:.09em}.intro-copy h1{font-size:4.8rem}.intro-statement{font-size:1.6rem}.intro-signoff{max-width:36ch}.portrait-collage{padding-left:1rem;padding-right:.5rem}.portrait-main{width:95%}.portrait-main img{height:430px;border-radius:130px 130px 12px 12px}.portrait-inset{width:35%;left:0}.portrait-inset img{height:135px}.portrait-inset figcaption{font-size:.7rem}.collage-seal{width:83px;height:83px;font-size:.63rem;right:-.3rem}.collage-seal em{font-size:.85rem}.work-mosaic,.work-mosaic.is-filtered{grid-template-columns:1fr}.work-tile--portrait{display:block}.work-image-link img{height:340px}.work-video{height:390px;max-height:none;aspect-ratio:auto}.section-opening h2,.perspective-title h2{font-size:2.4rem}.project-card{min-height:440px}.project-card h3{font-size:3.4rem}.work-filters{gap:.4rem}.work-filters button{font-size:.76rem;padding:.6rem .9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.collab-interests{margin:1rem 0 2.5rem}.collab-interests .eyebrow{margin-bottom:1rem}.collab-interests ul{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:0}.collab-interests li{border:1px solid var(--line);background:#FFFCF3;border-radius:30px;font-size:.8rem;padding:.65rem 1rem}.collab-interests li:nth-child(3n+2){background:#D6DFCC}.collab-interests li:nth-child(3n){background:#EFE7D4}

.email-alternative{font-size:1.05rem!important}.email-alternative a{font-weight:700;text-decoration:underline;text-underline-offset:.2em}

.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.65rem 1.2rem;margin-top:1.5rem;align-items:start}.album-card{min-width:0}.album-cover{display:block;position:relative;aspect-ratio:4/4.6;overflow:hidden;border-radius:12px;background:#EFE7D4;isolation:isolate}.album-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.album-cover:hover img{transform:scale(1.035)}.album-cover:focus-visible,.album-caption a:focus-visible,.hero-set-link:focus-visible{outline:3px solid #8A6A1F;outline-offset:5px}.album-count{position:absolute;bottom:.8rem;right:.8rem;border:1px solid #14261c18;background:#F8F3E5f2;color:#14261C;padding:.45rem .7rem;border-radius:25px;font-size:.68rem;line-height:1.2;display:flex;gap:.75rem;align-items:center}.album-caption{padding:.8rem .15rem 0}.album-caption p{font-size:.6rem;text-transform:uppercase;letter-spacing:.11em;color:#55635A;margin:0 0 .5rem}.album-caption h3{font-size:clamp(1.2rem,1.8vw,1.6rem);line-height:1.15}.album-caption a{text-decoration:none}.album-caption a:hover{text-decoration:underline;text-underline-offset:4px}.photo-set-section .sec-head{margin-bottom:1.8rem}.photo-set-section{padding-top:2.5rem}.home-editorial .album-cover{aspect-ratio:4/4.3}.ugc-photo-sets{margin:3rem 0}.ugc-photo-sets>.album-grid{max-width:980px}.ugc-photo-sets h2{font-size:clamp(2rem,4vw,3rem)}.album-intro{font-size:.95rem;color:#55635A;margin:1rem 0}.hero-set-link{display:block;border-radius:inherit}.portrait-inset a{display:block}.short-film-heading{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line)}.short-film-heading h3{font-size:2rem}.compact-reels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:760px;margin-top:1.5rem}.compact-reels figure{margin:0}.compact-reels video{display:block;width:100%;height:300px;background:#14261C;object-fit:contain;border-radius:12px}.compact-reels figcaption{font-size:.75rem;color:#55635A;margin-top:.7rem}.gal--digitals{max-width:500px;gap:1rem}.gal--digitals .ratio-45{max-height:320px}
.set-dialog{box-sizing:border-box;width:min(1100px,96vw);height:min(94dvh,1000px);max-width:96vw;max-height:94dvh;padding:0;border:1px solid #E3D9C2;border-radius:18px;background:#FFFCF3;color:#14261C;overflow:hidden}.set-dialog::backdrop{background:#0c1c14e8;backdrop-filter:blur(4px)}.set-dialog-inner{display:flex;flex-direction:column;height:100%;padding:1.25rem 1.5rem;gap:.7rem}.set-dialog-top{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-shrink:0}.set-category{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#55635A;margin:0 0 .3rem}.set-dialog h2{font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.1}.set-close{font:inherit;font-size:.75rem;display:flex;gap:.8rem;align-items:center;background:#F8F3E5;color:#14261C;border:1px solid #E3D9C2;border-radius:25px;min-height:44px;padding:.6rem .9rem;cursor:pointer;flex-shrink:0}.set-close span{font-size:1.3rem}.set-stage{position:relative;display:flex;align-items:center;justify-content:center;background:#F8F3E5;border-radius:10px;min-height:0;flex:1;overflow:hidden;touch-action:pan-y}.set-stage img{width:100%;height:100%;object-fit:contain;display:block;min-height:0}.set-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid #E3D9C2;background:#FFFCF3ed;color:#14261C;cursor:pointer;font:inherit;font-size:1.25rem;display:grid;place-items:center;box-shadow:0 3px 15px #14261c15}.set-prev{left:.65rem}.set-next{right:.65rem}.set-caption-row{display:flex;justify-content:space-between;gap:1.5rem;align-items:start;flex-shrink:0}.set-caption-row p{font-size:.72rem;line-height:1.4;margin:0;color:#55635A}.set-caption-row #set-counter{white-space:nowrap;color:#14261C}.set-thumbnails{display:flex;gap:.5rem;overflow-x:auto;flex-shrink:0;padding:3px 2px 6px;scrollbar-width:thin}.set-thumb{width:58px;height:58px;flex-shrink:0;cursor:pointer;border:2px solid transparent;padding:2px;border-radius:8px;background:transparent}.set-thumb[aria-pressed=true]{border-color:#0E3A28}.set-thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:4px}.set-dialog button:focus-visible{outline:3px solid #8A6A1F;outline-offset:2px}
@media(min-width:1350px){.album-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ugc-photo-sets>.album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem}.set-dialog-inner{padding:1rem}.album-caption h3{font-size:1.35rem}.ugc-photo-sets>.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.album-grid{gap:1.2rem .75rem}.album-cover,.home-editorial .album-cover{aspect-ratio:3/4}.album-count{font-size:.59rem;padding:.4rem .5rem;right:.4rem;bottom:.4rem;gap:.5rem}.album-caption h3{font-size:1.13rem}.album-caption p{font-size:.51rem;letter-spacing:.06em}.set-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}.set-dialog-inner{padding:1rem .7rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(.7rem,env(safe-area-inset-bottom));gap:.65rem}.set-category{font-size:.53rem}.set-caption-row p{font-size:.66rem}.set-prev{left:.35rem}.set-next{right:.35rem}.set-arrow{width:40px;height:40px}.set-thumb{width:49px;height:49px}.compact-reels{gap:.75rem}.compact-reels video{height:245px}.compact-reels figcaption{font-size:.65rem}.gal--digitals .ratio-45{max-height:230px}}
@media(prefers-reduced-motion:reduce){.album-cover img{transition:none}.album-cover:hover img{transform:none}}

.food-feature{width:100%;height:auto;border-radius:20px;display:block}.soon .stack .hero-set-link{text-decoration:none}.soon .stack .hero-set-link span{display:block;font-size:.8rem;margin-top:.8rem}.soon .ugc-photo-sets>.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.creator-reel{margin-top:3rem;max-width:430px}.creator-reel h2{font-size:2rem}.creator-reel>p{margin:.8rem 0 1.2rem}.creator-reel iframe{display:block;width:100%;height:600px;border:1px solid var(--line);border-radius:12px;background:#FFFCF3;margin:1rem 0}.creator-reel>a{font-size:.85rem}

.frame > .hero-set-link{position:absolute;inset:0;width:100%;height:100%}.frame > .hero-set-link img{display:block;width:100%;height:100%;object-fit:cover}

.audit-ugc .ugc-intro{padding:clamp(2.5rem,6vw,5.5rem) 0 2rem}.ugc-intro h1{font-family:var(--font-display);font-size:clamp(2.8rem,6vw,5.5rem);line-height:1.02;letter-spacing:-.04em;margin:1.1rem 0 1.4rem}.ugc-intro h1 em{font-style:normal;color:var(--brand-forest)}.ugc-intro .lede{max-width:48rem;font-size:clamp(1rem,1.7vw,1.2rem)}.ugc-intro .btn-row{margin-top:1.6rem}.audit-ugc .band{padding-top:2.8rem;padding-bottom:2.8rem}.audit-ugc .sec-head{margin-bottom:1.5rem}.audit-ugc .reels{max-width:960px;margin:0;gap:1.5rem}.audit-ugc .reelcard__embed--video{height:clamp(320px,42vw,460px);aspect-ratio:auto;background:#14261C}.audit-ugc .reelvid{height:100%;width:100%;object-fit:contain}.audit-ugc .ugc-stills-section .album-grid{max-width:720px;grid-template-columns:repeat(2,minmax(0,1fr))}.ugc-model-link{margin-top:1.8rem;font-size:.95rem}.story-example{display:grid;grid-template-columns:1fr 400px;align-items:start;gap:clamp(2rem,6vw,6rem);max-width:1050px}.story-example h2{font-size:clamp(2rem,4vw,3rem)}.story-example p{margin:1.1rem 0;max-width:36rem}.small-note{font-size:.8rem;color:var(--ink-soft)}.story-example iframe{display:block;width:100%;height:600px;border:1px solid var(--line);border-radius:12px;background:#FFFCF3}.casting-reference-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:2.5rem}.casting-reference-grid h3{font-size:1.65rem}.casting-reference-grid p{font-size:.88rem;color:var(--ink-soft);margin:.7rem 0 1.2rem}.casting-portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:start}.casting-snapshots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:start}.casting-portraits a,.casting-snapshots a{display:block;border-radius:10px;overflow:hidden;background:var(--cream-deep)}.casting-portraits img,.casting-snapshots img{display:block;width:100%;height:auto}.casting-portraits img{aspect-ratio:4/5;object-fit:cover}.casting-snapshots img{aspect-ratio:580/1080;object-fit:contain}.casting-reference-grid a:focus-visible{outline:3px solid #8A6A1F;outline-offset:4px}.home-book-link{margin-top:1.25rem}.site-header .nav-menu a:focus-visible{outline:2px solid var(--brand-gold);outline-offset:3px}@media(max-width:820px){.story-example,.casting-reference-grid{grid-template-columns:1fr;gap:2rem}.story-example iframe{max-width:400px}.casting-reference-grid{max-width:600px}.casting-portraits{max-width:360px}.audit-ugc .reels{gap:.85rem}.audit-ugc .reelcard__embed--video{height:330px}.audit-ugc .reelcard__cap{font-size:.78rem}.audit-ugc .sec-head{gap:1rem}.audit-ugc .ugc-intro{padding-top:2.5rem}.casting-snapshots{gap:.6rem}}@media(max-width:480px){.audit-ugc .reelcard__embed--video{height:300px}.audit-ugc .reelcard__head{padding:.65rem .6rem}.audit-ugc .reelcard__tag,.audit-ugc .reelcard__plat{font-size:.55rem}.casting-reference-grid h3{font-size:1.45rem}}
.role-routes{padding:1rem 0 2.5rem}.role-routes nav{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.role-routes a{padding:1.2rem;border:1px solid #A7B89A;border-radius:12px;text-decoration:none}.role-routes span,.role-routes strong{display:block}.role-routes span{font-size:.7rem;margin-bottom:.8rem}.role-routes strong{font-size:1.1rem}.founder-feature{background:#0E3A28;color:#F8F3E5!important;display:flex!important;align-items:center}.founder-feature-inner{padding:1.6rem;display:flex;flex-direction:column;gap:1.2rem}.founder-feature-inner strong{font-family:Fraunces,serif;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1}.founder-feature-link{font-size:.8rem}.more-modeling{margin-top:1.5rem}.inquiry-notice{font-size:.85rem;line-height:1.6;margin-top:1rem;color:#F8F3E5}.inquiry-notice a,.site-footer a[href^="mailto:"]{color:#F8F3E5;text-decoration:underline;text-underline-offset:3px}.site-footer a[href^="mailto:"]{font-size:1rem}.project-credit{margin:1rem 0;font-size:.85rem}.privacy-copy{max-width:760px}.privacy-copy h1{font:clamp(2.5rem,6vw,4rem) Fraunces,serif;margin-bottom:1.8rem}.privacy-copy h2{font-size:1.6rem;margin:2rem 0 1rem}.privacy-copy p{line-height:1.7;margin:1rem 0}.nav-contact{font-weight:700}@media(max-width:820px){.role-routes nav{grid-template-columns:repeat(2,1fr)}.role-routes a{padding:1rem}.nav-menu a{min-height:44px}}@media(min-width:821px){.nav-menu{gap:clamp(.7rem,1.5vw,1.6rem)}}
.photography-project-layout{display:block!important;max-width:1100px}.photography-project-layout>div{width:100%;max-width:none}.photography-project-layout .lede{max-width:760px}.photography-project-layout .ugc-photo-sets>.album-grid{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr))}.photography-project-layout .project-credit{max-width:760px;line-height:1.65}.founder-feature-v2{box-sizing:border-box;display:flex!important;flex-direction:column;align-items:stretch!important;justify-content:space-between;padding:clamp(1.3rem,2.4vw,2rem);background:#102f25!important;color:#f8f3e5!important;text-decoration:none;position:relative}.founder-feature-v2:after{content:"";position:absolute;width:200px;height:200px;border:1px solid #d5bd7a25;border-radius:50%;top:-90px;right:-100px;pointer-events:none}.founder-topline{display:flex;justify-content:space-between;align-items:center;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:#d7d3bd}.founder-topline>span{font-size:1.2rem}.founder-lockup{display:block;margin:.8rem 0 .6rem}.founder-lockup>span{display:block;font-family:var(--font-display);font-size:clamp(1.1rem,2vw,1.7rem);font-style:italic}.founder-lockup strong{display:block;font-family:var(--font-display);font-size:clamp(4rem,8.3vw,7rem);font-weight:500;line-height:.95;letter-spacing:-.06em}.founder-lockup strong>span{color:#ddbd73}.founder-dot-grid{display:grid;grid-template-columns:repeat(20,1fr);gap:5px;margin:.6rem 0 1rem;max-width:290px}.founder-dot-grid i{display:block;aspect-ratio:1;border-radius:50%;background:#d9d3b74a}.founder-dot-grid i:nth-child(-n+30){background:#d9bd78}.founder-dot-grid i:nth-child(n+31):nth-child(-n+55){background:#96ac85}.founder-footline{font-size:.8rem;line-height:1.45;color:#e4dfcc}.founder-feature-v2:hover .founder-lockup{transform:translateY(-2px);transition:transform .2s}.founder-feature-v2:hover{background:#163c2f!important}@media(max-width:820px){.photography-project-layout .ugc-photo-sets>.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.founder-dot-grid{gap:3px}.founder-feature-v2{padding:1.25rem}.founder-lockup strong{font-size:4.6rem}.founder-footline{font-size:.72rem}}@media(max-width:480px){.photography-project-layout .ugc-photo-sets>.album-grid{grid-template-columns:1fr}.founder-topline{font-size:.5rem;letter-spacing:.05em}.founder-lockup>span{font-size:1.05rem}.founder-lockup strong{font-size:4rem}.founder-dot-grid{grid-template-columns:repeat(20,1fr);gap:2px;margin:.3rem 0 .7rem}.founder-feature-v2{padding:1rem}.founder-footline{font-size:.66rem}}

.studio-feature{display:flex!important;flex-direction:column;align-items:stretch!important;justify-content:space-between;padding:clamp(1rem,2.4vw,2rem);background:#d6dfcc!important;color:#14261c;text-decoration:none}.studio-feature .founder-topline,.studio-feature .founder-footline{color:#264a38}.studio-wordmark{font-family:var(--font-display);font-size:clamp(1.7rem,3.8vw,3.8rem);line-height:1.08;letter-spacing:-.04em}.video-project .album-cover{display:block;background:#14261c}.video-project video{display:block;width:100%;height:100%;object-fit:cover}.collab-interests ul{display:block!important;max-width:52ch;line-height:2}.collab-interests li,.collab-interests li:nth-child(n){display:inline;border:0!important;border-radius:0!important;background:transparent!important;padding:0!important;font-size:.9rem}.collab-interests li:not(:last-child):after{content:' · ';white-space:pre;color:#798777}.studio-project-grid .album-cover img{object-fit:contain;background:#e8e8dd}.studio-project-grid .album-caption .text-link{font-size:.8rem;display:inline-block;margin-top:.7rem}.studio-project-grid{margin-top:2rem}

/* Portfolio review: clearer actions, generous full-length references and subject-led covers. */
.set-actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.set-book{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;background:#0e3a28;color:#fffcf3;border:1px solid #0e3a28;border-radius:26px;font-size:.76rem;text-decoration:none;white-space:nowrap}.set-credit{font-size:.66rem;line-height:1.5;color:#55635a;max-width:650px;margin:.5rem 0 0}.set-groups{display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.set-groups[hidden]{display:none}.set-groups button{border:1px solid #d9d1bd;border-radius:24px;background:transparent;padding:.5rem .85rem;font:inherit;font-size:.72rem;cursor:pointer;color:#14261c}.set-groups button[aria-pressed=true]{background:#0e3a28;color:#fff}.casting-reference-grid{grid-template-columns:2fr 3fr;--casting-portrait-height:clamp(140px,15vw,205px)}.casting-portraits img{height:var(--casting-portrait-height);aspect-ratio:auto;object-fit:cover;object-position:50% 30%}.casting-snapshots img{height:calc(2*var(--casting-portrait-height) + .75rem);aspect-ratio:auto;object-fit:contain}.album-cover[data-album="creator"] img{transform:scale(1.5);transform-origin:68% 37%}.album-cover[data-album="library"] img{transform:scale(1.5);transform-origin:64% 40%}.album-cover[data-album="pool"][data-photo-index="0"] img{transform:scale(1.4);transform-origin:64% 47%}.studio-project-grid .album-cover img{object-fit:cover!important}.site-header .nav-menu .nav-contact{background:#0e3a28;color:#fffcf3;border:1px solid #0e3a28;border-radius:30px;padding:.7rem 1rem;white-space:nowrap}.site-header .nav-menu .nav-contact:hover{background:#1c513b;color:#fff}.set-book:focus-visible{outline:3px solid #8a6a1f;outline-offset:3px}@media(max-width:820px){.casting-reference-grid{grid-template-columns:1fr}.casting-portraits{max-width:100%}.set-dialog-top{align-items:flex-start}.set-actions{gap:.35rem}.set-book{padding:.65rem .7rem}.set-credit{max-width:480px}}@media(max-width:480px){.set-dialog-top{flex-wrap:wrap;gap:.65rem}.set-dialog-top>div:first-child{flex:1 1 100%}.set-actions{width:100%;justify-content:flex-end}.set-credit{font-size:.62rem}.set-book,.set-close{font-size:.7rem}.set-dialog-inner{gap:.55rem}.set-groups button{font-size:.68rem}.casting-snapshots{gap:.5rem}}

.set-photo-details{display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1rem;flex:1}.set-detail{display:block}.set-detail--subject{grid-column:1/-1}.set-detail strong{font-weight:700;color:#34483b}.album-cover[data-album="library"] img{object-position:50% 65%!important;transform:scale(1.4);transform-origin:50% 65%}.album-cover[data-album="meadow"] img{object-position:85% 50%!important;transform:scale(1.3);transform-origin:50% 40%}.video-project[data-home-tabs="ugc"] .album-cover{aspect-ratio:16/9}.video-project[data-home-tabs="ugc"] video{width:100%;height:100%;object-fit:contain!important}.audit-ugc .reelcard__embed--video{aspect-ratio:16/9;height:auto}.audit-ugc .reelvid{aspect-ratio:16/9;object-fit:contain}.casting-snapshots a{overflow:hidden}.casting-snapshots a:nth-child(2) img{transform:translateY(-3.2%) scale(.995);transform-origin:50% 0}.casting-snapshots a:nth-child(3) img{transform:translateY(2.8%) scale(.99);transform-origin:50% 0}@media(max-width:600px){.set-photo-details{grid-template-columns:1fr;gap:.12rem}.set-caption-row .set-photo-details{font-size:.62rem}.set-detail--subject{grid-column:auto}}

@media(max-width:900px){.intro-statement br{display:block}}.set-caption-row .set-photo-details{font-size:.7rem}

/* Client films retain their original framing in clean native players. */
.video-feature video,.client-film video{display:block;width:100%;max-height:580px;aspect-ratio:9/16;object-fit:contain;background:#172c25;border-radius:18px}.video-actions{padding:1rem}.video-actions [hidden]{display:none}.client-films{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2rem}.client-film{margin:0}.client-film h3{font-size:1.2rem;line-height:1.35;margin:.9rem 0 .35rem}.client-film figcaption p{font-size:.85rem;line-height:1.6}.video-feature{max-width:400px;margin-inline:auto;width:100%}@media(max-width:750px){.client-films{grid-template-columns:1fr}.client-film{max-width:420px;width:100%;margin-inline:auto}.video-feature video,.client-film video{max-height:70vh}}

.set-photo-details{grid-template-columns:1fr}.set-detail--subject{grid-column:auto}

.video-jump{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;padding-block:1.5rem}.video-jump a{font-size:.8rem;text-underline-offset:4px}.youtube-film{position:relative;aspect-ratio:9/16;max-height:580px;background:#172c25;border-radius:18px;overflow:hidden}.youtube-film img{height:100%;width:100%;object-fit:cover}.youtube-film button{position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);white-space:nowrap}.youtube-film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.youtube-film--wide{aspect-ratio:16/9}.client-films--wide{grid-template-columns:1fr;max-width:900px}.casting-snapshots a:nth-child(2) img{object-fit:cover;object-position:50% 100%;transform:scale(1.34);transform-origin:50% 100%}
/* Keep the wider original's lower edge visible and match the neighboring references. */
.casting-snapshots a:nth-child(2) img{object-fit:contain;object-position:50% 50%;transform:translateY(-20%) scale(1.65);transform-origin:50% 50%}
/* Full-length references fill equally sized frames without inset bands. */
.casting-snapshots a{display:block;height:calc(2*var(--casting-portrait-height) + .75rem);overflow:hidden}.casting-snapshots a:nth-child(n) img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:none}.casting-snapshots a:nth-child(2) img{transform:scale(1.32);transform-origin:50% 100%;object-position:50% 100%}

.photography-opening{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,5vw,4rem);margin-bottom:2rem}.photography-intro-image{margin:0}.photography-intro-image img{display:block;width:100%;aspect-ratio:4/4.3;object-fit:cover;object-position:70% 50%;border-radius:18px}.photography-intro-image figcaption{font-size:.65rem;color:#55635a;margin-top:.65rem}.photography-process .cols{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.photography-process h3{font-size:1.25rem;margin:1rem 0 .65rem}.photography-process p{font-size:.9rem;line-height:1.7}.photography-project-layout .work-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.4rem}.photography-project-layout .work-filters[hidden]{display:none}@media(max-width:800px){.photography-opening,.photography-process .cols{grid-template-columns:1fr}.photography-intro-image{max-width:520px}.photography-intro-image img{aspect-ratio:4/3}.photography-opening{gap:1.5rem}}

/* Photography opening: a slow crossfade with manual controls. */
.photo-hero-stage{display:grid;overflow:hidden;border-radius:18px}.photo-hero-slide{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .9s ease,visibility .9s;min-width:0}.photo-hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}.photo-hero-slide img{height:100%;border-radius:0}.photo-hero-credit{display:block;margin-top:.25rem}.photo-hero-controls{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.8rem}.photo-hero-controls[hidden]{display:none}.photo-hero-controls>div{display:flex;gap:.35rem}.photo-hero-controls button{font:inherit;font-size:.7rem;color:#193d2d;border:1px solid #c9d0c5;background:transparent;border-radius:999px;padding:.45rem .65rem;cursor:pointer}.photo-hero-controls button[aria-pressed=true]{color:#fffaf0;background:#193d2d}.photo-hero-controls button:focus-visible{outline:2px solid #193d2d;outline-offset:3px}@media(prefers-reduced-motion:reduce){.photo-hero-slide{transition:none}}

.model-full-name{font-family:var(--serif,Georgia,serif);font-size:clamp(1.3rem,2.8vw,2rem);margin:0 0 .8rem}.album-caption .project-context{font-size:.8rem;line-height:1.6;text-transform:none;letter-spacing:0;margin-top:.7rem;color:#55635a}.example-title{display:block;font-family:var(--serif,Georgia,serif);font-size:1.2rem;margin-bottom:.55rem}.scope-line{display:block;margin-top:.7rem}.hp[hidden]{display:none!important}

.official-product-preview{margin:0;text-align:center}.official-product-preview img{display:block;width:min(100%,320px);height:auto;margin:auto;border-radius:2.5rem}.official-product-preview figcaption{font-size:.7rem;line-height:1.5;color:#55635a;margin:1rem auto 0;max-width:320px}

/* One featured film at a time, with a consistent viewing frame. */
.film-section{padding-top:1.5rem}.film-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:1.5rem}.film-heading h2{font-size:clamp(2rem,4vw,3rem)}.film-heading>p{max-width:23rem;color:#55635a;font-size:.9rem}.film-carousel{scroll-margin-top:100px}.film-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.5rem}.film-filters button{font:inherit;font-size:.75rem;border:1px solid #b6c2b5;border-radius:999px;padding:.6rem 1rem;color:#193d2d;background:transparent;cursor:pointer}.film-filters button[aria-pressed=true]{background:#193d2d;color:#fffaf0}.film-slide[hidden],.film-thumb[hidden],.film-controls[hidden],.film-thumbnails[hidden],.film-filters[hidden]{display:none!important}.film-slide{margin-bottom:1.5rem}.film-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}.film-player{margin:0;min-width:0;border:1px solid #d8d3c2;background:#fffcf3;border-radius:18px;overflow:hidden}.film-screen{position:relative;aspect-ratio:16/9;width:100%;background:#14261c;overflow:hidden}.film-screen video,.film-screen iframe{display:block;width:100%;height:100%;aspect-ratio:auto;max-height:none;object-fit:contain;border:0;border-radius:0}.film-screen video{position:absolute;inset:0}.film-screen .youtube-film{position:absolute;inset:0;aspect-ratio:auto;height:100%;width:100%;max-height:none;border-radius:0}.film-screen .youtube-film img{object-fit:contain}.film-screen .youtube-film button{font-size:.75rem;bottom:1.2rem}.film-player .video-actions{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;min-height:65px}.film-player .video-actions .btn{font-size:.68rem;padding:.7rem 1rem}.film-player .video-actions p:empty{display:none}.film-copy{padding:.4rem 0}.film-copy h3{font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.1;margin:.6rem 0 1.25rem}.film-copy p{font-size:.88rem;line-height:1.65;margin:.8rem 0}.film-copy .eyebrow{font-size:.6rem}.film-copy .small-note{font-size:.76rem}.film-copy .example-title{display:none}.film-controls{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1.15rem 0;border-top:1px solid #d8d3c2}.film-arrow{border:1px solid #bdc7b9;background:transparent;color:#193d2d;border-radius:50%;width:44px;height:44px;font-size:1.3rem;cursor:pointer;flex-shrink:0}.film-arrow:disabled{opacity:.35;cursor:default}.film-position{text-align:center;font-size:.75rem;line-height:1.5;margin:0;max-width:28rem}.film-thumbnails{display:flex;gap:.7rem;overflow-x:auto;padding:.4rem .2rem .85rem;scroll-snap-type:x proximity;overscroll-behavior-x:contain;position:relative}.film-thumb{flex:0 0 140px;scroll-snap-align:start;display:flex;flex-direction:column;gap:.55rem;background:#f4eddd;color:#14261c;border:2px solid transparent;border-radius:12px;padding:.4rem;font:inherit;text-align:left;cursor:pointer}.film-thumb img{width:100%;height:76px;object-fit:cover;border-radius:7px}.film-thumb span{display:block;font-size:.65rem;line-height:1.4;padding:.1rem .15rem .3rem}.film-thumb[aria-pressed=true]{border-color:#193d2d;background:#e4e8da}.film-carousel button:focus-visible{outline:3px solid #8a6a1f;outline-offset:3px}.creator-story-link{padding:0 0 2rem}.creator-story-link p{border-top:1px solid #d8d3c2;padding-top:1.5rem;font-size:.9rem;line-height:1.7}.creator-story-link span{display:block;font-size:.75rem;color:#55635a}.modeling-intro{max-width:none!important;white-space:nowrap;font-size:clamp(.55rem,2.7vw,1.2rem)!important}.modeling-actions{display:flex!important;flex-wrap:wrap;gap:.65rem!important}.modeling-actions .btn{display:flex;flex:1 1 12rem;justify-content:center;align-items:center;text-align:center;white-space:normal;min-height:44px;padding:.9rem 1rem!important;font-size:.875rem!important;line-height:1.4;letter-spacing:.04em!important}.modeling-actions .btn svg{width:14px}.modeling-actions .btn span{margin-left:.3rem}
@media(max-width:850px){.film-layout{grid-template-columns:1fr;gap:1.3rem}.film-copy{max-width:40rem}.film-copy h3{font-size:1.8rem;margin:.5rem 0 .8rem}.film-heading{display:block}.film-heading>p{margin-top:.75rem}.film-position{font-size:.68rem}.film-thumb{flex-basis:120px}.film-thumb img{height:67px}.film-filters button{font-size:.65rem;padding:.5rem .8rem}.film-section{padding-top:1rem!important}.film-player .video-actions{min-height:58px;padding:.7rem}.modeling-actions .btn{flex-basis:100%;font-size:.875rem!important;padding:.9rem 1rem!important;letter-spacing:.02em!important}}
@media(prefers-reduced-motion:reduce){.film-thumbnails{scroll-behavior:auto}}

.film-player{scroll-margin-top:90px}.film-controls{padding:.8rem 0 1.2rem;border-top:0}.film-thumbnails{border-top:1px solid #d8d3c2;padding-top:1rem}

.ugc-intro.film-intro,.audit-ugc .ugc-intro.film-intro{padding:clamp(2rem,4vw,3.5rem) 0 2.5rem}.film-intro>.wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4rem);align-items:center}.film-intro h1{font-size:clamp(2.8rem,4.7vw,4.25rem);margin:.8rem 0 0;line-height:1.05}.film-intro .lede{font-size:1rem;line-height:1.65}.film-intro-details .small-note{margin-top:1rem;max-width:none}.film-intro-details>.btn{margin-top:1.3rem}.film-intro-details .btn-row{margin-top:1.3rem;gap:.65rem}.film-intro-details .btn{font-size:.65rem;padding:1rem 1.2rem}.film-heading{margin-bottom:.8rem}.film-section,.audit-ugc .film-section{padding-top:1.5rem;padding-bottom:2rem}@media(max-width:850px){.film-intro>.wrap{grid-template-columns:1fr;gap:1.3rem}.film-intro h1{font-size:clamp(2.6rem,8.4vw,3.5rem)}.film-intro-details .lede{font-size:.93rem}.ugc-intro.film-intro,.audit-ugc .ugc-intro.film-intro{padding-top:2rem;padding-bottom:1.8rem}.film-intro-details .btn-row{gap:.6rem}.film-intro-details .btn{font-size:.58rem;padding:.9rem 1rem}}

/* Subject-focused cover positioning and quieter introduction copy. */
.album-cover[data-album="vmc-headshots"] img{object-position:70% 40%!important}.album-cover[data-album="busy-bee"] img{object-position:30% 35%!important}.album-cover[data-album="vmc-cardiology"] img{object-position:25% 40%!important}.portfolio-browse-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.modeling-bio{font-size:clamp(.95rem,1.35vw,1.08rem)!important;line-height:1.75!important}

.photo-hero-controls{flex-wrap:wrap;gap:.6rem}.photo-hero-controls>[role="group"]{flex-wrap:wrap;gap:.4rem}

.lock-actions{display:flex!important;flex-wrap:nowrap!important;gap:clamp(.35rem,.8vw,.7rem)!important;align-items:stretch}.lock-actions .btn{white-space:nowrap;min-width:0;flex:1 1 auto;padding:clamp(.65rem,1.1vw,1rem) clamp(.45rem,1vw,1rem);font-size:clamp(.44rem,1.8vw,.69rem);letter-spacing:.04em;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center}

@media(max-width:600px){.lock-actions .btn{flex:1 1 0;white-space:normal;font-size:clamp(.5rem,1.8vw,.69rem);padding-inline:.35rem;line-height:1.4}.lock-actions .btn span{margin-left:.25em}}

.set-project-info{padding:.35rem 0 .8rem;font-size:.8rem;line-height:1.5}.set-role-summary{margin:.2rem 0 .6rem;color:#344c3e}.set-project-context{max-width:55rem;border-top:1px solid #ded7c2;padding-top:.5rem}.set-project-context summary{cursor:pointer;font-weight:600;color:#193d2d;min-height:32px}.set-project-context p{margin:.45rem 0}.inquiry-helper{font-size:.85rem;line-height:1.6;color:var(--cream-deep);margin:.5rem 0 1rem}.ugc-thumbnail-pair{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));max-width:34rem;overflow:visible;gap:.8rem}.ugc-thumbnail-pair .film-thumb{width:100%;min-width:0}.ugc-thumbnail-pair .film-thumb img{height:auto;aspect-ratio:16/9}.ugc-thumbnail-pair .film-thumb span{font-size:.76rem}.ugc-thumbnail-pair[hidden]{display:none!important}@media(max-width:500px){.set-project-info{font-size:.72rem}.ugc-thumbnail-pair .film-thumb span{font-size:.68rem}}

/* Final presentation refinements, October 22. */
.role-routes a{transition:background .18s,color .18s,box-shadow .18s;border-color:#a7b89a}
.role-routes a:hover,.role-routes a:focus-visible{background:#183c2b;color:#fffcf3;box-shadow:0 7px 20px #14261c16;outline:2px solid #183c2b;outline-offset:3px}
.portfolio-browse-actions{display:flex;align-items:center;gap:1rem;margin-top:1.25rem}
.portfolio-browse-actions>.btn{margin:0;min-height:3.4rem;display:inline-flex;align-items:center;justify-content:center}
.perspective-copy>.lede{font-weight:700}
.perspective-links{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;margin-top:1.5rem}
.collaboration-section .section-opening{display:block;max-width:48rem;margin-bottom:1.75rem}
.collaboration-section .section-opening h2{font-size:clamp(2.5rem,4.7vw,4.5rem);line-height:1.12}
.collaboration-section .section-opening>p{margin-top:1rem;max-width:none}
.collab-interests{margin-bottom:2rem}
.collab-interests ul{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem 1.25rem;max-width:65rem;padding:0;list-style:none}
.collab-interests li,.collab-interests li:nth-child(n){display:block;font-size:.9rem;line-height:1.6}
.collab-interests li:not(:last-child)::after{content:none}
.collaboration-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.collaboration-grid>a,.brand-pillars>article,.photography-process .cols>div{border:1px solid #bdc6b2;border-radius:18px;padding:1.5rem;background:#fffcf355}
.collaboration-grid>a{position:relative;text-decoration:none;transition:background .18s,box-shadow .18s}
.collaboration-grid>a:hover,.collaboration-grid>a:focus-visible{background:#e4e9da;box-shadow:0 6px 20px #14261c12;outline-offset:4px}
.collaboration-grid h3{font-size:1.65rem;line-height:1.15}
.collaboration-grid>a>span:first-child{display:block;padding-right:1.25rem}
.collaboration-grid .collab-arrow{position:absolute;right:1.1rem;top:1.2rem}
.brand-pillars{gap:1rem}
.photography-process .cols{align-items:stretch;gap:1rem}
.photography-process .cols h3{margin-top:0}
@media(max-width:1100px){.collaboration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.collab-interests ul{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-browse-actions{align-items:stretch}.portfolio-browse-actions>.btn{flex:1}.photography-process .cols{grid-template-columns:1fr}}
@media(max-width:480px){.collaboration-grid{grid-template-columns:1fr}.collab-interests ul{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.role-routes a,.collaboration-grid>a{transition:none}}
/* Paired front-of-camera and behind-camera routes. */
.perspective-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.25rem}
.perspective-links .text-link{margin:0;font-size:clamp(.8rem,1vw,.95rem);line-height:1.5}

/* Shared video poster controls. */
.film-screen .film-play-overlay,.film-screen .youtube-film .film-play-overlay{position:absolute;inset:0;transform:none;width:100%;height:100%;padding:0;border:0;border-radius:0;background:linear-gradient(transparent 60%,#14261c66);color:#fffcf3;cursor:pointer;display:block;font:inherit;z-index:2}
.film-screen .film-play-overlay[hidden]{display:none!important}
.film-play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:clamp(54px,6vw,78px);aspect-ratio:1;border-radius:50%;border:1px solid #fffcf3aa;background:#183c2be8;font-size:clamp(1.3rem,2.2vw,2rem);padding-left:4px;box-shadow:0 5px 24px #0003}
.film-play-label{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:999px;background:#183c2b;color:#fffcf3;padding:.8rem 1.3rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.film-play-overlay:hover .film-play-icon,.film-play-overlay:focus-visible .film-play-icon{background:#315d41;box-shadow:0 0 0 5px #fffcf344}
.film-play-overlay:focus-visible{outline:3px solid #bb984d;outline-offset:-5px}
.film-player .video-actions:has([data-video-status]:empty){display:none}
.audit-ugc .film-thumbnails{margin-top:1rem;max-width:none}
@media(min-width:851px){.audit-ugc .film-layout{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr)}.audit-ugc .ugc-thumbnail-pair{max-width:calc((100% - 2rem)*.623)}}
@media(max-width:600px){.film-play-label{font-size:.62rem;padding:.65rem 1rem;bottom:.7rem}.film-play-icon{width:50px;font-size:1.3rem}}
#the-idea.about{background:#e3e8db;border-block:1px solid #cbd4c2}

/* Selected signature and shareable photography categories. */
.brand--signature{display:inline-flex;align-items:center;flex-shrink:0;width:176px;line-height:1;padding:4px 0}
.brand--signature img{display:block;width:100%;height:auto;max-width:none}
.photo-category-share{display:flex;align-items:center;gap:1rem;margin:.8rem 0 1.5rem;font-size:.75rem;color:#55635a;flex-wrap:wrap}
.photo-category-share[hidden]{display:none}
.photo-category-share button{border:0;border-bottom:1px solid currentColor;background:none;padding:.3rem 0;font:inherit;color:#193d2d;cursor:pointer}
.photo-category-share button:hover{color:#6c5422}.photo-category-share button:focus-visible{outline:2px solid #193d2d;outline-offset:4px}
@media(max-width:1100px){.brand--signature{width:150px}.nav-menu{gap:.8rem}}
@media(max-width:600px){.brand--signature{width:150px}}

/* Branded submission confirmation replaces the form after API success. */
#contact-form{scroll-margin-top:125px}
[data-inquiry-fields][hidden],.inquiry-confirmation[hidden]{display:none!important}
.inquiry-confirmation{background:#f8f3e4;color:#14261c;border:1px solid #d6dfcc;border-radius:24px;padding:clamp(1.5rem,4vw,2.75rem);min-height:440px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;box-shadow:0 12px 32px #00000012}
.inquiry-confirmation-logo{display:block;width:170px;height:auto;margin:.25rem 0 1.5rem}
.inquiry-confirmation-check{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#d6dfcc;color:#193d2d;font-size:1.6rem;margin-bottom:1.25rem}
.inquiry-confirmation .eyebrow{color:#365440;font-size:.65rem;margin:0 0 .6rem}
.inquiry-confirmation h3{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,3.6rem);line-height:1.05;color:#14261c;margin:0 0 1.1rem}
.inquiry-confirmation h3:focus{outline:none}
.inquiry-confirmation p{font-size:1rem;line-height:1.65;margin:0 0 1rem;color:#3b4e41}
.inquiry-confirmation p.inquiry-confirmation-note{font-size:.82rem;margin-bottom:1.5rem}
.inquiry-confirmation a{color:#193d2d;text-decoration:underline;overflow-wrap:anywhere}
.inquiry-confirmation .btn{background:#193d2d;color:#fffcf3;border-color:#193d2d;font-size:.7rem;gap:.6rem;margin:0;white-space:normal;min-height:48px}
.inquiry-confirmation .btn:hover{background:#315d41}
.inquiry-confirmation .btn:focus-visible{outline:3px solid #9a7527;outline-offset:4px}
.form.is-submitted{display:block}
@media(max-width:480px){.inquiry-confirmation{min-height:420px}.inquiry-confirmation-logo{width:150px}.inquiry-confirmation .btn{width:100%}}
.form [data-inquiry-fields]{display:grid;gap:1rem}

.site-footer .inquiry-confirmation a[href^="mailto:"],.site-footer .inquiry-confirmation a[href^="mailto:"]:hover{color:#193d2d;font-size:inherit;text-decoration:underline}

/* Center the modeling introduction on phones; keep specialties together. */
@media(max-width:767px){
 .page-head:has(.modeling-intro) .wrap{text-align:center}
 .page-head:has(.modeling-intro) .eyebrow{max-width:none;white-space:nowrap;font-size:clamp(8px,2.55vw,12px);letter-spacing:.12em}
 .page-head:has(.modeling-intro) .modeling-intro{margin-left:auto;margin-right:auto}
}

.category-cover-credit{font-size:.7rem!important;line-height:1.5!important;margin-top:.6rem!important;color:#55635a}
.category-cover-credit[hidden]{display:none!important}
.photo-category-share{margin:0 0 1.25rem}
.film-screen{isolation:isolate}
.film-poster-backdrop,.film-play-overlay .film-poster-fill{position:absolute!important;inset:-5%!important;width:110%!important;height:110%!important;max-height:none!important;object-fit:cover!important;filter:blur(14px) brightness(.6);pointer-events:none}
.film-poster-backdrop{z-index:-1}
.film-play-overlay .film-poster-fill{z-index:0}
.film-play-overlay .film-poster-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;pointer-events:none;z-index:1}
.film-play-icon,.film-play-label{z-index:3}
.film-screen video{background:transparent}
.film-portrait-youtube .film-poster-backdrop,.film-portrait-youtube .film-poster-fill{transform:scale(3.2)}
.film-portrait-youtube .film-play-overlay .film-poster-image{left:50%!important;width:31.640625%!important;transform:translateX(-50%);object-fit:cover!important}
.film-screen.film-portrait-youtube .youtube-film iframe{left:50%;width:31.640625%;transform:translateX(-50%);background:transparent}

.portfolio-hero-slideshow{margin:0;min-width:0}
.portfolio-hero-slideshow .photo-hero-stage{aspect-ratio:2/3;border-radius:48% 48% 18px 18px}
.portfolio-hero-slideshow .photo-hero-slide{position:relative;min-height:0}
.portfolio-hero-slideshow .photo-hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.portfolio-hero-slideshow figcaption{font-size:.65rem;line-height:1.5;color:#55635a;margin-top:.7rem}
.portfolio-hero-slideshow .photo-hero-controls button{min-height:40px}

/* Matched framing uses the supplied images without stretching or retouching. */
.casting-turnaround{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(.35rem,1vw,.75rem)}
.casting-turnaround a{position:relative;aspect-ratio:1/2;height:auto;background:#eeeae4}
.casting-turnaround a:nth-child(n) img{position:absolute;left:50%;width:auto;max-width:none;aspect-ratio:auto;object-fit:fill;object-position:center;transform:translateX(-50%);transform-origin:center;display:block}
.casting-turnaround a:nth-child(1) img{height:151.2%;top:-42.9%}
.casting-turnaround a:nth-child(2) img{height:101.1%;top:-2.5%}
.casting-turnaround a:nth-child(3) img{height:100.6%;top:.06%}

/* Match casting framing in the opened gallery as well as the page row. */
.set-stage img[src$="faye-front-clean.png"]{transform-origin:50% 0;transform:translateY(-42.9%) scale(1.512)}
.set-stage img[src$="faye-three-quarter-clean.png"]{transform-origin:50% 0;transform:translateY(-2.5%) scale(1.011)}
.set-stage img[src$="faye-profile-clean.png"]{transform-origin:50% 0;transform:translateY(.06%) scale(1.006)}

.set-dialog:has(.set-stage img[src*="/photos/casting/"]) .set-caption-row{min-height:4rem}

.set-stage img[src*="/photos/casting/"]{width:auto;max-width:none;flex-shrink:0}

/* Credited excerpts from Constant Creates branding and design clients. */
.client-proof{padding:clamp(3rem,6vw,5.5rem) 0;background:#e3e8d9;color:#192f24}
.client-proof h2{font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.1;margin:.8rem 0 1rem}
.client-proof-intro{max-width:42rem;color:#52645a;margin-bottom:2rem}
.client-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.client-proof-card{display:flex;flex-direction:column;justify-content:space-between;gap:2rem;margin:0;padding:clamp(1.35rem,2.5vw,2rem);background:#f7f3e6;border:1px solid #c9d0be;border-radius:18px}
.client-proof-card blockquote{margin:0;padding:0;border:0}
.client-proof-card blockquote p{font-family:var(--font-display);font-size:clamp(1.45rem,2vw,1.9rem);line-height:1.35;margin:0}
.client-proof-card figcaption{font-size:.85rem;line-height:1.6}
.client-proof-card figcaption strong,.client-proof-card figcaption span{display:block}
.client-proof-card figcaption span{color:#52645a;margin-top:.25rem}
.client-proof-card a{text-decoration:underline;text-underline-offset:3px}
.client-proof-card a:focus-visible{outline:2px solid #193d2d;outline-offset:4px}
@media(max-width:760px){.client-proof-grid{grid-template-columns:1fr}.client-proof-card{gap:1.5rem}.client-proof-card blockquote p{font-size:1.6rem}}

/* Service inquiry clarity and consistent interactive focus. */
.site-footer .footer-bottom,.site-footer .footer-bottom span{color:#dce3d4;opacity:1}
.inquiry-next{max-width:44rem;margin:0 0 1.6rem;padding:1.2rem 0;border-top:1px solid #728374;border-bottom:1px solid #728374;color:#f8f3e5}
.inquiry-next h3{font-family:var(--font-display);font-size:1.4rem;color:#f8f3e5;margin:0 0 .5rem}
.inquiry-next p{font-size:.9rem;line-height:1.7;margin:.4rem 0;color:#e2e8dc}
.inquiry-expectation{font-size:.9rem;color:#e2e8dc;line-height:1.7;margin:.2rem 0 1rem}
.inquiry-more{border:1px solid #8b9b89;border-radius:14px;padding:1rem 1.1rem;margin:1rem 0;color:#f8f3e5}
.inquiry-more summary{cursor:pointer;font-weight:600;min-height:28px;line-height:1.6}
.inquiry-question-grid{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-top:1.3rem}
.inquiry-question-grid [hidden],.inquiry-more[hidden],.inquiry-expectation[hidden],[data-next-booking][hidden]{display:none!important}
.inquiry-more input,.inquiry-more select{min-width:0;width:100%}
.site-footer .field label{color:#e2e8dc;opacity:1}
.site-footer input::placeholder,.site-footer textarea::placeholder{color:#b3c0af;opacity:1}
.project-role{font-size:.75rem!important;line-height:1.5;letter-spacing:0!important;text-transform:none!important;color:#3b5747!important;margin:.55rem 0!important}
.album-cover:focus-visible,.film-thumb:focus-visible,.casting-reference-grid a:focus-visible,.inquiry-more summary:focus-visible,.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible,.btn:focus-visible,.text-link:focus-visible{outline:3px solid #bd9946;outline-offset:4px}
.album-cover:focus-visible img{transform:scale(1.025)}
.linked-video-cover .preview-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#193d2d;color:#fff9e9;z-index:2;font-size:22px}
@media(min-width:821px){.casting-reference-grid>div{display:flex;flex-direction:column;min-width:0}.casting-reference-grid h3{min-height:2rem}.casting-reference-grid>div>p{min-height:2.8rem;margin:.7rem 0 1.2rem}.casting-reference-grid .casting-portraits,.casting-reference-grid .casting-turnaround{height:clamp(300px,30vw,420px);max-width:none;flex-shrink:0}.casting-reference-grid .casting-portraits{grid-template-rows:repeat(2,minmax(0,1fr))}.casting-reference-grid .casting-portraits a{height:100%;min-height:0}.casting-reference-grid .casting-portraits img{height:100%;width:100%;object-fit:cover;aspect-ratio:auto}.casting-reference-grid .casting-turnaround a{height:100%;aspect-ratio:auto}}
@media(prefers-reduced-motion:reduce){.album-cover img,.btn,.text-link{transition:none!important}.album-cover:focus-visible img,.album-cover:hover img{transform:none!important}}

.client-proof h2{max-width:24ch}.client-proof-card blockquote p{font-size:clamp(1.25rem,1.6vw,1.55rem);line-height:1.5}.client-proof-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.75rem}@media(max-width:760px){.client-proof-grid--two{grid-template-columns:1fr}}

.field-error{font-size:.85rem;color:#ffd7b5;line-height:1.5;margin:.2rem 0 0}.form [aria-invalid="true"]{border:2px solid #ffbe8b}.form [aria-invalid="true"]:focus-visible{outline-color:#ffbe8b}.album-cover:focus-visible,.film-thumb:focus-visible,.casting-reference-grid a:focus-visible,.inquiry-more summary:focus-visible,.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible,.btn:focus-visible,.text-link:focus-visible{outline-color:#a37b26}

/* Final portfolio preferences: responsive UGC photo grid and thumbnail navigation. */
.audit-ugc .ugc-stills-section .album-grid{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr))}
.film-thumbnail-navigation{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}
.film-thumbnail-navigation button{width:44px;height:44px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer;font-size:1.4rem}
.film-thumbnail-navigation button:hover{background:#dce3d4;color:#193d2d}
.film-thumbnail-navigation button:focus-visible{outline:3px solid #a37b26;outline-offset:4px}
.film-thumbnail-navigation button:disabled{opacity:.4;cursor:default}
@media(max-width:1000px){.audit-ugc .ugc-stills-section .album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.audit-ugc .ugc-stills-section .album-grid{grid-template-columns:1fr}}


.story-main{padding:clamp(2rem,6vw,6rem) 0 0}.story-wrap{width:min(1120px,calc(100% - 2.5rem));margin:auto}.story-breadcrumb{font-size:.9rem;margin-bottom:2.5rem;display:flex;gap:.6rem;flex-wrap:wrap}.story-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:#657563;font-weight:700}.story-title{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.06;font-size:clamp(2.4rem,6vw,5.3rem);max-width:950px;margin:1rem 0 1.5rem}.story-deck{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.7;max-width:750px}.story-meta{display:flex;gap:1.2rem;flex-wrap:wrap;padding:1.2rem 0 2rem;font-size:.9rem}.story-hero{margin:0 0 3rem}.story-hero img{display:block;width:100%;max-height:700px;object-fit:contain;background:#eae9e0;border-radius:16px}.story-hero figcaption,.story-image figcaption{padding:.85rem 0;color:#55645c;font-size:.9rem;line-height:1.5}.story-body{display:grid;grid-template-columns:200px minmax(0,750px);gap:3rem;margin:3.5rem 0}.story-body h2,.story-section-title{font-family:Fraunces,Georgia,serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:500;line-height:1.2;margin:0 0 1rem}.story-body p{font-size:1.06rem;line-height:1.85;margin:0 0 1.3rem}.story-section-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#657563}.story-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem;margin:2rem 0 4rem}.story-note{border-top:1px solid #b7c0af;padding-top:1.2rem;line-height:1.75}.story-note span{font-family:Fraunces,Georgia,serif;font-size:2rem;color:#708164}.story-image{margin:0 0 3rem}.story-image img{display:block;width:100%;max-height:720px;object-fit:contain;background:#eae9e0;border-radius:12px}.story-cta{background:#183e2d;color:#f7f4e9;padding:clamp(2rem,5vw,4rem);border-radius:18px;margin:4rem 0}.story-cta h2{font-family:Fraunces,Georgia,serif;font-size:2.2rem;line-height:1.15;margin:0 0 1rem}.story-cta p{max-width:650px;line-height:1.8}.story-cta .btn{background:#f7f4e9;color:#183e2d;margin-top:1rem}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:2.5rem 0 5rem}.story-card{color:inherit;text-decoration:none;border-bottom:1px solid #ccd0c4;padding-bottom:1.5rem}.story-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.story-card h2,.story-card h3{font-family:Fraunces,Georgia,serif;font-size:1.6rem;line-height:1.2;margin:.8rem 0}.story-card p{font-size:.95rem;line-height:1.65}.story-card:hover h2,.story-card:hover h3{text-decoration:underline}.story-footer{padding:2rem 0;border-top:1px solid #d7dacd}.story-footer .wrap{display:flex;gap:1.5rem;justify-content:space-between;flex-wrap:wrap;font-size:.85rem}.story-more{margin:3rem 0}.story-summary{max-width:750px;line-height:1.8}.set-case-study{display:inline-block;color:inherit;font-size:.85rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;padding:.5rem 0}.set-case-study[hidden]{display:none}.story-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.8rem 0}.story-filters button{border:1px solid #85927b;border-radius:999px;background:transparent;color:#183e2d;padding:.6rem 1rem;cursor:pointer;font:inherit}.story-filters button[aria-pressed=true]{background:#183e2d;color:#fff}.story-card[hidden]{display:none}
@media(max-width:800px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-body{grid-template-columns:1fr;gap:.8rem}.story-notes{grid-template-columns:1fr;gap:1rem}.story-title{font-size:clamp(2.2rem,10vw,4rem)}}@media(max-width:520px){.story-grid{grid-template-columns:1fr}.story-wrap{width:calc(100% - 2rem)}.story-meta{gap:.7rem}.story-hero{margin-bottom:2rem}.story-cta h2{font-size:1.8rem}}
/* Fit the new action alongside the existing booking and close controls. */
.set-actions{flex-wrap:wrap}.set-case-study{border:1px solid #85927b;border-radius:25px;padding:.65rem .85rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-size:.75rem;line-height:1.25;text-align:center}.set-case-study:hover{background:#e5eadf}.set-case-study:focus-visible,.story-main a:focus-visible,.story-main button:focus-visible,.story-footer a:focus-visible{outline:3px solid #8a6a1f;outline-offset:4px}.story-main img{box-sizing:border-box}.story-card{min-width:0}.story-card img{display:block;height:auto}.story-main [hidden]{display:none!important}.story-filters button{min-height:44px}.story-main .story-grid .story-card img{height:auto;aspect-ratio:4/3;object-fit:cover}.story-main .story-body>div{min-width:0}.story-breadcrumb{overflow-wrap:anywhere}.story-footer{color:#405448}
@media(max-width:520px){.set-actions{justify-content:flex-start}.set-case-study{font-size:.7rem;padding:.6rem .7rem}.set-actions .set-close{margin-left:auto}.story-cta .btn{white-space:normal;text-align:center}}
