/* The three photographs share a canvas; only their motion differs. */
.silkens-site #masthead .custom-logo {width:190px; max-width:none; height:auto;}
.silkens-site #masthead .site-logo-img {padding-right:0;}
.silkens-site .entry-content > .sm-services {padding-top:40px;}
.sm-hero {background:#050505;}
.sm-hero-scene {position:absolute; inset:0; z-index:-3; overflow:hidden; pointer-events:none; filter:grayscale(1);}
.sm-hero-scene .sm-hero-layer {position:absolute; width:150%; aspect-ratio:1280/711; left:-2%; top:-145px; margin:0; will-change:transform;}
.sm-hero-layer img {width:100%; height:100%; max-width:none; object-fit:fill;}
.sm-hero-layer-background {z-index:0; transform:translate3d(0,var(--sm-coast-y,0px),0);}
.sm-hero-layer-diver {z-index:1; transform:translate3d(var(--sm-diver-x,0px),var(--sm-diver-y,0px),0);}
.sm-hero-scene .sm-hero-layer-rocks {z-index:2; transform:none; will-change:auto;}
.sm-hero::before {background:linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.8) 34%,rgba(0,0,0,.25) 63%,rgba(0,0,0,.16));}
.sm-hero::after {background:linear-gradient(0deg,rgba(5,5,5,.95),rgba(5,5,5,.25) 22%,transparent 50%);}
.sm-hero-container {padding-top:38px; padding-bottom:22px;}
.sm-hero-grid {grid-template-columns:minmax(0,1fr) 270px; min-height:0; gap:50px;}
.sm-hero-copy {max-width:650px; padding-bottom:28px;}
.silkens-site .entry-content .sm-brand-eyebrow {font-size:12px; margin-bottom:18px; color:#fdfdfd; opacity:.72; --sm-text-opacity:.72;}
.silkens-site .entry-content .sm-hero-title {font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; font-size:104px; font-weight:900; line-height:.94; margin-bottom:24px; text-transform:uppercase; color:#fdfdfd;}
.sm-title-line {display:block;}
.sm-title-line::after {display:none;}
.sm-title-line em {font-style:normal; font-weight:inherit; color:var(--sm-purple); text-decoration:none;}
.silkens-site .entry-content .sm-hero-lead {font-size:16px; line-height:1.6; max-width:47ch; margin-bottom:24px; color:#e4e4e4;}
.sm-practitioner {display:flex; align-items:center; gap:16px; padding-bottom:32px;}
.sm-practitioner .sm-portrait {width:96px; height:112px; flex:0 0 96px; aspect-ratio:auto; margin:0; border-radius:0;}
.sm-practitioner-copy {min-width:0;}
.sm-practitioner .sm-portrait img {filter:grayscale(1); object-position:50% 20%;}
.sm-practitioner .sm-eyebrow {display:none!important;}
.silkens-site .entry-content .sm-practitioner h2 {font-size:21px; margin-bottom:5px;}
.silkens-site .entry-content .sm-practitioner p {font-size:11px; line-height:1.5; margin-bottom:0;}
.silkens-site .entry-content .sm-practitioner .sm-text-link {margin-top:11px;}
.sm-hero-foot {padding-top:17px;}

@media (min-width:1600px) {
  .sm-hero-scene .sm-hero-layer {width:136%; top:-160px; left:0;}
}
@media (min-width:2200px) {
  .sm-hero-scene .sm-hero-layer {width:110%; left:4%; top:calc(200px - 16.75vw);}
  .sm-hero-scene .sm-hero-layer-background {left:0;}
}
@media (max-width:1150px) {
  .silkens-site .entry-content .sm-hero-title {font-size:86px;}
  .sm-hero-grid {grid-template-columns:minmax(0,1fr) 270px; gap:30px;}
  .sm-hero-scene .sm-hero-layer {width:165%; top:-75px; left:-8%;}
}
@media (max-width:921px) {
  .silkens-site #masthead .custom-logo {width:176px;}
  .silkens-site .entry-content .sm-hero-title {font-size:73px;}
  .sm-hero-grid {grid-template-columns:minmax(0,1fr) 245px; gap:24px;}
  .sm-practitioner {gap:12px;}
  .sm-practitioner .sm-portrait {width:80px; height:94px; flex-basis:80px;}
  .silkens-site .entry-content .sm-practitioner h2 {font-size:18px;}
  .sm-hero-scene .sm-hero-layer {width:185%; left:-20%; top:-40px;}
}
@media (max-width:700px) {
  .silkens-site #masthead .custom-logo {width:156px;}
  .silkens-site .entry-content > .sm-services {padding-top:30px;}
  .sm-hero-container {padding-top:28px; padding-bottom:18px;}
  .sm-hero-grid {display:block;}
  .sm-hero-copy {padding-bottom:22px;}
  .silkens-site .entry-content .sm-brand-eyebrow {font-size:10px; margin-bottom:18px;}
  .silkens-site .entry-content .sm-hero-title {font-size:56px; line-height:.96; margin-bottom:22px;}
  .silkens-site .entry-content .sm-hero-lead {font-size:15px; line-height:1.6; max-width:36ch; margin-bottom:22px;}
  .sm-hero-scene .sm-hero-layer {width:1080px; left:calc(50% - 680px); top:-30px;}
  .sm-hero-scene .sm-hero-layer-diver {width:185%; left:-16%; top:20px;}
  .sm-hero::before {background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.6) 56%,rgba(0,0,0,.24));}
  .sm-hero::after {background:linear-gradient(0deg,#050505,rgba(5,5,5,.7) 30%,transparent 76%);}
  .sm-practitioner {gap:14px; padding-bottom:19px;}
  .sm-practitioner .sm-portrait {width:80px; height:94px; flex-basis:80px;}
  .silkens-site .entry-content .sm-practitioner h2 {font-size:19px;}
  .silkens-site .entry-content .sm-practitioner p {font-size:11px;}
  .silkens-site .entry-content .sm-practitioner .sm-text-link {margin-top:7px;}
  .sm-hero-foot {padding-top:13px;}
}
@media (max-width:380px) {
  .silkens-site #masthead .custom-logo {width:143px;}
  .sm-hero-container {padding-top:24px; padding-bottom:15px;}
  .silkens-site .entry-content .sm-hero-title {font-size:46px; margin-bottom:20px;}
  .silkens-site .entry-content .sm-hero-lead {font-size:14px; line-height:1.6; margin-bottom:19px;}
  .sm-hero-copy {padding-bottom:18px;}
  .sm-hero-scene .sm-hero-layer-diver {top:10px; left:-16%;}
}
@media (min-width:701px) and (max-height:760px) {
  .sm-hero-container {padding-top:26px; padding-bottom:18px;}
  .silkens-site .entry-content .sm-brand-eyebrow {margin-bottom:14px;}
  .silkens-site .entry-content .sm-hero-title {font-size:78px; margin-bottom:18px;}
  .silkens-site .entry-content .sm-hero-lead {font-size:15px; margin-bottom:20px; max-width:55ch;}
  .sm-hero-copy {padding-bottom:20px;}
  .sm-hero-grid {min-height:0;}
  .sm-hero-scene .sm-hero-layer {top:-155px;}
}
@media (prefers-reduced-motion:no-preference) {
  .sm-hero-copy .sm-hero-title {animation:none;}
  .sm-hero-copy .sm-brand-eyebrow,
  .sm-hero-copy .sm-title-line {animation:sm-text-flicker-in 1.65s linear both;}
  .sm-hero-copy .sm-title-line:nth-child(1) {animation-delay:.08s;}
  .sm-hero-copy .sm-title-line:nth-child(2) {animation-delay:.16s;}
  .sm-hero-copy .sm-title-line:nth-child(3) {animation-delay:.24s;}
  .sm-hero-copy .sm-title-line:nth-child(4) {animation-delay:.32s;}
  /* Two soft pulses, once only; never a looping strobe. */
  @keyframes sm-text-flicker-in {
    0%, 8% {opacity:calc(var(--sm-text-opacity,1) * .08); filter:blur(9px); transform:translateY(5px);}
    18% {opacity:calc(var(--sm-text-opacity,1) * .84); filter:blur(1px); transform:translateY(1px);}
    25% {opacity:calc(var(--sm-text-opacity,1) * .42); filter:blur(4px); transform:translateY(1px);}
    38%, 48% {opacity:var(--sm-text-opacity,1); filter:blur(0); transform:none;}
    58% {opacity:calc(var(--sm-text-opacity,1) * .8); filter:blur(1.3px); transform:none;}
    72%, 100% {opacity:var(--sm-text-opacity,1); filter:blur(0); transform:none;}
  }
}
@media (prefers-reduced-motion:reduce) {
  .sm-hero-scene .sm-hero-layer {transform:none; will-change:auto;}
  .sm-hero-copy .sm-brand-eyebrow,
  .sm-hero-copy .sm-title-line {animation:none; filter:none; transform:none;}
}
