/* Shared paper surfaces and fine hair bows connect the photo concept. */
.photo-concept {
  --section-space: clamp(58px, 6.8vw, 94px);
  --soft-paper: #f8f5f2;
  --soft-lilac: #f0eaf3;
}
.photo-concept .section { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.photo-concept .prices { background: linear-gradient(180deg, var(--paper) 72%, var(--soft-paper)); }
.photo-concept .philosophy { background: linear-gradient(180deg, var(--soft-paper), #f1ebed 50%, var(--soft-paper)); }
.photo-concept .awards-strip {
  padding-top: 36px;
  padding-bottom: 46px;
  background: var(--soft-paper);
  border-bottom: 0;
  grid-template-columns: 62px 1fr auto;
  gap: 30px;
}
.photo-concept .award-symbol { font-size: 62px; transform: none; opacity: .85; }
.photo-concept .awards-strip h2 { font-size: clamp(28px, 3.1vw, 40px); }
.photo-concept .instagram-section {
  background: linear-gradient(180deg, var(--soft-paper), #f5f0f5 65%, var(--soft-lilac));
  padding-bottom: 64px;
}
.photo-concept .team-section {
  background: linear-gradient(180deg, var(--soft-lilac), #e7daed);
  padding-top: 44px;
  padding-bottom: 80px;
}
.photo-concept .contact {
  background: radial-gradient(ellipse at 75% 0, #393047, var(--ink) 68%);
  padding-bottom: 25px;
}
.photo-concept .section-kicker { margin-bottom: 35px; }
.photo-concept .section-kicker, .photo-concept .eyebrow { letter-spacing: .12em; }
.photo-concept .section-heading { margin-bottom: 40px; }
.photo-concept .talent-card {
  transform: none;
  background: linear-gradient(145deg, #775099, #634581);
  border-color: transparent;
  box-shadow: 0 15px 35px -27px #38244680;
}
.photo-concept .talent-tag { transform: none; letter-spacing: .1em; }
.photo-concept .talent-spark { opacity: .8; }
.photo-concept .philosophy-full { border-color: #b8a9bf70; }
.photo-concept .philosophy-portrait-photo:before {
  background: radial-gradient(ellipse at 50% 43%, #77509911, transparent 71%);
}
.photo-concept .salon-mini { max-width: 940px; border-color: #b8a9bf70; padding-top: 28px; margin-top: 50px; }
.photo-concept .salon-mini img { filter: saturate(.88); }
.photo-concept .social-row { max-width: 100%; gap: 25px; }
.photo-concept .social-tile { align-items: start; }
.photo-concept .social-tile span { padding-top: 3px; }
.photo-concept .social-tile img { border-radius: 0; }
.photo-concept .team-section h2 { font-size: clamp(54px, 6.5vw, 88px); }
.photo-concept .footer { background: var(--paper); }

/* Hair crosses only the empty junctions between sections, clear of content. */
.photo-concept .thread-art > .thread-svg,
.photo-concept .thread-art > .thread-tip { display: none; }
.cohesion-thread { position: absolute; inset: 0; overflow: visible; width: 100%; height: 100%; }
.cohesion-thread path { fill: none; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.cohesion-thread-base { stroke: #b69bd1; stroke-width: .85; opacity: .16; }
.cohesion-thread-progress { stroke: #a98aaf; stroke-width: 1.25; opacity: .56; }
.cohesion-scissors {
  position: absolute; left: 0; top: 0; width: 39px; height: 39px;
  color: var(--plum); opacity: 0; pointer-events: none;
  transform-origin: 13.65px 13.65px;
}
.cohesion-scissors[data-dark="true"] { color: var(--gold); }
.cohesion-scissors svg,
.career-scissors svg { display: block; width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; }
.cohesion-scissors .scissor-blade { transform-origin: 14px 14px; }
.cohesion-scissors .blade-a { transform: rotate(calc(var(--snip, 0) * -22deg)); }
.cohesion-scissors .blade-b { transform: rotate(calc(var(--snip, 0) * 22deg)); }
.cohesion-scissors .scissor-edge,
.career-scissors .scissor-edge { fill: currentColor; stroke-width: .35; }
.cohesion-scissors .scissor-pivot,
.career-scissors .career-scissor-pivot { fill: var(--gold); stroke: currentColor; stroke-width: .6; }
.career-scissors .career-blade-a { transform: rotate(calc(var(--career-snip, 0) * -22deg)); }
.career-scissors .career-blade-b { transform: rotate(calc(var(--career-snip, 0) * 22deg)); }
.career-scissors { filter: none; }
.vita-page .career-section { background: linear-gradient(180deg, var(--paper), #f3edf5); }
.vita-page .vita-engagement { background: linear-gradient(180deg, #f3edf5, #eee3d5); }

@media (max-width: 1100px) {
  .photo-concept .social-row { gap: 20px; }
  .photo-concept .awards-strip { grid-template-columns: 50px 1fr auto; gap: 22px; }
  .photo-concept .award-symbol { font-size: 50px; }
}
@media (max-width: 760px) {
  .photo-concept { --section-space: 52px; }
  .photo-concept .section-kicker { margin-bottom: 27px; }
  .photo-concept .section-heading { margin-bottom: 32px; }
  .photo-concept .awards-strip { grid-template-columns: 44px minmax(0, 1fr); gap: 18px; padding-top: 24px; padding-bottom: 36px; }
  .photo-concept .award-symbol { font-size: 44px; }
  .photo-concept .awards-strip .button { grid-column: 2; justify-self: start; }
  .photo-concept .awards-strip h2 { font-size: 28px; }
  .photo-concept .instagram-section { padding-bottom: 46px; }
  .photo-concept .team-section { padding-top: 32px; padding-bottom: 52px; }
  .photo-concept .team-section h2 { font-size: 57px; }
  .photo-concept .salon-mini { margin-top: 34px; }
  .cohesion-scissors { width: 29px; height: 29px; }
  .cohesion-thread-base { stroke-width: .9; opacity: .18; }
  .cohesion-thread-progress { stroke-width: 1; opacity: .52; }
}
@media (prefers-reduced-motion: reduce) {
  .cohesion-scissors { display: none; }
  .cohesion-thread-progress { stroke-dashoffset: 0 !important; opacity: .32; }
}
