/* SML Scaling Group. Approved editorial desktop and mobile design. */
:root {
  --black: #080a09;
  --panel: #111412;
  --white: #f5f1e7;
  --muted: #b5b7ac;
  --gold: #d4af37;
  --gold-light: #e7c764;
  --line: rgba(218,230,222,.16);
  --gold-line: rgba(212,175,55,.27);
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --serif: Georgia, 'Times New Roman', serif;
  --ease: cubic-bezier(.22,1,.36,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 22px; }
body { margin: 0; background: var(--black); color: var(--white); font: 18px/1.65 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: clip; }
body.modal-open { overflow: hidden; }
main { overflow: clip; }
[hidden] { display: none !important; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, a, summary { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex='0']:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 5px; }
button { cursor: pointer; }
button:disabled { cursor: default; }
img { display: block; max-width: 100%; height: auto; }
figure, p, h1, h2, h3 { margin: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 700; line-height: 1.07; letter-spacing: -.035em; }
h1 { font-size: clamp(46px,4.8vw,74px); }
h2 { font-size: clamp(43px,4.7vw,73px); }
h3 { font-size: 32px; }
strong { font-weight: 600; }
.gold-text { color: var(--gold-light); }
::selection { background: #e5cb75; color: #0b100e; }
.container { width: min(1300px,calc(100% - 104px)); margin-inline: auto; }
.section { padding: 112px 0; }
.skip-link { position: fixed; left: 16px; top: 12px; z-index: 100; background: var(--white); color: #090909; padding: 10px 15px; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.page-brand { position: static; padding: 27px 0 6px; background: none; text-align: center; }
.page-brand p { font: 600 22px/1.3 var(--serif); letter-spacing: -.015em; }
.application-section { position: relative; padding: 17px 0 50px; }
.application-container { max-width: 1150px; }
.application-heading { text-align: center; margin-bottom: 28px; }
.application-heading h1 { max-width: 1150px; margin: 0 auto; }
.application-heading p { color: #c2c3b9; margin-top: 16px; font-size: 18px; }
.scroll-cue { color: #aaa99f; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: fit-content; margin: 25px auto 0; font-size: 13px; padding: 5px 15px; }
.scroll-cue:hover { color: var(--white); }
.chevron-down { display: inline-block; width: 13px; height: 13px; border-bottom: 1px solid var(--gold); border-right: 1px solid var(--gold); transform: rotate(45deg); animation: down-cue 2.8s ease-in-out infinite; }
.service-section { padding-top: 28px; }
.service-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: center; }
.service-copy { z-index: 2; position: relative; padding-block: 35px; }
.service-copy h2 { font-size: clamp(49px,5.1vw,78px); line-height: 1.03; letter-spacing: -.045em; max-width: 650px; }
.service-copy p { color: #c0c0b5; margin-top: 29px; font-size: 20px; line-height: 1.65; }
.photo-scene { position: relative; isolation: isolate; --photo-y: 0px; --photo-scale: 1; }
.photo-scene::after { content: ''; position: absolute; pointer-events: none; inset: 0; box-shadow: inset 0 -35px 50px -30px #080a09; }
.photo-image { width: 100%; height: auto; transform: translate3d(0,var(--photo-y),0) scale(var(--photo-scale)); transform-origin: center 65%; mask-image: linear-gradient(to bottom,#000 0%,#000 84%,transparent 100%); }
.service-photo { margin: -15px -24px -25px -45px; width: calc(100% + 69px); }
.service-photo .photo-image { mask-image: linear-gradient(to bottom,#000 0%,#000 87%,transparent 100%); border-radius: 4px 4px 0 0; }
.service-photo::before { content: ''; pointer-events: none; position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; width: 40px; background: linear-gradient(to right,var(--black),transparent); }
.results-section { padding-top: 40px; }
.results-heading h2 { max-width: 1050px; }
.swipe-hint { display: none; color: #aaada4; font-size: 16px; margin-top: 17px; }
.original-proof { padding-top: 55px; }
.original-proof h2 { margin-bottom: 62px; }
.proof-layout { display: grid; grid-template-columns: .83fr 1.17fr; gap: 70px; align-items: center; }
.message-proof { width: 100%; max-width: 480px; }
.message-card { display: block; padding: 5px; border: 1px solid #a28e4b; background: #050705; transform: rotate(-2deg); box-shadow: 0 0 38px rgba(185,142,25,.09),0 22px 50px #0008; transition: transform .5s var(--ease); }
.message-card img { width: 100%; height: auto; }
.message-card:hover { transform: rotate(0); }
.proof-layout figcaption { color: #bdbeb1; font-size: 16px; text-align: center; margin-top: 22px; }
.laptop-proof { padding-top: 12px; perspective: 1500px; }
.laptop-display { position: relative; background: linear-gradient(120deg,#676b65,#171c18 30%,#343d33); border: 1px solid #70766b; padding: 15px 10px 12px; border-radius: 14px 14px 5px 5px; box-shadow: 0 0 40px #cab7430a,0 24px 58px #0009; transform: rotateY(-4deg) rotateZ(1.5deg); }
.laptop-display a { display: block; background: #fff; border-radius: 2px; overflow: hidden; }
.laptop-display img { width: 100%; height: auto; }
.laptop-camera { position: absolute; top: 5px; left: calc(50% - 2px); width: 4px; height: 4px; border-radius: 50%; background: #090d0a; box-shadow: inset 0 0 2px #818b86; }
.laptop-base { position: relative; height: 20px; background: linear-gradient(#d7ddd3,#576057 55%,#222922); width: 111%; margin-left: -5.5%; margin-top: -1px; border-radius: 0 0 47% 47%; box-shadow: 0 9px 22px #000; }
.laptop-base span { width: 17%; height: 6px; position: absolute; left: 41.5%; top: 0; background: #7e8980; border-radius: 0 0 8px 8px; }
.results-disclaimer { text-align: right; color: #969b90; font-size: 13px; margin-top: 35px; }
.about-section { padding-top: 45px; padding-bottom: 95px; }
.about-layout { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 65px; }
.about-photo { max-width: 540px; }
.about-copy h2 { margin-bottom: 26px; font-size: clamp(48px,5vw,77px); }
.about-copy p { color: #c8c9bd; margin-top: 13px; max-width: 570px; font-size: 20px; line-height: 1.55; }
.about-copy p:first-of-type { margin-top: 0; }
.about-copy strong { font-weight: 600; }
.process-section { padding-top: 38px; padding-bottom: 80px; }
.process-section h2 { margin-bottom: 53px; }
.process-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 33px; position: relative; --process-progress: 0; }
.process-connector { position: absolute; left: 28px; right: 28px; top: 28px; height: 1px; background: #313426; }
.process-fill { display: block; height: 100%; width: 100%; background: var(--gold); transform: scaleX(var(--process-progress)); transform-origin: left center; box-shadow: 0 0 11px #d4af3729; }
.process-step { position: relative; z-index: 1; }
.process-icon { display: flex; width: 57px; height: 57px; align-items: center; justify-content: center; border: 1px solid var(--gold); border-radius: 50%; background: var(--black); color: var(--gold-light); margin-bottom: 23px; }
.process-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.process-step h3 { font: 600 22px/1.3 var(--sans); letter-spacing: -.015em; max-width: 230px; }
.process-step p { margin-top: 13px; color: #a9aea1; font-size: 18px; line-height: 1.6; max-width: 260px; }
.faq-section { padding-top: 45px; padding-bottom: 80px; }
.faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 70px; }
.faq-layout > h2 { font-size: clamp(35px,3vw,46px); }
.faq-list { border-top: 1px solid #40472f; }
.faq-item { border-bottom: 1px solid #353d30; }
.faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: 25px; cursor: pointer; list-style: none; font-size: 18px; padding: 21px 0; line-height: 1.5; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-icon { display: inline-block; height: 8px; width: 8px; border-bottom: 1px solid #c1c5b8; border-right: 1px solid #c1c5b8; transform: rotate(45deg); margin: -5px 4px 0 0; transition: transform .3s var(--ease); }
.faq-item[open] .faq-icon { transform: rotate(225deg); margin-top: 5px; }
.faq-panel { overflow: hidden; }
.faq-panel-inner { padding: 0 30px 25px 0; }
.faq-panel p { color: var(--muted); font-size: 18px; }
.site-footer { text-align: center; border-top: 1px solid var(--line); padding: 38px 0 115px; }
.footer-wordmark { font: 600 14px/1.5 var(--serif); letter-spacing: .21em; }
.footer-location { color: #abae9b; margin-top: 7px; font-size: 13px; }
.footer-tagline { color: var(--gold-light); font-size: 14px; margin-top: 5px; }
.instagram-link { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; margin-top: 17px; padding: 5px; }
.instagram-link svg { width: 19px; height: 19px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.instagram-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.footer-legal { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 17px; font-size: 12px; color: #939b8d; }
.footer-legal button { background: none; border: 0; padding: 8px 4px; color: inherit; font-size: 12px; }
.footer-company { font-size: 11px; color: #737d6e; margin-top: 6px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 53px; padding: 14px 25px; border: 1px solid transparent; border-radius: 6px; font-size: 16px; font-weight: 600; position: relative; overflow: hidden; transition: transform .3s var(--ease),box-shadow .3s; }
.button-gold { background: linear-gradient(100deg,#d1a832,#ebc562 52%,#d1a934); color: #10130a; border-color: #d3af43; box-shadow: 0 4px 18px #0005; }
.button-gold::before { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg,transparent 20%,#fff4 50%,transparent 80%); transform: translateX(-150%); animation: button-shimmer 9s ease-in-out infinite; pointer-events: none; }
.button:hover { transform: translateY(-2px); box-shadow: 0 7px 30px #0007; }
.button:active { transform: none; }
.arrow-right { display: inline-block; position: relative; height: 1px; width: 20px; background: currentColor; flex-shrink: 0; }
.arrow-right::after { content: ''; position: absolute; right: 0; top: -4px; width: 8px; height: 8px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.apply-dock { position: fixed; z-index: 30; bottom: 20px; right: 26px; transform: translateY(calc(100% + 40px)); opacity: 0; pointer-events: none; visibility: hidden; transition: transform .55s var(--ease),opacity .3s,visibility .55s; }
.apply-dock.is-active { transform: none; opacity: 1; pointer-events: auto; visibility: visible; }
.apply-dock .button { min-width: 295px; }
.legal-dialog { width: min(680px,calc(100% - 32px)); max-height: calc(100svh - 50px); padding: 0; color: var(--white); background: #121711; border: 1px solid #515b43; border-radius: 8px; }
.legal-dialog::backdrop { background: #000d; backdrop-filter: blur(5px); }
.legal-dialog[open] { animation: intro-in .3s var(--ease); }
.legal-content { padding: 35px 38px 43px; }
.legal-header { display: flex; justify-content: flex-end; }
.legal-header button { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; border: 1px solid var(--line); background: none; color: var(--white); border-radius: 4px; }
.close-icon { width: 14px; height: 14px; position: relative; }
.close-icon::before, .close-icon::after { content: ''; width: 14px; height: 1px; position: absolute; left: 0; top: 6px; transform: rotate(45deg); background: currentColor; }
.close-icon::after { transform: rotate(-45deg); }
.legal-content h2 { font-size: 38px; margin-top: 20px; }
.legal-content h3 { font-size: 25px; margin: 27px 0 11px; }
.legal-content p { font-size: 18px; color: var(--muted); }
.motion-ready .reveal { opacity: 0; transform: translate3d(0,30px,0); transition: opacity .95s var(--ease) var(--delay,0ms),transform 1.1s var(--ease) var(--delay,0ms); }
.motion-ready .reveal[data-reveal='left'] { transform: translate3d(-36px,22px,0); }
.motion-ready .reveal[data-reveal='right'] { transform: translate3d(36px,22px,0); }
.motion-ready .reveal.is-visible { opacity: 1; transform: none; }
.word-fragment { display: inline-block; }
.motion-ready .word-reveal .word-fragment { opacity: 0; transform: translateY(18px); transition: opacity .65s var(--ease) var(--word-delay,0ms),transform .8s var(--ease) var(--word-delay,0ms); }
.motion-ready .word-reveal.is-visible .word-fragment { opacity: 1; transform: none; }
.application-heading { animation: intro-in .9s var(--ease) both; }
@keyframes intro-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes down-cue { 0%,100% { transform: rotate(45deg) translate(0,0); } 50% { transform: rotate(45deg) translate(3px,3px); } }
@keyframes button-shimmer { 0%,72% { transform: translateX(-150%); } 92%,100% { transform: translateX(150%); } }
@media (hover: none) {
  .button:hover, .message-card:hover { transform: none; }
}
@media (max-width: 1099px) {
  .container { width: calc(100% - 72px); }
  .section { padding-block: 90px; }
  .service-copy h2 { font-size: clamp(44px,5.9vw,65px); }
  .service-photo { margin-left: -20px; width: calc(100% + 30px); }
  .service-layout { gap: 15px; }
  .swipe-hint { display: block; }
  .proof-layout { gap: 45px; }
  .about-layout { gap: 40px; }
  .process-steps { gap: 20px; }
  .process-step h3 { font-size: 20px; }
  .process-step p { font-size: 17px; }
}
@media (max-width: 700px) {
  .container { width: calc(100% - 40px); }
  .section { padding-block: 78px; }
  .page-brand { text-align: left; padding: 20px 0 12px; }
  .page-brand p { font-size: 21px; }
  .application-section { padding-top: 7px; padding-bottom: 39px; }
  .application-heading { text-align: left; margin-bottom: 22px; }
  .application-heading h1 { font-size: clamp(40px,10.7vw,63px); line-height: 1.05; letter-spacing: -.035em; max-width: 500px; }
  .application-heading p { font-size: 16px; margin-top: 15px; }
  .scroll-cue { font-size: 12px; margin-top: 21px; }
  .service-section { padding-top: 32px; padding-bottom: 20px; }
  .service-layout { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
  .service-copy { padding: 0; }
  .service-copy h2 { font-size: clamp(42px,10.5vw,64px); max-width: 590px; line-height: 1.03; letter-spacing: -.042em; }
  .service-copy p { font-size: 18px; margin-top: 23px; }
  .service-copy p br { display: none; }
  .service-photo { margin: 8px -12px -15px; width: calc(100% + 24px); }
  .service-photo::before { width: 12px; }
  .service-photo .photo-image { mask-image: linear-gradient(to bottom,#000 0%,#000 86%,transparent 100%); }
  h2 { font-size: clamp(38px,9.7vw,57px); }
  .results-section { padding-top: 55px; }
  .results-heading h2 { font-size: clamp(33px,8.9vw,49px); }
  .swipe-hint { font-size: 16px; margin-top: 13px; }
  .original-proof { padding-top: 48px; padding-bottom: 55px; }
  .original-proof h2 { margin-bottom: 35px; }
  .proof-layout { grid-template-columns: 1fr; gap: 58px; }
  .message-proof { margin: auto; max-width: 450px; }
  .proof-layout figcaption { font-size: 15px; margin-top: 19px; }
  .laptop-proof { width: calc(100% - 16px); margin: auto; }
  .laptop-display { padding: 12px 6px 8px; border-radius: 10px 10px 4px 4px; }
  .laptop-display a { border-radius: 0; }
  .laptop-base { height: 15px; }
  .laptop-base span { height: 4px; }
  .results-disclaimer { text-align: center; font-size: 12px; margin-top: 32px; }
  .about-section { padding-top: 28px; padding-bottom: 65px; }
  .about-layout { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
  .about-photo { margin-inline: -10px; width: calc(100% + 20px); max-width: none; }
  .about-copy h2 { font-size: 53px; margin-bottom: 20px; }
  .about-copy p { font-size: 18px; margin-top: 11px; }
  .process-section { padding-top: 35px; padding-bottom: 48px; }
  .process-section h2 { margin-bottom: 38px; }
  .process-steps { grid-template-columns: 1fr; gap: 33px; }
  .process-step { display: flex; gap: 20px; align-items: flex-start; }
  .process-icon { width: 53px; height: 53px; flex-shrink: 0; margin-bottom: 0; }
  .process-step h3 { font-size: 21px; max-width: 270px; }
  .process-step p { font-size: 18px; line-height: 1.55; max-width: 370px; margin-top: 8px; }
  .process-connector { top: 27px; bottom: 32px; left: 26px; right: auto; width: 1px; height: auto; }
  .process-fill { transform: scaleY(var(--process-progress)); transform-origin: center top; }
  .faq-section { padding-top: 18px; padding-bottom: 55px; }
  .faq-layout { grid-template-columns: 1fr; gap: 28px; }
  .faq-layout > h2 { font-size: 35px; }
  .faq-item summary { font-size: 16px; padding-block: 19px; }
  .faq-panel p { font-size: 18px; }
  .faq-panel-inner { padding-right: 12px; }
  .site-footer { padding: 32px 0 125px; }
  .apply-dock { left: 12px; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom,0px)); transform: translateY(calc(100% + 55px)); }
  .apply-dock .button { min-width: 0; width: 100%; min-height: 55px; font-size: 16px; padding: 15px 18px; }
  .apply-dock.is-active { transform: none; }
  .legal-content { padding: 27px; }
}
@media (max-width: 359px) {
  .container { width: calc(100% - 32px); }
  .application-heading h1 { font-size: 38px; }
  .service-copy h2 { font-size: 39px; }
  .apply-dock .button { font-size: 14px; gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
  .motion-ready .reveal, .motion-ready .word-reveal .word-fragment { opacity: 1; transform: none; }
  .photo-image { transform: none; }
}
