:root {
  --ss-black: #070604;
  --ss-ink: #0c0a07;
  --ss-ivory: #f6f0e4;
  --ss-gold: #d5a341;
  --ss-gold-light: #f3d590;
  --ss-line: rgba(246, 240, 228, 0.18);
  --ss-ease: cubic-bezier(.16, 1, .3, 1);
}

html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 2rem; }
body { margin: 0; background: var(--ss-black); color: var(--ss-ivory); font-family: Manrope, sans-serif; }
a { color: inherit; }
.ss-skip { position: fixed; top: 1rem; left: 1rem; z-index: 100; padding: .75rem 1rem; background: var(--ss-ivory); color: var(--ss-black); transform: translateY(-160%); }
.ss-skip:focus { transform: translateY(0); }
[hidden] { display: none !important; }
.ss-menu-open { overflow: hidden; }

.ss-hero { position: relative; height: 175svh; min-height: 900px; overflow: clip; background: var(--ss-black); }
.ss-intro { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; overflow: hidden; background: #000; opacity: 1; visibility: visible; transition: opacity 1.35s var(--ss-ease), visibility 0s 1.35s; }
.ss-intro::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at center, transparent 23%, rgba(0,0,0,.16) 58%, rgba(0,0,0,.72) 100%); pointer-events: none; }
.ss-intro__video { width: 100%; height: 100%; object-fit: cover; background: #000; transform: scale(1.015); transition: transform 1.5s var(--ss-ease), filter 1.3s ease; }
.ss-intro__veil { position: absolute; inset: 0; background: radial-gradient(circle at 50% 51%, rgba(225,171,62,.12), transparent 38%); mix-blend-mode: screen; opacity: .75; pointer-events: none; }
.ss-intro__skip { position: absolute; z-index: 2; right: clamp(1.25rem,3vw,2.75rem); bottom: clamp(2rem,4vh,3.5rem); padding: .72rem 1rem; border: 1px solid rgba(235,194,105,.52); border-radius: 100px; background: rgba(7,6,4,.34); color: var(--ss-gold-light); font: 600 .63rem/1 Manrope,sans-serif; letter-spacing: .14em; text-transform: uppercase; backdrop-filter: blur(10px); cursor: pointer; transition: background .25s, color .25s, border-color .25s; }
.ss-intro__skip:hover, .ss-intro__skip:focus-visible { background: var(--ss-gold); color: #0d0903; border-color: var(--ss-gold); outline: none; }
.ss-intro__progress { position: absolute; z-index: 2; left: clamp(1.25rem,3vw,2.75rem); right: clamp(1.25rem,3vw,2.75rem); bottom: 1rem; height: 1px; background: rgba(246,240,228,.15); }
.ss-intro__progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,var(--ss-gold),var(--ss-gold-light)); transform: scaleX(0); transform-origin: left; }
.ss-intro.is-exiting { opacity: 0; visibility: hidden; }
.ss-intro.is-exiting .ss-intro__video { transform: scale(1.18); filter: brightness(1.3) blur(3px); }
.ss-intro.is-complete { display: none; }
.ss-intro-active { overflow: hidden; }
.ss-hero__pin { position: sticky; top: 0; height: 100svh; min-height: 650px; overflow: hidden; isolation: isolate; perspective: 1100px; }
.ss-scene, .ss-layer { position: absolute; inset: 0; width: 100%; height: 100%; }
.ss-scene { z-index: -1; overflow: hidden; transform-style: preserve-3d; background: var(--ss-black); }
.ss-layer { pointer-events: none; user-select: none; translate: var(--ss-px, 0) var(--ss-py, 0); will-change: transform, opacity; }
.ss-layer--background { object-fit: cover; object-position: center; transform: scale(1.1); filter: brightness(.72) contrast(1.08) saturate(.82); }
.ss-layer--vignette { background: linear-gradient(90deg, rgba(3,2,1,.9) 0%, rgba(3,2,1,.6) 29%, rgba(3,2,1,.12) 56%, rgba(3,2,1,.48) 100%), radial-gradient(circle at 61% 56%, transparent 0 23%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.58) 100%), linear-gradient(0deg, rgba(0,0,0,.68), transparent 43%); }
.ss-layer--rays { width: 82vw; height: 82vw; inset: -23vw auto auto 28vw; object-fit: contain; opacity: 0; mix-blend-mode: screen; }
.ss-layer--particles { width: 72vw; height: 72vw; inset: auto -8vw -36vw auto; object-fit: contain; opacity: .07; mix-blend-mode: screen; }
.ss-layer--floor { z-index: 0; width: 100vw; height: auto; inset: auto 0 -34vw 0; opacity: .62; object-fit: contain; }
.ss-layer--shadow { z-index: 1; width: 49vw; height: auto; inset: auto 24vw -4vw auto; object-fit: contain; opacity: .28; filter: sepia(1) saturate(.65) brightness(.25); }
.ss-layer--smoke { width: 72vw; height: 72vw; inset: auto 9vw -36vw auto; object-fit: contain; opacity: .31; mix-blend-mode: screen; }
.ss-layer--donald-glow { z-index: 1; inset: 16vh 23vw auto auto; width: min(37vw, 525px); height: 61vh; background: radial-gradient(ellipse at 48% 33%, rgba(228,176,75,.2), rgba(180,117,26,.07) 36%, transparent 72%); filter: blur(25px); opacity: .64; }
.ss-layer--donald { z-index: 2; opacity: 0; overflow: visible; transform-style: preserve-3d; }
.ss-layer--donald img { position: absolute; width: min(34vw, 490px); height: 64vh; inset: 17vh 26vw auto auto; object-fit: contain; object-position: center top; filter: brightness(.88) contrast(1.06) saturate(.84) drop-shadow(-5px 0 0 rgba(221,165,66,.14)) drop-shadow(0 2rem 2.5rem rgba(0,0,0,.76)); transform-origin: 50% 58%; animation: ssDonaldBreath 9.4s 1.3s ease-in-out infinite; }
.ss-layer--chair { z-index: 3; width: min(67vw, 1010px); height: min(91vh, 955px); inset: auto 10vw -6vh auto; object-fit: contain; object-position: center bottom; transform-origin: 53% 82%; opacity: 0; filter: brightness(1.06) contrast(1.04) saturate(1.02) drop-shadow(0 2.5rem 2.4rem rgba(0,0,0,.72)); }
.ss-layer--chair-light { z-index: 4; inset: 12vh 5vw auto auto; width: min(58vw, 870px); height: 78vh; background: linear-gradient(118deg, transparent 29%, rgba(255,220,148,.09) 47%, transparent 60%); mix-blend-mode: screen; opacity: .52; filter: blur(10px); animation: ssChairLight 9s ease-in-out infinite; }
.ss-layer--clippers { z-index: 5; width: clamp(100px, 10vw, 170px); height: auto; object-fit: contain; opacity: .84; filter: drop-shadow(0 1.5rem 1rem rgba(0,0,0,.7)); }
.ss-layer--clippers-left { inset: 18vh auto auto 29vw; rotate: -24deg; animation: ssFloatLeft 10s ease-in-out infinite; }
.ss-layer--clippers-right { inset: 19vh 18vw auto auto; rotate: 20deg; animation: ssFloatRight 11s -2.3s ease-in-out infinite; }
.ss-layer--scissors { z-index: 5; width: clamp(120px, 13vw, 220px); height: auto; inset: auto 12vw 11vh auto; object-fit: contain; rotate: -8deg; opacity: .78; filter: drop-shadow(0 1.5rem 1rem rgba(0,0,0,.72)); animation: ssFloatScissors 12s -4s ease-in-out infinite; }

.ss-nav { position: absolute; z-index: 10; top: 0; left: 0; right: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 104px; padding: .45rem clamp(1.25rem, 4vw, 4.5rem) 1.2rem; border-bottom: 1px solid rgba(213,163,65,.2); background: linear-gradient(180deg, rgba(0,0,0,.84), rgba(0,0,0,.03)); opacity: 0; transform: translateY(-18px); }
.ss-brand { align-self: start; display: grid; place-items: start center; width: clamp(210px, 17vw, 260px); height: 108px; text-decoration: none; overflow: visible; transform: translateY(2px); }
.ss-brand__logo { display: block; width: clamp(210px, 17vw, 260px); height: auto; object-fit: contain; filter: contrast(1.11) brightness(1.08) drop-shadow(0 .8rem 1.35rem rgba(0,0,0,.8)); }
.ss-nav__links { display: flex; align-items: center; gap: clamp(1.2rem,2.6vw,3rem); }
.ss-nav__links--right { justify-content: flex-end; }
.ss-nav__links a { font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: color .25s; }
.ss-nav__links a:hover { color: var(--ss-gold-light); }
.ss-nav__cta { padding: .72rem 1rem; color: var(--ss-gold-light); border: 1px solid var(--ss-gold); border-radius: 100px; }
.ss-menu-toggle { position: relative; z-index: 13; display: none; width: 46px; height: 46px; padding: 0; border: 1px solid rgba(213,163,65,.48); border-radius: 50%; background: rgba(7,6,4,.76); color: var(--ss-ivory); cursor: pointer; }
.ss-menu-toggle > span[aria-hidden="true"] { position: absolute; left: 13px; width: 18px; height: 1px; background: currentColor; transition: transform .25s var(--ss-ease), top .25s var(--ss-ease); }
.ss-menu-toggle > span[aria-hidden="true"]:nth-of-type(2) { top: 18px; }
.ss-menu-toggle > span[aria-hidden="true"]:nth-of-type(3) { top: 26px; }
.ss-menu-toggle[aria-expanded="true"] > span[aria-hidden="true"]:nth-of-type(2) { top: 22px; transform: rotate(45deg); }
.ss-menu-toggle[aria-expanded="true"] > span[aria-hidden="true"]:nth-of-type(3) { top: 22px; transform: rotate(-45deg); }
.ss-menu-toggle:focus-visible { outline: 2px solid var(--ss-ivory); outline-offset: 4px; }
.ss-mobile-panel { position: absolute; z-index: 12; top: 82px; left: 0; right: 0; min-height: calc(100svh - 82px); padding: 2rem 1.25rem 3rem; background: rgba(5,4,3,.98); border-top: 1px solid rgba(213,163,65,.24); overflow-y: auto; }
.ss-mobile-menu { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.ss-mobile-menu li { border-bottom: 1px solid rgba(246,240,228,.12); }
.ss-mobile-menu a { display: block; padding: 1.15rem .25rem; color: var(--ss-ivory); font: 500 clamp(1.8rem,8vw,3rem)/1 Cormorant Garamond,Georgia,serif; text-decoration: none; }
.ss-mobile-panel__cta { display: flex; justify-content: center; margin-top: 2rem; padding: 1rem 1.25rem; border: 1px solid var(--ss-gold); border-radius: 999px; color: var(--ss-gold-light); font-size: .72rem; font-weight: 600; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }

.ss-copy { position: absolute; z-index: 4; left: clamp(1.25rem, 6.4vw, 7rem); top: 49%; width: min(34vw, 515px); transform: translateY(-43%); }
.ss-copy__eyebrow { margin: 0 0 1.55rem; color: var(--ss-gold-light); font-size: clamp(.68rem, .9vw, .8rem); font-weight: 600; letter-spacing: .28em; text-transform: uppercase; opacity: 0; transform: translateY(18px); }
.ss-copy__title { display: grid; justify-items: start; max-width: 10ch; margin: 0; color: var(--ss-ivory); font-family: Cormorant Garamond, Georgia, serif; font-size: clamp(3.8rem, 5.8vw, 6.9rem); font-weight: 600; line-height: .76; letter-spacing: -.06em; text-transform: uppercase; opacity: 0; transform: translateY(45px); }
.ss-copy__title span { white-space: nowrap; }
.ss-copy__title em { z-index: 1; margin: -.08em 0 -.08em 1.42em; color: var(--ss-gold); font: italic 500 1.02em/.9 Cormorant Garamond, serif; letter-spacing: -.045em; text-transform: none; transform: rotate(-3deg); }
.ss-copy__body { max-width: 31rem; margin: 2.15rem 0 2.3rem; color: rgba(246,240,228,.72); font-size: clamp(.9rem, 1.15vw, 1.05rem); line-height: 1.75; opacity: 0; transform: translateY(25px); }
.ss-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 2.5rem; min-width: min(100%, 245px); padding: 1rem 1.15rem 1rem 1.35rem; background: var(--ss-gold); color: #110c05; font-size: .72rem; font-weight: 600; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; opacity: 0; transform: translateY(25px); transition: background .35s, color .35s, transform .35s var(--ss-ease); }
.ss-button:hover, .ss-button:focus-visible { background: var(--ss-ivory); transform: translateY(-3px) !important; }
.ss-button:focus-visible, .ss-nav__cta:focus-visible, .ss-brand:focus-visible, .ss-text-link:focus-visible, .ss-subnav a:focus-visible, .ss-footer a:focus-visible { outline: 2px solid var(--ss-ivory); outline-offset: 5px; }
.ss-scroll-cue { position: absolute; z-index: 5; left: clamp(1.25rem, 5vw, 5.5rem); bottom: 2rem; margin: 0; color: rgba(246,240,228,.55); font-size: .61rem; letter-spacing: .2em; text-transform: uppercase; writing-mode: vertical-rl; }
.ss-progress { position: absolute; z-index: 5; right: clamp(1.25rem, 3vw, 2.5rem); top: 27vh; bottom: 27vh; width: 1px; background: var(--ss-line); }
.ss-progress span { position: absolute; inset: 0; background: var(--ss-gold); transform: scaleY(0); transform-origin: top; }

.ss-ready .ss-nav { animation: ssReveal .9s .15s var(--ss-ease) forwards; }
.ss-ready .ss-layer--donald { animation: ssDonaldReveal 1.1s .38s var(--ss-ease) forwards; }
.ss-ready .ss-layer--chair { animation: ssChairReveal 1.15s .62s var(--ss-ease) both; }
.ss-ready .ss-layer--rays { animation: ssLightReveal 1.35s .82s var(--ss-ease) forwards; }
.ss-ready .ss-copy__eyebrow { animation: ssReveal .8s .94s var(--ss-ease) forwards; }
.ss-ready .ss-copy__title { animation: ssReveal 1.15s 1.05s var(--ss-ease) forwards; }
.ss-ready .ss-copy__body { animation: ssReveal .9s 1.22s var(--ss-ease) forwards; }
.ss-ready .ss-button { animation: ssReveal .9s 1.36s var(--ss-ease) forwards; }
@keyframes ssReveal { to { opacity: 1; transform: translateY(0); } }
@keyframes ssDonaldReveal { from { opacity: 0; transform: translate3d(0,28px,-55px); } to { opacity: .72; transform: translate3d(0,0,-35px); } }
@keyframes ssDonaldBreath { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-5px) scale(1.008); } }
@keyframes ssChairReveal { from { opacity: 0; transform: translateY(65px) scale(.93); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes ssLightReveal { from { opacity: 0; } to { opacity: .12; } }
@keyframes ssFloatLeft { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(-5px,12px,0); } }
@keyframes ssFloatRight { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(8px,-13px,0); } }
@keyframes ssFloatScissors { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(-8px,-11px,0); } }
@keyframes ssChairLight { 0%,100% { opacity: .32; transform: translateX(-1.5%); } 50% { opacity: .62; transform: translateX(2%); } }

@media (max-width: 900px) {
  .ss-hero { height: 145svh; }
  .ss-hero__pin { min-height: 620px; }
	  .ss-nav { display: flex; justify-content: center; min-height: 82px; }
  .ss-intro__video { object-fit: cover; }
  .ss-intro__skip { right: 50%; bottom: 2.25rem; translate: 50% 0; white-space: nowrap; }
	  .ss-nav__links { display: none; }
	  .ss-menu-toggle { position: absolute; top: 18px; right: 1.25rem; display: block; }
  .ss-brand { width: 182px; height: 82px; }
  .ss-brand__logo { width: 182px; height: auto; }
  .ss-copy { top: 18vh; left: 1.25rem; right: 1.25rem; width: auto; transform: none; text-align: center; }
  .ss-copy__eyebrow { margin-bottom: .8rem; }
  .ss-copy__title { max-width: none; justify-items: center; margin-inline: auto; font-size: clamp(3rem, 12.6vw, 5.7rem); line-height: .84; }
  .ss-copy__title em { margin-left: 0; }
  .ss-copy__body { max-width: 27rem; margin: 1.1rem auto 1.35rem; font-size: .88rem; line-height: 1.55; }
  .ss-layer--chair { width: min(116vw, 690px); height: 59vh; inset: auto -8vw -4vh auto; object-position: center bottom; }
  .ss-layer--floor { width: 145vw; right: -23vw; bottom: -26vw; }
  .ss-layer--shadow { width: 110vw; right: -5vw; bottom: -8vw; }
  .ss-layer--smoke { width: 130vw; height: 130vw; right: -30vw; bottom: -48vw; }
  .ss-layer--donald { display: none; }
  .ss-layer--donald-glow { display: none; }
  .ss-layer--chair-light { opacity: .3; }
  .ss-layer--rays { width: 130vw; height: 130vw; left: -10vw; top: -17vw; opacity: .14; }
  .ss-layer--particles { width: 130vw; height: 130vw; bottom: -42vw; right: -30vw; }
  .ss-layer--clippers-left { display: none; }
  .ss-layer--clippers-right { width: 27vw; inset: auto -6vw 22vh auto; opacity: .48; }
  .ss-layer--scissors { width: 28vw; left: -8vw; right: auto; bottom: 12vh; opacity: .45; }
  .ss-progress { display: none; }
  .ss-scroll-cue { display: none; }
}

@media (max-height: 740px) and (min-width: 901px) {
  .ss-copy__title { font-size: clamp(3.7rem, 6.5vw, 6.8rem); }
  .ss-copy__body { margin-block: 1.3rem 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ss-hero { height: 100svh; min-height: 620px; }
  .ss-layer, .ss-nav, .ss-copy > * { animation: none !important; transition: none !important; transform: none !important; }
  .ss-nav, .ss-copy > *, .ss-layer--donald { opacity: 1 !important; }
  .ss-layer--chair { opacity: 1 !important; }
  .ss-scroll-cue, .ss-progress { display: none; }
  .ss-intro { display: none !important; }
}

/* Full homepage */
.ss-site-content { position: relative; z-index: 1; overflow: hidden; background: #080705; }
.ss-section { width: min(100% - 3rem, 1380px); margin-inline: auto; padding-block: clamp(7rem, 12vw, 12rem); }
.ss-kicker { margin: 0 0 1.25rem; color: var(--ss-gold-light); font: 600 .7rem/1.4 Manrope,sans-serif; letter-spacing: .25em; text-transform: uppercase; }
.ss-section h2 { margin: 0; max-width: 12ch; font: 500 clamp(3.2rem,6vw,7rem)/.86 Cormorant Garamond,Georgia,serif; letter-spacing: -.055em; }
.ss-section p { color: rgba(246,240,228,.68); line-height: 1.8; }
.ss-marquee { overflow: hidden; border-block: 1px solid rgba(213,163,65,.24); background: #0c0a07; }
.ss-marquee__track { display: flex; align-items: center; width: max-content; padding: 1.6rem 0; animation: ssMarquee 28s linear infinite; }
.ss-marquee span { color: var(--ss-ivory); font: italic 500 clamp(2.4rem,4vw,4.8rem)/1 Cormorant Garamond,serif; }
.ss-marquee i { width: .38rem; height: .38rem; margin-inline: clamp(2rem,4vw,5rem); border-radius: 50%; background: var(--ss-gold); box-shadow: 0 0 1rem rgba(213,163,65,.65); }
@keyframes ssMarquee { to { transform: translateX(-50%); } }
.ss-about { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(340px,.78fr); gap: clamp(4rem,10vw,10rem); align-items: center; }
.ss-about__portrait { position: relative; min-height: min(78vw,900px); overflow: hidden; background: #13100c; }
.ss-about__portrait::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 56%,rgba(5,4,3,.65)); pointer-events:none; }
.ss-about__portrait img { width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: 52% 30%; filter: contrast(1.04) saturate(.82); transition: transform 1.2s var(--ss-ease); }
.ss-about__portrait:hover img { transform: scale(1.035); }
.ss-about__copy { max-width: 590px; }
.ss-about__copy h2 { max-width: 9ch; }
.ss-about__copy .ss-lede { margin-top: 2.5rem; color: var(--ss-ivory); font: 500 clamp(1.35rem,2vw,2rem)/1.4 Cormorant Garamond,serif; }
.ss-text-link { display: inline-flex; gap: 2rem; align-items: center; margin-top: 1.5rem; padding-bottom: .5rem; color: var(--ss-gold-light); border-bottom: 1px solid var(--ss-gold); text-decoration: none; text-transform: uppercase; font-size: .7rem; letter-spacing: .15em; }
.ss-services { border-top: 1px solid rgba(246,240,228,.13); }
.ss-section-head { display: flex; justify-content: space-between; gap: 3rem; align-items: end; margin-bottom: clamp(4rem,7vw,7rem); }
.ss-section-head h2 { max-width: 11ch; }
.ss-service-rail { display: flex; min-height: 560px; border: 1px solid rgba(213,163,65,.22); }
.ss-service { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: end; min-width: 0; padding: clamp(1.5rem,3vw,3rem); overflow: hidden; border-right: 1px solid rgba(213,163,65,.18); background-color:#0e0c09; background-image:linear-gradient(180deg,rgba(5,4,3,.7),rgba(7,6,4,.93) 72%),var(--ss-service-image); background-size:cover; background-position:center; transition:flex .85s var(--ss-ease),background-position 1.1s var(--ss-ease); }
.ss-service:last-child { border-right: 0; }
.ss-service::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.26),rgba(6,5,3,.86)),radial-gradient(circle at 50% 85%,rgba(213,163,65,.22),transparent 56%); opacity:.8; transition:opacity .5s; }
.ss-service.is-active { flex:2.35; background-position:center 42%; }
.ss-service.is-active::before { opacity:1; }
.ss-service--signature { --ss-service-image:url('../images/portfolio/classic-slick-back.webp'); }
.ss-service--fade { --ss-service-image:url('../images/portfolio/beard-detail.webp'); }
.ss-service--beard { --ss-service-image:url('../images/portfolio/beard-detail.webp'); }
.ss-service--full { --ss-service-image:url('../images/portfolio/curly-taper.webp'); }
.ss-service span { position:absolute; top:2rem; color:rgba(246,240,228,.28); font-size:.7rem; letter-spacing:.2em; }
.ss-service h3 { position:relative; margin:0; max-width:8ch; font:500 clamp(2rem,3.8vw,4.8rem)/.9 Cormorant Garamond,serif; }
.ss-service p { position:relative; max-width:28rem; margin:1.4rem 0 0; opacity:0; transform:translateY(12px); transition:opacity .45s .15s,transform .45s .15s; }
.ss-service.is-active p { opacity:1; transform:none; }
.ss-service-menu { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(213,163,65,.26); }
.ss-service-item { position:relative; display:grid; grid-template-columns:auto 1fr auto; gap:clamp(1rem,2.5vw,2.5rem); min-height:220px; padding:clamp(1.5rem,3vw,3rem); border-right:1px solid rgba(213,163,65,.22); border-bottom:1px solid rgba(213,163,65,.22); background:#0d0b08; transition:background .4s,transform .45s var(--ss-ease); }
.ss-service-item:nth-child(even) { border-right:0; }
.ss-service-item:hover { z-index:1; background:#131008; transform:translateY(-3px); }
.ss-service-item > span { color:rgba(246,240,228,.28); font-size:.65rem; letter-spacing:.16em; }
.ss-service-item h3 { max-width:12ch; margin:0; font:500 clamp(2rem,3.4vw,4rem)/.88 Cormorant Garamond,Georgia,serif; letter-spacing:-.035em; }
.ss-service-item p { max-width:35rem; margin:1rem 0 0; color:rgba(246,240,228,.58); line-height:1.65; }
.ss-service-item > strong { display:grid; align-content:start; justify-items:end; color:var(--ss-gold-light); font:500 clamp(1.5rem,2.5vw,2.4rem)/1 Cormorant Garamond,serif; }
.ss-service-item strong small { margin-top:.55rem; color:rgba(246,240,228,.48); font:600 .6rem Manrope,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.ss-service-item--featured { background:radial-gradient(circle at 75% 25%,rgba(213,163,65,.2),transparent 45%),#110e09; }
.ss-service-tag { margin:0 0 .8rem !important; color:var(--ss-gold-light) !important; font-size:.58rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.ss-services > .ss-text-link { margin-top:2.25rem; }
.ss-craft { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(4rem,9vw,9rem); align-items:center; }
.ss-craft__copy { position:sticky; top:18vh; align-self:start; }
.ss-craft__copy h2 { max-width:7ch; }
.ss-craft__media { position:relative; height:min(80vh,940px); overflow:hidden; background:#111; }
.ss-craft video { width:100%; height:100%; object-fit:cover; filter:saturate(.72) contrast(1.08); }
.ss-media-control { position:absolute; right:1.25rem; bottom:1.25rem; z-index:2; display:inline-flex; align-items:center; gap:.7rem; padding:.8rem 1rem; border:1px solid rgba(243,213,144,.72); border-radius:999px; background:rgba(7,6,4,.78); color:var(--ss-ivory); font:600 .65rem/1 Manrope,sans-serif; letter-spacing:.12em; text-transform:uppercase; backdrop-filter:blur(10px); cursor:pointer; }
.ss-media-control:hover,.ss-media-control:focus-visible { background:var(--ss-gold); color:#110c05; outline:2px solid var(--ss-ivory); outline-offset:3px; }
.ss-work { border-top:1px solid rgba(246,240,228,.13); }
.ss-section-head--split > p { max-width:34rem; margin:0; }
.ss-work-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-flow:dense; gap:1.25rem; }
.ss-work-card { position:relative; grid-column:span 5; height:clamp(420px,54vw,720px); margin:0; overflow:hidden; background:#15120e; }
.ss-work-card:nth-child(4n+1),.ss-work-card:nth-child(4n+4) { grid-column:span 7; }
.ss-work-card img { width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ss-ease),filter .8s; }
.ss-work-card:hover img { transform:scale(1.045); filter:brightness(.72); }
.ss-work-card figcaption { position:absolute; inset:auto 0 0; display:flex; justify-content:space-between; padding:4rem 1.5rem 1.5rem; background:linear-gradient(transparent,rgba(0,0,0,.86)); opacity:0; transform:translateY(10px); transition:.45s; }
.ss-work-card:hover figcaption { opacity:1; transform:none; }
.ss-work-card figcaption small { color:var(--ss-gold-light); text-transform:uppercase; letter-spacing:.12em; }
.ss-reviews { border-top:1px solid rgba(246,240,228,.13); }
.ss-reviews .ss-section-head { align-items:end; }
.ss-reviews .ss-section-head .ss-text-link { margin-top:0; }
.ss-review-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; grid-auto-flow:dense; gap:1px; background:rgba(213,163,65,.22); border:1px solid rgba(213,163,65,.22); }
.ss-review { position:relative; min-height:310px; display:flex; flex-direction:column; justify-content:space-between; gap:2rem; margin:0; padding:clamp(1.75rem,3vw,3rem); overflow:hidden; background:#0d0b08; opacity:0; transform:translate3d(var(--ss-review-x,0),calc(38px + var(--ss-review-y,0)),0) scale(.975); transition:opacity .85s var(--ss-ease),transform .85s var(--ss-ease),background .45s,box-shadow .45s; transition-delay:var(--ss-review-delay,0s); will-change:transform; }
.ss-reviews.is-visible .ss-review { opacity:1; transform:translate3d(var(--ss-review-x,0),var(--ss-review-y,0),0) scale(1); }
.ss-review:nth-child(1) { --ss-review-delay:.12s; }
.ss-review:nth-child(2) { --ss-review-delay:.22s; }
.ss-review:nth-child(3) { --ss-review-delay:.32s; }
.ss-review:nth-child(4) { --ss-review-delay:.42s; }
.ss-review:nth-child(5) { --ss-review-delay:.52s; }
.ss-review:hover,.ss-review:focus-within { transform:translate3d(var(--ss-review-x,0),calc(var(--ss-review-y,0) - 5px),0) scale(1.008); box-shadow:0 1.5rem 4rem rgba(0,0,0,.35),inset 0 0 0 1px rgba(213,163,65,.34); }
.ss-review--featured { grid-row:span 2; min-height:621px; background:radial-gradient(circle at 28% 22%,rgba(213,163,65,.13),transparent 42%),#0d0b08; }
.ss-review--featured::after { content:''; position:absolute; inset:-55% -70%; background:linear-gradient(108deg,transparent 43%,rgba(244,205,124,.09) 49%,rgba(255,228,167,.18) 50%,rgba(244,205,124,.07) 52%,transparent 58%); transform:translateX(-38%); animation:ssReviewSweep 9s 1.5s ease-in-out infinite; pointer-events:none; }
@keyframes ssReviewSweep { 0%,28% { transform:translateX(-38%); opacity:0; } 42% { opacity:1; } 68%,100% { transform:translateX(38%); opacity:0; } }
.ss-stars { color:#c9ff42; font-size:.75rem; letter-spacing:.18em; }
.ss-review > p { margin:0; color:var(--ss-ivory); font:500 clamp(1.45rem,2vw,2.15rem)/1.3 Cormorant Garamond,Georgia,serif; }
.ss-review--featured > p { font-size:clamp(2.1rem,3.5vw,4.5rem); line-height:1.03; letter-spacing:-.025em; }
.ss-review footer { display:flex; justify-content:space-between; gap:1rem; align-items:end; padding-top:1.5rem; border-top:1px solid rgba(246,240,228,.12); }
.ss-review footer strong { font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; }
.ss-review footer span { color:rgba(246,240,228,.7); font-size:.67rem; }
.ss-book { position:relative; width:min(100% - 3rem,1380px); min-height:78vh; display:grid; place-items:center; overflow:hidden; text-align:center; }
.ss-book > img,.ss-book__shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ss-book > img { object-position:center 37%; filter:saturate(.68) contrast(1.06); }
.ss-book__shade { background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.3),rgba(0,0,0,.72)),linear-gradient(0deg,rgba(0,0,0,.75),transparent); }
.ss-book__content { position:relative; z-index:1; display:grid; justify-items:center; }
.ss-book h2 { max-width:10ch; }
.ss-book .ss-button { margin-top:2.5rem; opacity:1; transform:none; }
.ss-visit { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(3rem,8vw,8rem); border-top:1px solid rgba(246,240,228,.13); }
.ss-visit h2 { max-width:8ch; }
.ss-visit__details { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(213,163,65,.22); border-left:1px solid rgba(213,163,65,.22); }
.ss-visit__details > * { display:flex; flex-direction:column; gap:.75rem; min-width:0; padding:clamp(1.4rem,2.5vw,2.5rem); border-right:1px solid rgba(213,163,65,.22); border-bottom:1px solid rgba(213,163,65,.22); color:inherit; text-decoration:none; background:#0c0a07; transition:background .35s; }
.ss-visit__details a:hover { background:#151008; }
.ss-visit__details small { color:var(--ss-gold-light); font-size:.58rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.ss-visit__details strong { overflow-wrap:anywhere; font:500 clamp(1.2rem,2vw,1.75rem)/1.25 Cormorant Garamond,Georgia,serif; }
.ss-visit__details span { color:rgba(246,240,228,.48); font-size:.68rem; line-height:1.5; }
.ss-footer { display:grid; grid-template-columns:1fr auto; gap:3rem; padding:clamp(4rem,7vw,7rem); border-top:1px solid rgba(213,163,65,.2); background:#040302; }
.ss-footer__brand img { width:220px; height:auto; }
.ss-footer > p { max-width:34rem; color:rgba(246,240,228,.58); }
.ss-footer__nav-wrap { grid-column:2; grid-row:1/3; display:grid; align-content:start; gap:2rem; }
.ss-footer-menu { display:grid; gap:1rem; margin:0; padding:0; list-style:none; }
.ss-footer__social { display:flex; flex-wrap:wrap; gap:1.25rem; }
.ss-footer nav a,.ss-footer__bottom a { color:var(--ss-ivory); text-decoration:none; }
.ss-footer__bottom { grid-column:1/-1; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding-top:2rem; border-top:1px solid rgba(246,240,228,.12); color:rgba(246,240,228,.48); font-size:.72rem; }
.ss-footer__bottom > a { justify-self:end; }
.ss-footer__forge { display:flex; align-items:center; justify-content:center; gap:.55rem; color:rgba(246,240,228,.72); font-size:.58rem; letter-spacing:.13em; text-transform:uppercase; white-space:nowrap; }
.ss-footer__forge img { width:42px; height:28px; object-fit:contain; opacity:.62; }
[data-reveal-section] { opacity:0; transform:translateY(45px); transition:opacity 1s var(--ss-ease),transform 1s var(--ss-ease); }
[data-reveal-section].is-visible { opacity:1; transform:none; }
.ss-media-reveal { opacity:0; transform:scale(.94); transition:opacity 1s var(--ss-ease),transform 1.1s var(--ss-ease); }
.ss-media-reveal.is-visible { opacity:1; transform:scale(1); }
@media (max-width:900px) {
  .ss-section { width:min(100% - 2.25rem,1380px); padding-block:6rem; }
  .ss-about,.ss-craft { grid-template-columns:1fr; gap:3rem; }
  .ss-about__portrait { min-height:125vw; }
  .ss-section-head,.ss-section-head--split { display:block; }
  .ss-section-head--split > p { margin-top:1.5rem; }
  .ss-service-rail { display:grid; min-height:0; }
  .ss-service { min-height:240px; border-right:0; border-bottom:1px solid rgba(213,163,65,.18); }
  .ss-service p { opacity:1; transform:none; }
  .ss-service-menu { grid-template-columns:1fr; }
  .ss-service-item,.ss-service-item:nth-child(even) { min-height:0; border-right:0; }
  .ss-service-item { grid-template-columns:auto 1fr; }
  .ss-service-item > strong { grid-column:2; justify-items:start; }
  .ss-craft__copy { position:static; }
  .ss-craft__media { height:115vw; }
  .ss-work-card,.ss-work-card:nth-child(n) { grid-column:span 12; height:118vw; }
  .ss-work-card figcaption { opacity:1; transform:none; }
  .ss-review-grid { grid-template-columns:1fr; }
  .ss-review,.ss-review--featured { grid-row:auto; min-height:auto; }
  .ss-review--featured > p { font-size:clamp(2rem,9vw,3.2rem); }
  .ss-book { width:calc(100% - 2.25rem); min-height:72vh; }
  .ss-visit { grid-template-columns:1fr; }
  .ss-visit__details { grid-template-columns:1fr; }
  .ss-footer { grid-template-columns:1fr; }
  .ss-footer__nav-wrap { grid-column:1; grid-row:auto; }
  .ss-footer__bottom { grid-template-columns:1fr auto; gap:1.25rem; }
  .ss-footer__forge { grid-column:1/-1; grid-row:2; }
}
@media (prefers-reduced-motion:reduce) {
  .ss-marquee__track { animation:none; }
  [data-reveal-section],.ss-media-reveal { opacity:1; transform:none; }
  .ss-review { opacity:1; transform:none !important; transition:none; }
  .ss-review--featured::after { animation:none; display:none; }
}

/* Gallery and Donald pages */
.ss-subnav { position:relative; z-index:20; display:flex; align-items:center; justify-content:space-between; min-height:112px; padding:.5rem clamp(1.25rem,5vw,5rem); border-bottom:1px solid rgba(213,163,65,.22); background:rgba(4,3,2,.96); }
.ss-subnav__brand img { display:block; width:190px; height:auto; }
.ss-subnav__desktop { display:flex; align-items:center; gap:clamp(1rem,2.5vw,2.75rem); }
.ss-subnav__desktop a { font-size:.65rem; font-weight:600; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.ss-subnav__desktop a:hover { color:var(--ss-gold-light); }
.ss-subnav__cta { padding:.75rem 1.05rem; border:1px solid var(--ss-gold); border-radius:100px; color:var(--ss-gold-light); }
.ss-inner-page { min-height:80vh; background:radial-gradient(circle at 72% 12%,rgba(213,163,65,.1),transparent 28%),#080705; }
.ss-page-hero { width:min(100% - 3rem,1380px); margin:auto; padding:clamp(7rem,11vw,11rem) 0 clamp(5rem,8vw,8rem); border-bottom:1px solid rgba(246,240,228,.12); }
.ss-page-hero h1,.ss-about-story h1 { max-width:9ch; margin:0; font:500 clamp(4.3rem,9vw,10rem)/.76 Cormorant Garamond,Georgia,serif; letter-spacing:-.065em; }
.ss-page-hero > p:last-child { max-width:42rem; margin:2.5rem 0 0; color:rgba(246,240,228,.66); font-size:1.05rem; line-height:1.8; }
.ss-gallery-grid { width:min(100% - 3rem,1380px); display:grid; grid-template-columns:repeat(12,1fr); grid-auto-flow:dense; gap:1.25rem; margin:auto; padding:1.25rem 0 clamp(7rem,11vw,11rem); }
.ss-feature-film { width:min(100% - 3rem,1380px); display:grid; grid-template-columns:minmax(280px,.72fr) minmax(360px,1.28fr); gap:clamp(3rem,8vw,8rem); align-items:center; margin:auto; padding:clamp(5rem,8vw,8rem) 0; border-bottom:1px solid rgba(246,240,228,.12); }
.ss-feature-film__copy h2 { max-width:9ch; margin:0; font:500 clamp(3rem,5.6vw,6rem)/.86 Cormorant Garamond,Georgia,serif; letter-spacing:-.05em; }
.ss-feature-film__copy > p:last-child { max-width:27rem; color:rgba(246,240,228,.62); line-height:1.75; }
.ss-feature-film__media { position:relative; min-height:min(78vh,860px); overflow:hidden; display:grid; place-items:center; background:radial-gradient(circle,rgba(213,163,65,.13),transparent 55%),#0c0a07; border:1px solid rgba(213,163,65,.22); }
.ss-feature-film__media::before { content:'Transformation 01'; position:absolute; top:1.2rem; left:1.2rem; z-index:1; color:var(--ss-gold-light); font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; }
.ss-feature-film video { display:block; width:auto; max-width:100%; height:min(78vh,860px); background:#000; object-fit:contain; }
.ss-gallery-card { position:relative; grid-column:span 5; min-height:clamp(420px,58vw,780px); margin:0; overflow:hidden; background:#15120e; }
.ss-gallery-card:nth-child(4n+1),.ss-gallery-card:nth-child(4n+4) { grid-column:span 7; }
.ss-gallery-card > a { position:absolute; inset:0; display:block; color:inherit; text-decoration:none; }
.ss-gallery-card img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; filter:saturate(.86) contrast(1.03); transition:transform 1s var(--ss-ease),filter .6s; }
.ss-gallery-card:hover img,.ss-gallery-card:focus-within img { transform:scale(1.04); filter:saturate(1) brightness(.72); }
.ss-gallery-card > a > div { position:absolute; inset:auto 0 0; display:flex; justify-content:space-between; align-items:end; gap:2rem; padding:7rem 1.5rem 1.5rem; background:linear-gradient(transparent,rgba(0,0,0,.88)); opacity:0; transform:translateY(12px); transition:.45s; }
.ss-gallery-card:hover > a > div,.ss-gallery-card:focus-within > a > div { opacity:1; transform:none; }
.ss-gallery-card > a:focus-visible { outline:3px solid var(--ss-gold-light); outline-offset:-3px; }
.ss-gallery-card span { color:var(--ss-gold-light); font-size:.65rem; letter-spacing:.15em; }
.ss-gallery-card h2 { margin:0; font:500 clamp(1.7rem,3vw,3rem)/.9 Cormorant Garamond,serif; }
.ss-about-story { width:min(100% - 3rem,1380px); display:grid; grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr); gap:clamp(4rem,9vw,9rem); align-items:center; margin:auto; padding:clamp(5rem,9vw,9rem) 0 clamp(8rem,12vw,12rem); }
.ss-about-story__portrait { position:relative; min-height:min(78vw,940px); overflow:hidden; background:#100d09; }
.ss-about-story__portrait::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 64%,rgba(0,0,0,.55)); }
.ss-about-story__portrait img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:52% 28%; filter:saturate(.82) contrast(1.04); }
.ss-about-story__lede { color:var(--ss-ivory); font:500 clamp(1.35rem,2vw,2rem)/1.4 Cormorant Garamond,serif; }
.ss-about-story__copy > p:not(.ss-kicker) { max-width:40rem; margin-top:2rem; color:rgba(246,240,228,.68); line-height:1.85; }
.ss-about-facts { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:2.5rem 0; border:1px solid rgba(213,163,65,.23); background:rgba(213,163,65,.23); }
.ss-about-facts span { display:grid; gap:.65rem; padding:1.4rem; background:#0c0a07; font:500 1.25rem Cormorant Garamond,serif; }
.ss-about-facts small { color:var(--ss-gold-light); font:600 .59rem Manrope,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.ss-button--visible { opacity:1; transform:none; }
.ss-content-page { padding-bottom:clamp(6rem,10vw,10rem); }
.ss-entry__content,.ss-post-list,.ss-entry__featured,.ss-client-cut__image,.ss-entry__back,.navigation.pagination { width:min(100% - 3rem,920px); margin-inline:auto; }
.ss-entry__content { padding-top:clamp(3rem,6vw,6rem); color:rgba(246,240,228,.8); font-size:clamp(1rem,1.4vw,1.12rem); line-height:1.8; }
.ss-entry__content > *:first-child { margin-top:0; }
.ss-entry__content a,.ss-post-card a,.ss-archive-description a { color:var(--ss-gold-light); text-underline-offset:.2em; }
.ss-entry__featured,.ss-client-cut__image { margin-top:clamp(3rem,6vw,6rem); margin-bottom:0; }
.ss-entry__featured img,.ss-client-cut__image img { display:block; width:100%; height:auto; }
.ss-client-cut__image { max-width:760px; }
.ss-entry__back { margin-top:3rem; }
.ss-post-list { display:grid; gap:0; padding-top:2rem; }
.ss-post-card { padding:clamp(2rem,4vw,4rem) 0; border-bottom:1px solid rgba(246,240,228,.14); }
.ss-post-card h2 { margin:.5rem 0 1rem; font:500 clamp(2rem,4.5vw,4.5rem)/.95 Cormorant Garamond,Georgia,serif; }
.ss-post-card h2 a { color:var(--ss-ivory); text-decoration:none; }
.ss-post-card h2 a:hover { color:var(--ss-gold-light); }
.ss-post-card > p:last-child,.ss-archive-description { color:rgba(246,240,228,.72); line-height:1.75; }
.navigation.pagination { padding-top:3rem; }
.nav-links { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
.page-numbers { display:grid; min-width:2.7rem; min-height:2.7rem; place-items:center; padding:.45rem; border:1px solid rgba(213,163,65,.34); color:var(--ss-ivory); text-decoration:none; }
.page-numbers.current,.page-numbers:hover { background:var(--ss-gold); color:#110c05; }
.search-form { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.search-form label { flex:1 1 260px; }
.search-field { width:100%; padding:.9rem 1rem; border:1px solid rgba(213,163,65,.36); background:#0c0a07; color:var(--ss-ivory); }
.search-submit { padding:.9rem 1.2rem; border:1px solid var(--ss-gold); background:var(--ss-gold); color:#110c05; font-weight:700; cursor:pointer; }
.ss-error-page .ss-button { margin-top:2rem; }
@media (max-width:900px) {
  .ss-subnav { min-height:88px; }
  .ss-subnav__brand img { width:145px; }
  .ss-subnav__desktop { display:none; }
  .ss-subnav .ss-menu-toggle { position:relative; top:auto; right:auto; display:block; }
  .ss-mobile-panel--subnav { position:fixed; top:88px; }
  .ss-page-hero,.ss-gallery-grid,.ss-about-story { width:min(100% - 2.25rem,1380px); }
  .ss-feature-film { width:min(100% - 2.25rem,1380px); grid-template-columns:1fr; gap:2.5rem; }
  .ss-feature-film__media { min-height:0; }
  .ss-feature-film video { width:100%; height:auto; }
  .ss-gallery-card,.ss-gallery-card:nth-child(n) { grid-column:span 12; min-height:118vw; }
  .ss-gallery-card > a > div { opacity:1; transform:none; }
  .ss-about-story { grid-template-columns:1fr; gap:3rem; }
  .ss-about-story__portrait { min-height:125vw; }
  .ss-entry__content,.ss-post-list,.ss-entry__featured,.ss-client-cut__image,.ss-entry__back,.navigation.pagination { width:min(100% - 2.25rem,920px); }
}

/* Accessibility: preserve the dark footer while keeping secondary text legible. */
.ss-footer > p { color: rgba(246,240,228,.72); }
.ss-footer__bottom { color: rgba(246,240,228,.72); }

/* Performance: on small screens, prioritize immediate content over decorative motion. */
@media (max-width:700px) {
  .ss-layer--rays, .ss-layer--particles { display:none; }
  .ss-nav, .ss-layer--chair, .ss-copy > * { animation:none !important; opacity:1 !important; transform:none !important; }
}
